:root{--bg-void: #050507;--bg-void-2: #0A0A0C;--bg-surface: rgba(10, 11, 17, .72);--bg-panel: rgba(13, 14, 20, .82);--bg-panel-lite: rgba(13, 14, 20, .6);--bg-chip: rgba(21, 24, 33, .7);--surface-hover: rgba(73, 86, 112, .15);--bg-elevated: #12151E;--bg-cell: #0F1115;--bg-hover: #151821;--border-soft: rgba(73, 86, 112, .2);--border-default: rgba(73, 86, 112, .3);--accent-primary: #00F0FF;--accent-primary-deep: #0088B8;--accent-primary-rgb: 0, 240, 255;--accent-cyan: #00F0FF;--accent-cyan-deep: #0066FF;--accent-purple: #8A00FF;--accent-purple-deep: #5600A6;--accent-magenta: #FF003C;--accent-gold: #FFD600;--accent-green: #22FFA7;--accent-mint: #38D66E;--accent-rose: #FF3E8E;--text-primary: #F5F7FA;--text-secondary: #8892B0;--text-tertiary: #495670;--text-warm: #C8D0DC;--ink-primary: #F5F7FA;--ink-secondary: #8892B0;--ink-tertiary: #495670;--ink-warm: #C8D0DC;--family-fire: #FF5E2A;--family-water: #22D3FF;--family-earth: #38D66E;--family-air: #C8D0DC;--family-lightning: #FFD600;--family-shadow: #9D56FF;--family-light: #F5E6C0;--family-void: #6B6EC6;--color-shards: #9D56FF;--color-coins: #FFD600;--color-overcharge: #9D56FF;--font-display: "Space Grotesk", Inter, -apple-system, BlinkMacSystemFont, sans-serif;--font-body: Inter, "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 12px;--r-2xl: 14px;--r-3xl: 20px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-spring-firm: cubic-bezier(.175, .885, .32, 1.275);--ease-snap: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.2, .9, .3, 1);--dur-tap: .15s;--dur-toast: .24s;--dur-modal: .38s;--dur-merge-flash: .6s;--dur-splinter-pop: .5s;--dur-discovery-burst: 1.2s;--dur-tile-float: 3.2s;--dur-tile-aura: 1.8s;--dur-ready-pulse: 1.4s;--dur-t7-orbit: 10s}html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-void)}#dom-ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-body)}.dom-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));pointer-events:auto;background:radial-gradient(ellipse at center,#0a0d18b3,#050507eb 70%);opacity:0;transform:translateY(16px);transition:opacity .32s var(--ease-snap),transform .42s var(--ease-spring)}.dom-overlay.is-visible{opacity:1;transform:translateY(0)}.glass-panel{background:var(--bg-panel);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(0,240,255,.18);border-radius:18px;box-shadow:0 12px 40px #0000008c,0 0 0 1px #00f0ff0f inset,0 0 60px -20px #00f0ff59}.glass-panel--strong{border-color:#00f0ff59;box-shadow:0 16px 48px #000000a6,0 0 80px -10px #00f0ff66}.glass-panel--danger{border-color:#ff003c66;box-shadow:0 16px 48px #000000a6,0 0 80px -10px #ff003c59}.type-display{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--text-primary);text-transform:none}.type-heading{font-family:var(--font-display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-cyan);font-size:12px}.type-body{font-family:var(--font-body);color:var(--text-secondary);font-size:14px;line-height:1.55}.type-numeric{font-family:var(--font-mono);font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.type-micro{font-family:var(--font-body);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.08em;text-transform:uppercase;padding:18px 32px;border-radius:14px;min-height:54px;cursor:pointer;transition:transform .32s var(--ease-spring),background .22s ease,box-shadow .22s ease,border-color .22s ease;pointer-events:auto}.btn:active{transform:scale(.96)}.btn--primary{background:linear-gradient(135deg,#00f0ff2e,#0066ff26);border:1px solid rgba(0,240,255,.5);box-shadow:0 0 0 1px #00f0ff14 inset,0 0 28px -6px #00f0ff8c;color:var(--text-primary)}.btn--primary:hover{border-color:#00f0ffd9;box-shadow:0 0 0 1px #00f0ff24 inset,0 0 44px -4px #00f0ffcc}.btn--primary:active{background:linear-gradient(135deg,#00f0ff59,#0066ff47)}.btn--filled{background:var(--accent-cyan);color:var(--bg-void);border:1px solid rgba(0,240,255,.7);box-shadow:0 0 32px -4px #00f0ffbf;font-weight:700}.btn--filled:hover{box-shadow:0 0 48px -2px #00f0fff2}.btn--ghost{background:#0d0e1499;border:1px solid rgba(136,146,176,.22);color:var(--text-secondary)}.btn--ghost:hover{border-color:#8892b073;color:var(--text-primary)}.btn--danger{background:#ff003c1a;border:1px solid rgba(255,0,60,.45);color:var(--accent-magenta)}@keyframes spring-in{0%{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 28px -6px #00f0ff80}50%{box-shadow:0 0 48px -2px #00f0fff2}}.spring-in{animation:spring-in .52s var(--ease-spring) both}.pulse-glow{animation:pulse-glow 1.8s ease-in-out infinite}@keyframes tile-float{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes tile-aura{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes merge-flash{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@keyframes splint-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes discovery-burst{0%{opacity:.9;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}@keyframes meter-ready-pulse{0%,to{box-shadow:0 0 0 1px #8a00ff80 inset,0 0 18px -4px #8a00ff80}50%{box-shadow:0 0 0 1px #8a00ffe6 inset,0 0 32px -2px #8a00ffe6}}@keyframes starfield-drift{0%{transform:translateZ(0)}to{transform:translate3d(-20px,-12px,0)}}@keyframes orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-tile-float{animation:tile-float var(--dur-tile-float) ease-in-out infinite}.anim-tile-aura{animation:tile-aura var(--dur-tile-aura) ease-in-out infinite}.anim-merge-flash{animation:merge-flash var(--dur-merge-flash) ease-out both}.anim-splint-pop{animation:splint-pop var(--dur-splinter-pop) var(--ease-spring) both}.anim-ready-pulse{animation:meter-ready-pulse var(--dur-ready-pulse) ease-in-out infinite}@media(prefers-reduced-motion:reduce){.anim-tile-float,.anim-tile-aura,.anim-merge-flash,.anim-splint-pop,.anim-ready-pulse,.starfield,.scanline-overlay{animation:none!important}}.scanline-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(255,255,255,.012) 2px,rgba(255,255,255,.012) 3px);mix-blend-mode:overlay}.starfield{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;animation:starfield-drift 30s linear infinite alternate}.starfield__dot{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--accent-primary);opacity:.45;box-shadow:0 0 6px rgba(var(--accent-primary-rgb),.6)}.stage-backdrop{background:radial-gradient(ellipse at 50% 30%,rgba(0,240,255,.05) 0%,transparent 55%),radial-gradient(ellipse at 70% 90%,rgba(138,0,255,.04) 0%,transparent 55%),var(--bg-void-2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-chip);border:1px solid var(--border-default);border-radius:var(--r-lg);font-family:var(--font-mono);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);min-height:28px}.chip--strong{color:var(--text-primary);border-color:rgba(var(--accent-primary-rgb),.35)}.chip--numeric{font-size:14px;letter-spacing:.04em;color:var(--text-primary);text-transform:none}.mono-label{font-family:var(--font-mono);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-secondary)}.mono-stat{font-family:var(--font-mono);font-weight:700;letter-spacing:.04em;color:var(--text-primary)}.btn--cta{background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.95),rgba(var(--accent-primary-rgb),.7));color:var(--bg-void);border:1px solid rgba(var(--accent-primary-rgb),.75);box-shadow:0 0 32px -4px rgba(var(--accent-primary-rgb),.75),0 0 0 1px rgba(var(--accent-primary-rgb),.4) inset;font-weight:700;letter-spacing:.14em}.btn--cta:hover{box-shadow:0 0 48px -2px rgba(var(--accent-primary-rgb),.95),0 0 0 1px rgba(var(--accent-primary-rgb),.6) inset}.btn--muted{background:var(--surface-hover);border:1px solid var(--border-default);color:var(--text-secondary)}.btn--muted:hover{color:var(--text-primary);border-color:var(--border-soft)}.progress-ring{display:inline-block;line-height:0}.progress-ring svg{display:block}.progress-ring__track{stroke:var(--border-default);fill:none}.progress-ring__meter{stroke:var(--accent-primary);fill:none;transition:stroke-dashoffset .42s var(--ease-snap);filter:drop-shadow(0 0 6px rgba(var(--accent-primary-rgb),.5))}.hub-toast{position:fixed;left:50%;bottom:calc(48px + env(safe-area-inset-bottom));transform:translate(-50%,20px);padding:10px 16px;background:#0d0e14eb;border:1px solid rgba(var(--accent-primary-rgb),.35);border-radius:var(--r-xl, 12px);color:var(--text-primary);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #0000008c;opacity:0;transition:transform .3s var(--ease-spring),opacity .26s var(--ease-snap);pointer-events:none;z-index:9999}.hub-toast.is-visible{opacity:1;transform:translate(-50%)}
