:root{--accent:#214ca5;--ink:#27394b;--muted:#748294;--glass:rgba(255,255,255,.88);--line:#dfe5ec}*{box-sizing:border-box}body{margin:0;background:#e9edf0;color:var(--ink);font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;background:transparent;border-radius:8px;padding:9px 12px;transition:background .15s}button:hover{background:#214ca510}button:focus-visible,input:focus-visible{outline:3px solid #4386f5;outline-offset:3px}button.active{background:var(--accent);color:#fff}button:disabled{opacity:.45;cursor:default}input[type=range]{accent-color:var(--accent);width:100%;cursor:pointer}input[type=checkbox]{accent-color:var(--accent)}[hidden]{display:none!important}.glass{background:var(--glass);border:1px solid #ffffffc9;border-radius:16px;backdrop-filter:blur(20px);box-shadow:0 10px 35px #27394b08}#world{width:100%;height:100%;position:fixed;inset:0;touch-action:none;outline:none}.top{position:fixed;top:18px;left:24px;right:24px;height:70px;display:flex;align-items:center;padding:0 18px;gap:20px;z-index:5}#brand{display:flex;gap:12px;align-items:center;padding:3px;text-align:left}.logo{width:40px;height:40px;background:var(--accent);color:white;display:grid;place-items:center;border-radius:11px;font-size:27px}#brand b{font-size:23px;letter-spacing:-1px}#brand small{font-size:8px;letter-spacing:1.6px;display:block;margin-top:3px;color:var(--muted)}.top-divider{height:28px;border-left:1px solid var(--line)}.project{font-size:14px}.project small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}#tour{background:#edf2fa;color:var(--accent)}#night{font-size:21px;background:#f1f4f7}.intro{position:absolute;left:30px;top:117px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:1.9px;color:var(--muted)}.intro h1{font-size:26px;letter-spacing:-1px;font-weight:500;margin:9px 0}.intro p{font-size:11px;color:var(--muted);margin:0 0 13px}.status{font-size:9px;display:flex;align-items:center;gap:7px;color:var(--accent)}.status i{width:5px;height:5px;background:#3275bb;border-radius:50%}.specs{position:absolute;top:113px;left:410px;right:370px;display:flex;gap:9px;max-width:420px}.specs>div{padding:12px 16px;flex:1}.specs small{font-size:9px;color:var(--muted);white-space:nowrap}.specs b{display:block;font-size:26px;font-weight:500;letter-spacing:-1px;margin-top:5px}.specs em{font-size:12px;color:var(--muted);font-style:normal}.panel{position:fixed;right:24px;top:112px;bottom:24px;width:318px;padding:19px;z-index:6;overflow:auto;scrollbar-width:thin}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head button{padding:0 4px;font-size:20px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:12px;padding-bottom:9px}.tabs button{font-size:11px;padding:8px 13px}.sub{font-size:10px;color:var(--muted);line-height:1.6}.part-row{width:100%;display:flex;align-items:center;text-align:left;padding:9px 9px;gap:9px;font-size:11px}.part-row .part-dot{height:7px;width:7px;border-radius:50%;flex-shrink:0}.part-row small{margin-left:auto;font-size:9px;color:var(--muted)}.part-row.active{background:#eaf0fb;color:var(--accent)}.part-row.active small{color:var(--accent)}.tab-content{padding-bottom:10px}#inspection{border-top:1px solid var(--line);margin-top:12px;padding-top:17px}.inspector-heading{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:var(--muted)}#partTitle{font-size:22px;font-weight:500;letter-spacing:-.6px;margin:12px 0}#partDescription{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 15px}#partFacts{display:grid;grid-template-columns:1fr 1fr;gap:11px}#partFacts small{display:block;font-size:9px;color:var(--muted)}#partFacts b{display:block;font-size:12px;font-weight:500;margin-top:4px}.inspector-actions{display:flex;gap:6px;margin:17px 0}.inspector-actions button{flex:1;border:1px solid var(--line);font-size:11px}#focus{background:var(--accent);color:white;border-color:var(--accent)}.micro{font-size:9px;line-height:1.7;color:var(--muted)}.range-label{display:block;font-size:11px;margin:19px 0}.range-label output{float:right;color:var(--accent)}.range-label input{display:block;margin-top:9px}.switch-row{font-size:11px;display:flex;gap:8px;align-items:center;margin:16px 0}.wide{border:1px solid var(--line);width:100%;margin-top:10px;font-size:11px}.viewbar{position:fixed;bottom:28px;left:24px;right:370px;max-width:650px;padding:7px;z-index:4;display:flex;align-items:center;gap:18px}.view-options{display:flex;gap:3px}.view-options button{font-size:11px;padding:10px 12px}.explode-label{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted);flex:1}.explode-label input{min-width:50px;width:100%}.explode-label output{font-size:10px;width:30px}.bottom-left{position:fixed;left:30px;bottom:102px;pointer-events:none}.bottom-left span{font-size:9px;letter-spacing:1.7px;color:var(--accent)}.bottom-left p{font-size:10px;color:var(--muted);margin-top:8px}.camera-bar{position:fixed;left:24px;bottom:160px;padding:5px;z-index:4;display:flex;align-items:center}.camera-bar span{height:19px;border-left:1px solid var(--line);margin:0 5px}.camera-bar button{font-size:11px;padding:8px 10px}#home,#zoomIn,#zoomOut{font-size:17px}#openPanel{display:none}.walkbar{position:fixed;bottom:86px;left:50%;transform:translateX(-50%);z-index:7;display:flex;padding:8px;align-items:center;gap:6px}.walkbar span{font-size:9px;letter-spacing:1px;margin:0 9px}.walkbar button{font-size:11px}.world-label{position:absolute;padding:5px 8px;background:#ffffffdf;border:1px solid white;box-shadow:0 4px 16px #27394b08;border-radius:5px;color:#526577;font-size:9px;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:none}.world-label:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:13px;background:#31589880}.world-label b{color:var(--accent);margin-right:5px}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#233f65eb;color:white;padding:12px 20px;border-radius:10px;z-index:30;opacity:0;pointer-events:none;font-size:11px;transition:opacity .2s}#toast.show{opacity:1}.loading{position:fixed;inset:0;background:#edf0f3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:50}.loading h2{font-size:25px;font-weight:500}.loading p{font-size:12px;color:var(--muted)}dialog{width:min(690px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid white;border-radius:20px;padding:25px;background:#f7f9fc;color:var(--ink);box-shadow:0 20px 80px #27394b30}dialog::backdrop{background:#263a4d60;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:27px;font-weight:500}dialog h3{font-size:14px;font-weight:600;margin-top:22px}dialog p,dialog li{font-size:12px;line-height:1.8;color:var(--muted)}dialog a{color:var(--accent)}body.dark{--ink:#e0e9f4;--muted:#9cacbd;--glass:#253246e8;--line:#52617a55}body.dark .glass{border-color:#7b98ba25}body.dark .world-label{background:#243348ee;border-color:#ffffff20;color:#c8d5e4}body.dark #tour,body.dark #night{background:#344258;color:#d4dfec}body.dark .part-row.active{background:#3a4e6b;color:white}body.dark dialog{background:#263549;border-color:#52617a}body.walk .intro,body.walk .specs,body.walk #labels{display:none}
@media(max-width:1180px){.project{display:none}.specs{left:30px;top:221px;right:auto;width:330px}.intro h1{font-size:24px}.panel{width:290px}.viewbar{right:337px}.explode-label{display:none}.viewbar{max-width:440px}.camera-bar{bottom:165px}}
@media(max-width:760px){.top{top:10px;left:10px;right:10px;height:56px;padding:0 10px;gap:6px}#brand{gap:7px}#brand b{font-size:20px}#brand small{font-size:6px;letter-spacing:1px}.logo{width:32px;height:32px;font-size:22px}.top-divider,#sources{display:none}.top-actions{gap:3px}.top-actions button{padding:8px;font-size:10px}.intro{left:18px;top:85px}.intro h1{font-size:21px;margin:7px 0}.intro p{font-size:9px;max-width:270px}.eyebrow{font-size:8px}.status{font-size:8px}.specs{top:190px;left:10px;right:10px;width:auto;max-width:none;gap:6px}.specs>div{padding:9px 12px}.specs b{font-size:22px}.specs small{font-size:8px}.panel{display:none;right:10px;left:10px;width:auto;top:80px;bottom:125px}.panel.open{display:block}.tabs button{flex:1}.tab-content{max-height:33vh;overflow:auto}.viewbar{left:10px;right:10px;bottom:12px;max-width:none;justify-content:center;padding:6px}.view-options{width:100%}.view-options button{flex:1;padding:10px 7px;font-size:10px}.bottom-left{left:18px;bottom:117px}.bottom-left p{font-size:9px;width:270px}.bottom-left span{font-size:8px}.camera-bar{left:10px;bottom:66px;padding:4px}.camera-bar button{padding:8px 10px;font-size:10px}#openPanel{display:block}.walkbar{bottom:116px;width:calc(100% - 20px);padding:5px;justify-content:center}.walkbar span{display:none}.walkbar button{font-size:10px;padding:8px}.world-label{font-size:8px;padding:4px 5px}.world-label b{margin-right:3px}body.walk .bottom-left{display:none}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:760px){body.exploded .viewbar{flex-wrap:wrap;gap:5px}body.exploded .explode-label{display:flex;flex-basis:100%;padding:0 8px 3px}body.exploded .camera-bar{bottom:97px}body.exploded .bottom-left{bottom:151px}}
.panel.dismissed{display:none}body.panel-hidden #openPanel{display:block}

body.model-only .top,body.model-only .intro,body.model-only .specs,body.model-only .panel,body.model-only .viewbar,body.model-only .bottom-left,body.model-only #labels{display:none!important}body.model-only .camera-bar{left:auto;right:20px;bottom:20px}body.model-only .camera-bar>:not(#modelOnly){display:none}
@media(min-width:1181px){.specs{top:auto;bottom:100px;left:30px;right:auto;width:300px;gap:8px}.specs>div{padding:9px 12px}.specs b{font-size:23px}.camera-bar{bottom:175px}.bottom-left{bottom:235px}.intro h1{font-size:26px}.intro p{max-width:280px}}

body.walk .panel:not(.open){display:none}body.walk .camera-bar{bottom:25px}body.walk .viewbar,body.walk .bottom-left{display:none}body.walk #openPanel{display:block}body.walk .walkbar{bottom:80px}

@media(max-width:760px){.specs{display:none}.intro h1{font-size:19px;max-width:240px}.intro p,.intro .status{display:none}.intro{top:82px}.bottom-left{bottom:121px}.camera-bar button{padding:8px 7px}body.walk .camera-bar{bottom:12px}body.walk .walkbar{bottom:65px}}
