@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(./roboto-latin-500-normal-7RbcRiD8.woff2)format("woff2"),url(./roboto-latin-500-normal-fsTFPL3E.woff)format("woff")}:root{--text:#e6ecfa;--muted:#9aa7c4;--glass:#0e1220b8;--border:#a0b4e62e;--accent:#7fd0ff;--z:#3ddc84;--red:#ff5a5f;--blue:#4ea8ff}*{box-sizing:border-box}html,body{height:100%;color:var(--text);background:#121829;margin:0;font:14px/1.35 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app{--side:clamp(340px, 32vw, 480px);grid-template-columns:minmax(0, 1fr) var(--side);height:100%;display:grid}#mainView{min-width:0;position:relative;overflow:hidden}#scene,#outputs{width:100%;height:100%;display:block}#scene{touch-action:none;cursor:grab}#scene.dragging{cursor:grabbing}#side{border-left:1px solid var(--border);background:#0d1220;flex-direction:column;min-height:0;display:flex}#controls{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}#outputView{height:min(var(--side), 42vh);border-top:1px solid var(--border);flex:none;position:relative}#outputTitle{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:6px;left:10px}.card{border:1px solid var(--border);background:#ffffff09;border-radius:10px;padding:10px 12px}#panel{flex-direction:column;gap:6px;display:flex}h1{margin:0 0 4px;font-size:17px;font-weight:650}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:6px;font-size:11px}.row{gap:6px;display:flex}.row>button{flex:1}.demos{grid-template-columns:1fr 1fr;gap:6px;display:grid}.demos>button{font-size:13px;line-height:1.2}.demos[hidden]{display:none}.row.function>button{font-size:15px;font-weight:600}button{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;text-align:left;background:#ffffff12;border-radius:7px;padding:6px 8px}.row>button{text-align:center}button:hover{background:#ffffff24}button.active{border-color:var(--accent);background:#7fd0ff38}label{cursor:pointer;align-items:flex-start;gap:6px;font-size:13px;display:flex}label input{margin-top:2px}label.slider{white-space:nowrap;align-items:center;gap:10px}label.slider input{flex:1;min-width:0;margin:0}#readout{font-variant-numeric:tabular-nums}#readout table{border-collapse:collapse}#readout td{white-space:nowrap;padding:1px 6px 1px 0}#readout td:last-child{text-align:right}#readout .small{color:var(--muted);margin-top:6px;font-size:12px}.chip{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}#help{color:var(--muted);font-size:12px}#help summary{cursor:pointer}#help .keys{grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:8px;display:grid}.row.header{justify-content:space-between;align-items:center}.row.header h1{margin:0}.row.function>button{flex:none;min-width:56px}.row.show{align-items:center;gap:14px}.row.show label.slider{flex:1}label.select{align-items:center;gap:10px}select{font:inherit;color:var(--text);border:1px solid var(--border);background:#ffffff12;border-radius:6px;padding:3px 6px;font-size:13px}select option{background:#1a2133}#help b{color:var(--text);font-weight:600}kbd{border:1px solid var(--border);min-width:18px;color:var(--text);text-align:center;background:#ffffff14;border-bottom-width:2px;border-radius:4px;margin-right:2px;padding:0 4px;font:600 11px/16px system-ui,sans-serif;display:inline-block}#toast{border:1px solid var(--accent);text-align:center;pointer-events:none;opacity:0;background:#0e1220d9;border-radius:10px;max-width:min(560px,100% - 32px);padding:10px 16px;font-size:15px;transition:opacity .4s;position:absolute;top:12%;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#caption{text-align:center;pointer-events:none;background:#080a14c7;border-radius:8px;width:max-content;max-width:min(760px,100% - 32px);padding:8px 16px;font-size:19px;line-height:1.35;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}#caption[hidden]{display:none}.row.narrated{align-items:center}.row.narrated>button{text-align:left;flex:1}#demoStatus{border:1px solid var(--border);font-variant-numeric:tabular-nums;background:#0e1220cc;border-radius:10px;min-width:240px;max-width:calc(100% - 24px);padding:8px 10px 9px;font-size:13px;position:absolute;top:12px;left:12px}#demoStatus[hidden]{display:none}#demoStatus .line{align-items:center;gap:8px;display:flex}#demoStatus .dot{background:var(--z);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}#demoName{flex:1;font-weight:600}#demoTime{color:var(--muted)}#demoStop{padding:2px 8px;font-size:12px}#demoStatus .bar{background:#ffffff1a;border-radius:2px;height:3px;margin-top:7px;overflow:hidden}#demoBar{background:var(--accent);width:0;height:100%}@media (width<=760px){html,body{overflow:auto}#app{--side:100%;grid-template-rows:60vh auto;grid-template-columns:1fr;height:auto}#side{border-left:none}#controls{overflow:visible}#outputView{height:60vw}}
