:root{--bg-void:#090b0e;--bg-base:#0e1318;--bg-surface:#141e28;--bg-elevated:#1b2938;--bg-border:#243345;--felt-deep:#091a10;--felt-base:#0e2418;--felt-highlight:#163020;--gold-dark:#6b4d20;--gold-dim:#a07030;--gold-base:#c89a50;--gold-light:#deb468;--gold-bright:#f0cc7c;--cyan-deep:#005068;--cyan-base:#0098b8;--cyan-glow:#00c8e0;--cyan-bright:#40e8ff;--text-primary:#ede5d8;--text-secondary:#8c9bac;--text-muted:#4e5f70;--text-disabled:#2a3848;--color-success:#20a855;--color-warning:#d09020;--color-error:#c82838;--color-info:#2860c0;--suit-red:#b8243a;--suit-dark:#6b4d20;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-24:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-card:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-0:none;--shadow-1:0 2px 8px #00000061;--shadow-2:0 4px 20px #0000007a, 0 1px 4px #00000040;--shadow-3:0 8px 40px #0000008c, 0 2px 10px #0000004d;--shadow-4:0 16px 64px #000000a6, 0 4px 16px #0006;--shadow-glow-win:0 0 40px #00c8e066;--shadow-glow-gold:0 8px 28px #c89a5073;--font-display:"Cormorant", Georgia, serif;--font-ui:"Jost", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--text-h1:3.5rem;--text-h2:2.5rem;--text-h3:1.875rem;--text-h4:1.5rem;--text-h5:1.25rem;--text-h6:1.125rem;--text-body-lg:1.125rem;--text-body:1rem;--text-body-sm:.875rem;--text-caption:.75rem;--text-button:.875rem;--ease-deal:cubic-bezier(.34, 1.56, .64, 1);--ease-flip:cubic-bezier(.645, .045, .355, 1);--ease-win:cubic-bezier(.22, 1, .36, 1);--ease-ui:cubic-bezier(.4, 0, .2, 1);--ease-modal:cubic-bezier(.16, 1, .3, 1);--ease-toast:cubic-bezier(.34, 1.56, .64, 1);--duration-instant:.1s;--duration-fast:.15s;--duration-deal:.3s;--duration-flip:.4s;--duration-modal:.35s;--duration-win:.6s}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg-void);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden}::selection{color:var(--gold-bright);background:#c89a504d}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.05}button{font-family:var(--font-ui);cursor:pointer;border:none}button:disabled{cursor:not-allowed;opacity:.5}input{font-family:var(--font-ui);background:var(--bg-base);border:1px solid var(--bg-border);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-ui);outline:none;padding:12px 14px;font-size:1rem}input:focus{border-color:var(--gold-base)}.btn{border-radius:var(--radius-md);font-size:var(--text-button);letter-spacing:.07em;text-transform:uppercase;transition:transform var(--duration-fast) var(--ease-ui), box-shadow var(--duration-fast) var(--ease-ui), background var(--duration-fast) var(--ease-ui);padding:13px 26px;font-weight:500}.btn-primary{background:linear-gradient(135deg, var(--gold-dim), var(--gold-base));color:var(--bg-void);box-shadow:0 4px 16px #c89a504d,inset 0 1px #ffffff1f}.btn-primary:not(:disabled):hover{box-shadow:var(--shadow-glow-gold);transform:translateY(-2px)}.btn-ghost{color:var(--gold-base);background:0 0;border:1px solid #c89a507a}.btn-ghost:not(:disabled):hover{background:#c89a5014}.btn-danger{color:var(--color-error);background:#c828381a;border:1px solid #c8283861}.panel{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);border:1px solid #243345cc}.center-screen{height:100%;padding:var(--sp-6);background:radial-gradient(ellipse 80% 55% at 50% 110%, #0e2418e6 0%, transparent 65%), linear-gradient(160deg, var(--bg-void) 0%, var(--bg-base) 50%, var(--bg-void) 100%);justify-content:center;align-items:center;display:flex}.logo-title{font-family:var(--font-display);text-align:center;font-size:clamp(3rem,8vw,5rem);line-height:.9}.logo-title .accent{background:linear-gradient(135deg, var(--gold-dim), var(--gold-base) 40%, var(--gold-bright) 65%, var(--gold-base) 85%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.error-text{color:var(--color-error);font-size:var(--text-body-sm)}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.row{gap:var(--sp-3);align-items:center;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
