:root{color-scheme:dark;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;--bg-top: #211723;--bg-bottom: #0d0a14;--panel: rgba(9, 10, 16, .7);--border: rgba(255, 255, 255, .08);--text: #f6f0e8;--muted: rgba(246, 240, 232, .72);--accent: #f39d54;--accent-soft: rgba(243, 157, 84, .2)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh;background:radial-gradient(circle at top,rgba(244,164,96,.14),transparent 32%),linear-gradient(180deg,var(--bg-top),var(--bg-bottom));color:var(--text)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%)}#app{position:relative;min-height:100vh}.scene-shell{position:relative;min-height:100vh;overflow:hidden}.scene-canvas{display:block;width:100%;height:100vh}.hud{position:absolute;left:1.5rem;top:1.5rem;width:min(24rem,calc(100vw - 3rem));padding:1rem 1.1rem;border:1px solid var(--border);border-radius:1.25rem;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px #00000057}.eyebrow{margin:0 0 .45rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.hud h1{margin:0;font-size:clamp(2rem,6vw,3.75rem);line-height:.95;letter-spacing:-.04em}.hud p{margin:.75rem 0 0;font-size:.96rem;line-height:1.5;color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.legend span{display:inline-flex;align-items:center;min-height:2rem;padding:.45rem .75rem;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;font-size:.82rem;color:var(--text)}.caption{position:absolute;right:1.5rem;bottom:1.5rem;max-width:min(18rem,calc(100vw - 3rem));padding:.9rem 1rem;border:1px solid var(--border);border-radius:1rem;background:#0b0a0f94;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);font-size:.86rem;line-height:1.45}@media(max-width:720px){.hud{left:1rem;top:1rem;width:calc(100vw - 2rem)}.caption{left:1rem;right:1rem;bottom:1rem;max-width:none}.monitor-debug-panel{left:1rem;right:1rem;top:auto;bottom:12.75rem;width:auto}body.monitor-debug .html-canvas-lab{left:1rem;bottom:1rem}}.html-canvas-lab{position:fixed;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:20}.monitor-html-canvas{display:block;width:960px;height:720px}.monitor-debug-panel{position:absolute;right:1.5rem;top:1.5rem;width:min(22rem,calc(100vw - 3rem));padding:.9rem 1rem;border:1px solid var(--border);border-radius:1rem;background:#0b0a0fc2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 60px #00000057;z-index:3}.monitor-debug-log{margin:0;font:.77rem/1.45 ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,monospace;color:var(--muted);white-space:pre-wrap}body.monitor-debug .html-canvas-lab{left:1.5rem;top:auto;bottom:1.5rem;width:240px;height:180px;border:1px solid var(--border);border-radius:.9rem;overflow:hidden;background:#0b0a0fd1;box-shadow:0 20px 60px #00000057;z-index:3}body.monitor-debug .monitor-html-canvas{width:240px;height:180px}.monitor-html-subtree{position:absolute;left:0;top:0;width:960px;height:720px;overflow:hidden;background:#071017;pointer-events:auto;transform-origin:0 0}.monitor-html-frame{width:100%;height:100%;border:0;display:block;background:#071017}.hud,.caption{transition:opacity .2s ease,transform .2s ease}.hud.hidden,.caption.hidden{opacity:0;pointer-events:none}.help-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:2rem 2.5rem;border:1px solid var(--border);border-radius:1.25rem;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px #00000057;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:100}.help-panel.active{opacity:1;pointer-events:auto}.help-panel h2{margin:0 0 1.25rem;font-size:1.5rem;color:var(--accent)}.help-panel ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.help-panel li{font-size:1rem;display:flex;align-items:center}kbd{display:inline-block;min-width:2rem;text-align:center;padding:.25rem .5rem;border-radius:6px;background:#ffffff14;border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,monospace;font-size:.9em;font-weight:600;margin-right:1rem;color:var(--accent)}.legend kbd{margin-right:.4rem;padding:.1rem .3rem;min-width:1.5rem}
