:root{--bg: #f8fafc;--surface: #ffffff;--surface-strong: #eef2ff;--border: #e2e8f0;--text: #0f172a;--muted: #6b7280;--accent: #2563eb;--accent-2: #4338ca;--accent-soft: #e0f2fe;--on-accent: #ffffff;--board: #1d4ed8;--board-border: #1e3a8a;--board-hole: #0b1b3f;--glow: rgba(37, 99, 235, .16);--overlay: rgba(15, 23, 42, .62);--advice: #312e81;--advice-border: #4338ca;--success: #22c55e;--warning: #f59e0b;--chip-bg: #e0f2fe;--chip-text: #0f172a;--player1-start: #6d28d9;--player1-end: #ec4899;--player1-glow: rgba(109, 40, 217, .32);--player2-start: #f59e0b;--player2-end: #f97316;--player2-glow: rgba(249, 115, 22, .35)}[data-theme=forest]{--bg: #f1f5e9;--surface: #ffffff;--surface-strong: #e8f3ec;--border: #d1e5d5;--text: #0f2f1b;--muted: #4b6751;--accent: #2f8f5b;--accent-2: #1b5e36;--accent-soft: #d8f5e7;--on-accent: #f7fff9;--board: #2d6a4f;--board-border: #1b4332;--board-hole: #0f241a;--glow: rgba(47, 143, 91, .22);--overlay: rgba(10, 24, 16, .7);--advice: #1f4330;--advice-border: #2f8f5b;--success: #38bdf8;--warning: #f59e0b;--chip-bg: #dff7eb;--chip-text: #0f2f1b;--player1-start: #b45309;--player1-end: #d97706;--player1-glow: rgba(212, 118, 6, .3);--player2-start: #22d3ee;--player2-end: #0ea5e9;--player2-glow: rgba(34, 211, 238, .32)}[data-theme=sunset]{--bg: #fff4ed;--surface: #ffffff;--surface-strong: #ffe5d4;--border: #ffd4bf;--text: #5c2b1b;--muted: #8c5a4b;--accent: #f97316;--accent-2: #db2777;--accent-soft: #ffe7d6;--on-accent: #fff9f5;--board: #ea580c;--board-border: #9a3412;--board-hole: #541c0a;--glow: rgba(249, 115, 22, .22);--overlay: rgba(64, 26, 9, .62);--advice: #9a3412;--advice-border: #db2777;--success: #16a34a;--warning: #eab308;--chip-bg: #ffe7d6;--chip-text: #5c2b1b;--player1-start: #db2777;--player1-end: #f472b6;--player1-glow: rgba(251, 113, 133, .32);--player2-start: #f97316;--player2-end: #fbbf24;--player2-glow: rgba(249, 115, 22, .32)}[data-theme=midnight]{--bg: #0b1021;--surface: #11172a;--surface-strong: #151d31;--border: #1f2942;--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--accent-2: #6366f1;--accent-soft: #0f172a;--on-accent: #e2e8f0;--board: #0b3657;--board-border: #082f4a;--board-hole: #040d1b;--glow: rgba(99, 102, 241, .26);--overlay: rgba(2, 6, 23, .7);--advice: #0f172a;--advice-border: #38bdf8;--success: #22c55e;--warning: #facc15;--chip-bg: #0e1a2e;--chip-text: #e2e8f0;--player1-start: #38bdf8;--player1-end: #22d3ee;--player1-glow: rgba(56, 189, 248, .35);--player2-start: #6366f1;--player2-end: #a855f7;--player2-glow: rgba(99, 102, 241, .35)}body{background-color:var(--bg);color:var(--text);transition:background-color .35s ease,color .35s ease}.app-shell{color:var(--text)}.theme-card{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:0 18px 50px -40px #0006;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.theme-card-soft{background:var(--surface-strong);border:1px solid var(--border);color:var(--text)}.text-strong{color:var(--text)}.text-muted{color:var(--muted)}.text-accent{color:var(--accent)}.text-contrast{color:var(--on-accent)}.badge-soft{background:var(--chip-bg);color:var(--chip-text)}.surface-pill{background:var(--surface-strong);color:var(--text)}.tab-toggle{border:2px solid var(--accent-soft);background:var(--surface);color:var(--accent);transition:transform .15s ease,box-shadow .2s ease}.tab-toggle.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);box-shadow:0 16px 36px -28px var(--glow);transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent)}.btn-accent:hover{opacity:.95}.btn-neutral{background:var(--surface-strong);color:var(--text);border:1px solid var(--border)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--muted)}.board-frame{background:var(--board);border:2px solid var(--board-border);box-shadow:0 18px 40px -30px #0006}.board-leg{background:var(--board-border)}.board-hole{background:var(--board-hole)}.board-recommendation{background:var(--glow)}.advice-panel{background:var(--advice);border-color:var(--advice-border);color:var(--on-accent)}.drawer-surface{background:var(--surface);color:var(--text)}.app-backdrop{background:var(--overlay)}
