.optical-drive-controls{border-top:1px solid rgb(var(--color-ink) / .15);grid-template-columns:3.5rem minmax(0,1fr);align-items:start;gap:.75rem;padding:.8rem 0;display:grid}.optical-drive-controls svg{fill:none;width:100%;stroke:rgb(var(--color-ink) / .55);stroke-width:1.5px}.optical-drive-controls svg path{stroke:rgb(var(--color-moss));stroke-width:2.5px}.optical-drive-controls svg .optical-drive-index{stroke:rgb(var(--color-ink) / .4);stroke-width:1px}.optical-drive-controls strong{font-size:.8125rem}.optical-drive-controls p,.optical-drive-controls small{color:rgb(var(--color-ink) / .65);font-size:.75rem;line-height:1.55}.optical-drive-controls p{margin:.25rem 0 .5rem}.optical-drive-controls [role=group]{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.optical-drive-controls button{border:1px solid rgb(var(--color-ink) / .2);min-height:36px;color:inherit;cursor:pointer;background:0 0;padding:.35rem .55rem;font-size:.75rem}.optical-drive-controls button:disabled{opacity:.4;cursor:default}.optical-drive-controls button:focus-visible{outline:2px solid rgb(var(--color-moss));outline-offset:3px}.lens-iris-joint{fill:none;stroke:#d8e9c1;stroke-width:2px;pointer-events:none}.lens-iris-joint circle{fill:#d8e9c1}.lens-iris-front .lens-joint-toggle{border:1px solid rgb(var(--color-ink) / .2);min-height:36px;color:inherit;cursor:pointer;background:0 0;margin:.6rem auto 0;padding:.35rem .65rem;font-size:.75rem}.lens-iris-front .lens-joint-note{color:rgb(var(--color-ink) / .65);margin:.4rem 0 0;font-size:.75rem;line-height:1.6}
.optics-stage{min-width:0;color:rgb(var(--color-ink));margin:0}.optics-stage-toolbar{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.6rem;display:flex}.optics-stage-toolbar>div{flex-wrap:wrap;gap:.35rem;display:flex}.optics-stage-toolbar button{border:1px solid rgb(var(--color-ink) / .18);cursor:pointer;background:0 0;border-radius:999px;min-height:36px;padding:.35rem .7rem;font-size:.8rem;line-height:1.2}.optics-stage-toolbar button[aria-pressed=true]{border-color:rgb(var(--color-moss));background:rgb(var(--color-moss) / .12)}.optics-stage-view{height:var(--optics-stage-height,clamp(320px, 40vw, 520px));border:1px solid rgb(var(--color-ink) / .1);touch-action:pan-y;cursor:grab;outline-offset:3px;border-radius:10px;position:relative;overflow:hidden}.optics-stage-view:active{cursor:grabbing}.optics-stage-view:focus-visible{outline:2px solid rgb(var(--color-moss))}.optics-stage-view>canvas,.optics-stage-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.optics-stage-view>canvas{transition:opacity .35s}.optics-stage-svg polygon{fill:rgb(var(--color-moss));stroke:none}.optics-stage-svg polygon.is-flint,.optics-stage-svg polygon.is-flint-section{fill:#b67b3e}.optics-stage-svg polygon.is-crown,.optics-stage-svg polygon.is-crown-section,.optics-stage-svg polygon.is-ideal-glass{fill:#4f98a6}.optics-stage-svg polygon.is-sensor{fill:#7d98ab}.optics-stage-svg polygon.is-metal-dark,.optics-stage-svg polygon.is-metal,.optics-stage-svg polygon.is-rail{fill:rgb(var(--color-ink))}.optics-stage-labels{pointer-events:none;position:absolute;inset:0}.optics-stage-label{background:rgb(var(--color-paper) / .72);width:max-content;color:rgb(var(--color-ink));font-variant-numeric:tabular-nums;border-radius:4px;padding:.1rem .3rem;font-size:.74rem;font-weight:500;line-height:1.25;position:absolute;top:0;left:0}.optics-stage-label.is-muted{color:rgb(var(--color-ink) / .68);font-weight:400}.optics-stage-label.is-accent{color:rgb(var(--color-moss))}.optics-stage-label.is-a{color:#b5532f}.optics-stage-label.is-b{color:#3f6634}.optics-stage-label.is-c{color:#2a619a}.optics-stage-label.is-warn{color:rgb(var(--color-clay))}.dark .optics-stage-label.is-a{color:#f0a27d}.dark .optics-stage-label.is-b{color:#b2d79b}.dark .optics-stage-label.is-c{color:#8cbdea}.optics-stage-scale{color:rgb(var(--color-ink) / .8);pointer-events:none;font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;font-size:.7rem;display:flex;position:absolute;bottom:.65rem;left:.8rem}.optics-stage-scale span{border:1.5px solid;border-top:0;height:6px;display:block}.optics-stage-legend{flex-wrap:wrap;gap:.25rem .9rem;margin-top:.5rem;font-size:.74rem;display:flex}.optics-stage figcaption{color:rgb(var(--color-ink) / .82);max-width:72ch;margin-top:.7rem;font-size:.8rem;line-height:1.6}.optics-stage-status{color:rgb(var(--color-ink) / .7)}@media (max-width:700px){.optics-stage-view{height:var(--optics-stage-height-mobile,300px)}.optics-stage-label{font-size:.66rem}.optics-stage-toolbar button{min-height:34px;padding:.3rem .55rem;font-size:.74rem}}
