:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#0b0820;--c-bg-2:#120d33;--c-bg-3:#1a1344;--c-surface:#ffffff0f;--c-surface-2:#ffffff1a;--c-surface-3:#ffffff29;--c-glass:#1812409e;--c-glass-strong:#120d33db;--c-border:#ffffff1f;--c-border-strong:#ffffff3d;--c-scrim:#050312b8;--c-text:#f4f1ff;--c-text-dim:#b7b0d9;--c-text-mute:#7d76a6;--c-on-primary:#fff;--c-primary:#7c5cff;--c-primary-2:#a78bfa;--c-primary-3:#5b3fe0;--c-accent:#22d3ee;--c-success:#34d399;--c-warning:#fbbf24;--c-danger:#f87171;--c-danger-2:#dc2626;--shell-body:#4b3bb3;--shell-body-2:#2f2380;--shell-body-hi:#6a58d6;--shell-bezel:#1a1633;--shell-screen-bg:#000;--btn-face:#2a2350;--btn-face-2:#1a1538;--btn-ab:#cfc9f5;--btn-ab-text:#3a2f8c;--btn-dpad:#1e1a3a;--btn-shoulder:#6d5ce0;--c-gb:#9bbc0f;--c-gbc:#f59e0b;--c-gba:#7c5cff;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:1.75rem;--fs-2xl:clamp(2rem, 6vw, 3.25rem);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--r-sm:8px;--r-md:14px;--r-lg:22px;--r-xl:32px;--r-full:999px;--header-h:60px;--content-max:1200px;--shadow-1:0 2px 8px #00000059;--shadow-2:0 10px 30px #00000073;--shadow-3:0 24px 60px #0000008c;--shadow-glow:0 0 0 1px #7c5cff66, 0 8px 32px #7c5cff59;--blur:saturate(160%) blur(18px);--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.12s;--t-med:.24s;--t-slow:.42s;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--z-header:10;--z-controller:20;--z-overlay:30;--z-toast:40}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-med:0s;--t-slow:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--c-bg);scrollbar-color:var(--c-surface-3) transparent}body{background:radial-gradient(1100px 700px at 15% -10%, #7c5cff47 0%, transparent 60%), radial-gradient(900px 600px at 110% 10%, #22d3ee1a 0%, transparent 55%), var(--c-bg);min-height:100dvh;color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-md);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0;line-height:1.5}html.is-playing,html.is-playing body{overscroll-behavior:none;background:#000;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.15}p{margin:0}a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}::selection{background:#7c5cff73}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.page{padding:var(--sp-5) calc(var(--sp-4) + var(--safe-right)) calc(var(--sp-7) + var(--safe-bottom)) calc(var(--sp-4) + var(--safe-left));max-width:var(--content-max);animation:page-in var(--t-slow) var(--ease) both;margin:0 auto}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.glass{background:var(--c-glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--c-border)}.icon{flex:none}.btn{--btn-bg:var(--c-surface-2);--btn-bg-hover:var(--c-surface-3);--btn-fg:var(--c-text);--btn-border:var(--c-border);justify-content:center;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-full);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font-weight:650;font-size:var(--fs-sm);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-med) var(--ease), opacity var(--t-fast);text-decoration:none;display:inline-flex;position:relative}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--btn-bg-hover)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.5}.btn--primary{--btn-bg:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-3) 100%);--btn-bg-hover:linear-gradient(135deg, #8d71ff 0%, #6a4ff0 100%);--btn-fg:var(--c-on-primary);--btn-border:#ffffff2e;box-shadow:0 8px 24px #7c5cff61,inset 0 1px #ffffff38}.btn--primary:hover:not(:disabled){box-shadow:0 10px 32px #7c5cff8c,inset 0 1px #ffffff40}.btn--ghost{--btn-bg:transparent;--btn-bg-hover:var(--c-surface);--btn-border:transparent}.btn--danger{--btn-bg:#f8717124;--btn-bg-hover:#f871713d;--btn-fg:#fecaca;--btn-border:#f8717159}.btn--danger-solid{--btn-bg:linear-gradient(135deg, #ef4444, var(--c-danger-2));--btn-bg-hover:linear-gradient(135deg, #f05252, #e03131);--btn-fg:#fff;--btn-border:#ffffff2e}.btn--sm{min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn--lg{min-height:54px;padding:0 var(--sp-5);font-size:var(--fs-md)}.btn--block{width:100%}.btn--icon{width:44px;padding:0}.btn--icon.btn--sm{width:36px}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin}.chip{min-height:38px;padding:0 var(--sp-4);border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-dim);font-size:var(--fs-sm);white-space:nowrap;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast) var(--ease);align-items:center;gap:6px;font-weight:600;display:inline-flex}.chip:hover{color:var(--c-text);background:var(--c-surface-2)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true],.chip[aria-checked=true]{color:#fff;background:#7c5cff47;border-color:#a78bfab3;box-shadow:0 0 0 3px #7c5cff26}.chip-count{font-size:var(--fs-xs);color:var(--c-text-mute);font-variant-numeric:tabular-nums}.badge{border-radius:var(--r-full);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;background:var(--c-surface-2);color:var(--c-text-dim);border:1px solid var(--c-border);align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:700;line-height:1.6;display:inline-flex}.badge--gb{color:#d9f99d;background:#9bbc0f29;border-color:#9bbc0f66}.badge--gbc{color:#fde68a;background:#f59e0b29;border-color:#f59e0b66}.badge--gba{color:#ddd6fe;background:#7c5cff33;border-color:#a78bfa73}.badge--ok{color:#a7f3d0;background:#34d39924;border-color:#34d39966}.badge--off{color:var(--c-text-mute);background:#ffffff0a}.badge--info{color:#a5f3fc;background:#22d3ee1f;border-color:#22d3ee59}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.card{border-radius:var(--r-lg);border:1px solid var(--c-border);box-shadow:var(--shadow-1);background:linear-gradient(#ffffff12,#ffffff08)}.callout{gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);color:var(--c-text-dim);font-size:var(--fs-sm);background:#22d3ee12;border:1px solid #22d3ee40;align-items:flex-start;display:flex}.callout>.icon{color:var(--c-accent);margin-top:2px}.callout strong{color:var(--c-text)}.callout--warn{background:#fbbf2414;border-color:#fbbf244d}.callout--warn>.icon{color:var(--c-warning)}.section-title{align-items:baseline;gap:var(--sp-3);font-size:var(--fs-lg);font-weight:750;display:flex}.section-title small{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--c-text-mute);font-weight:500}.eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--c-primary-2);font-weight:700}.loading-screen{place-content:center;justify-items:center;gap:var(--sp-4);padding:var(--sp-5);background:radial-gradient(600px 400px at 50% 40%, #7c5cff40, transparent 70%), var(--c-bg);z-index:var(--z-overlay);color:var(--c-text-dim);font-size:var(--fs-sm);animation:fade-in var(--t-med) var(--ease) both;display:grid;position:fixed;inset:0}.loading-screen .progress{width:min(280px,70vw)}.loading-logo{filter:drop-shadow(0 0 24px #7c5cff99);width:64px;height:64px;animation:2.4s ease-in-out infinite float}.loading-spinner{border:3px solid var(--c-surface-3);border-top-color:var(--c-primary);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}.progress{border-radius:var(--r-full);background:#ffffff14;height:8px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--c-primary), var(--c-accent));transform-origin:0;width:100%;transition:transform var(--t-med) var(--ease);position:absolute;inset:0 auto 0 0;box-shadow:0 0 16px #22d3ee80}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.6s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.progress--indeterminate .progress-fill{width:40%;animation:indeterminate 1.3s var(--ease) infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(260%)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes float{50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.skip-link{left:var(--sp-3);z-index:calc(var(--z-header) + 1);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--c-primary);color:#fff;transition:top var(--t-fast);font-weight:700;text-decoration:none;position:absolute;top:-60px}.skip-link:focus{top:calc(var(--safe-top) + var(--sp-2))}.app-header{z-index:var(--z-header);padding-top:var(--safe-top);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--c-border);background:#0b0820b8;position:sticky;top:0}.app-header-inner{align-items:center;gap:var(--sp-3);height:var(--header-h);max-width:var(--content-max);padding:0 calc(var(--sp-4) + var(--safe-right)) 0 calc(var(--sp-4) + var(--safe-left));margin:0 auto;display:flex}.app-logo{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);text-decoration:none;display:inline-flex}.app-logo img{filter:drop-shadow(0 0 12px #7c5cff8c);transition:transform var(--t-med) var(--ease-spring)}.app-logo:hover img{transform:rotate(-8deg)scale(1.08)}.app-logo-text{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.125rem;font-weight:800}.app-logo-text span{background:linear-gradient(90deg, var(--c-primary-2), var(--c-accent));color:#0000;-webkit-background-clip:text;background-clip:text}.app-offline{border-radius:var(--r-full);color:#fde68a;font-size:var(--fs-xs);animation:fade-in var(--t-med) both;background:#fbbf2424;border:1px solid #fbbf2459;align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex}.app-nav{border-radius:var(--r-full);border:1px solid var(--c-border);background:#00000040;gap:4px;margin-left:auto;padding:4px;display:flex}.app-nav-link{min-height:38px;padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--c-text-dim);font-size:var(--fs-sm);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:6px;font-weight:650;text-decoration:none;display:inline-flex}.app-nav-link:hover{color:var(--c-text)}.app-nav-link.active{color:#fff;background:linear-gradient(135deg, var(--c-primary), var(--c-primary-3));box-shadow:0 4px 14px #7c5cff66}@media (max-width:420px){.app-nav-link span{display:none}.app-nav-link{justify-content:center;width:42px;padding:0}}.app-main{outline:none;flex:1}.app-footer{padding:var(--sp-4) calc(var(--sp-4) + var(--safe-right)) calc(var(--sp-4) + var(--safe-bottom)) calc(var(--sp-4) + var(--safe-left));border-top:1px solid var(--c-border);color:var(--c-text-mute);font-size:var(--fs-xs)}.app-footer p{justify-content:center;align-items:center;gap:6px;display:flex}.app-footer .app-footer-legal{max-width:72ch;margin:var(--sp-2) auto 0;text-align:center;opacity:.8;font-size:.6875rem;line-height:1.5;display:block}.toast-viewport{top:calc(var(--safe-top) + var(--sp-3));width:min(420px, calc(100vw - 2 * var(--sp-4)));z-index:var(--z-toast);pointer-events:none;position:fixed;left:50%;transform:translate(-50%)}.toast-stack{gap:var(--sp-2);display:grid}.toast{align-items:center;gap:var(--sp-3);padding:10px 10px 10px var(--sp-4);border-radius:var(--r-md);background:var(--c-glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--c-border-strong);box-shadow:var(--shadow-2);color:var(--c-text);font-size:var(--fs-sm);pointer-events:auto;animation:toast-in var(--t-slow) var(--ease-spring) both;font-weight:600;display:flex}.toast>span{flex:1}.toast--success>.icon{color:var(--c-success)}.toast--info>.icon{color:var(--c-accent)}.toast--warning>.icon{color:var(--c-warning)}.toast--error{border-color:#f8717180}.toast--error>.icon{color:var(--c-danger)}.toast-close{width:28px;height:28px;color:var(--c-text-mute);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.toast-close:hover{background:var(--c-surface-2);color:var(--c-text)}html.is-playing .toast-viewport{width:min(360px, 50vw, calc(100vw - 2 * var(--sp-4)))}html.is-playing .toast{padding:8px var(--sp-3);font-size:var(--fs-xs);pointer-events:none}html.is-playing .toast-close{display:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.96)}}.error-screen{padding:calc(var(--sp-5) + var(--safe-top)) calc(var(--sp-4) + var(--safe-right)) calc(var(--sp-5) + var(--safe-bottom)) calc(var(--sp-4) + var(--safe-left));background:radial-gradient(600px 400px at 50% 30%, #f8717124, transparent 70%), var(--c-bg);z-index:var(--z-overlay);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.error-screen-card{gap:var(--sp-3);width:min(460px,100%);padding:var(--sp-6) var(--sp-5);text-align:center;animation:dialog-in var(--t-slow) var(--ease) both;display:grid}.error-screen-card h1{font-size:var(--fs-xl)}.error-screen-card p{color:var(--c-text-dim)}.error-screen-card ul{text-align:left;color:var(--c-text-dim);font-size:var(--fs-sm);margin:0;padding-left:1.2em}.error-screen-icon{width:64px;height:64px;margin:0 auto var(--sp-2);color:var(--c-danger);background:#f8717124;border-radius:50%;place-items:center;display:grid}.error-screen-actions{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}
