:root{--bg: #0d1015;--panel: rgba(18, 21, 27, .62);--panel-strong: rgba(18, 21, 27, .8);--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .12);--text: #eef1f5;--muted: #a3adbb;--faint: #6f7a8a;--accent: #ffd21e;--green: #2ecc71;--radius: 16px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}kbd{font:600 10px JetBrains Mono,ui-monospace,monospace;padding:1px 5px;border-radius:4px;border:1px solid var(--line-strong);color:var(--text);margin-right:2px}#viewport{position:fixed;inset:0}#viewport canvas{display:block;outline:none}.panel{position:fixed;background:linear-gradient(180deg,rgba(30,34,42,.62),var(--panel));border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);box-shadow:0 1px #ffffff0d inset,0 18px 40px #00000059;transition:opacity .5s ease,transform .5s ease}body.cinematic .panel,body.loading .panel,body.loading .tools{opacity:0;pointer-events:none}body.cinematic .brand,body.cinematic .about{transform:translate(-24px)}.side{position:fixed;top:18px;left:18px;width:300px;display:flex;flex-direction:column;gap:10px}.side .panel{position:relative}.brand{padding:12px 14px;display:flex;gap:12px;align-items:center}.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:22px;color:var(--accent);background:#ffd21e1f;box-shadow:inset 0 0 0 1px #ffd21e40}.brand-title{font-weight:700;font-size:16px;letter-spacing:-.015em}.brand-sub{color:var(--muted);font-size:12px}.about{padding:14px;font-size:12.5px;color:var(--muted)}.about p{margin:0 0 12px}.viewer{margin:0 0 14px;padding:12px;border-radius:12px;background:linear-gradient(135deg,#ffd21e1a,#ffd21e05);border:1px solid rgba(255,210,30,.22)}.viewer-k{font:600 10px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.viewer-name{display:block;margin:3px 0 6px;font-size:13px;font-weight:600;color:var(--accent)}.viewer-d{font-size:12px;color:var(--muted)}.viewer-d .mono{font-size:11px;color:var(--text)}.viewer code{display:block;margin:9px 0 8px;padding:6px 9px;border-radius:7px;background:#00000059;border:1px solid var(--line);font-size:11px;color:var(--text);user-select:all}.viewer-links{display:flex;gap:14px;font-size:11.5px;font-weight:600}.keys{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:14px;font-size:11.5px}.btn{all:unset;cursor:pointer;display:block;text-align:center;padding:7px 12px;border-radius:9px;background:#ffffff12;border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--text);transition:background .15s}.btn:hover{background:#ffffff1f;text-decoration:none}.tools{position:fixed;right:18px;bottom:18px;display:flex;gap:8px;transition:opacity .5s}.tool{all:unset;cursor:pointer;height:34px;min-width:34px;padding:0 10px;box-sizing:border-box;display:grid;place-items:center;border-radius:10px;font:700 11px JetBrains Mono,ui-monospace,monospace;color:var(--muted);background:var(--panel-strong);border:1px solid var(--line);backdrop-filter:blur(16px)}.tool:hover{color:var(--text)}.tool.on{color:#16181c;background:var(--accent)}.statusbar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);pointer-events:none}.statusbar .panel{position:static;pointer-events:auto}.hint{padding:7px 14px;font-size:11.5px;color:var(--muted);display:flex;gap:16px;white-space:nowrap;border-radius:999px}.hint #hud-stats{display:flex;gap:16px}.hint #hud-stats b{color:var(--text);font-family:JetBrains Mono,ui-monospace,monospace}.hint .mono{color:var(--text)}.seed{cursor:pointer;color:var(--muted)}.seed b{color:var(--text)}.seed:hover b{color:var(--accent)}.tip{position:fixed;left:0;top:0;pointer-events:none;padding:6px 10px;border-radius:9px;background:#12151bd9;border:1px solid var(--line);font-size:12px;display:flex;flex-direction:column;gap:1px;opacity:0;transition:opacity .15s;backdrop-filter:blur(10px);z-index:5}.tip .mono{color:var(--faint);font-size:10.5px}body.cinematic .tip{display:none}.intro{position:fixed;inset:0;display:grid;place-items:center;z-index:10;background:radial-gradient(ellipse at 50% 55%,#0d101573,#0d1015eb 70%),linear-gradient(180deg,#0d10154d,#0d1015bf);transition:opacity 1.4s ease}.intro.done{opacity:0;pointer-events:none}.intro-inner{width:min(560px,calc(100vw - 48px));text-align:center}.eyebrow{font:600 11px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.intro h1{margin:12px 0 10px;font-size:clamp(36px,6vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(180deg,#fff,#c8d0dc);-webkit-background-clip:text;background-clip:text;color:transparent}.intro p{margin:0 auto 26px;max-width:460px;color:var(--muted);font-size:14px}.intro p .mono{color:var(--text);font-size:12.5px}.intro-bar{height:2px;background:#ffffff1a;border-radius:2px;overflow:hidden}#loading-bar{height:100%;width:0;background:linear-gradient(90deg,#ffd21e,#ff9d00);box-shadow:0 0 12px #ffbe1ecc;transition:width .35s ease}.intro-meta{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--muted)}.intro-list{margin-top:16px;height:88px;overflow:hidden;font-size:11px;color:var(--faint);display:flex;flex-direction:column;justify-content:flex-end;gap:3px;mask-image:linear-gradient(180deg,transparent,#000 40%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%)}.intro-list .ok{color:var(--muted)}.intro-list .ok:before{content:"✓ ";color:var(--green)}@media(max-width:900px){.side{width:calc(100vw - 36px)}.about,.hint #hud-stats{display:none}}
