:root{--blue:#1d3f8f;--blue2:#2457d6;--soft:#eef5ff;--ink:#172033;--muted:#64748b;--line:#ccd7e6;--success:#137333;--danger:#b42318;--orange:#a13b20}
*{box-sizing:border-box}body{margin:0;background:#f5f6f1;color:var(--ink);font-family:Rubik,Segoe UI,Arial,sans-serif;font-size:14px}.app-shell{max-width:1120px;margin:auto;padding:10px}.hero{display:flex;align-items:center;justify-content:space-between;background:var(--blue);color:#fff;border-radius:16px 16px 5px 5px;padding:12px 18px;margin-bottom:8px}.hero h1{margin:0;font-size:1.45rem}.hero p{margin:2px 0 0;font-size:.75rem;opacity:.85}.brand-mark{background:#fff;color:var(--blue);font-weight:900;padding:8px;border-radius:6px}.brand-mark span{font-weight:500}.version{font-weight:800}.card{background:#fff;border-radius:14px;border-top:3px solid var(--blue);box-shadow:0 2px 7px rgba(20,40,70,.09);margin:8px 0;padding:14px 16px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.section-heading h2{margin:0;color:var(--blue);font-size:1.15rem}.section-heading p{margin:3px 0 0;color:var(--muted);font-size:.76rem}.heading-actions{display:flex;gap:7px}button{font:inherit;font-weight:700;border-radius:8px;border:1px solid #9db0c8;padding:7px 11px;cursor:pointer;background:#f5f8fb;color:#132a55}button:hover{background:#e6edf6}button:disabled{opacity:.35;cursor:not-allowed}.primary-button{background:var(--blue);color:#fff;border-color:var(--blue);padding:9px 15px}.parameter-strip{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f8fafc}.parameter-strip label{padding:10px 12px;border-right:1px solid var(--line)}.parameter-strip label:last-child{border:0}.parameter-strip span,.workspace-parameters span{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.62rem;font-weight:800}.parameter-strip input{width:100%;border:0;background:transparent;font-size:1.35rem;font-weight:850;color:var(--ink);outline:0;padding:2px 0}.unit-input{display:flex;align-items:baseline;gap:4px}.unit-input b{font-size:.72rem;color:var(--muted)}.mode-row{display:flex;align-items:center;gap:7px;margin:12px 0 7px;color:var(--muted);font-size:.75rem}.mode-button.active{background:var(--blue);color:#fff;box-shadow:0 0 0 2px white,0 0 0 4px var(--blue2)}.mode-help{background:#f1f6fc;border-left:3px solid var(--blue2);padding:7px 10px;color:#52637a;font-size:.74rem;margin-bottom:9px}.entry-zone-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.entry-zone{border-right:1px solid var(--line)}.entry-zone:last-child{border:0}.zone-title{display:flex;justify-content:space-between;background:#f3f5fa;color:var(--blue);padding:8px 10px;border-bottom:1px solid var(--line)}.zone-title span{font-size:.67rem;color:var(--muted)}.entry-zone label,.entry-zone .width{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:8px;padding:5px 9px;border-bottom:1px solid #e1e7ef;min-height:42px}.entry-zone label span,.entry-zone .width>span{color:#52637a;font-size:.7rem;font-weight:800}.entry-zone input{width:100%;text-align:center;padding:7px;border:1px solid var(--line);border-radius:8px;font-weight:800;font-size:.95rem}.entry-zone .width{background:#f8fafc;border-bottom:0}.entry-zone .width input{border:0;background:transparent;text-align:right}.entry-zone .auto{grid-template-columns:50px 1fr auto}.entry-zone .auto strong{text-align:right}.entry-zone .auto small{color:var(--muted)}.mirrored-field:disabled{background:#edf1f5;color:#75849a;border-style:dashed}.check{margin-top:8px;font-size:.72rem;font-weight:750}.check.good{color:var(--success)}.entry-card.collapsed{padding-bottom:8px}
.workspace-card{padding:0;overflow:hidden}.workspace-topbar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#273dab,#173d9a);color:#fff;padding:10px 14px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:800;opacity:.78}.workspace-topbar h2{margin:2px 0 0;font-size:1.1rem}.workspace-topbar small{font-size:.62rem;font-weight:800}.bc-adjust-control{display:flex;align-items:center;gap:7px;font-size:.75rem}.bc-adjust-control input{width:62px;padding:7px;text-align:center;border:0;border-radius:8px;font-weight:850}.bc-adjust-control button{padding:6px 9px;background:#4968d0;color:#fff;border-color:#6e86db}.workspace-parameters{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);background:#f8fafc}.workspace-parameters>div{padding:10px 12px;border-right:1px solid var(--line)}.workspace-parameters>div:last-child{border:0}.workspace-parameters strong{font-size:1.35rem;display:block}.workspace-parameters small{font-size:.64rem;color:var(--muted)}.workspace-parameters .fp-highlight{background:#eaf7ee}.workspace-parameters .fp-highlight strong{color:#12672e}
.designer-grid{display:grid;grid-template-columns:70px repeat(3,minmax(220px,1fr)) minmax(150px,.72fr);border-bottom:1px solid var(--line)}.designer-grid>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.designer-grid>*:nth-child(5n){border-right:0}.dg-head{background:#f2f4f9;padding:8px 10px;color:var(--blue);display:flex;justify-content:space-between;align-items:center}.dg-head span{font-size:.62rem;color:var(--muted)}.dg-meridian{color:var(--muted);font-size:.68rem}.meridian-label{display:flex;align-items:center;padding:8px 12px;font-weight:850;color:#52637a;background:#fbfcfe}.design-cell{padding:6px 8px}.radius-line{display:flex;align-items:center;justify-content:center;gap:7px;min-height:24px}.current-radius{color:#77849a;font-size:.78rem}.arrow{color:#aab4c3}.radius-line strong{font-size:1.1rem}.inline-adjust{display:grid;grid-template-columns:32px 1fr 32px;gap:4px;margin-top:4px}.inline-adjust button{padding:4px 2px;background:#edf2ff;color:#263eae;border-color:#d6dff4}.inline-adjust input{width:100%;min-width:0;text-align:center;border:1px solid var(--line);border-radius:7px;padding:5px;font-weight:750}.design-cell>small{display:block;text-align:center;color:var(--muted);font-size:.58rem;margin-top:3px}.sag-cell{padding:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fbff}.sag-cell strong{font-size:1.02rem}.sag-cell small{font-size:.66rem;font-weight:750;color:var(--muted)}.sag-cell em{font-size:.56rem;color:#97a2b2;font-style:normal}.sag-cell.steepest{background:#eaf7ee;box-shadow:inset 3px 0 #2a9b50}.sag-cell.steepest strong{color:#12672e}.width-label,.width-output,.sag-summary{background:#f6f7fa;border-bottom:0!important}.width-output{padding:9px 12px;text-align:right;font-weight:850}.width-output small{font-size:.55rem;color:var(--muted)}.sag-summary{padding:7px;display:flex;flex-direction:column;align-items:center}.sag-summary span{font-size:.58rem;color:var(--muted)}.sag-summary strong{font-size:.82rem}.workspace-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;gap:12px}.adjustment-guide{color:var(--muted);font-size:.68rem}.positive{color:#16853b;font-weight:900}.negative{color:#d45d35;font-weight:900}.workspace-actions{display:flex;gap:7px}.status{padding:0 14px 10px;font-size:.7rem;font-weight:750}.status.ready{color:var(--success)}.status.error{color:var(--danger)}
.orientation-card{display:grid;grid-template-columns:220px 1fr 210px;align-items:center;gap:16px}.orientation-info h2{margin:3px 0;color:var(--blue);font-size:1rem}.orientation-info>strong{font-size:2.3rem}.orientation-info p{font-size:.72rem;color:var(--muted)}.diagram-wrap{text-align:center}.diagram-wrap svg{max-width:330px;width:100%;height:210px;overflow:visible}.eye-circle{fill:#fff;stroke:var(--ink);stroke-width:2}.axis-line{stroke:#8693a6;stroke-width:1.2;stroke-dasharray:3 3}.axis-label{fill:#64748b;font-size:11px;font-weight:700}.diagram-center{fill:var(--ink)}.mapping-panel{border-left:1px solid var(--line);padding-left:18px}.mapping-panel>strong{color:var(--blue);font-size:.72rem}.mapping-panel>div{display:grid;grid-template-columns:12px 40px 1fr;gap:6px;align-items:center;margin:8px 0;font-size:.72rem}.dot{width:8px;height:8px;border-radius:50%}.blue{background:#2457ff}.green{background:#16853b}.red{background:#ef1515}.orange{background:#ff6d17}footer{text-align:center;color:#9aa5b3;font-size:.65rem;padding:12px}
@media(max-width:900px){.parameter-strip{grid-template-columns:repeat(3,1fr)}.entry-zone-grid{grid-template-columns:1fr}.entry-zone{border-right:0;border-bottom:1px solid var(--line)}.designer-grid{grid-template-columns:54px repeat(3,minmax(180px,1fr)) minmax(130px,.7fr);overflow-x:auto}.orientation-card{grid-template-columns:1fr}.orientation-info{text-align:center}.mapping-panel{border-left:0;border-top:1px solid var(--line);padding:12px 0 0;max-width:250px;margin:auto}.workspace-parameters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.app-shell{padding:5px}.brand-mark{display:none}.hero{padding:10px}.parameter-strip{grid-template-columns:repeat(2,1fr)}.workspace-topbar{align-items:flex-start}.bc-adjust-control{flex-wrap:wrap;justify-content:flex-end}.workspace-parameters{grid-template-columns:repeat(2,1fr)}.section-heading{flex-direction:column}.workspace-footer{flex-direction:column;align-items:stretch}.workspace-actions{justify-content:flex-end}}

/* ========================
   v2.1 production refinements
======================== */
.entry-card{
  max-width:900px;
  margin:8px auto;
  padding:10px 12px;
}
.entry-card .section-heading{margin-bottom:8px;align-items:center}
.entry-card .section-heading h2{font-size:1.02rem}
.entry-card .section-heading p{font-size:.7rem}
.compact-entry-strip{border-radius:8px}
.compact-entry-strip label{padding:7px 9px;min-width:0}
.compact-entry-strip input{font-size:1.05rem;padding:0;min-width:0}
.compact-entry-strip input::placeholder{color:#a3adba;font-weight:600;font-size:.78rem}
.entry-card .mode-row{margin:8px 0 5px}
.entry-card .mode-help{padding:5px 8px;margin-bottom:6px}
.compact-entry-zones{border-radius:8px}
.compact-entry-zones .zone-title{padding:6px 8px}
.compact-entry-zones .entry-zone label,
.compact-entry-zones .entry-zone .width{min-height:34px;padding:3px 7px;grid-template-columns:38px 1fr;gap:5px}
.compact-entry-zones .entry-zone input{padding:4px 6px;border-radius:6px;font-size:.84rem}
.compact-entry-zones .entry-zone .auto{grid-template-columns:38px 1fr auto}
.entry-card .check{margin-top:5px}

/* Match the Maxim3D Designer's clinical color language. */
.design-cell,
.sag-cell,
#workspace-bc-param{
  transition:background-color .14s ease, box-shadow .14s ease, color .14s ease;
}
.design-cell.adjust-positive,
.sag-cell.adjust-positive,
#workspace-bc-param.adjust-positive{
  background:#eefaf3;
  box-shadow:inset 0 0 0 1px #a8d9bb;
}
.design-cell.adjust-negative,
.sag-cell.adjust-negative,
#workspace-bc-param.adjust-negative{
  background:#fff2ec;
  box-shadow:inset 0 0 0 1px #efc1af;
}
.design-cell.adjust-positive .radius-line strong,
.design-cell.adjust-positive>small,
.sag-cell.adjust-positive strong,
.sag-cell.adjust-positive small,
#workspace-bc-param.adjust-positive strong,
#workspace-bc-param.adjust-positive small{
  color:#176b38;
}
.design-cell.adjust-negative .radius-line strong,
.design-cell.adjust-negative>small,
.sag-cell.adjust-negative strong,
.sag-cell.adjust-negative small,
#workspace-bc-param.adjust-negative strong,
#workspace-bc-param.adjust-negative small{
  color:#9a3f22;
}
.design-cell.adjust-positive .inline-adjust input{
  border-color:#9fd1b2;
  background:#f8fffa;
  color:#176b38;
}
.design-cell.adjust-negative .inline-adjust input{
  border-color:#edb49f;
  background:#fffaf7;
  color:#9a3f22;
}
.sag-cell.steepest{box-shadow:inset 3px 0 #2a9b50}
.sag-cell.steepest.adjust-negative{box-shadow:inset 3px 0 #2a9b50,inset 0 0 0 1px #efc1af}
.sag-cell.steepest.adjust-positive{box-shadow:inset 3px 0 #2a9b50,inset 0 0 0 1px #a8d9bb}

@media(max-width:900px){
  .entry-card{max-width:none}
}

/* ========================
   v2.2 compact workbench layout
======================== */
.top-workbench{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(285px,1fr);
  gap:10px;
  align-items:stretch;
  margin:8px 0;
}
.top-workbench .entry-card{
  max-width:none;
  width:auto;
  margin:0;
}
.top-workbench .orientation-card{
  margin:0;
  padding:12px;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(160px,1fr) auto;
  gap:4px;
  text-align:center;
}
.top-workbench .orientation-info h2{font-size:.9rem;margin:2px 0}
.top-workbench .orientation-info>strong{font-size:1.85rem}
.top-workbench .orientation-info p{margin:2px auto 0;max-width:250px;font-size:.66rem}
.top-workbench .diagram-wrap svg{height:170px;max-width:245px}
.top-workbench .mapping-panel{
  border-left:0;
  border-top:1px solid var(--line);
  padding:8px 0 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2px 10px;
  text-align:left;
}
.top-workbench .mapping-panel>strong{grid-column:1/-1;text-align:center}
.top-workbench .mapping-panel>div{margin:3px 0;font-size:.66rem;grid-template-columns:10px 34px 1fr}
.entry-zone [data-entry-meridian].mode-hidden{display:none}
.collapsed-lens-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  background:#f4f7fb;
  border:1px solid var(--line);
  border-radius:8px;
  padding:9px 11px;
}
.collapsed-lens-summary>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.collapsed-lens-summary span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.collapsed-lens-summary strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.summary-metrics{display:flex;gap:14px;white-space:nowrap}
.summary-metrics b{color:var(--blue);font-size:.8rem}
.top-workbench.entry-collapsed{grid-template-columns:1fr}
.top-workbench.entry-collapsed .orientation-card{display:none}
.entry-card.collapsed .section-heading p,
.entry-card.collapsed #open-trial-library{display:none}
.entry-card.collapsed .section-heading{margin-bottom:6px}
.entry-card.collapsed #entry-content{display:none}
.entry-card.collapsed #collapsed-lens-summary{display:flex!important}

@media(max-width:1000px){
  .top-workbench{grid-template-columns:1fr}
  .top-workbench .orientation-card{grid-template-columns:180px 1fr 180px;grid-template-rows:auto;text-align:left;align-items:center}
  .top-workbench .orientation-info{text-align:left}
  .top-workbench .mapping-panel{border-top:0;border-left:1px solid var(--line);padding:0 0 0 12px;display:block}
  .top-workbench .mapping-panel>strong{text-align:left}
  .top-workbench .mapping-panel>div{margin:5px 0}
}
@media(max-width:720px){
  .top-workbench .orientation-card{grid-template-columns:1fr;text-align:center}
  .top-workbench .orientation-info{text-align:center}
  .top-workbench .mapping-panel{border-left:0;border-top:1px solid var(--line);padding:8px 0 0;display:grid}
  .collapsed-lens-summary{align-items:flex-start;flex-direction:column}
}


/* ========================
   v2.3 refraction formatting and clear control
======================== */
.compact-entry-strip{grid-template-columns:repeat(8,minmax(0,1fr))}
.compact-entry-strip label:nth-child(2),
.compact-entry-strip label:nth-child(3),
.compact-entry-strip label:nth-child(4){min-width:78px}
.rx-parameter strong{font-size:1.08rem;white-space:nowrap}
.danger-ghost{color:#8d2e1d;border-color:#d7a597;background:#fff8f5}
.danger-ghost:hover{background:#fdebe4;border-color:#c96f53}
@media(max-width:1100px){.compact-entry-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.compact-entry-strip{grid-template-columns:repeat(2,1fr)}}

/* v2.4: FocalPoints transcription order */
.fp-page-two-fields {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, .72fr) minmax(210px, .9fr);
  gap: 10px;
  align-items: end;
  margin-top: 10px;
  padding: 10px 12px;
  background: #f5f8fe;
  border: 1px solid #cdd9ed;
  border-radius: 10px;
}
.fp-page-two-heading { align-self: center; }
.fp-page-two-heading strong { display:block; color:#173e91; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }
.fp-page-two-heading span { display:block; color:#64748b; font-size:.72rem; margin-top:2px; }
.fp-page-two-fields label > span { display:block; color:#64748b; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; }
.fp-page-two-fields input { width:100%; box-sizing:border-box; }
@media (max-width: 760px) {
  .fp-page-two-fields { grid-template-columns: 1fr 1fr; }
  .fp-page-two-heading { grid-column: 1 / -1; }
}

/* v3.0 optical adjustment workspace */
.optical-card{margin:10px 0;padding:12px 14px;border-top:3px solid var(--blue)}
.optical-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}.optical-heading h2{margin:2px 0;color:var(--blue);font-size:1.05rem}.optical-heading p{margin:0;color:var(--muted);font-size:.68rem}.current-rx-chip{background:#f2f6fc;border:1px solid var(--line);border-radius:9px;padding:7px 12px;display:flex;gap:10px;align-items:baseline}.current-rx-chip span{font-size:.62rem;text-transform:uppercase;color:var(--muted);font-weight:800}.current-rx-chip strong{font-size:.95rem;color:var(--ink)}
.optical-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.9fr);gap:12px}.optical-inputs{display:grid;grid-template-columns:110px repeat(4,minmax(78px,1fr));gap:7px;align-items:end;background:#f7f9fd;border:1px solid var(--line);border-radius:10px;padding:10px}.optical-inputs label span{display:block;font-size:.6rem;color:var(--muted);text-transform:uppercase;font-weight:800;margin-bottom:3px}.optical-inputs input,.optical-inputs select{width:100%;border:1px solid #c9d5e8;border-radius:7px;padding:7px;font-weight:700;background:#fff}.optical-row-label{font-size:.69rem;font-weight:850;color:var(--blue);align-self:center}.rotation-label{grid-column:1}.direction-field{grid-column:3/5}.star-preview{grid-column:5;grid-row:2/4;display:flex;flex-direction:column;align-items:center;justify-content:center}.star-preview img{width:54px;height:54px;object-fit:contain;transition:transform .25s ease}.star-preview small{font-size:.58rem;color:var(--muted);text-align:center}
.optical-result{border:1px solid #c7d7ef;border-radius:10px;padding:11px;background:#fff}.optical-result>div:first-child span{display:block;font-size:.62rem;text-transform:uppercase;color:var(--muted);font-weight:800}.optical-result>div:first-child strong{display:block;font-size:1.3rem;color:var(--blue);margin:3px 0 8px}.optical-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.optical-result-grid p{margin:0;background:#f4f7fb;border-radius:7px;padding:6px}.optical-result-grid span{display:block;font-size:.57rem;color:var(--muted);text-transform:uppercase}.optical-result-grid b{font-size:.74rem}.optical-result .primary-button{width:100%;margin-top:9px}.optical-note{display:block;color:var(--muted);font-size:.6rem;line-height:1.35;margin-top:6px}
@media(max-width:900px){.optical-grid{grid-template-columns:1fr}.optical-inputs{grid-template-columns:100px repeat(3,1fr)}.star-preview{grid-column:4;grid-row:2/4}.direction-field{grid-column:3/4}}
@media(max-width:620px){.optical-heading{align-items:flex-start;flex-direction:column}.optical-inputs{grid-template-columns:1fr 1fr}.optical-row-label{grid-column:1/-1}.direction-field{grid-column:auto}.star-preview{grid-column:1/-1;grid-row:auto;flex-direction:row;gap:8px}}

/* v3.1 optical confirmation and undo */
.optical-applied{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #bfd5f6;
  border-left:4px solid #2447aa;
  border-radius:10px;
  background:#f7faff;
}
.optical-applied[hidden]{display:none}
.optical-applied-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.optical-applied-heading strong{display:block;color:#0d2a54;font-size:1rem}
.optical-applied-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.optical-applied-grid>div{
  min-width:0;
  padding:9px 10px;
  border:1px solid #d9e5f6;
  border-radius:8px;
  background:#fff;
}
.optical-applied-grid span,
.optical-applied-grid small{display:block;color:#64748b;font-size:.72rem}
.optical-applied-grid b{display:block;margin:2px 0;color:#102a56;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#angle-offset:invalid{border-color:#c2412d;background:#fff5f1}
@media(max-width:850px){.optical-applied-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.optical-applied-grid{grid-template-columns:1fr}.optical-applied-heading{align-items:flex-start;flex-direction:column}}

/* v3.2 compact optical panel states */
.optical-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.compact-button{padding:7px 11px;white-space:nowrap}
.optical-body[hidden],#optical-input-view[hidden]{display:none!important}
.optical-card.collapsed{padding-bottom:10px}
.optical-card.collapsed .optical-heading{margin-bottom:0}
.optical-card.collapsed .optical-heading p{display:none}

/* Keep the rotating star and its caption in separate, protected space. */
.star-preview{
  min-width:96px;
  min-height:92px;
  padding:6px 4px 2px;
  gap:7px;
  overflow:visible;
}
.star-preview img{
  display:block;
  width:58px;
  height:58px;
  flex:0 0 58px;
  transform-origin:50% 50%;
}
.star-preview small{
  display:block;
  min-height:16px;
  line-height:1.25;
  margin-top:2px;
  white-space:nowrap;
  position:relative;
  z-index:2;
}

@media(max-width:900px){
  .optical-heading-actions{justify-content:flex-start}
  .star-preview{min-height:82px}
}


/* ===== v4.0 branded header + trial lens library ===== */
.hero{min-height:92px;padding:12px 20px;background:linear-gradient(135deg,#172f72 0%,#244aa5 62%,#0c77bd 100%);overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;inset:auto -70px -90px auto;width:250px;height:180px;border-radius:50%;background:rgba(255,255,255,.07);transform:rotate(-18deg)}
.hero-brand{position:relative;z-index:1;display:flex;align-items:center}.hero-brand-left{background:#fff;border-radius:9px;padding:8px 10px;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.hero-brand img{width:112px;height:auto;display:block}.hero-center{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:18px;min-width:0;flex:1;padding:0 24px}.maxim-logo{width:min(390px,44vw);height:auto;display:block;object-fit:contain}.hero-tool-name{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.38);padding-left:18px;white-space:nowrap}.hero-tool-name strong{font-size:1.55rem;letter-spacing:.02em}.hero-tool-name span{font-size:.72rem;opacity:.88}.hero .version{position:relative;z-index:1;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);padding:6px 9px;border-radius:999px;font-size:.76rem}
.entry-card .mode-row{margin:2px 0 6px}.trial-library-note{font-size:.67rem;color:var(--muted);text-align:right;margin:-2px 0 6px}.trial-library-note strong{color:var(--blue)}
.modal-backdrop{position:fixed;inset:0;background:rgba(8,18,42,.56);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:2000}.modal-backdrop[hidden]{display:none!important}.trial-modal{width:min(850px,96vw);max-height:min(760px,92vh);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column;border-top:5px solid var(--blue)}.trial-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px 12px;border-bottom:1px solid var(--line)}.trial-modal-head h2{margin:1px 0;color:var(--blue);font-size:1.25rem}.trial-modal-head p{margin:3px 0;color:var(--muted);font-size:.76rem}.modal-close{font-size:1.6rem;line-height:1;width:36px;height:36px;padding:0;border-radius:50%;background:#f2f5f9}.trial-toolbar{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;padding:14px 22px;background:#f7f9fc;border-bottom:1px solid var(--line)}.trial-toolbar label span{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:.62rem;color:var(--muted);font-weight:800;margin-bottom:4px}.trial-toolbar input,.trial-toolbar select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}.trial-library-meta{padding:8px 22px;font-size:.68rem;color:var(--muted);border-bottom:1px solid #edf1f6}.trial-list{padding:10px 14px 16px;overflow:auto;display:grid;gap:8px}.trial-item{display:grid;grid-template-columns:1.5fr .75fr .75fr .75fr auto;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;text-align:left;color:var(--ink)}.trial-item:hover,.trial-item:focus{border-color:var(--blue2);background:#f3f7ff;box-shadow:0 2px 10px rgba(25,64,140,.08);outline:none}.trial-item .trial-name strong{display:block;color:var(--blue);font-size:.87rem}.trial-item .trial-name small{color:var(--muted);font-size:.67rem}.trial-stat span{display:block;text-transform:uppercase;font-size:.56rem;letter-spacing:.07em;color:var(--muted);font-weight:800}.trial-stat b{font-size:.83rem}.trial-load{background:var(--blue);color:#fff;border-color:var(--blue);white-space:nowrap}.trial-empty{padding:42px;text-align:center;color:var(--muted)}
@media(max-width:760px){.hero-center{padding:0 8px}.maxim-logo{width:45vw}.hero-tool-name{display:none}.trial-toolbar{grid-template-columns:1fr}.trial-item{grid-template-columns:1fr 1fr}.trial-item .trial-name{grid-column:1/-1}.trial-load{grid-column:1/-1}.hero-brand img{width:90px}}
body.modal-open{overflow:hidden}

/* v4.2 trial-lens library clarity */
.trial-item{grid-template-columns:1.55fr .65fr .7fr .75fr .9fr auto}
.trial-item.in-trial-set{border-color:#8ecfa3;background:#f1fbf4;box-shadow:inset 4px 0 0 #36a35c}
.trial-item.in-trial-set:hover,.trial-item.in-trial-set:focus{background:#e8f8ed;border-color:#4fb970}
.trial-set-badge{display:inline-block;margin-top:5px;padding:2px 8px;border-radius:999px;background:#d9f3e1;color:#176b34;font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.trial-set-badge.optional{background:#eef1f5;color:#64748b}
.trial-stat b{white-space:nowrap}
@media(max-width:760px){.trial-item{grid-template-columns:1fr 1fr}.trial-item .trial-name{grid-column:1/-1}.trial-load{grid-column:1/-1}}


/* ===== v4.3 professional polish ===== */
.hero-actions{position:relative;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.manual-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#fff;color:#173879;text-decoration:none;font-size:.72rem;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.manual-link:hover{background:#edf5ff;transform:translateY(-1px)}
.entry-card .mode-row{margin:12px 0 10px;padding:10px 12px;background:#f5f8fd;border:1px solid #e2e9f4;border-radius:10px;gap:8px}
.entry-card .mode-row>span{margin-right:4px}
.trial-library-note{margin:0 0 8px}
.input-disabled{background:#f2f4f7!important;color:#8a94a3!important;cursor:not-allowed}
.fp-highlight strong{white-space:nowrap}
.width.auto small,.width-output small{display:block;margin-top:2px;font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.optical-applied-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
footer a{color:#3158a5;font-weight:700;text-decoration:none}
footer a:hover{text-decoration:underline}
@media(max-width:900px){.optical-applied-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions{max-width:180px}.manual-link{font-size:.66rem}}
@media(max-width:620px){.hero-actions{width:100%;justify-content:center}.hero{flex-wrap:wrap}.entry-card .mode-row{align-items:flex-start}.optical-applied-grid{grid-template-columns:1fr}}

/* v4.3.2: exact BC optics + stacked on-eye meridian mapping */
.rx-parameter small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.58rem;
  font-weight:700;
}
.meridian-label{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
}
.meridian-label strong{
  display:block;
  font-size:.88rem;
  line-height:1;
}
.meridian-label small{
  display:block;
  max-width:100%;
  font-size:.54rem;
  line-height:1.15;
  color:#7a8798;
  font-weight:700;
  white-space:normal;
}
.width-label{justify-content:center}
.width-label small{display:none}
@media(max-width:900px){.meridian-label small{font-size:.49rem}}
