@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(../../../fonts/poppins-400.ttf) format("truetype")}@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(../../../fonts/poppins-500.ttf) format("truetype")}@font-face{font-family:Poppins;font-weight:600;font-style:normal;font-display:swap;src:url(../../../fonts/poppins-600.ttf) format("truetype")}@font-face{font-family:Poppins;font-weight:700;font-style:normal;font-display:swap;src:url(../../../fonts/poppins-700.ttf) format("truetype")}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #1c1917;--bg-subtle: #231f1b;--surface: #292524;--surface2: #3d3530;--accent: #ef4444;--accent2: #a855f7;--accent-glow: rgba(239, 68, 68, .15);--text: #fafaf9;--text-dim: #a8a29e;--red-piece: #ef4444;--black-piece: #292524;--board-light: #d4a76a;--board-dark: #7c5e3c;--success: #22c55e;--warning: #f59e0b;--gold: #fbbf24;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--font: "Poppins", system-ui, -apple-system, sans-serif;--font-mono: "Courier New", monospace;--fs-title: 1.8rem;--fs-heading: 1.2rem;--fs-body: .9rem;--fs-caption: .75rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 24px;--shadow-card: 0 2px 16px rgba(0, 0, 0, .3);--shadow-board: 0 8px 40px rgba(0, 0, 0, .5);--content-max: 480px;--tab-height: 56px;--side-panel: 220px;--board-max: 640px}@media(min-width:600px){:root{--fs-title: 2rem;--fs-heading: 1.35rem;--fs-body: .95rem;--fs-caption: .78rem;--content-max: 560px}}@media(min-width:900px){:root{--fs-title: 2.4rem;--fs-heading: 1.5rem;--fs-body: 1rem;--fs-caption: .8rem;--content-max: 800px}}@media(min-width:1100px){:root{--side-panel: 230px}}@media(min-width:1400px){:root{--side-panel: 280px}}html,body{height:100%;font-family:var(--font);font-size:var(--fs-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:.01em}.page-scroll{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,var(--bg-subtle) 0%,var(--bg) 40%);padding-bottom:calc(var(--tab-height) + var(--sp-md) + env(safe-area-inset-bottom,0px))}.page-content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--sp-md);padding-top:max(var(--sp-md),env(safe-area-inset-top));display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-md)}.page-center{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--sp-md);background:radial-gradient(ellipse at 50% 30%,var(--bg-subtle) 0%,var(--bg) 70%)}.card{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius-lg);padding:var(--sp-md)}.btn{padding:var(--sp-sm) var(--sp-lg);border:none;border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .2s;color:#fff;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-xs)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--accent),#dc2626)}.btn-secondary{background:linear-gradient(135deg,var(--accent2),#7c3aed)}.btn-dark{background:var(--surface2);border:1px solid rgba(255,255,255,.06)}.btn-small{padding:var(--sp-xs) var(--sp-md);font-size:var(--fs-caption)}.input{padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-sm);border:2px solid var(--surface2);background:var(--bg);color:var(--text);font-size:var(--fs-body);outline:none;width:100%}.input:focus{border-color:var(--accent)}.section-title{font-size:var(--fs-caption);color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;font-weight:600}.spinner{width:48px;height:48px;border:4px solid var(--surface2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#confettiCanvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes capPop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}
