:root,:root[data-theme=dark]{--bg: #0b0b0c;--fg: #f2f2f3;--muted: #a1a1aa;--accent: #7c3aed;--danger: #ef4444;--ok: #10b981;--time-font-size: 56px}:root[data-theme=light]{--bg: #f8fafc;--fg: #0b0b0c;--muted: #475569;--accent: #6d28d9;--danger: #b91c1c;--ok: #059669}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji"}.grid{display:grid;grid-template-rows:1fr auto 1fr;gap:8px;height:100%;padding:8px}.panel{border:1px solid #1f2937;border-radius:12px;padding:12px;background:#111114;position:relative}.turnFlashOverlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}.turnFlashOverlay:before,.turnFlashOverlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.turnFlashOverlay:before{background:radial-gradient(ellipse at center,#ffffff26,#ffffff14 30%,#0000 70%);animation:turnVignette .9s cubic-bezier(.22,1,.36,1) forwards}.turnFlashOverlay:after{background:linear-gradient(90deg,#7c3aed00,#7c3aedf2,#7c3aed00);filter:blur(1px) saturate(140%)}.turnFlashOverlay.down:after{transform:translateY(-120%) skew(-6deg);animation:turnSweepDown .76s cubic-bezier(.16,1,.3,1) forwards}.turnFlashOverlay.up:after{transform:translateY(120%) skew(6deg);animation:turnSweepUp .76s cubic-bezier(.16,1,.3,1) forwards}.turnStreaks{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:51;overflow:hidden}.turnStreaks .streak{position:absolute;background:linear-gradient(90deg,#7c3aed00,#c7a2fff2,#7c3aed00);filter:blur(.3px)}.turnStreaks.down .streak,.turnStreaks.up .streak{width:2px;height:36%;top:-40%;left:24%}.turnStreaks.down .streak.s2{left:48%;animation-delay:40ms}.turnStreaks.down .streak.s3{left:66%;animation-delay:90ms}.turnStreaks.down .streak.s4{left:82%;animation-delay:.12s}.turnStreaks.up .streak.s2{left:52%;animation-delay:40ms}.turnStreaks.up .streak.s3{left:70%;animation-delay:90ms}.turnStreaks.up .streak.s4{left:86%;animation-delay:.12s}.turnStreaks.down .streak{animation:streakMoveDown .7s cubic-bezier(.22,1,.36,1) forwards}.turnStreaks.up .streak{animation:streakMoveUp .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes turnVignette{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes turnSweepDown{0%{transform:translateY(-120%) skew(-6deg);opacity:0}30%{opacity:1}to{transform:translateY(140%) skew(-6deg);opacity:0}}@keyframes turnSweepUp{0%{transform:translateY(120%) skew(6deg);opacity:0}30%{opacity:1}to{transform:translateY(-140%) skew(6deg);opacity:0}}@keyframes streakMoveDown{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(260%);opacity:0}}@keyframes streakMoveUp{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(-260%);opacity:0}}.panelPulseOverlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;pointer-events:none;animation:panelPulse .32s ease-out forwards}@keyframes panelPulse{0%{box-shadow:0 0 #7c3aed59}60%{box-shadow:0 0 0 10px #7c3aed00}to{box-shadow:0 0 #7c3aed00}}.topMirrored,.counterRotate{transform:rotate(180deg)}.centerControls{display:flex;align-items:center;justify-content:center;gap:12px}.centerControls.flipTop .btnLabel,.centerControls.flipTop .subtext{display:inline-block;transform:rotate(180deg)}.btn{background:#26272b;color:var(--fg);border:1px solid #3f3f46;padding:18px 24px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;min-height:56px}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent)}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn.softDanger{background:#3a2b2b;border-color:#4b2f2f;color:#fca5a5}.btn.deltaPositive{color:#22c55e}.btn.deltaNegative{color:#ef4444}.btn.endTurn{font-size:18px;padding:20px 28px;min-height:64px;box-shadow:0 0 0 2px #7c3aed4d,0 6px 14px #7c3aed59}.time{font-size:var(--time-font-size);font-weight:800;letter-spacing:1px}.subtext{color:var(--muted);font-size:12px}.setupPanel input.btn,.setupPanel select.btn,.setupPanel button.btn{width:90%;max-width:300px;text-align:left}.setupPanel .btn+.btn{margin-left:8px}.panelHeader{display:flex;align-items:center;justify-content:space-between}.playerName{font-size:14px}.lp{display:inline-flex;align-items:center;text-align:right}.lpValue{font-size:var(--time-font-size);font-weight:800;line-height:.9}.lpLabel{font-size:14px;color:var(--fg);font-weight:400}.lp[role=button]{cursor:pointer;padding:12px 16px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);transition:all .15s ease}.lp[role=button]:hover{background:#7c3aed1f;border-color:#7c3aed4d}.lp[role=button]:active{background:#7c3aed33;transform:scale(.97)}.lpTapHint{font-size:11px;color:#7c3aed99;font-weight:600;margin-top:4px;letter-spacing:.5px;opacity:.8;align-self:flex-end}.bonusFlash{color:#fbbf24;font-weight:800;font-size:var(--time-font-size);opacity:1;transition:opacity 1s ease-in;animation:bonusHold 3s forwards,bonusFade 1s 3s forwards}@keyframes bonusHold{0%{opacity:1}to{opacity:1}}@keyframes bonusFade{to{opacity:0}}@media (max-width: 768px){:root{--time-font-size: 44px}.grid{gap:6px;padding:6px}.panel{padding:14px;border-radius:10px}.btn{padding:16px 20px;border-radius:8px;font-size:15px;min-height:56px}.btn.endTurn{padding:18px 24px;font-size:17px;min-height:64px}.lpValue{font-size:var(--time-font-size)}.centerControls{flex-wrap:wrap}.centerControls .btn{flex:1 1 46%;min-width:120px}.quickGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quickGrid .btn{min-height:64px;padding:16px;font-size:20px}.btn.endTurn{flex-basis:100%}.setupPanel{margin:16px 8px!important;max-width:none!important}.setupPanel h2{font-size:24px;margin-bottom:16px}}
