@font-face{font-family:'MiSans Lao';src:url('./MiSansLaoVF.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--bg:#101210;--panel:#171a17;--line:#313531;--ink:#e8ede7;--muted:#899389;--green:#9ea79e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'MiSans Lao',Arial,sans-serif}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}.app-shell{height:100dvh;min-height:650px;display:flex;flex-direction:column;overflow:hidden}header{height:68px;flex-shrink:0;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0c;background:#101210}.brand{font:600 18px Arial,sans-serif;letter-spacing:1px;color:#f1f5ef;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-icon{font-size:27px;color:#b7c5af;font-weight:400}.brand small,.header-note{display:none}.top-actions{display:flex;align-items:center;gap:13px}.prototype{font-size:11px;color:#677167}.prototype i{display:none}.icon-btn{width:34px;height:34px;border:1px solid #ffffff16;border-radius:50%;color:#b2bdae;font-size:18px}main{flex:1;min-height:0;display:grid;grid-template-columns:245px minmax(0,1fr);width:100%;max-width:1900px;margin:auto}aside{padding:25px 22px;overflow:auto;border-right:1px solid #ffffff0b;scrollbar-width:thin;scrollbar-color:#383e38 transparent}.intro{display:none}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 18px}.section-head h2{font-size:14px;font-weight:500;margin:0}.section-head button{font-size:11px;color:#7d897d;padding:0}.edit-tabs{display:flex;padding:4px;background:#202420;border-radius:8px;margin-bottom:20px}.edit-tabs button{flex:1;font-size:12px;padding:7px;border-radius:5px;color:#929b92}.edit-tabs button.selected{background:#3a403a;color:#e6eede}.field{margin:18px 0}.field>label{display:block;font-size:12px;color:#899389;margin-bottom:8px}select,input[type=number]{width:100%;border:1px solid #353a35;background:#1c1e1c;border-radius:7px;color:#d9e4d2;font-size:12px;padding:10px 9px;min-height:39px;color-scheme:dark}select{cursor:pointer}.micro{font-size:10px;line-height:1.7;color:#6f796f;margin:9px 0}.tag{font-size:9px;color:#7c877c;white-space:nowrap}.rx-title{margin-top:26px;padding-top:21px;border-top:1px solid #ffffff10}.range-field{margin:22px 0}.range-field label{display:flex;align-items:center;gap:5px;font-size:12px}.range-field label span{font-size:11px;color:#798579}.range-field output{margin-left:auto;font:500 14px Arial;color:#d3e7c1}input[type=range]{width:100%;height:4px;accent-color:#a5aca5;cursor:pointer;margin:17px 0 9px}.range-ends{font:9px Arial;color:#5c645c;display:flex;justify-content:space-between}.rx-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;color:#838d83;font-size:10px}.rx-grid select,.rx-grid input{margin-top:8px}.check{display:flex;align-items:center;gap:5px;font-size:11px;color:#8b958b;margin:24px 0}.check input{accent-color:#9ba49b}details{padding-top:18px;border-top:1px solid #ffffff10}summary{display:flex;justify-content:space-between;font-size:11px;color:#899489;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.sidebar-bottom{display:none}.workspace{padding:19px 28px 15px;min-height:0;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;scrollbar-color:#383e38 transparent}.mode-tabs{display:flex;gap:7px;margin-bottom:20px;align-self:center;background:#1e201e;padding:4px;border-radius:10px;flex-shrink:0}.mode-tabs button{font-size:0;color:#869186;padding:9px 20px;border-radius:7px;white-space:nowrap}.mode-tabs button span{font-size:13px}.mode-tabs .selected{background:#393e39;color:#e0f0d2}.workspace-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;flex-shrink:0}.eyebrow{font-size:10px;color:#6a756a}.workspace-top .eyebrow{display:none}.workspace-top h2{font-size:20px;font-weight:500;letter-spacing:0;margin:0}.scene-tabs{display:flex;gap:3px;background:#1f211f;border-radius:8px;padding:4px}.scene-tabs button{font-size:12px;padding:7px 12px;border-radius:5px;color:#808a80}.scene-tabs .selected{background:#353935;color:#cce3bc}.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px;flex-shrink:0}.live-label{font-size:10px;color:#758075;display:flex;align-items:center;gap:8px}.live-label>span{display:none}.live-label b{font:10px Arial;font-weight:400;color:#666f66}.view-toggles{display:flex;gap:5px}.view-toggles button{font-size:11px;padding:5px 9px;border:1px solid transparent;color:#7b877b;border-radius:6px}.view-toggles .active{background:#282c28;border-color:#474e47;color:#bcd8a7}.stage{position:relative;isolation:isolate;overflow:hidden;border:1px solid #ffffff0b;border-radius:14px;background:#191b19;flex:1;min-height:270px;flex-shrink:0}.stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.stage canvas:active{cursor:grabbing}.pane-label{position:absolute;top:16px;display:flex;align-items:center;gap:9px;background:#0d140ec7;border:1px solid #ffffff12;border-radius:9px;padding:10px 12px;max-width:44%;backdrop-filter:blur(10px)}.pane-label.left{left:16px}.pane-label.right{left:calc(50% + 16px)}.pane-label>span{font:11px Arial;color:#b8d5a6;width:23px;height:23px;background:#353935;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.pane-label div{font-size:12px;line-height:1.4;font-weight:500;color:#d4e5c9}.pane-label small{display:block;font-size:9px;font-weight:400;color:#7d897d;margin-top:4px}.divider{position:absolute;top:0;bottom:0;left:50%;width:1px;background:#ffffff3b;pointer-events:none}.divider span{display:none}.stage-top-note{position:absolute;top:78px;left:50%;transform:translateX(-50%);font-size:10px;background:#0c160fcc;border-radius:20px;padding:6px 13px;color:#959e95;white-space:nowrap;pointer-events:none}.stage-foot{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:30px 18px 15px;background:linear-gradient(transparent,#081309b5);font-size:10px;color:#a0a8a0;pointer-events:none}.stage-foot span:last-child{display:none}.stage.single .right,.stage.single .divider{display:none}.stage.single .pane-label{max-width:75%}.control-dock{display:grid;grid-template-columns:195px 1fr auto;gap:18px;align-items:center;padding:17px 0 13px;border-bottom:1px solid #ffffff0b;flex-shrink:0}.gaze-panel{display:flex;gap:12px;align-items:center}.lens-map{width:65px;height:77px;border-radius:40% 40% 45% 45%;border:1px solid #4b524b;background:linear-gradient(#363b36,#2a2d2a 48%,#373d37);position:relative;overflow:hidden;touch-action:none;cursor:crosshair;flex-shrink:0}.map-corridor{position:absolute;left:20px;width:24px;height:100%;background:#a8cc8630;clip-path:polygon(0 0,100% 0,65% 40%,100% 100%,0 100%,35% 40%)}.lens-map span{position:absolute;left:0;right:0;text-align:center;color:#7d897d;font-size:9px;pointer-events:none}.map-far{top:10px}.map-near{bottom:9px}.lens-map i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border:2px solid #e3f3d7;border-radius:50%;background:#a3aaa3;pointer-events:none}.gaze-panel h3{font-size:12px;font-weight:500;margin:0 0 3px}.gaze-panel p{font-size:10px;color:#727d72;line-height:1.5;margin:0}.gaze-panel button{font-size:10px;color:#949e94;padding:0;margin-top:5px}.targets{border-left:1px solid #ffffff0b;padding-left:18px}.targets .eyebrow{font-size:10px}.targets>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.targets button{font-size:11px;padding:7px 10px;border:1px solid #393f39;color:#8e988e;border-radius:7px;white-space:nowrap}.targets .active{background:#343834;border-color:#667066;color:#d1eac1}.play-button{display:flex;align-items:center;gap:10px;background:#9fa79f;color:#1d201d;padding:13px 16px;border-radius:9px}.play-button div{font-size:12px;text-align:left}.play-button small{display:none}.lens-tray{display:flex;align-items:center;gap:10px;padding:13px 0 0;flex-shrink:0}.tray-title{font-size:12px;color:#9ba39b;white-space:nowrap;margin-right:3px}.tray-title small{display:block;font-size:9px;color:#5e665e;margin-top:3px}.lens-card{display:flex;gap:9px;align-items:center;flex:1;max-width:240px;min-height:52px;background:#202320;border:1px solid #373c37;padding:10px 13px;border-radius:9px;cursor:grab;touch-action:none;user-select:none}.lens-card:hover{background:#2a2e2a;border-color:#687268}.lens-card>div{text-align:left;font-size:11px;white-space:nowrap;color:#b8d2a6}.lens-card small{display:block;font:9px Arial;color:#626c62;margin-top:5px}.lens-card b{margin-left:auto;font-size:18px;font-weight:400;color:#818c81}.lens-icon{width:26px;height:31px;border:1px solid #7c877c;border-radius:45%;background:linear-gradient(135deg,#9cc78222,#5773460c);position:relative;overflow:hidden;display:block;flex-shrink:0}.lens-icon.bf:after{content:'';position:absolute;left:5px;bottom:0;width:14px;height:11px;border:1px solid #949e94;border-radius:0 0 50% 50%}.lens-icon.pal{background:linear-gradient(90deg,#396c5944,#a2cc7c44 40%,#a2cc7c44 60%,#396c5944)}.tray-hint{display:none}.thickness-controls{padding:16px 0 5px;flex-shrink:0}.thickness-inputs{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr;gap:20px}.thickness-inputs label{font-size:12px;color:#949d94}.thickness-inputs select{margin-top:8px}.thickness-inputs output{display:block;font:12px Arial;color:#c0d9aa;margin-top:9px}.thickness-results{display:flex;align-items:center;gap:30px;padding:15px 0}.thickness-results span{font-size:10px;color:#6c766c;display:block;margin-bottom:5px}.thickness-results b{font-size:13px;font-weight:500;color:#c1dbae}.thickness-results p{margin:0 0 0 auto;font-size:12px;color:#9ba39b}.thickness-angles{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.thickness-angles button{padding:7px 13px;border:1px solid #3f453f;border-radius:7px;font-size:11px;color:#899389}.thickness-angles .active{background:#353935;border-color:#5f685f;color:#c6e5b0}.thickness-angles small{margin-left:auto;color:#5b645b;font-size:10px}.thickness-controls>.micro{font-size:9px;line-height:1.6;color:#555c55;margin-top:12px}.insights,footer{display:none}.camera-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid #ffffff0b}.camera-controls>button{background:#9fa79f;color:#1b1d1b;padding:9px 14px;border-radius:7px;font-size:11px}.camera-controls>button:disabled{opacity:.45;cursor:wait}.camera-controls label{display:flex;align-items:center;gap:8px;font-size:11px;color:#8c968c}.camera-controls select{width:auto}.camera-controls small{font-size:10px;color:#5e665e}.camera-gate{position:absolute;inset:0;z-index:5;background:radial-gradient(ellipse,#262926,#121312);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.camera-gate>span{font:64px Georgia;color:#798579}.camera-gate h3{font-size:23px;font-weight:500;color:#c4dcb5;margin:16px 0 7px}.camera-gate p{font-size:13px;line-height:1.8;max-width:350px;color:#869086}.camera-gate button{background:#a6aea6;color:#212521;padding:13px 23px;border-radius:8px;margin:10px 0;font-size:13px}.camera-gate small{font-size:11px;color:#5b635b}.drop-target{position:absolute;inset:0;display:flex;z-index:7;pointer-events:none;background:#07110b80}.drop-target>div{width:50%;margin:12px;border:2px dashed #a3aba3;border-radius:12px;background:#699a441c;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:50px;color:#b3d19e}.drop-target span{font-size:16px}.drop-target>div.hover{background:#88af4940}.drag-ghost{position:fixed;pointer-events:none;z-index:100;background:#304b24ed;border:1px solid #a6ada6;border-radius:10px;color:#e4f4d9;padding:13px 20px;font-size:13px;box-shadow:0 10px 25px #0005;transform:translate(-50%,-50%)}.assigned{animation:assigned .65s ease-out}@keyframes assigned{0%{background:#677167}100%{background:#0d140ec7}}dialog{border:1px solid #404540;background:#191b19;color:#d1e3c5;border-radius:15px;max-width:580px;width:90%;max-height:85vh;padding:32px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#040a04b3;backdrop-filter:blur(5px)}dialog h2{font-size:23px;font-weight:500}dialog h3{font-size:14px;margin-top:25px;color:#b4d29b}dialog p{font-size:13px;line-height:1.9;color:#929c92}dialog a{font-size:12px;color:#b7d69f}#closeModal{position:absolute;right:15px;top:12px;font-size:24px}.error{position:absolute;inset:0;padding:40px;background:#191b19;color:#c5b6a3;z-index:9}.fallback-note{position:absolute;bottom:42px;right:12px;font-size:9px;color:#808a80;background:#11200dbb;padding:4px 7px;border-radius:5px;pointer-events:none}body[data-mode=thickness] .edit-tabs,body[data-mode=thickness] .field,body[data-mode=thickness] details,body[data-mode=thickness] .check,body[data-mode=thickness] .range-field:has(#add),body[data-mode=thickness] .lens-tray,body[data-mode=thickness] .view-toggles,body[data-mode=thickness] .divider,body[data-mode=thickness] .fallback-note{display:none}body[data-mode=thickness] .stage-top-note{top:auto;bottom:18px}body[data-mode=camera] .scene-tabs,body[data-mode=thickness] .scene-tabs{display:none}
.landing{position:fixed;inset:0;z-index:200;background:#090a09;overflow:hidden}.landing canvas{width:100%;height:100%;display:block}.landing:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,#07100900,#080b0820 40%,#080b08c9)}.landing-content{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.landing h1{font:500 clamp(42px,6.5vw,86px)/1.2 Arial;letter-spacing:.04em;color:#f0f5eb;text-shadow:0 4px 40px #0005;margin:0 0 38px}.landing h1 span{color:#b2d394}.landing button{pointer-events:auto;background:#b3d296;color:#181b18;border:0;border-radius:24px;padding:13px 28px;font:14px 'MiSans Lao';min-width:200px;box-shadow:0 10px 40px #0003;transition:background .2s}.landing button:hover{background:#cee6b6}.landing button span{margin-left:22px}.landing-open .app-shell{visibility:hidden}.landing-open{overflow:hidden}
@media(max-width:1150px){main{grid-template-columns:225px minmax(0,1fr)}aside{padding:22px 18px}.workspace{padding:17px 20px 13px}.control-dock{grid-template-columns:155px 1fr auto;gap:12px}.gaze-panel{gap:8px}.gaze-panel h3{font-size:11px}.targets{padding-left:12px}.targets button{font-size:10px;padding:7px}.play-button{padding:12px}.play-button div{font-size:11px}.lens-card{padding:8px;gap:7px}.lens-card>div{font-size:10px}.lens-card small{font-size:8px}.lens-card b{display:none}.tray-title{font-size:10px}.thickness-inputs{gap:14px}.thickness-results{gap:18px}.thickness-results b{font-size:11px}.thickness-results p{font-size:11px}.live-label b{display:none}.mode-tabs{margin-bottom:15px}.workspace-top h2{font-size:19px}}
@media(max-height:820px) and (min-width:761px){header{height:56px}.workspace{padding-top:13px}.mode-tabs{margin-bottom:12px}.mode-tabs button{padding:7px 16px}.workspace-top{margin-bottom:10px}.workspace-top h2{font-size:18px}.stage{min-height:230px}.control-dock{padding:11px 0 10px}.lens-map{height:67px;width:58px}.map-corridor{left:17px}.lens-tray{padding-top:10px}.lens-card{min-height:45px;padding:8px 10px}.thickness-controls{padding-top:12px}.thickness-results{padding:11px 0}.thickness-controls>.micro{margin-bottom:0}.thickness-inputs select{padding:7px}}
@media(max-width:760px){.app-shell{height:auto;min-height:100dvh;overflow:visible}header{height:62px;padding:0 18px}.brand{font-size:16px}.prototype{display:none}.top-actions{gap:8px}main{display:flex;flex-direction:column}.workspace{order:0;overflow:visible;padding:16px 13px}.mode-tabs{gap:2px;width:100%;justify-content:center;padding:4px}.mode-tabs button{flex:1;padding:9px 5px}.mode-tabs button span{font-size:12px}.workspace-top{gap:10px}.workspace-top h2{font-size:17px}.scene-tabs button{padding:7px;font-size:10px}.stage{height:47vh;min-height:300px;flex:auto;border-radius:11px}.pane-label{padding:8px;top:12px;gap:6px;max-width:45%}.pane-label.left{left:9px}.pane-label.right{left:calc(50% + 9px)}.pane-label div{font-size:10px}.pane-label small{font-size:8px}.pane-label>span{width:19px;height:19px;font-size:9px}.stage-top-note{font-size:9px;top:74px}.stage-foot{font-size:9px;padding:25px 11px 12px}.control-dock{grid-template-columns:145px 1fr;gap:10px}.play-button{grid-column:2;justify-self:start;padding:9px 13px;margin-top:-2px}.gaze-panel{grid-row:1 / 3}.lens-map{width:58px;height:73px}.map-corridor{left:17px}.targets{padding-left:10px}.targets button{font-size:10px;padding:6px}.lens-tray{flex-wrap:wrap;gap:7px}.tray-title{width:100%;font-size:11px}.tray-title small{display:inline;margin-left:10px}.lens-card{gap:6px;min-width:0;padding:9px 6px}.lens-card>div{font-size:9px}.lens-card small{font-size:7px}.lens-icon{width:20px;height:27px}.thickness-inputs{grid-template-columns:1fr 1fr;gap:14px}.thickness-results{gap:16px;flex-wrap:wrap}.thickness-results p{margin:0}.thickness-angles small{margin-left:0;width:100%}aside{order:1;border-right:0;border-top:1px solid #ffffff12;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:24px 20px}.section-head,.edit-tabs,.rx-title,details,.check{grid-column:1 / -1}.rx-grid{align-self:center}.field{min-width:0}.camera-gate h3{font-size:20px}.landing h1{font-size:46px}dialog{padding:25px}.micro{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

:root{--green:#a2ca7f}.play-button,.camera-gate button,.camera-controls>button,.landing button{background:#b4d29c;color:#192413}.play-button:hover,.landing button:hover{background:#c7e2b2}.view-toggles .active{color:#b9d8a3}.edit-tabs button.selected{color:#e5eddf}.thickness-results p{color:#a4c68c}.landing h1 span{color:#b2d394}.mode-tabs .selected{background:#353b33;color:#edf2e9}input[type=range],.check input{accent-color:#aacd8c}
/* Full viewport optical workstation. The canvas never shrinks when controls open. */
body.immersive{overflow:hidden;background:#101413}.immersive .app-shell{height:100dvh;min-height:0;overflow:hidden}.immersive main{display:block;width:100%;height:100%;max-width:none;margin:0}.immersive .workspace{position:absolute;inset:0;padding:0;overflow:hidden;display:block}.immersive .stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;border-radius:0}.immersive header{position:fixed;left:max(20px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));height:44px;padding:0 12px;border:1px solid #ffffff18;border-radius:12px;background:#101614d9;backdrop-filter:blur(15px);z-index:30;gap:20px}.immersive .brand{font-size:15px;letter-spacing:.8px}.immersive .brand-icon,.immersive .prototype{display:none}.immersive .top-actions{gap:6px}.immersive .icon-btn{height:32px;width:32px}.immersive .mode-tabs{position:fixed;top:max(18px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:30;margin:0;background:#141c19e8;backdrop-filter:blur(16px);border:1px solid #ffffff15}.immersive .mode-tabs button{padding:9px 16px;min-height:36px}.immersive .workspace-top,.immersive .view-toolbar{display:none}.hud-actions{position:fixed;right:max(20px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;gap:8px;z-index:50}.hud-actions button{height:44px;background:#18231ee8;border:1px solid #ffffff20;border-radius:12px;padding:0 15px;font-size:13px;backdrop-filter:blur(16px)}#settingsToggle{background:#bdd5a7;color:#1d2a17}.immersive aside{display:none;position:fixed;right:max(20px,env(safe-area-inset-right));top:76px;bottom:82px;width:315px;background:#111b18f5;backdrop-filter:blur(24px);border:1px solid #ffffff1c;border-radius:16px;padding:24px;z-index:45;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 15px 70px #0004}.immersive.settings-open aside{display:block}.panel-close{display:block;margin:-8px 0 16px auto;min-height:36px;color:#bdcbbd}.immersive .section-head{margin-top:15px}.immersive .thickness-inputs{grid-template-columns:1fr 1fr;gap:15px}.immersive .thickness-results{display:block}.immersive .thickness-results>div{margin:12px 0}.immersive .thickness-results p{margin-top:14px}.immersive .thickness-controls h3,#frameControls h3,#fitControls h3{font-size:14px;font-weight:500;padding-top:12px;border-top:1px solid #ffffff15}#frameControls label,#fitControls label{display:block;font-size:12px;color:#a9b8ae;margin:20px 0}#frameControls select,#fitControls select{margin-top:8px}#frameControls output,#fitControls output{float:right;color:#dae9ce}#frameControls small,#fitControls .micro{color:#8b9c93;font-size:10px}#frameReadout{padding:10px;background:#26352b;border-radius:8px;color:#d4e7c4;font-size:12px}.hud-status{position:fixed;bottom:22px;left:22px;padding:9px 13px;border-radius:9px;background:#17211de0;border:1px solid #ffffff15;font:11px/1.5 Arial;color:#cfdbcf;z-index:25;pointer-events:none}.hud-angles{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);padding:5px;background:#17211de8;border:1px solid #ffffff20;border-radius:12px;z-index:30}.hud-angles button{min-height:38px}.hud-angles small{display:none}body:not([data-mode=thickness]) .hud-angles{display:none}.immersive .pane-label{top:100px;background:#14201cdc;max-width:42%;cursor:pointer}.immersive .pane-label.left{left:24px}.immersive .pane-label.right{left:calc(50% + 24px)}.immersive .stage-top-note{top:auto;bottom:82px;background:#1b2922c4;color:#c0cec5}.immersive .stage-foot{display:none}.immersive .fallback-note{bottom:80px;font-size:9px;z-index:4}.immersive .camera-gate{background:radial-gradient(ellipse at 50% 40%,#24332d,#0e1512 75%);padding:110px 24px 170px}.immersive .camera-gate h3{font-size:clamp(22px,3vw,36px);color:#e1ebe1}.immersive .camera-gate p{max-width:400px;font-size:14px}.immersive .camera-gate button{min-height:48px;border-radius:24px}.immersive .camera-controls{display:flex;flex-direction:column;align-items:stretch;border:0}.immersive .camera-controls label{display:block}.immersive .camera-controls select{width:100%;margin-top:8px}.immersive .camera-controls small{color:#91a295;line-height:1.8}.immersive .camera-controls>button{min-height:44px}#cameraStatus{font-size:11px;color:#b1c3b4;overflow-wrap:anywhere}.immersive .control-dock{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:28;background:#101b16eb;backdrop-filter:blur(16px);border:1px solid #ffffff20;border-radius:14px;padding:12px 16px;width:max-content;max-width:calc(100% - 40px);grid-template-columns:160px 1fr auto}.immersive .gaze-panel p{display:none}.immersive .targets{padding-left:14px}.immersive .targets .eyebrow{display:none}.immersive .targets>div{margin-top:0}.immersive .play-button{min-height:44px}.immersive .play-button div{display:none}.immersive .lens-map{height:68px;width:60px}.hud-lens-picker{margin-top:20px}.immersive .lens-tray{display:flex;flex-direction:column;align-items:stretch;gap:8px}.immersive .tray-title{display:none}.immersive .lens-card{max-width:none;width:100%;min-height:44px}.immersive .lens-card b{display:block}.immersive .lens-card>div{font-size:12px}#visionSettings{margin-top:20px}#visionSettings .view-toggles{margin-top:12px}.immersive .scene-tabs button{flex:1;min-height:44px}body[data-mode=thickness] .hud-lens-picker,body[data-mode=thickness] #visionSettings,body[data-mode=fitting] #visionSettings{display:none}.immersive[data-mode=thickness] .stage-top-note{bottom:78px}.immersive[data-mode=camera] .hud-status,.immersive[data-mode=vision] .hud-status{bottom:130px}.immersive[data-mode=camera] .stage-top-note,.immersive[data-mode=vision] .stage-top-note{display:none}
#fittingView{display:none;position:absolute;inset:0;overflow:auto;background:radial-gradient(ellipse at 35% 30%,#26372f,#121a16 70%);padding:105px 30px 92px}.immersive[data-mode=fitting] #fittingView{display:block}.immersive[data-mode=fitting] .pane-label,.immersive[data-mode=fitting] .divider,.immersive[data-mode=fitting] .stage-top-note,.immersive[data-mode=fitting] .fallback-note,.immersive[data-mode=fitting] .hud-status{display:none}body:not([data-mode=fitting]) #fitControls{display:none}.immersive[data-mode=fitting] aside>:not(#fitControls):not(.panel-close){display:none!important}.fit-heading{text-align:center}.fit-heading>span{font-size:10px;color:#90a497;letter-spacing:.1em}.fit-heading h2{font-size:clamp(20px,2.5vw,30px);font-weight:400;margin:8px 0 18px;color:#e5eee6}.fit-layout{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.fit-diagram svg{width:100%;max-height:340px}.fit-diagram #fitResult{text-align:center;min-height:66px;font-size:13px;color:#d0e4b8}.fit-diagram #fitResult span{display:block;font-size:11px;color:#8fa597;margin-top:7px}.reading-card{padding:28px 32px;background:#e8ece3;border-radius:18px;box-shadow:0 15px 80px #0003;color:#293c2e}.reading-card>span{font-size:10px;color:#6f7e70}.reading-card h3{font-size:28px;font-weight:500;line-height:1.4;margin:14px 0}.reading-window{position:relative;overflow:hidden;height:140px;background:#dce3d6;border-radius:8px;padding:8px 12px}.reading-window p{margin:0;line-height:1.8;white-space:nowrap;transform-origin:top left}.reading-window i{position:absolute;top:8px;bottom:8px;width:1px;background:#7d9367;opacity:.8}.reading-card #readingNote{font-size:11px;color:#617655;min-height:32px;margin-bottom:8px}.reading-actions{display:flex;gap:7px;flex-wrap:wrap}.reading-actions button{border:1px solid #bac6ae;padding:9px;border-radius:8px;font-size:11px;background:#d8e1cf;min-height:40px}.reading-card small{display:block;font-size:9px;color:#82917e;margin-top:13px}.fit-bottom{display:flex;justify-content:center;gap:8px;margin:24px auto 0}.fit-bottom button,.fit-presets button{background:#26382d;border:1px solid #49604d;border-radius:9px;min-height:44px;padding:8px 14px;font-size:12px;color:#b8cbb4}.fit-bottom button.active,.fit-presets button.active{background:#c1d6ad;color:#22331d}.fit-presets{display:flex;gap:8px}.hud-hidden .mode-tabs,.hud-hidden header,.hud-hidden #settingsToggle,.hud-hidden .hud-status,.hud-hidden .pane-label,.hud-hidden .control-dock,.hud-hidden .hud-angles,.hud-hidden .fallback-note,.hud-hidden .stage-top-note{visibility:hidden}.hud-hidden #hudHide{opacity:.65}
@media(max-width:1200px){.immersive .mode-tabs{top:76px}.immersive .pane-label{top:140px}.immersive aside{top:132px}.immersive .camera-gate{padding-top:150px}#fittingView{padding-top:135px}}
@media(max-width:600px){.immersive header{left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));gap:6px;padding:0 10px;height:42px}.immersive .brand{font-size:12px}.immersive .top-actions{gap:3px}.immersive #help{display:none}.hud-actions{right:12px;top:max(12px,env(safe-area-inset-top));gap:6px}.hud-actions button{height:42px;padding:0 11px;font-size:12px}.hud-actions #hudHide span{display:none}.immersive .mode-tabs{top:66px;left:12px;right:12px;transform:none;width:auto;gap:1px;padding:4px;overflow-x:auto}.immersive .mode-tabs button{padding:5px 8px;min-height:38px;flex:1}.immersive .mode-tabs button span{font-size:10px}.immersive .pane-label{top:128px;padding:8px;max-width:43%}.immersive .pane-label.left{left:12px}.immersive .pane-label.right{left:calc(50% + 8px)}.immersive .pane-label div{font-size:10px}.immersive .pane-label small{font-size:8px}.immersive aside{left:12px;right:12px;top:120px;bottom:12px;width:auto;max-height:none;padding:20px;border-radius:16px}.immersive .section-head{display:flex}.immersive .rx-grid{display:grid}.immersive .field{margin:20px 0}.immersive .range-field{margin:24px 0}.immersive input[type=range]{height:6px;margin:21px 0 14px}.immersive select,.immersive input[type=number]{min-height:44px}.immersive .control-dock{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 24px);width:calc(100% - 24px);padding:10px;grid-template-columns:84px 1fr 36px;gap:8px}.immersive .gaze-panel{grid-row:auto;gap:0;justify-content:center}.immersive .gaze-panel>div:last-child{display:none}.immersive .lens-map{width:62px;height:72px}.immersive .targets{padding-left:8px}.immersive .targets>div{gap:4px}.immersive .targets button{font-size:10px;padding:7px;min-height:36px}.immersive .play-button{grid-column:auto;margin:0;padding:10px;align-self:stretch;justify-self:stretch}.immersive .camera-gate{padding:145px 25px 160px}.immersive .camera-gate>span{font-size:45px}.immersive .camera-gate h3{font-size:23px;margin-top:10px}.immersive .camera-gate p{font-size:12px}.immersive .camera-gate small{font-size:10px}.hud-status{left:12px;bottom:76px;font-size:10px;padding:7px 10px}.hud-angles{bottom:max(15px,env(safe-area-inset-bottom));width:max-content;gap:4px}.hud-angles button{padding:8px 15px;font-size:11px}.immersive[data-mode=thickness] .stage-top-note{display:none}.immersive[data-mode=thickness] .pane-label.right{left:12px;top:52%}.immersive[data-mode=thickness] .pane-label{max-width:75%}.immersive[data-mode=camera] .hud-status,.immersive[data-mode=vision] .hud-status{bottom:118px;font-size:9px}.immersive .fallback-note{display:none}#fittingView{padding:130px 16px 25px}.fit-heading h2{font-size:21px}.fit-layout{grid-template-columns:1fr;gap:16px;max-width:420px}.fit-diagram svg{max-height:240px}.fit-diagram #fitResult{min-height:45px}.reading-card{padding:20px}.reading-card h3{font-size:23px}.reading-window{height:125px}.fit-bottom{flex-wrap:wrap;gap:6px}.fit-bottom button{font-size:10px;padding:7px 9px}.fit-heading>span{font-size:9px}}
@media(max-height:540px) and (orientation:landscape){.immersive header{top:10px;left:12px;height:38px}.immersive .brand{font-size:12px}.immersive #help{display:none}.hud-actions{top:10px;right:12px}.hud-actions button{height:38px;padding:0 11px}.hud-actions #hudHide span{display:none}.immersive .mode-tabs{top:10px;left:50%;width:auto;right:auto;transform:translateX(-50%)}.immersive .mode-tabs button{padding:5px 8px;min-height:28px}.immersive .mode-tabs button span{font-size:10px}.immersive .pane-label{top:65px}.immersive aside{top:60px;bottom:12px;width:300px;left:auto;right:12px}.immersive .camera-gate{padding:55px 20px 105px}.immersive .camera-gate>span{display:none}.immersive .camera-gate h3{font-size:22px;margin:0}.immersive .camera-gate p{margin:8px 0;max-width:500px}.immersive .camera-gate button{padding:8px 20px;min-height:40px;margin:4px}.immersive .camera-gate small{display:none}.immersive .control-dock{bottom:10px;padding:7px 10px;grid-template-columns:65px 1fr 35px;max-width:600px;width:max-content;gap:8px}.immersive .gaze-panel>div:last-child{display:none}.immersive .lens-map{width:45px;height:50px}.immersive .targets button{font-size:10px}.immersive .play-button{padding:9px}.immersive[data-mode=camera] .hud-status,.immersive[data-mode=vision] .hud-status{bottom:88px;font-size:9px}.immersive .fallback-note{display:none}.hud-angles{bottom:12px}.hud-status{bottom:18px;font-size:10px}.immersive[data-mode=thickness] .stage-top-note{display:none}#fittingView{padding:65px 22px 15px}.fit-heading{display:none}.fit-layout{grid-template-columns:1fr 1fr;gap:25px;max-width:800px}.fit-diagram svg{max-height:210px}.fit-diagram #fitResult{min-height:40px;font-size:11px}.reading-card{padding:15px 20px}.reading-card h3{font-size:19px;margin:6px 0}.reading-window{height:85px}.reading-card small{display:none}.reading-card #readingNote{margin:6px 0;min-height:18px}.reading-actions button{min-height:32px;padding:5px 8px;font-size:10px}.fit-bottom{margin:10px 0 0}.fit-bottom button{min-height:32px;font-size:10px;padding:5px 10px}}
@media(max-width:600px) and (orientation:portrait){.immersive aside{top:auto;bottom:max(12px,env(safe-area-inset-bottom));max-height:48dvh;box-shadow:0 -20px 70px #0005}.immersive.settings-open .control-dock{visibility:hidden}.immersive.settings-open .hud-angles{visibility:hidden}.immersive .panel-close{position:sticky;top:-8px;z-index:2;background:#19251f;border-radius:8px;padding:3px 12px}}
/* Direct optical controls: the live scene stays visible while values change. */
#cameraQuick,#cameraViewbar,#cameraGaze,#pairNote,#pairOutline,#cameraSourceBadge{display:none}body[data-mode=camera] #cameraQuick{display:block}body[data-mode=camera] #cameraViewbar{display:flex}body[data-mode=camera] #cameraSourceBadge{display:block}body[data-mode=camera][data-camera-view=pair] #pairOutline,body[data-mode=camera][data-camera-view=pair] #pairNote{display:block}body[data-mode=camera]:not([data-camera-view=pair]) #cameraGaze{display:block}body[data-mode=camera] #visionDock,body[data-mode=camera] .hud-status,body[data-mode=camera] .fallback-note{display:none!important}body[data-mode=camera][data-camera-view=pair] .pane-label,body[data-mode=camera][data-camera-view=pair] .divider{display:none}.camera-gated #pairOutline,.camera-gated #pairNote{display:none!important}
#cameraQuick{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:32;width:calc(100% - 40px);max-width:1150px;padding:12px 18px;background:#111c18ee;backdrop-filter:blur(16px);border:1px solid #ffffff22;border-radius:16px;box-shadow:0 6px 40px #0002}.quick-heading{display:flex;align-items:center;gap:14px;padding-bottom:9px;border-bottom:1px solid #ffffff10}.quick-lenses,.quick-variants{display:flex;gap:5px}.quick-lenses button{display:flex;align-items:center;gap:8px;padding:7px 14px;min-height:40px;border:1px solid #ffffff1c;border-radius:9px;color:#9cad9e;font-size:12px;transition:background .15s,color .15s}.quick-lenses .lens-icon{height:22px;width:20px}.quick-lenses button.active{background:#c2d7ae;color:#21301b;border-color:#c2d7ae}.quick-lenses button.active .lens-icon{border-color:#55674e}.quick-variants button{font:11px Arial;padding:9px 12px;border-radius:8px;border:1px solid #ffffff20;color:#8d9c91}.quick-variants .active{background:#3c4e40;color:#e0eddb}#quickLensName{font-size:11px;color:#8c9e91;margin-left:auto}#hapticsToggle{font-size:11px;border:1px solid #ffffff17;border-radius:7px;color:#a0b39f;min-height:36px;padding:6px 9px}#hapticsToggle[aria-pressed=false]{color:#748378}#hapticsToggle:disabled{font-size:9px;cursor:default;opacity:.7}.quick-values{display:grid;grid-template-columns:1.5fr 1.2fr auto;gap:25px;padding-top:10px}.quick-values:has(#quickAddField[hidden]){grid-template-columns:1fr auto}.quick-range label{display:flex;justify-content:space-between;color:#a2b6a6;font-size:11px;align-items:center}.quick-range output{color:#ecf5e5;font:500 17px Arial;font-variant-numeric:tabular-nums}.quick-range>div{display:flex;align-items:center;gap:10px;margin-top:1px}.quick-range button{width:32px;height:32px;flex-shrink:0;font:18px Arial;color:#b7c8b1;border-radius:50%;border:1px solid #ffffff12}.quick-range button:active{background:#c3d6b4;color:#172611;transform:scale(.94)}.immersive .quick-range input[type=range]{appearance:none;flex:1;height:22px;margin:0;background:repeating-linear-gradient(90deg,#9fb59760 0,#9fb59760 1px,transparent 1px,transparent 8px);border-radius:0;min-width:0;touch-action:pan-y}.quick-range input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,#c4d9b2 var(--fill,50%),#425347 var(--fill,50%));border-radius:8px}.quick-range input::-moz-range-track{height:4px;background:#53674f;border-radius:8px}.quick-range input::-webkit-slider-thumb{appearance:none;width:18px;height:25px;margin-top:-10px;background:#d0e4bc;border-radius:6px;border:2px solid #e3f0d7;box-shadow:0 2px 7px #0005}.quick-range input::-moz-range-thumb{width:16px;height:23px;background:#d0e4bc;border:2px solid #e3f0d7;border-radius:6px}.quick-distance>span{display:block;font-size:10px;color:#92a597;margin-bottom:7px}.quick-distance>div{display:flex;gap:4px}.quick-distance button{min-height:34px;padding:7px 13px;border:1px solid #ffffff22;border-radius:8px;font-size:11px;color:#95a997}.quick-distance button.active{color:#d4e7c9;background:#344b36;border-color:#647d5a}
#cameraViewbar{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:30;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 28px)}#cameraViewbar button{min-height:39px;padding:8px 14px;border-radius:9px;font-size:12px;color:#bacdbf;background:#16251fe8;border:1px solid #ffffff22;white-space:nowrap}.camera-view-switch{display:flex;background:#16251fe8;padding:3px;border-radius:11px;border:1px solid #ffffff20}.camera-view-switch button{border:0!important;background:transparent!important;min-height:33px!important}#cameraViewbar .active{background:#536b50!important;color:#eff5e9}.immersive .fullscreen-labeled{width:auto;border-radius:8px;padding:0 10px;font-size:18px;display:flex;align-items:center;gap:7px;background:#34472e;border-color:#688058}.fullscreen-labeled span{font-size:11px;white-space:nowrap}#pairOutline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}#pairNote{position:absolute;top:145px;left:50%;transform:translateX(-50%);z-index:3;text-align:center;pointer-events:none;background:#13241cbb;padding:8px 16px;border-radius:10px;white-space:nowrap}#pairNote span{display:block;font-size:12px;color:#e3efdc}#pairNote small{display:block;font-size:9px;color:#a5b8a7;margin-top:4px}#cameraSourceBadge{position:absolute;left:22px;bottom:170px;background:#13241cdb;color:#b9ccbb;font-size:10px;padding:7px 10px;border-radius:7px;pointer-events:none;z-index:3}#cameraGaze{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:28;width:140px;padding:12px;background:#12241bd9;border:1px solid #ffffff22;border-radius:10px}#cameraGaze label{font-size:10px;color:#b0c1b1}#cameraGaze output{float:right;color:#d0e4c4}#cameraGaze input{margin:14px 0 3px}.immersive .camera-gate{padding-bottom:200px}.camera-gate #cameraSample{background:transparent;border:1px solid #6f8669;border-radius:24px;color:#bacbb2;margin-top:5px;padding:9px 19px;min-height:40px;font-size:11px}.camera-gate #cameraStart{margin-bottom:2px}.camera-gate small{margin:5px 0}.camera-gated #cameraViewbar{opacity:.5;pointer-events:none}#orientationNotice{display:none;position:fixed;top:119px;left:14px;right:14px;z-index:34;text-align:center;background:#172b20ed;border:1px solid #77926a66;border-radius:12px;padding:10px}#orientationNotice span{display:block;font-size:10px;color:#a7bea5}#orientationNotice button{margin-top:7px;border-radius:8px;background:#bad5a2;color:#1b2b15;padding:8px 14px;font-size:12px;min-height:40px}#displayMessage{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:250;max-width:calc(100% - 40px);width:400px;background:#183023f5;color:#e2efd9;border:1px solid #78976b;padding:20px;border-radius:12px;font-size:13px;text-align:center;box-shadow:0 10px 60px #0005}.immersive[data-mode=camera] aside .range-field:has(#sph),.immersive[data-mode=camera] aside .range-field:has(#add),.immersive[data-mode=camera] aside .rx-title,.immersive[data-mode=camera] aside .hud-lens-picker,.immersive[data-mode=camera] aside .field:has(#lensType),.immersive[data-mode=camera] #cameraDistance{display:none}.immersive[data-mode=camera] #cameraControls label:has(#cameraDistance){display:none}.immersive[data-mode=camera] .hud-actions #settingsToggle span{font-size:12px}.hud-hidden #cameraQuick,.hud-hidden #cameraViewbar,.hud-hidden #cameraGaze,.hud-hidden #pairNote,.hud-hidden #cameraSourceBadge,.hud-hidden #orientationNotice{visibility:hidden}
@media(max-width:1200px) and (min-height:541px){#cameraViewbar{top:132px}#pairNote{top:188px}.immersive[data-mode=camera] .pane-label{top:190px}}
@media(max-width:600px) and (orientation:portrait){#orientationNotice{display:block;top:169px}body:not([data-mode=camera]) #orientationNotice{top:120px}#cameraQuick{width:calc(100% - 20px);bottom:max(10px,env(safe-area-inset-bottom));padding:10px 12px}.quick-heading{gap:7px;flex-wrap:wrap}.quick-lenses{width:100%;gap:4px}.quick-lenses button{flex:1;padding:6px;font-size:10px;gap:5px;justify-content:center;min-height:40px}.quick-lenses .lens-icon{width:16px;height:21px}.quick-variants button{padding:7px 11px;min-height:32px}#quickLensName{display:none}#hapticsToggle{margin-left:auto;min-height:28px;font-size:10px}.quick-heading:has(#quickBifocal[hidden]) #hapticsToggle{position:absolute;right:12px;top:-35px;background:#11241de0}.quick-values{grid-template-columns:1fr 1fr;gap:9px 16px}.quick-range label{font-size:9px}.quick-range output{font-size:14px}.quick-range button{width:27px;height:32px;font-size:17px}.quick-range>div{gap:5px;margin-top:5px}.quick-distance{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:5px;border-top:1px solid #ffffff12}.quick-distance>span{margin:0;font-size:9px}.quick-distance button{padding:5px 15px;min-height:32px;font-size:10px}.quick-values:has(#quickAddField[hidden]){grid-template-columns:1fr}.quick-values:has(#quickAddField[hidden]) .quick-distance{grid-column:auto}#cameraViewbar{top:121px;gap:4px;width:calc(100% - 24px);max-width:none}#cameraViewbar button{padding:6px 8px;font-size:9px;min-height:35px}.camera-view-switch{padding:2px;flex:1;justify-content:center;gap:0}#cameraLiveButton{display:none}#pairNote{top:275px;font-size:10px;padding:6px 10px}#pairNote small{font-size:8px}#cameraSourceBadge{left:12px;bottom:235px;font-size:8px;padding:5px 8px}.immersive[data-mode=camera] .pane-label{top:280px}#cameraGaze{top:55%;right:12px;width:100px;padding:10px}.immersive .camera-gate{padding:260px 20px 225px}.immersive .camera-gate>span{display:none}.immersive .camera-gate h3{font-size:20px}.immersive .camera-gate p{font-size:11px;margin:9px 0}.immersive .camera-gate small{display:none}.immersive .camera-gate button{padding:10px 20px;min-height:40px}.immersive header{padding:0 9px;gap:7px}.immersive .fullscreen-labeled{padding:0 7px}.fullscreen-labeled span{font-size:10px}.immersive.settings-open #cameraQuick{visibility:hidden}.immersive[data-mode=camera] aside{max-height:55dvh}}
@media(max-height:540px) and (orientation:landscape){#cameraQuick{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 28px);padding:7px 12px;border-radius:12px}.quick-heading{padding-bottom:5px;gap:10px}.quick-lenses button{min-height:32px;padding:4px 12px;font-size:10px;gap:6px}.quick-lenses .lens-icon{height:19px;width:16px}.quick-variants button{padding:6px 9px;font-size:10px}#quickLensName{font-size:9px}#hapticsToggle{font-size:10px;min-height:29px;padding:4px 8px}.quick-values{padding-top:6px;gap:18px;grid-template-columns:1.4fr 1.1fr auto}.quick-range label{font-size:9px}.quick-range output{font-size:14px}.quick-range button{height:28px;width:28px}.quick-range>div{gap:9px}.quick-distance>span{font-size:9px;margin-bottom:3px}.quick-distance button{min-height:29px;padding:4px 12px;font-size:10px}#cameraViewbar{top:56px;gap:6px}#cameraViewbar button{min-height:30px;padding:5px 10px;font-size:10px}.camera-view-switch{padding:2px}.camera-view-switch button{min-height:27px!important}#pairNote{top:100px;padding:5px 10px}#pairNote span{font-size:10px}#pairNote small{display:none}#cameraSourceBadge{left:15px;bottom:123px;font-size:8px;padding:4px 7px}#cameraGaze{right:16px;width:110px;padding:9px;top:46%}.immersive .camera-gate{padding:95px 25px 125px}.immersive .camera-gate h3{font-size:20px}.immersive .camera-gate p{font-size:11px;max-width:500px;margin:7px 0}.immersive .camera-gate #cameraStart,.immersive .camera-gate #cameraSample{display:inline-block;min-height:32px;padding:6px 17px;font-size:11px;margin:3px}.immersive .camera-gate small{display:none}.immersive[data-mode=camera] .pane-label{top:100px}.immersive header{max-width:255px}.immersive .mode-tabs button{padding:5px 7px}.immersive .mode-tabs button span{font-size:9px}.fullscreen-labeled span{font-size:10px}.immersive .fullscreen-labeled{padding:0 7px}.immersive.settings-open #cameraQuick{max-width:none}.immersive[data-mode=camera] aside{bottom:124px;top:95px}}
/* Optical study: clear glass with independent educational layers. */
#studioControls{display:none;position:fixed;top:137px;left:50%;transform:translateX(-50%);z-index:28;width:max-content;max-width:calc(100% - 28px);text-align:center;color:#344c49}#studioControls>div{display:flex;gap:6px;justify-content:center}#studioControls button{padding:8px 13px;border:1px solid #405d5538;background:#f1f5f0dc;border-radius:8px;font-size:11px;min-height:36px;color:#3e5650}#studioControls button.active{background:#375c51;color:#f1f6eb}#studioControls p{font-size:10px;margin:8px auto;max-width:560px;padding:5px 8px;border-radius:6px;background:#eff3edc9}#studioControls small{font-size:9px;display:block;background:#edf2e9cc;padding:4px;border-radius:6px}body[data-mode=camera][data-camera-view=model] #studioControls{display:block}body[data-mode=camera][data-camera-view=model] #cameraGaze,body[data-mode=camera][data-camera-view=model] .pane-label,body[data-mode=camera][data-camera-view=model] #cameraSourceBadge,body[data-mode=camera][data-camera-view=model] .quick-distance{display:none!important}body[data-mode=camera][data-camera-view=model] .quick-values{grid-template-columns:1fr 1fr}body[data-mode=camera][data-camera-view=model] .quick-values:has(#quickAddField[hidden]){grid-template-columns:1fr}.camera-gated #cameraViewbar{pointer-events:auto;opacity:1}.hud-hidden #studioControls{visibility:hidden}
@media(max-width:1200px) and (min-height:541px){#studioControls{top:187px}}
@media(max-width:600px) and (orientation:portrait){#cameraViewbar{flex-wrap:wrap;top:119px;justify-content:center}.camera-view-switch{flex-basis:100%}#cameraViewbar>button{min-height:30px}#orientationNotice{top:205px;padding:7px}#orientationNotice button{min-height:34px;padding:5px 12px}#pairNote{top:302px}#studioControls{top:305px;width:calc(100% - 28px)}#studioControls>div{flex-wrap:wrap}#studioControls button{min-height:32px;padding:6px 9px;font-size:10px}#studioControls p{font-size:9px}.immersive .camera-gate{padding-top:300px}}
@media(max-height:540px) and (orientation:landscape){#cameraViewbar{top:53px}#cameraViewbar button{padding:5px 8px;font-size:9px}#studioControls{top:94px;left:18px;transform:none;max-width:240px;text-align:left}#studioControls>div{flex-wrap:wrap;justify-content:flex-start}#studioControls button{min-height:31px;font-size:9px;padding:5px 9px}#studioControls p{font-size:9px;max-width:205px;background:#eff3edc9}#studioControls small{max-width:205px}body[data-mode=camera][data-camera-view=model] #cameraQuick{max-width:none}body[data-mode=camera][data-camera-view=model] .quick-values{grid-template-columns:1fr 1fr}}
#quickMore{font:10px Arial;color:#bbcdbc;border:1px solid #ffffff25;border-radius:7px;padding:7px 10px;min-height:34px;white-space:nowrap}#quickMore[aria-expanded=true]{background:#3e5a43}#quickAdvanced{position:fixed;right:22px;bottom:170px;z-index:60;width:300px;padding:14px 17px;background:#13231eF7;border:1px solid #ffffff30;border-radius:13px;box-shadow:0 8px 35px #0003;color:#b4c7b8}#quickAdvanced .advanced-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff18;padding-bottom:8px;margin-bottom:12px;font-size:12px}#quickAdvancedClose{font:24px Arial;min-width:32px;min-height:32px}#quickAdvanced label{display:flex;justify-content:space-between;font-size:11px}#quickAdvanced output{font:13px Arial;color:#e5f0df}#quickAdvanced input{margin:15px 0 18px;height:5px}#quickAdvanced input:disabled{opacity:.35}#quickAdvanced small{font-size:9px;color:#91a993}.hud-hidden #quickAdvanced,body:not([data-mode=camera]) #quickAdvanced{display:none!important}
@media(max-width:600px) and (orientation:portrait){#quickMore{position:absolute;left:12px;top:-35px;background:#12251eea;font-size:9px;min-height:28px;padding:5px 8px}.quick-heading:has(#quickBifocal:not([hidden])) #hapticsToggle{position:absolute;right:12px;top:-35px;background:#12251eea}#quickAdvanced{right:10px;left:10px;bottom:245px;width:auto;max-height:40dvh;overflow:auto}}
@media(max-height:540px) and (orientation:landscape){#quickMore{font-size:9px;padding:5px 7px;min-height:28px}#quickAdvanced{right:15px;bottom:125px;width:310px;max-height:calc(100dvh - 175px);overflow:auto;padding:10px 14px}#quickAdvanced .advanced-head{margin-bottom:5px;padding-bottom:2px;font-size:10px}#quickAdvanced input{margin:11px 0 12px}#quickAdvanced label{font-size:10px}}

/* Fitting choices stay tappable and wrap on small displays. */
.fit-bottom{flex-wrap:wrap;align-items:center;position:relative;z-index:2}.fit-bottom button{touch-action:manipulation;pointer-events:auto}.fit-corridor-label{font-size:12px;color:#bdcdbf;margin-left:12px}.fit-helper{font-size:11px;color:#9eb3a2;text-align:center;max-width:340px;margin:8px auto;line-height:1.6}

#fitSVG{touch-action:none;cursor:crosshair}#fitSVG:focus-visible{outline:2px solid #c1d6ad;border-radius:14px}.fit-adjustments{max-width:900px;margin:20px auto;background:#203329;border:1px solid #49604d;border-radius:14px;padding:14px;color:#cbdccb}.fit-adjustments summary{cursor:pointer;font-size:13px}.fit-adjustments #fitControls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.fit-adjustments h3,.fit-adjustments .fit-presets{display:none}.fit-adjustments label{font-size:12px;display:block}.fit-adjustments input,.fit-adjustments select{width:100%;min-height:36px}.fit-adjustments output{float:right}.fit-adjustments .micro{grid-column:1/-1;font-size:10px}.fit-optics{font-size:11px;line-height:1.8;border-top:1px solid #b8c5b1;padding:8px 0;margin:8px 0}.fit-adjustments input[type=range]{touch-action:pan-y}@media(max-width:650px){.fit-adjustments #fitControls{grid-template-columns:repeat(2,minmax(0,1fr))}}
