@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans','Noto Sans SC',sans-serif;color:#292b28;background:#f6f5f1;font-synthesis:none;--muted:#979a91;--line:#e5e5dc;--accent:#7e8a50}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.3}a{color:inherit;text-decoration:none}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.brand{font-size:23px;font-weight:600;letter-spacing:-1px}.brand span{font-size:20px;margin-left:10px;letter-spacing:1px}.brand i{font-style:normal;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-left:26px}.topright{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1px;color:#7e8277}.status-dot,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9fac73}.sep{height:12px;width:1px;background:var(--line);margin:0 10px}main{display:grid;grid-template-columns:290px minmax(380px,1fr) 236px;height:calc(100dvh - 76px);min-height:0}.left{padding:34px 25px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line);overflow:auto}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:600}h1{font-size:32px;line-height:1.42;letter-spacing:-1px;margin:18px 0 14px;font-weight:500}.intro{font-size:11px;line-height:1.9;color:#898d82;margin:0 0 27px}.mode-switch{background:#eaece3;border-radius:7px;display:flex;padding:3px;margin-bottom:26px}.mode-switch button{flex:1;font-size:11px;padding:8px;border-radius:5px;color:#878c7c}.mode-switch .active{background:#fafbf5;box-shadow:0 1px 4px #00000008;color:#424838}.input-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px}.input-label span{font-size:9px;color:#a2a696}.composer{border:1px solid #d2d8c2;border-radius:9px;background:#fbfcf7;padding:12px;box-shadow:0 3px 12px #75805408}.composer:focus-within{border-color:#91a363;box-shadow:0 0 0 3px #91a36312}textarea{width:100%;height:80px;resize:vertical;border:none;background:transparent;outline:none;font-size:12px;line-height:1.8;color:#434b38}textarea::placeholder{color:#a5ad99}.composer-bottom{display:flex;align-items:center;gap:6px}.composer-bottom span{font-size:8px;color:#a2a996;flex:1}.composer-bottom button{width:25px;height:25px;border-radius:5px;color:#788855}#apply{background:#7a8a51;color:white;font-size:21px}#mic.listening{color:#c05240;background:#fce4de}#message{font-size:10px;color:#929983;line-height:1.6;min-height:43px;padding:9px 0}#message.error{color:#b64f3c}.small{font-size:8px;margin-top:8px}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.suggestions button{font-size:10px;border:1px solid #dcdfd1;border-radius:5px;padding:7px 9px;color:#7f8870;transition:.2s}.suggestions button:hover{background:#e6ebd9;border-color:#b5c08f}.session{margin-top:28px}.section-title{font-size:11px;font-weight:500;display:flex;justify-content:space-between;align-items:center}.section-title button{font-size:10px;color:#899578}ol{padding:0;list-style:none;margin:14px 0}li{font-size:10px;line-height:1.7;color:#7a8170;padding:7px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}li span{color:#a4ab99;font-size:9px;white-space:nowrap}li.empty{border:none;color:#adb2a5}footer{margin-top:auto;padding-top:24px;font-size:7px;color:#adb3a3;letter-spacing:1px;display:flex;flex-direction:column;gap:8px}.viewport{position:relative;overflow:hidden;background:#eeefe9}.viewport-top{position:absolute;left:28px;right:25px;top:25px;display:flex;justify-content:space-between;align-items:start;z-index:2;pointer-events:none}.view-title{font-size:14px;margin-top:8px;color:#757d6b}.view-actions{display:flex;gap:7px;pointer-events:auto}.view-actions button,#home-camera{font-size:9px;border:1px solid #d6dacd;background:#f8faf1bd;border-radius:5px;padding:7px 9px;color:#7e8870}.view-actions button.active{background:#7d8c59;color:white}.viewport-bottom{position:absolute;bottom:19px;left:26px;right:25px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#919b84;gap:12px;z-index:2}.viewport-bottom>span:first-child{letter-spacing:1px}.live-dot{margin-right:6px}#fps{margin-left:12px;color:#9aa38d}#canvas-wrap{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.telemetry{position:absolute;bottom:66px;left:26px;display:flex;gap:24px;pointer-events:none}.telemetry>div{display:flex;flex-direction:column;gap:5px}.telemetry span{font-size:8px;color:#9aa18f}.telemetry strong{font-size:21px;font-weight:400;color:#758268;font-variant-numeric:tabular-nums}.telemetry small{font-size:10px}.right{padding:29px 20px 18px;border-left:1px solid var(--line);overflow:auto}.tiny{font-size:8px;letter-spacing:1px;color:#a4ac97}.scene-summary{padding:15px 0 18px;border-bottom:1px solid var(--line);font-size:10px;line-height:2;color:#8c9581}.scene-summary b{font-weight:400;color:#535e46;float:right}.material-title{margin:22px 0 12px}#part-count{font-size:9px;color:#a6af99}#parts{display:flex;flex-direction:column;gap:3px}.part{padding:8px 9px;display:flex;align-items:center;gap:8px;font-size:10px;border-radius:5px;border:1px solid transparent;text-align:left}.part:hover{background:#edeFE6}.part.active{border-color:#d5ddc5;background:#eef1e6}.swatch{width:13px;height:13px;border-radius:50%;border:1px solid #0000000e;box-shadow:inset -2px -2px 4px #00000012}.part .part-family{margin-left:auto;font-size:8px;color:#9aa48a}.inspector{border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.property{display:grid;grid-template-columns:50px 1fr 25px;align-items:center;gap:9px;font-size:9px;color:#8d9780;margin:14px 0}.track{height:3px;background:#e1e6d8;border-radius:4px}.track i{display:block;background:#a9b88a;height:100%;border-radius:4px}.property span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-size:8px}.technical-note{font-size:9px;line-height:1.9;color:#adb5a0;margin-top:21px}.canvas-error{position:absolute;inset:35% 10%;background:#f7f4eb;padding:30px;font-size:14px;border:1px solid #ddd;z-index:4}@media(min-width:1500px){main{grid-template-columns:320px 1fr 260px}.left{padding:42px 30px}h1{font-size:38px}.right{padding:35px 24px}}@media(max-width:1050px){main{grid-template-columns:250px 1fr}.right{display:none}.left{padding:28px 20px}.viewport-top{left:20px;right:20px}.view-actions{flex-wrap:wrap;max-width:150px;justify-content:end}.viewport-bottom>span:nth-child(2){display:none}}@media(max-width:650px){header{padding:0 18px;height:62px}.brand i,.topright>span:last-child,.sep{display:none}main{display:flex;flex-direction:column;height:auto;min-height:0}.left{order:2;border:none;padding:24px}.viewport{height:62dvh;min-height:390px;order:1}h1,.intro,.left>.eyebrow{display:none}.mode-switch{margin-bottom:18px}.session{margin-top:20px}footer{margin-top:12px}.telemetry{bottom:57px}.view-title{font-size:12px}.viewport-top{top:18px}.viewport-top .eyebrow{font-size:7px}.viewport-bottom{left:20px;right:20px}textarea{height:62px}}

@media(max-height:800px) and (min-width:651px){.left{padding-top:24px}h1{font-size:28px;margin:12px 0}.intro{margin-bottom:18px}.mode-switch{margin-bottom:18px}.session{margin-top:18px}.right{padding-top:24px}.material-title{margin-top:17px}.part{padding:6px 9px}.property{margin:10px 0}.inspector{margin-top:13px;padding-top:13px}}

.viewport.is-dark .view-title,.viewport.is-dark .telemetry strong{color:#d6e1cc}.viewport.is-dark .eyebrow,.viewport.is-dark .telemetry span,.viewport.is-dark .viewport-bottom,.viewport.is-dark #fps{color:#aebea6}

/* Official Lucide icons: consistent sizing, currentColor and accessible text. */
.ui-icon{display:inline-block;width:14px;height:14px;flex:none;vertical-align:middle;stroke-width:1.75}
.mode-switch button,.view-actions button,.section-title button,#home-camera,.composer-bottom button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.composer-bottom .ui-icon{width:15px;height:15px}
.mode-switch .ui-icon{width:13px;height:13px}
footer a{display:inline-flex;align-items:center;gap:5px}
footer .ui-icon{width:10px;height:10px}
button:focus-visible{outline:2px solid #8e9d6b;outline-offset:3px}

.library{border-top:1px solid var(--line);margin-top:17px;padding-top:12px;font-size:10px;color:#768367}.library summary{cursor:pointer;list-style-position:inside}.library summary span{float:right;color:#9aa58d;font-size:9px}.library-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:11px;font-size:10px}.library-row select{font:inherit;max-width:145px;min-width:108px;border:1px solid #d8dece;border-radius:5px;background:#f8faf3;color:#59664b;padding:6px 7px}.library-row select:focus-visible{outline:2px solid #8e9d6b;outline-offset:2px}

/* Live measurements, not benchmark claims. */
main{grid-template-columns:290px minmax(360px,1fr) 290px}.jev-panel{padding:26px 21px}.jev-heading{display:flex;align-items:center;justify-content:space-between}.jev-heading h2{font-size:27px;letter-spacing:-1px;margin:9px 0 0;font-weight:600}.jev-heading h2 span{font-size:11px;letter-spacing:0;font-weight:400;margin-left:7px;color:#929b82}.engine-status{font-size:9px;background:#e9eddf;color:#849268;border:1px solid #dce3ce;padding:5px 8px;border-radius:20px}.engine-status.running{color:#5e733d;background:#e0e9cf}.engine-status.error{color:#a45140;background:#f7e6df;border-color:#ead3c9}.speed-card{margin-top:25px;padding:17px 16px 13px;background:#e9eddf;border:1px solid #dce2d0;border-radius:9px;position:relative;overflow:hidden}.metric-label{font-size:10px;color:#808c6f;display:flex;justify-content:space-between}.metric-label span{font-size:8px;color:#9ba58f}.speed-number{display:flex;gap:7px;align-items:baseline;margin:10px 0 8px}.speed-number strong{font-size:58px;font-weight:500;line-height:1.05;letter-spacing:-3px;font-variant-numeric:tabular-nums;color:#4f613d}.speed-number>span{font-size:14px;color:#919d7f}#speed-caption{font-size:9px;line-height:1.6;color:#8e997e}.request-pulse{height:2px;position:absolute;bottom:0;left:0;right:0;background:#94a77a;opacity:0}.is-running .request-pulse{opacity:1;animation:jev-pulse 1s ease-in-out infinite}.decision-kpis{display:grid;grid-template-columns:1fr 1fr;margin-top:21px}.decision-kpis>div{display:flex;flex-direction:column;gap:6px}.decision-kpis>div+div{padding-left:20px;border-left:1px solid var(--line)}.decision-kpis strong{font-size:30px;font-weight:400;font-variant-numeric:tabular-nums;color:#5d6b4e;line-height:1}.decision-kpis span{font-size:9px;color:#949d87}.parallel-caption{font-size:9px;line-height:1.6;color:#9fa691;margin:16px 0 9px}.decision-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.decision-grid i{height:7px;border-radius:2px;background:#e0e4d8}.decision-grid .chosen{background:#899f67}.decision-grid .signal{background:#bbc6a7}.decision-grid .kept{background:#dce2d2}.is-running .decision-grid{animation:jev-pulse 1.2s ease-in-out infinite}.jev-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.jev-section .section-title span{font-size:8px;color:#98a38a}.latency-chart{display:flex;align-items:end;gap:5px;height:66px;padding-top:9px;margin-top:10px;border-bottom:1px solid #dde3d1;position:relative}.latency-bar{flex:1;max-width:30px;background:#ced7bd;border-radius:3px 3px 0 0}.latency-bar.latest{background:#8c9f6f}.chart-empty{align-self:center;font-size:10px;color:#b0b8a4}.stat-line{display:flex;justify-content:space-between;font-size:9px;color:#9aa48e;margin-top:10px}.stat-line b{font-weight:400;color:#667655;margin-left:4px}.panel-note{font-size:9px;line-height:1.8;color:#a1aa95;margin:9px 0}.decision-command{font-size:11px;line-height:1.75;color:#727f62;margin:12px 0;word-break:break-word}.decision-row{display:flex;gap:12px;justify-content:space-between;font-size:10px;line-height:1.6;padding:7px 0;border-bottom:1px solid #e9ebdf}.decision-row>span{color:#9ba58d;flex:none}.decision-row>b{font-weight:400;color:#586a43;text-align:right}.raw-decisions{font-size:9px;color:#929f80;margin-top:13px}.raw-decisions summary{cursor:pointer}.raw-row{font-size:9px;padding:5px 0;border-bottom:1px solid #eceee4;color:#8e9980}.engine-footer{display:flex;justify-content:space-between;font-size:8px;color:#95a184;margin-top:23px;padding-top:13px;border-top:1px solid var(--line)}@keyframes jev-pulse{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.is-running .request-pulse,.is-running .decision-grid{animation:none}}@media(min-width:1500px){main{grid-template-columns:320px minmax(400px,1fr) 310px}.jev-panel{padding:30px 24px}}@media(max-width:1050px) and (min-width:651px){main{grid-template-columns:235px minmax(300px,1fr) 240px}.jev-panel{display:block;padding:22px 16px}.speed-number strong{font-size:47px}.left{padding-left:16px;padding-right:16px}}@media(max-width:800px) and (min-width:651px){main{grid-template-columns:220px minmax(320px,1fr);height:auto}.viewport{height:calc(100dvh - 76px)}.jev-panel{grid-column:1/-1;border-top:1px solid var(--line)}.left{max-height:calc(100dvh - 76px)}}@media(max-width:650px){.jev-panel{display:block;order:3;border-top:1px solid var(--line);padding:24px}.speed-card{max-width:420px}.decision-grid{max-width:420px}}

#applied-plan .decision-row{flex-wrap:wrap;gap:6px}#applied-plan small{width:100%;font-size:10px;opacity:.6;font-variant-numeric:tabular-nums}#applied-plan b{font-size:10px;overflow-wrap:anywhere}.speed-number strong{font-size:44px}.jev-panel .decision-kpis strong{font-size:32px}

.batch-summary{font-size:12px;margin-top:16px}.batch-summary strong{font-size:28px;margin-right:5px}.speed-number{margin:5px 0}.speed-number strong{font-size:32px}

/* The carousel previews submitted questions, not fabricated streaming answers. */
.decision-stage{margin-top:18px}.rolling-window{height:168px;overflow:hidden;position:relative;mask-image:linear-gradient(transparent,#000 15%,#000 78%,transparent)}
.rolling-card{height:52px;margin:6px 0;padding:9px 11px;background:#eef1e7;border:1px solid #dce4cf;border-radius:7px;display:flex;flex-direction:column;gap:4px;animation:decision-slide 140ms linear both}
.rolling-card b{font-size:11px;font-weight:500;color:#536843}.rolling-card span{font-size:9px;color:#98a38c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#all-judgments{max-height:320px;overflow:auto;padding:10px;border:1px solid #dfe5d5;border-radius:7px}#all-judgments summary{font-size:11px;color:#5d7148;padding:3px 0 8px}
@keyframes decision-slide{from{transform:translateY(52px)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.rolling-card{animation:none}}

#key-dialog{width:min(540px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #d4dcc4;border-radius:16px;background:#f8f9f3;color:#34422c;padding:30px;box-shadow:0 24px 100px #12201040}#key-dialog::backdrop{background:#15201988;backdrop-filter:blur(9px)}.key-heading{display:flex;justify-content:space-between;align-items:center}#key-dialog h2{font-size:25px;margin:20px 0 12px}#key-dialog p,.key-guide li{font-size:14px;line-height:1.8}#key-dialog label{display:block;font-size:14px;margin-top:20px}#user-api-key{width:100%;padding:14px;font:inherit;margin:9px 0;border:1px solid #b7c79b;border-radius:8px;background:white}#key-dialog .key-guide{list-style:decimal;padding-left:22px}.key-guide li{display:list-item;border:0;color:#62734f;padding:4px 0}#key-dialog a{text-decoration:underline;text-underline-offset:3px;color:#567631}#key-dialog .key-privacy{font-size:12px;color:#889278}#save-key{background:#72874d;color:white;border-radius:8px;padding:13px 20px;font-size:15px}#forget-key,#key-close{font-size:13px;color:#7c8b6a}#key-message{color:#a74e32;min-height:24px}.key-docs{display:block;margin-top:22px;font-size:13px}#key-settings{border:1px solid #d0dac1;border-radius:5px;padding:6px 9px;font-size:11px}
