:root{--bg: #05070d;--fg: #d6e3ff;--muted: #6c7a99;--accent: #59c2ff;--panel: rgba(10, 16, 28, .72);--border: rgba(120, 170, 255, .18);--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}body.theme-light{--bg: #f2f4f8;--fg: #1a2236;--muted: #6a7896;--accent: #0a5fb0;--panel: rgba(255, 255, 255, .85);--border: rgba(20, 50, 110, .18)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Helvetica Neue,sans-serif}#app{position:fixed;inset:0}#viewport{position:absolute;inset:0;width:100%;height:100%;display:block;background:radial-gradient(ellipse at center,#0a1224,#03050a);transition:background .4s}body.theme-light #viewport{background:radial-gradient(ellipse at center,#fff,#e0e6ee)}.hud{position:absolute;backdrop-filter:blur(8px) saturate(1.2);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;z-index:5;box-shadow:0 4px 24px #00000080}.hud-top{top:16px;left:16px;max-width:420px}.hud-top h1{font-size:14px;margin:0 0 4px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.hud-top .subtitle{font-size:12px;margin:0;color:var(--muted)}.hud-bottom{bottom:16px;left:50%;transform:translate(-50%);display:grid;grid-auto-flow:column;gap:24px;padding:10px 18px;font-family:var(--mono)}.hud-bottom .k{display:block;font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.hud-bottom .v{display:block;font-size:14px;color:var(--fg);margin-top:2px}.hud-left{top:50%;left:16px;transform:translateY(-50%);font-size:11px;font-family:var(--mono);min-width:180px}.hud-left h3{margin:0 0 8px;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.hud-left .row{display:flex;align-items:center;gap:8px;padding:3px 0}.hud-left .swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.2)}#loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--bg);color:var(--accent);font-family:var(--mono);font-size:13px;z-index:100;transition:opacity .4s ease;pointer-events:none}#loading.hidden{opacity:0}.lil-gui{--background-color: var(--panel) !important;--widget-color: rgba(255,255,255,.06) !important;--focus-color: var(--accent) !important}
