.load-track{width:min(240px,65vw);height:4px;border-radius:4px;background:#ffffff21;overflow:hidden;margin:14px 0 24px}.load-track i{display:block;width:8%;height:100%;background:#80cfdf;transition:width .3s}.load-reading{color:#c5e7ef;font-size:16px;text-decoration:underline;text-underline-offset:5px;padding:12px;min-height:44px}
#viewport canvas{touch-action:none}button,a,input,select{-webkit-tap-highlight-color:transparent}dialog{overscroll-behavior:contain}button:focus-visible,a:focus-visible{outline:2px solid #56a6c2;outline-offset:3px}
@media(max-width:650px){body:is([data-hall="music"],[data-hall="robot"],[data-hall="ai"],[data-hall="light"],[data-hall="quantum"]).inspecting .inspect-bar{display:grid;grid-template-columns:44px 44px 1fr 1fr;gap:6px}body:is([data-hall="music"],[data-hall="robot"],[data-hall="ai"],[data-hall="light"],[data-hall="quantum"]).inspecting .inspect-next,body:is([data-hall="music"],[data-hall="robot"],[data-hall="ai"],[data-hall="light"],[data-hall="quantum"]).inspecting .inspect-exit{grid-column:span 2}body:is([data-hall="music"],[data-hall="robot"],[data-hall="ai"],[data-hall="light"],[data-hall="quantum"]).inspecting .inspect-bar button{min-height:44px}body:is([data-hall="music"],[data-hall="robot"],[data-hall="ai"],[data-hall="light"],[data-hall="quantum"]).inspecting.inspect-controls-open .lab{max-height:calc(100dvh - 240px)}body:is([data-hall="music"],[data-hall="robot"],[data-hall="ai"],[data-hall="light"],[data-hall="quantum"]) .observe-toggle{min-height:48px}}
@media(max-width:650px){
 .topbar{height:auto;min-height:106px;padding:8px 12px;align-items:flex-start;flex-wrap:wrap;gap:5px}.brand{width:100%;font-size:16px}.top-actions{width:100%;justify-content:flex-end;gap:4px}.top-actions button{min-height:40px;font-size:12px;padding:7px 10px}.brand small{font-size:8px}
 .intro{top:calc(130px + env(safe-area-inset-top));left:6%;right:6%}.intro p{font-size:16px}.intro-note{font-size:12px;line-height:1.6}.location{top:118px}.intro .primary,.intro button{min-height:44px}
 .dock{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 16px);max-width:none;padding:4px;border-radius:12px}.dock button{min-width:0;flex:1;padding:8px 2px;min-height:58px}.dock button div{font-size:12px}.bottom-hint{bottom:calc(82px + env(safe-area-inset-bottom));left:auto;right:12px;transform:none}.bottom-hint button{font-size:13px;min-height:44px}
 .touch-controls{bottom:calc(105px + env(safe-area-inset-bottom));left:8px}.touch-controls button{width:46px;height:46px}.help-button{bottom:calc(150px + env(safe-area-inset-bottom));min-width:44px;min-height:44px}.guide-launcher{bottom:calc(210px + env(safe-area-inset-bottom))!important;right:12px!important}
 dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));overflow:auto}dialog button,dialog select{min-height:44px}dialog input:not([type=checkbox]),dialog select{font-size:16px}.lab input,.lab select{font-size:16px}.lab button{min-height:44px}.lab p,.lab details p{font-size:16px;line-height:1.8}.lab label,.lab summary{font-size:14px}.lab-heading{position:sticky;top:-20px;z-index:2;background:inherit;padding:6px 0}.lab-heading button{min-width:44px}
 .hall-path{top:calc(153px + env(safe-area-inset-top))}.hall-path button{min-height:44px}.lab-open .topbar{min-height:66px}.lab-open .top-actions{display:none}
}
@media(max-width:650px) and (max-height:600px){.intro{top:120px}.intro h1{font-size:26px}.intro-note{display:none}.touch-controls{transform:scale(.85);transform-origin:bottom left}.location{display:none}.guide-launcher{bottom:130px!important}.hall-path{max-height:130px;overflow:auto}}

@media(max-width:650px){.guide-launcher{top:auto!important;height:auto;min-height:44px}.top-actions .about-entry{top:12px;left:auto;right:12px;position:absolute;min-height:36px}.brand{padding-right:80px}.brand small{display:none}.top-actions{justify-content:space-between}.top-actions button{padding:7px 8px}.journey-toggle,.map-toggle{top:280px;bottom:auto;min-height:44px;font-size:12px}.map-toggle{left:150px}.reading-fallback .guide-launcher{bottom:24px!important}.intro-note{font-size:12px}}

@media(max-width:650px){.lab-open:not(.inspecting) .lab{top:80px;max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));width:calc(100% - 24px);padding:20px}.lab-open .bottom-hint{display:none}.lab-open:not(.voice-panel-collapsed):has(#voice-player:not([hidden])) .lab{max-height:calc(100dvh - 110px - var(--guide-panel-height,180px))}.lab-heading{background:#0b1d2b}.lab-heading button{min-height:44px}.intro-note{font-size:12px}}

@media(max-width:650px){.lab-open.voice-panel-collapsed:not(.inspecting) #lab{max-height:calc(100dvh - 100px - env(safe-area-inset-bottom))}}
@media(max-width:650px){html{width:100%;overflow-x:clip}body{width:100%;max-width:100%;overflow-x:clip}}

.inspect-caption{position:absolute;top:90px;left:50%;transform:translateX(-50%);display:grid;gap:6px;text-align:center;padding:10px 16px;background:#142630ed;border:1px solid #7ebdbb50;border-radius:8px;color:#f3f1e8;pointer-events:none;max-width:calc(100% - 32px)}.inspect-caption[hidden],.inspect-controls-open .inspect-caption{display:none}.inspect-caption strong{font-size:18px}.inspect-caption span{font-size:12px;color:#b8dcd6}@media(max-width:650px){.inspect-caption{top:76px;width:max-content}.inspect-caption strong{font-size:17px}.inspect-caption span{font-size:12px}}

.inspect-caption{width:min(440px,calc(100% - 32px));box-sizing:border-box}.inspect-insight{margin:0;font-size:14px;line-height:1.65;color:#e3efed}.inspect-caption span{color:#a6c8c2}@media(max-width:650px){.inspect-caption{width:calc(100% - 32px);padding:9px 12px}.inspect-insight{font-size:14px;text-align:left}}

.insight-toggle{position:absolute;top:90px;right:34px;padding:10px 14px;min-height:44px;border-radius:8px;background:#142630ed;color:#e3efed;border:1px solid #7ebdbb50;font-size:14px}.insight-toggle[hidden],.inspect-controls-open .insight-toggle{display:none}.insight-toggle[aria-pressed="true"]{border-color:#a6ded5;color:#a6ded5}@media(max-width:650px){.insight-toggle{top:64px;right:16px;padding:8px 12px}.inspect-caption{top:116px}}
