@import url("./fonts.css");
.engine-nav-link{align-self:center;color:#a1ecd6;font-size:14px;white-space:nowrap}.engine-calibration{margin-bottom:20px;font-size:14px;color:#93a3af}.engine-calibration summary{cursor:pointer;margin-bottom:12px}
:root{color-scheme:dark;--bg:#0b1015;--panel:#11181f;--panel2:#151e26;--border:#25303a;--line:#1e2932;--muted:#93a3af;--text:#eaf0f3;--accent:#a1ecd6;--accent-dim:#17392f;--gold:#ecc479;--radius:10px;font-family:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,a,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button,input,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .16s,color .16s,border-color .16s}button:hover:not(:disabled){filter:brightness(1.09)}[hidden]{display:none!important}svg.icon{width:18px;height:18px;display:block;flex:none;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}h1,h2,p{margin-top:0}h2{font-size:12px;font-weight:600;letter-spacing:.09em;color:#aab8c2}p{line-height:1.65}.micro{font-size:12px;line-height:1.6;color:var(--muted)}.mono{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums}.eyebrow{color:var(--muted);font-size:12px;letter-spacing:.1em;font-weight:500}.tiny-dot,.amber-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.amber-dot{background:var(--gold)}.skip-link{position:fixed;left:10px;top:-60px;background:var(--accent);color:#10211c;padding:10px;z-index:100}.skip-link:focus{top:10px}
.topbar{height:76px;min-height:76px;display:flex;align-items:center;gap:24px;padding:0 24px;border-bottom:1px solid var(--border);background:#10171d;z-index:4}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-symbol{font-size:20px;font-weight:800;color:var(--accent);letter-spacing:-4px;border:1px solid #34554d;border-radius:8px;width:35px;height:35px;display:grid;place-content:center;position:relative;padding-right:4px}.brand-symbol span{position:absolute;right:3px;bottom:2px;font-size:10px;letter-spacing:0;background:#10171d}.brand>strong{font-size:21px;letter-spacing:-.8px}.brand>strong>span{color:var(--accent);font-weight:400}.brand-divider{height:22px;border-left:1px solid var(--border);margin:0 3px}.brand-caption{font-size:10px;letter-spacing:.13em;color:#889ba8;max-width:120px;white-space:normal;line-height:1.65}.main-nav{display:flex;align-self:stretch;margin-left:auto;gap:24px}.main-nav button{border:0;background:none;color:var(--muted);position:relative;padding:0 3px;font-size:14px}.main-nav button.active{color:var(--text)}.main-nav button.active:after{content:"";position:absolute;left:0;right:0;height:2px;bottom:0;background:var(--accent)}.top-actions{display:flex;align-items:center;gap:10px;margin-left:30px}.status-chip{display:flex;align-items:center;gap:7px;font-size:12px;color:#a0b2bb;margin-right:6px}.status-chip i{height:6px;width:6px;border-radius:50%;background:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:9px 14px;border:1px solid var(--border);border-radius:7px;font-weight:500;white-space:nowrap;background:var(--panel2);font-size:14px}.button.accent{background:var(--accent);color:#10231c;border-color:var(--accent)}.button.quiet{background:transparent}.button.wide{width:100%}.icon-button{width:35px;height:35px;border:1px solid var(--border);border-radius:6px;background:transparent;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#1e2a34}.icon-button.small{width:28px;border:0}.text-button{border:0;background:transparent;padding:5px 0;color:var(--accent);display:inline-flex;gap:6px;align-items:center;font-size:12px}.help-button{width:16px;height:16px;padding:0;display:inline-grid;place-content:center;border:1px solid #526471;border-radius:50%;color:#93a3af;background:transparent;font-size:10px}
.page{flex:1;min-height:0}.workspace{display:grid;grid-template-columns:254px minmax(0,1fr) 264px}.sidebar{border-right:1px solid var(--border);background:#11181e;display:flex;flex-direction:column;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2c3e49 transparent}.side-intro{padding:26px 22px 0}.side-intro .eyebrow{display:flex;justify-content:space-between;align-items:center}.side-intro h1{font-size:25px;font-weight:500;letter-spacing:-.7px;line-height:1.22;margin:14px 0 9px}.side-intro p{font-size:12px;color:var(--muted);margin-bottom:18px}.scene-meta{display:flex;align-items:center;justify-content:space-between;color:#97a8b4;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.scene-meta>span:first-child{display:flex;align-items:center;gap:7px}.scene-meta i{width:5px;height:5px;border-radius:50%;background:#819e91}.scene-meta>span:last-child{color:#5f7583;font-family:monospace}.side-section{padding:20px 22px 0}.side-section>h2{margin-bottom:12px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-buttons button{display:flex;flex-direction:column;gap:9px;align-items:center;padding:14px 3px;border:1px solid var(--border);border-radius:7px;background:transparent;font-size:12px;color:var(--muted)}.mode-buttons button.active{background:#19332d;border-color:#4b8070;color:var(--accent)}.mode-buttons .icon{width:21px;height:21px}.switch-row{display:flex;align-items:center;justify-content:space-between;min-height:34px;font-size:13px;color:#b9c7cf}.switch-row>span{display:flex;align-items:center;gap:10px}.switch-row .icon{width:16px;height:16px;color:#7a919f}.switch-row input{appearance:none;margin:0;width:28px;height:16px;border-radius:10px;background:#34414b;position:relative;cursor:pointer}.switch-row input:after{content:"";width:10px;height:10px;background:#a5b0b8;border-radius:50%;position:absolute;top:3px;left:3px;transition:left .18s}.switch-row input:checked{background:#447e69}.switch-row input:checked:after{left:15px;background:var(--accent)}.view-presets{display:flex;background:#0e151c;border:1px solid var(--border);border-radius:6px;padding:3px;gap:2px}.view-presets button{flex:1;border:0;background:none;border-radius:4px;font-size:12px;padding:7px 3px;color:var(--muted)}.view-presets button.active{background:#25323d;color:#e0e9ed}.range-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:15px 0 8px}.range-label output{font-family:monospace}input[type=range]{width:100%;accent-color:var(--accent);height:12px;margin:0}.measure-button{width:100%;font-size:12px;background:#1b252e}.measure-button.active{border-color:var(--gold);color:var(--gold)}.measurement-empty{font-size:12px;color:var(--muted);margin:11px 0 5px;line-height:1.6}.measurement-empty.measured{font-size:24px;color:var(--accent);font-family:monospace}.side-section>.micro{font-size:12px;margin:10px 0 0;color:#8499a6}.side-bottom{margin-top:auto;padding:24px 22px 18px}.availability{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:12px}.availability .icon{width:14px;height:14px}.window-list{display:grid;gap:9px}.window-item{border:1px solid var(--border);background:#151e26;padding:12px;border-radius:7px;text-align:left;display:grid;gap:5px;color:#a9b9c4}.window-item strong{font-size:14px;font-weight:500}.window-item small{font-size:12px;color:var(--muted)}.window-item.active{background:#19332d;border-color:#4b8070;color:var(--accent)}.help-copy{font-size:14px;line-height:1.65;color:#c1cdd5}
.scene-stage{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;background:#0c1219}.stage-top{height:57px;min-height:57px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 20px;gap:10px}.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted);overflow:hidden;white-space:nowrap}.breadcrumbs>span:first-child{overflow:hidden;text-overflow:ellipsis}.breadcrumbs>span:nth-child(2){color:#536571}.breadcrumbs>strong{color:#d2dce2;font-weight:400}.stage-actions{display:flex;gap:6px}.stage-actions .icon-button{width:30px;height:30px;border:0;color:#9aadb9}.stage-actions svg{width:17px;height:17px}
#viewport{position:relative;flex:1;min-height:230px;overflow:hidden;background:#0c131b}#scene{width:100%;height:100%;display:block;touch-action:none}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#0c131bea;z-index:3;text-align:center;padding:30px}.loading strong{font-size:16px;font-weight:500}.loading>span:last-child{color:var(--muted);font-size:13px}.loader-ring{width:28px;height:28px;border:2px solid #294239;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewport-overlay{position:absolute;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;pointer-events:none;gap:10px}.view-tag{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.12em;color:#b4c4ce}.view-tag i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.quality-tag{font-size:12px;color:#c9b382;border:1px solid #52472f;border-radius:5px;background:#241f1777;padding:5px 8px}.orbit-hint{position:absolute;bottom:59px;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;border:1px solid #334450;border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:9px;color:#abbfc9;background:#101c25cc;pointer-events:none}.orbit-hint .icon{width:14px;height:14px;color:var(--accent)}.orbit-hint>span:not(:first-child){color:#526672}.viewport-bottom{position:absolute;bottom:19px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:end;pointer-events:none;gap:10px}.viewport-bottom>.mono{color:#839ca9;font-size:11px}.scale-bar{display:flex;flex-direction:column;gap:6px;align-items:center;color:#a5b8c3;font-size:10px}.scale-bar>span{display:block;width:70px;height:6px;border:solid #9baeba;border-width:0 1px 1px}.scale-bar b{font-weight:400}.measure-label{position:absolute;background:#19241e;border:1px solid var(--gold);color:var(--gold);font-size:13px;padding:5px 9px;transform:translate(-50%,-140%);pointer-events:none;border-radius:4px}
#appearance-view{flex:1;min-height:230px;display:flex;flex-direction:column;justify-content:center;padding:20px 24px;gap:20px;background:#0c131b}.appearance-header,.appearance-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;color:var(--muted)}.appearance-footer .mono{font-size:11px}.comparison{position:relative;aspect-ratio:16/9;max-height:100%;width:100%;border-radius:6px;overflow:hidden;border:1px solid #33424d;background:#17212a}.comparison-base,.comparison-source{position:absolute;inset:0;background-repeat:no-repeat;background-size:200% 100%}.comparison-base{background-position:right center}.comparison-source{background-position:left center;clip-path:inset(0 50% 0 0)}.comparison-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:white;pointer-events:none}.comparison-line>span{position:absolute;top:50%;left:1px;transform:translate(-50%,-50%);width:35px;height:35px;border-radius:50%;border:1px solid #acb5bb;background:#eff4f3;display:grid;place-content:center;color:#11231f;font-size:18px;font-weight:500}.comparison-label{position:absolute;top:14px;padding:6px 9px;border:1px solid #ffffff44;border-radius:4px;background:#0a1319ae;color:white;font-size:10px;letter-spacing:.1em;pointer-events:none}.comparison-label.left{left:14px}.comparison-label.right{right:14px}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.comparison:focus-within{outline:2px solid var(--accent);outline-offset:4px}
.timeline{height:170px;min-height:170px;border-top:1px solid var(--border);background:#101820;padding:13px 18px 8px}.timeline-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;gap:10px}.timeline-top h2{margin:0;display:flex;align-items:center;gap:8px;font-size:10px;color:#bac7cf}.timeline-top .icon{width:14px;height:14px;color:#8195a2}.timeline-top>span{font-size:11px;color:var(--muted)}.frame-strip{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#355043 transparent;padding:0 1px 7px;height:86px}.frame-thumb{position:relative;height:72px;min-width:68px;flex:1;border-radius:4px;border:1px solid #2b3a46;background:none;overflow:hidden;padding:0}.frame-thumb img{width:100%;height:100%;object-fit:cover;opacity:.64;display:block}.frame-thumb.active{border:2px solid var(--accent)}.frame-thumb.active img,.frame-thumb:hover img{opacity:1}.frame-thumb>span{position:absolute;bottom:3px;left:5px;font-family:monospace;font-size:10px;background:#0c161ad9;color:#d4e1e8;padding:1px 3px}.timeline-controls{display:flex;align-items:center;gap:8px;height:31px}.timeline-controls .icon-button{height:27px;width:28px}.timeline-controls .icon{width:14px;height:14px}.timeline-controls .micro{font-size:10px}.timeline-spacer{flex:1}.timeline-controls>.mono{font-size:11px}em{font-style:normal;color:#738b99}.timeline-controls .text-button{font-size:11px;margin-left:8px}.timeline-controls .text-button .icon{width:12px;height:12px}
.inspector{border-left:1px solid var(--border);background:#11181e;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#2c3e49 transparent}.inspector-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 20px 20px;border-bottom:1px solid var(--line)}.inspector-heading h2{margin:0;font-size:11px}.inspector-heading .icon{width:15px;color:#6d8999}.inspector-metric{padding:20px;border-bottom:1px solid var(--line)}.metric-label{color:#adbcc7;font-size:12px;display:flex;justify-content:space-between;align-items:center}.metric-value{display:flex;align-items:baseline;gap:7px;margin:11px 0 9px}.metric-value>strong{font-size:43px;font-weight:400;letter-spacing:-2px;line-height:1.2}.metric-value>span{font-size:18px;color:#97abb7}.metric-tag{display:inline-block;border:1px solid #344a43;color:#a1c9b7;font-size:11px;padding:4px 7px;border-radius:4px;background:#1b2a24}.inspector-metric .micro{margin:11px 0 0;font-size:11px;line-height:1.6}.inspector-section{padding:18px 20px;border-bottom:1px solid var(--line)}.inspector-section h2{font-size:10px;margin:0 0 12px}.spec-list{margin:0}.spec-list>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px}.spec-list dt{color:#8ca1af}.spec-list dd{margin:0;text-align:right;color:#d1dfe6;font-variant-numeric:tabular-nums}.inspector-section>.micro{font-size:11px;margin:9px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h2{margin:0}.section-heading>.micro{font-size:10px}.section-heading>.mono{color:#7e96a5;font-size:11px}#coverage-map{display:block;aspect-ratio:4/3;width:100%;height:auto;background:#0a141b;border:1px solid #253745;border-radius:5px}.map-legend{display:flex;gap:12px;color:#8ca2ad;font-size:10px;margin-top:9px}.map-legend>span{display:flex;align-items:center;gap:5px}.map-legend i{width:5px;height:5px;border-radius:1px}.mint{background:var(--accent)}.gold{background:var(--gold)}.source-preview{padding:0;display:block;width:100%;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:#0a141b}.source-preview img{display:block;aspect-ratio:16/9;object-fit:cover;width:100%}.inspector-bottom{margin-top:auto;padding:18px 20px;border:0;background:none;display:flex;gap:9px;align-items:center;color:var(--accent);font-size:12px}.inspector-bottom>span:last-child{margin-left:auto}.inspector-bottom .icon{width:14px}.statusbar{height:28px;min-height:28px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#10171c;color:#748e9e;font-size:10px;gap:20px}.statusbar>span{display:flex;align-items:center;gap:7px;min-width:0}.statusbar>span:first-child>i{width:5px;height:5px;border-radius:50%;background:#639a81}.statusbar b{font-weight:400;color:#405765}.statusbar [role=status]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.content-page{overflow-y:auto;padding:44px clamp(24px,5vw,90px) 45px;background:#0d141b}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1400px;margin:0 auto 32px}.page-heading h1{font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-1.1px;margin:13px 0 12px;line-height:1.2}.page-heading p{color:#92a8b7;font-size:15px;max-width:690px;margin:0}.metric-grid{max-width:1400px;margin:0 auto 30px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;overflow:hidden}.report-metric{padding:24px;border-right:1px solid var(--border);background:#111c24}.report-metric:last-child{border-right:0}.report-metric>span{font-size:12px;color:#8da5b5}.report-metric strong{display:block;font-size:34px;font-weight:400;letter-spacing:-1px;margin:11px 0;color:#e0edf2}.report-metric small{display:block;font-size:12px;color:#98b3a9}.report-metric.warn strong{color:var(--gold)}.report-grid{max-width:1400px;margin:0 auto 26px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.report-block{padding:29px;border:1px solid var(--border);background:#111a22;border-radius:10px;min-width:0}.report-block h2{font-size:23px;font-weight:400;letter-spacing:-.4px;line-height:1.3;color:#deebef;margin:15px 0}.report-block p{font-size:14px;color:#9cb1be;line-height:1.8}.report-block>.eyebrow{font-size:11px}.notice{display:flex;align-items:flex-start;gap:11px;border:1px solid #3e4536;background:#202820;padding:14px;border-radius:7px;color:#c5c9ac;margin:20px 0}.notice>.icon{color:var(--gold);margin-top:2px;flex:none}.notice p{font-size:13px;line-height:1.65;margin:0;color:inherit}.report-details{border-top:1px solid var(--border);padding-top:12px}.report-details>div{font-size:13px;padding:10px 0}.appearance-result{display:grid;grid-template-columns:130px 1fr;gap:17px;align-items:center;border-top:1px solid var(--border);padding:16px 0}.appearance-result img{width:100%;border-radius:4px}.appearance-result h3{font-size:14px;font-weight:500;margin:0 0 7px}.appearance-result p{font-size:12px;margin:0;line-height:1.8}.requirement-report{max-width:1400px;margin:0 auto}.table-scroll{overflow-x:auto}table{width:100%;text-align:left;border-collapse:collapse;font-size:13px;margin-top:22px}th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#819eaf;font-weight:500;padding:13px 16px 13px 0}td{padding:17px 16px 17px 0;border-top:1px solid var(--border);color:#b2c4cf;line-height:1.5}td:first-child{color:#dce8ed;min-width:155px}.badge{display:inline-block;font-size:11px;white-space:nowrap;padding:5px 8px;border-radius:4px}.badge.good{color:#a1ecd6;background:#1b352c}.badge.pending{color:#dac591;background:#322e23}.report-footer{max-width:1400px;margin:24px auto;display:flex;gap:24px;flex-wrap:wrap;align-items:center;font-size:12px;color:#7c97a8}.report-footer a{color:#a9c7bc}.report-footer>span{margin-left:auto}.pipeline-summary{display:flex;gap:25px;align-items:center;padding:18px 22px;border:1px solid var(--border);border-radius:7px;max-width:1400px;margin:0 auto 25px;color:#a3b6c1;font-size:13px}.pipeline-summary>span{display:flex;align-items:center;gap:8px}.pipeline-summary>span:last-child{margin-left:auto}.pipeline-steps{max-width:1400px;margin:0 auto 30px}.pipeline-step{display:grid;grid-template-columns:50px 240px 1fr 120px;gap:18px;align-items:center;padding:24px 8px;border-bottom:1px solid var(--border)}.pipeline-step>.step-no{color:#6d9c88;font-family:monospace;font-size:20px}.pipeline-step h2{font-size:17px;font-weight:400;letter-spacing:0;color:#dbe8ec;margin:0}.pipeline-step p{font-size:13px;color:#93abba;margin:0;max-width:600px}.pipeline-step>span:last-child{text-align:right;color:#a1c4b5;font-family:monospace}.research-list{padding:0;list-style:none}.research-list li{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding:16px 0;font-size:13px}.research-list a{color:var(--accent)}.research-list span{color:#93abba}
dialog{border:1px solid #354954;border-radius:13px;background:#121d26;color:var(--text);padding:28px;width:min(680px,calc(100vw - 32px));max-height:90dvh;overflow-y:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#030a10a8;backdrop-filter:blur(6px)}.dialog-header{display:flex;justify-content:space-between;align-items:start;gap:16px}.dialog-header h2{font-size:25px;font-weight:400;color:#e3ecef;letter-spacing:-.5px;margin:9px 0 0}.dialog-header>.icon-button{border:0}.dialog-intro{font-size:14px;color:#99aebb;line-height:1.7;margin:20px 0}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.export-card{display:grid;position:relative;gap:8px;border:1px solid #2e414e;padding:18px;border-radius:8px;background:#172530;text-align:left;color:#e7f1f3}.export-card:hover{border-color:#598a78;background:#1b2e38}.export-card strong{font-size:15px;font-weight:500}.export-card small{font-size:12px;color:#91acbb}.export-card>.icon{position:absolute;right:18px;top:18px;color:#6f9f8d}.file-type{font-family:monospace;font-size:11px;letter-spacing:.07em;color:var(--accent);margin-bottom:4px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #2e414e;padding-top:20px;margin-top:20px}.dialog-footer>.micro{font-size:11px}.file-drop{display:flex;flex-direction:column;align-items:center;gap:12px;padding:35px 20px;border:1px dashed #547363;border-radius:9px;background:#1b2a24;text-align:center;cursor:pointer;margin:20px 0}.file-drop>.icon{width:28px;height:28px;color:var(--accent)}.file-drop strong{font-size:16px;font-weight:500}.file-drop>span{font-size:12px;color:#9db6a9}.file-drop>input{font-size:12px;max-width:100%;margin-top:6px;color:#a2b6bf}.file-drop>input::file-selector-button{background:#253e35;color:#b8e1cd;border:1px solid #4e715f;padding:6px 10px;border-radius:4px;cursor:pointer}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-drop.compact{padding:25px 12px;margin:0}.input-results{margin-top:20px}.input-check{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding:12px 0;border-bottom:1px solid #273945;line-height:1.6}.input-check>span{color:#91a9b8}.input-check strong{font-weight:400;text-align:right}.input-check .good{color:var(--accent)}.input-check .bad{color:#f3ba8c}.form-feedback{color:#e1bd83;font-size:13px;line-height:1.65}.frame-dialog{width:min(1000px,94vw)}.frame-dialog>img{width:100%;display:block;margin-top:22px;border-radius:6px}.frame-dialog>.micro{margin:15px 0 0}.toast{position:fixed;bottom:45px;left:50%;transform:translateX(-50%);background:#1e352c;color:#cef4e3;border:1px solid #537966;border-radius:8px;box-shadow:0 8px 40px #0008;padding:13px 18px;z-index:20;font-size:13px;max-width:85vw;text-align:center}
@media(min-height:1000px){.side-section{padding-top:26px}.inspector-section{padding-top:23px;padding-bottom:23px}.timeline{height:185px;min-height:185px}.frame-strip{height:100px}.frame-thumb{height:87px}}
@media(max-width:1280px){.brand-caption,.brand-divider{display:none}.topbar{gap:16px;padding:0 18px}.top-actions{margin-left:10px}.workspace{grid-template-columns:228px minmax(0,1fr) 230px}.side-section{padding-left:17px;padding-right:17px}.side-intro{padding:22px 17px 0}.side-bottom{padding:20px 17px}.inspector-section,.inspector-metric{padding:17px}.metric-value>strong{font-size:37px}.appearance-footer{flex-direction:column;gap:7px}.appearance-header>span:last-child{display:none}.stage-top{padding:0 15px}}
@media(max-width:1050px){.inspector{display:none}.workspace{grid-template-columns:228px minmax(0,1fr)}.topbar{height:66px;min-height:66px}.status-chip{display:none}.main-nav{gap:18px}.page-heading{align-items:flex-start}.metric-grid{grid-template-columns:1fr 1fr}.report-metric:nth-child(2){border-right:0}.report-metric:nth-child(-n+2){border-bottom:1px solid var(--border)}.report-grid{grid-template-columns:1fr}.pipeline-step{grid-template-columns:30px 180px 1fr 75px}.pipeline-summary{flex-wrap:wrap}}
@media(max-width:720px){body{height:auto;min-height:100dvh;overflow:auto}.topbar{height:auto;min-height:65px;padding:14px 15px;gap:15px;flex-wrap:wrap}.brand>strong{font-size:19px}.brand-symbol{width:30px;height:30px;font-size:17px}.top-actions{margin-left:auto;gap:8px}.top-actions .button{padding:8px;min-height:32px;font-size:12px}.top-actions .button.quiet>span:last-child{display:none}.main-nav{order:3;width:100%;height:37px;gap:28px}.main-nav button{font-size:13px}.workspace{display:flex;flex-direction:column}.sidebar{display:contents}.side-intro{padding:18px 18px 0}.side-intro h1{font-size:22px;margin:9px 0 4px}.side-intro h1 br{display:none}.side-intro p{margin-bottom:0}.side-intro>.eyebrow,.scene-meta,#geometry-settings,#appearance-settings,.side-bottom{display:none}.sidebar>.side-section{padding:14px 18px 16px}.sidebar>.side-section h2{display:none}.mode-buttons{max-width:340px}.mode-buttons button{flex-direction:row;justify-content:center;padding:10px}.scene-stage{height:690px;flex:none;border-top:1px solid var(--border)}.stage-top{height:45px;min-height:45px}.breadcrumbs{font-size:11px}.stage-actions{gap:3px}.viewport-overlay{left:14px;right:14px}.view-tag{font-size:9px}.quality-tag{font-size:10px}.orbit-hint{font-size:10px;bottom:58px}.viewport-bottom>.mono{font-size:10px}.timeline{padding:12px 14px}.timeline-top>span{font-size:10px}.timeline-top h2{font-size:9px}.timeline-controls>.micro{display:none}.viewport-bottom{left:14px;right:14px}#appearance-view{padding:16px 14px}.appearance-header{font-size:11px}.appearance-footer{font-size:11px}.comparison{min-height:190px}#appearance-window-label{display:block!important}.statusbar{height:34px;min-height:34px;position:relative;padding:0 14px}.statusbar>span:last-child{display:none}.content-page{overflow:visible;padding:28px 18px}.page-heading{display:block;margin-bottom:25px}.page-heading>.button{margin-top:18px}.page-heading h1{font-size:31px}.page-heading p{font-size:14px}.report-metric{padding:18px}.report-metric strong{font-size:27px}.report-metric>span{font-size:11px}.report-metric small{font-size:11px}.report-block{padding:21px}.report-block h2{font-size:21px}.report-footer{gap:15px}.report-footer>span{margin:0}.pipeline-summary{font-size:12px;gap:12px;padding:15px}.pipeline-summary>span:last-child{margin-left:0}.pipeline-step{grid-template-columns:25px 1fr 75px;gap:12px;padding:20px 0}.pipeline-step h2{font-size:16px}.pipeline-step p{grid-column:2/4;grid-row:2}.pipeline-step>span:last-child{grid-column:3;grid-row:1;font-size:12px}.research-list li{font-size:12px}.input-grid{grid-template-columns:1fr}.export-grid{gap:8px}.export-card{padding:14px}.export-card strong{font-size:13px}.export-card small{font-size:11px}.export-card>.icon{right:12px;top:12px;width:14px}.dialog-footer{flex-wrap:wrap}.appearance-result{grid-template-columns:100px 1fr}.dialog-header h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Readable controls and a working small-screen layout. */
.brand-caption,.view-tag,.comparison-label,.timeline-top h2,.inspector-heading h2,.inspector-section h2,.section-heading>.micro,.map-legend,.statusbar,.frame-thumb>span,.timeline-controls .micro,.timeline-controls>.mono,.timeline-top>span,.scale-bar,.viewport-bottom>.mono,.appearance-footer .mono,.metric-tag,.inspector-metric .micro,.inspector-section>.micro,.section-heading>.mono,.report-block>.eyebrow,.badge,th,.dialog-footer>.micro{font-size:12px}
.switch-row,.mode-buttons button,.view-presets button,.range-label,.measure-button,.metric-label,.spec-list>div,.inspector-bottom,.main-nav button,.top-actions .button,.timeline-controls .text-button,.window-item>span,.input-check{font-size:14px}
.side-section>h2,.inspector-section h2,.inspector-heading h2{letter-spacing:.06em}
.help-copy,.page-heading p,.report-block p,.dialog-intro{font-size:16px}
.report-block .notice p,.appearance-result p{font-size:14px}
.source-preview:focus-visible,.frame-thumb:focus-visible{outline-offset:2px}
.scene-stage,.sidebar,.inspector{min-width:0}.side-intro h1{overflow-wrap:anywhere}
#appearance-view{overflow-y:auto}.comparison{flex-shrink:0}
.scene-stage:focus-within .orbit-hint{opacity:.55}
@media(max-width:720px){
  .scene-stage{order:2;height:650px}
  #geometry-settings:not([hidden]),#appearance-settings:not([hidden]){display:grid;order:3;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));padding:4px 0 22px;border-top:1px solid var(--border)}
  .side-bottom{display:block;order:4;margin:0;padding-top:12px}
  .side-bottom .button{max-width:340px}.availability{font-size:13px}
  .view-tag,.quality-tag,.orbit-hint,.viewport-bottom>.mono,.timeline-top>span,.timeline-top h2,.breadcrumbs,.appearance-header,.appearance-footer,.report-metric>span,.report-metric small,.export-card small{font-size:12px}
  .top-actions .button{min-height:38px}.timeline-controls .icon-button{width:34px;height:32px}
  .timeline-controls .text-button{font-size:12px}.orbit-hint{white-space:normal;text-align:center;width:max-content;max-width:92%}
  .content-page .page-heading p{font-size:16px}
}
