:root{color-scheme:light;--app-bg: #f5f5f5;--app-bg-elevated: #ffffff;--app-bg-muted: #f8f9fa;--app-bg-sunken: #e9ecef;--app-text: #212529;--app-text-muted: #6c757d;--app-text-subtle: #868e96;--app-border: #dee2e6;--app-border-strong: #ced4da;--app-shadow: 0 4px 24px rgba(0, 0, 0, .08);--app-shadow-soft: 0 2px 10px rgba(0, 0, 0, .08);--app-link: #0b5ed7;--app-accent: #2b2d42;--app-accent-contrast: #ffffff;--app-danger: #c92a2a;--app-danger-soft: #fff5f5;--app-danger-soft-hover: #ffe3e3;--app-danger-border-soft: #f1c0c0;--app-success: #1e7e34;--app-success-soft: rgba(40, 167, 69, .14);--app-warn: #856404;--app-warn-soft: #fff3cd;--app-warn-soft-border: #ffeaa7;--app-info-soft: rgba(13, 110, 253, .12);--app-info-soft-border: #cfe2ff;--app-callout-highlight-bg: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);--app-callout-highlight-border: #f39c12;--app-callout-highlight-text: #1a1a1a;--app-callout-tip-bg: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);--app-callout-tip-border: #2196f3;--app-callout-tip-text: #1a1a1a;--app-callout-encourage-bg: linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%);--app-callout-encourage-border: #4caf50;--app-callout-encourage-text: #1a1a1a;--app-input-bg: #ffffff;--app-overlay: rgba(15, 18, 28, .45);--menu-gradient: linear-gradient(135deg, #007bff 0%, #0056b3 100%);--menu-text: #ffffff;--auth-page-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--app-btn-neutral-bg: #5c6570;--app-btn-neutral-bg-hover: #4a525c;--app-btn-neutral-text: #ffffff;--game-cell-hover-bg: #bbdefb;--game-cell-hover-border: #1565c0;--game-valid-bg: #c8e6c9;--game-valid-border: #2e7d32;--game-valid-hover-bg: #a5d6a7;--game-valid-glow: rgba(46, 125, 50, .45);--game-valid-waiting-bg: #ffe082;--game-valid-waiting-border: #f9a825;--game-axis-first-bg: linear-gradient(135deg, #90caf9 0%, #42a5f5 100%);--game-axis-first-solid: #90caf9;--game-axis-first-border: #0d47a1;--game-axis-first-text: #0d47a1;--game-axis-first-glow: rgba(13, 71, 161, .45);--game-axis-h-bg: linear-gradient(135deg, #ffcc80 0%, #ff9800 100%);--game-axis-h-solid: #ffb74d;--game-axis-h-border: #e65100;--game-axis-h-text: #bf360c;--game-axis-h-glow: rgba(230, 81, 0, .5);--game-axis-v-bg: linear-gradient(135deg, #ce93d8 0%, #ab47bc 100%);--game-axis-v-solid: #ce93d8;--game-axis-v-border: #6a1b9a;--game-axis-v-text: #4a148c;--game-axis-v-glow: rgba(106, 27, 154, .5);--game-invalid-bg: #ffcdd2;--game-invalid-border: #c62828;--game-select-tint: var(--app-info-soft)}html[data-theme=dark]{color-scheme:dark;--app-bg: #12141a;--app-bg-elevated: #1c1f28;--app-bg-muted: #242833;--app-bg-sunken: #2c3140;--app-text: #f1f3f5;--app-text-muted: #d2d7e0;--app-text-subtle: #c5ccd8;--app-border: #343a4a;--app-border-strong: #454c60;--app-shadow: 0 8px 28px rgba(0, 0, 0, .45);--app-shadow-soft: 0 2px 12px rgba(0, 0, 0, .35);--app-link: #8ec0ff;--app-accent: #d5d8e2;--app-accent-contrast: #12141a;--app-danger: #ff8a8a;--app-danger-soft: rgba(255, 138, 138, .12);--app-danger-soft-hover: rgba(255, 138, 138, .2);--app-danger-border-soft: rgba(255, 138, 138, .35);--app-success: #6dca8b;--app-success-soft: rgba(109, 202, 139, .16);--app-warn: #e6c36a;--app-warn-soft: rgba(230, 195, 106, .14);--app-warn-soft-border: rgba(230, 195, 106, .4);--app-info-soft: rgba(142, 192, 255, .14);--app-info-soft-border: rgba(142, 192, 255, .35);--app-callout-highlight-bg: rgba(230, 195, 106, .16);--app-callout-highlight-border: #e6c36a;--app-callout-highlight-text: #e6c36a;--app-callout-tip-bg: rgba(142, 192, 255, .14);--app-callout-tip-border: #8ec0ff;--app-callout-tip-text: #8ec0ff;--app-callout-encourage-bg: rgba(109, 202, 139, .16);--app-callout-encourage-border: #6dca8b;--app-callout-encourage-text: #6dca8b;--app-input-bg: #161922;--app-overlay: rgba(0, 0, 0, .65);--menu-gradient: linear-gradient(135deg, #1e3a5f 0%, #152238 100%);--menu-text: #f0f3f8;--auth-page-gradient: linear-gradient(135deg, #1e2a4a 0%, #2a1f3d 100%);--app-btn-neutral-bg: #3d4558;--app-btn-neutral-bg-hover: #4e586e;--app-btn-neutral-text: #f0f3f8;--game-cell-hover-bg: rgba(142, 192, 255, .32);--game-cell-hover-border: #b3d4ff;--game-valid-bg: rgba(109, 202, 139, .38);--game-valid-border: #8fd9a8;--game-valid-hover-bg: rgba(109, 202, 139, .5);--game-valid-glow: rgba(109, 202, 139, .55);--game-valid-waiting-bg: rgba(230, 195, 106, .32);--game-valid-waiting-border: #ffd666;--game-axis-first-bg: rgba(142, 192, 255, .36);--game-axis-first-solid: rgba(142, 192, 255, .42);--game-axis-first-border: #b3d4ff;--game-axis-first-text: #d6e8ff;--game-axis-first-glow: rgba(142, 192, 255, .55);--game-axis-h-bg: rgba(255, 152, 0, .36);--game-axis-h-solid: rgba(255, 152, 0, .42);--game-axis-h-border: #ffb74d;--game-axis-h-text: #ffe0b2;--game-axis-h-glow: rgba(255, 152, 0, .55);--game-axis-v-bg: rgba(186, 104, 200, .4);--game-axis-v-solid: rgba(186, 104, 200, .48);--game-axis-v-border: #e1bee7;--game-axis-v-text: #f3e5f5;--game-axis-v-glow: rgba(186, 104, 200, .6);--game-invalid-bg: rgba(255, 138, 138, .28);--game-invalid-border: #ff8a8a;--game-select-tint: rgba(142, 192, 255, .16)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--app-bg, #f5f5f5);color:var(--app-text, #212529)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.app-error-fallback{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.app-error-fallback button{padding:.65rem 1.25rem;border:none;border-radius:8px;background:#667eea;color:#fff;font-weight:600;cursor:pointer}body,.App,.app-page-shell{background-color:var(--app-bg);color:var(--app-text)}.route-error,.profile-card,.admin-card,.admin-card--overview,.game-manager,.legal-page__inner,.toast-confirm-card,.modal-content,.game-over,.waiting-screen,.triage-page,.feedback-page__card{background-color:var(--app-bg-elevated);color:var(--app-text);box-shadow:var(--app-shadow)}.route-error h1,.profile-card h1,.profile-panel h2,.admin-card h2,.game-manager h1,.legal-page__header h1,.waiting-screen h2{color:var(--app-text)}.route-error p,.profile-card__intro,.profile-panel__intro,.profile-form__hint,.admin-card__sub,.admin-meta,.legal-page__intro,.legal-page__updated,.waiting-screen p,.game-manager>p{color:var(--app-text-muted)}a,.legal-page__back,.game-manager-triage-link a,.route-error a{color:var(--app-link)}.menu-bar{background:var(--menu-gradient)}.menu-title,.menu-item,.menu-tutorial-icon,.menu-theme-toggle{color:var(--menu-text)}input,select,textarea{background-color:var(--app-input-bg);color:var(--app-text);border-color:var(--app-border-strong)}.profile-tabs{border-bottom-color:var(--app-border)}.profile-form__input--readonly,.profile-form input:disabled,.profile-form input[readonly]{background:var(--app-bg-muted);color:var(--app-text-muted)}.toast-confirm-overlay,.modal-overlay{background:var(--app-overlay)}::placeholder{color:var(--app-text-subtle);opacity:1}.pwa-update-banner{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 52px);transform:translate(-50%);z-index:1990;display:flex;align-items:center;gap:16px;width:min(92vw,520px);padding:12px 16px;border-radius:10px;background:#1a1a2e;color:#f5f5f5;box-shadow:0 10px 32px #00000047;border:1px solid rgba(255,255,255,.12)}.pwa-update-banner__content{flex:1;min-width:0}.pwa-update-banner__title{margin:0 0 4px;font-size:.95rem;font-weight:600}.pwa-update-banner__text{margin:0;font-size:.82rem;line-height:1.35;color:#f5f5f5d9}.pwa-update-banner__actions{display:flex;flex-shrink:0;gap:8px}.pwa-update-banner__later,.pwa-update-banner__reload{border:none;border-radius:6px;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.pwa-update-banner__later{background:transparent;color:#f5f5f5bf}.pwa-update-banner__later:hover{color:#fff}.pwa-update-banner__reload{background:#0d6efd;color:#fff}.pwa-update-banner__reload:hover{background:#0b5ed7}@media(max-width:520px){.pwa-update-banner{flex-direction:column;align-items:stretch;bottom:calc(env(safe-area-inset-bottom,0px) + 48px)}.pwa-update-banner__actions{justify-content:flex-end}}html[data-theme=halloween]{color-scheme:dark;--app-bg: #0a0604;--app-bg-elevated: #1a0e08;--app-bg-muted: #2a150c;--app-bg-sunken: #3d1c0a;--app-text: #fff4e6;--app-text-muted: #ffd9a8;--app-text-subtle: #e8b878;--app-border: #6b3010;--app-border-strong: #9a4518;--app-shadow: 0 8px 32px rgba(0, 0, 0, .65);--app-shadow-soft: 0 2px 14px rgba(255, 100, 0, .2);--app-link: #ffb020;--app-accent: #ff8c00;--app-accent-contrast: #1a0a04;--app-danger: #ff5c5c;--app-danger-soft: rgba(255, 80, 80, .2);--app-danger-soft-hover: rgba(255, 80, 80, .3);--app-danger-border-soft: rgba(255, 80, 80, .5);--app-success: #7dff9a;--app-success-soft: rgba(80, 220, 120, .2);--app-warn: #ffd040;--app-warn-soft: rgba(255, 200, 40, .22);--app-warn-soft-border: rgba(255, 200, 40, .5);--app-info-soft: rgba(255, 140, 0, .22);--app-info-soft-border: #ff8c00;--app-callout-highlight-bg: rgba(255, 140, 0, .28);--app-callout-highlight-border: #ff8c00;--app-callout-highlight-text: #ffd040;--app-callout-tip-bg: rgba(160, 40, 200, .28);--app-callout-tip-border: #d070ff;--app-callout-tip-text: #e8b0ff;--app-callout-encourage-bg: rgba(80, 220, 120, .22);--app-callout-encourage-border: #7dff9a;--app-callout-encourage-text: #7dff9a;--app-input-bg: #120804;--app-overlay: rgba(8, 2, 0, .75);--menu-gradient: linear-gradient(135deg, #ff6a00 0%, #8b1a8b 45%, #1a0508 100%);--menu-text: #fff5e8;--auth-page-gradient: linear-gradient(135deg, #ff6a00 0%, #4a0a2a 45%, #1a0820 100%);--app-btn-neutral-bg: #3d4558;--app-btn-neutral-bg-hover: #4e586e;--app-btn-neutral-text: #f0f3f8;--game-cell-hover-bg: rgba(255, 140, 0, .28);--game-cell-hover-border: #ffb020;--game-valid-bg: rgba(80, 220, 120, .28);--game-valid-border: #7dff9a;--game-valid-hover-bg: rgba(80, 220, 120, .4);--game-valid-glow: rgba(80, 220, 120, .5);--game-valid-waiting-bg: rgba(255, 200, 40, .28);--game-valid-waiting-border: #ffd040;--game-axis-first-bg: rgba(255, 140, 0, .28);--game-axis-first-solid: rgba(255, 140, 0, .36);--game-axis-first-border: #ffb020;--game-axis-first-text: #ffb020;--game-axis-first-glow: rgba(255, 140, 0, .5);--game-axis-h-bg: rgba(255, 100, 0, .28);--game-axis-h-solid: rgba(255, 100, 0, .38);--game-axis-h-border: #ff8c00;--game-axis-h-text: #ffb040;--game-axis-h-glow: rgba(255, 100, 0, .5);--game-axis-v-bg: rgba(160, 40, 200, .32);--game-axis-v-solid: rgba(160, 40, 200, .42);--game-axis-v-border: #d070ff;--game-axis-v-text: #e8b0ff;--game-axis-v-glow: rgba(160, 40, 200, .55);--game-invalid-bg: rgba(255, 80, 80, .22);--game-invalid-border: #ff5c5c;--game-select-tint: rgba(255, 140, 0, .18)}html[data-theme=christmas]{color-scheme:dark;--app-bg: #060e0a;--app-bg-elevated: #0e1c14;--app-bg-muted: #152820;--app-bg-sunken: #1e3828;--app-text: #fff8ec;--app-text-muted: #d4e8d8;--app-text-subtle: #a8d0b0;--app-border: #2a5a3a;--app-border-strong: #3d7a50;--app-shadow: 0 8px 32px rgba(0, 0, 0, .6);--app-shadow-soft: 0 2px 14px rgba(200, 40, 40, .22);--app-link: #ffd54f;--app-accent: #ffc107;--app-accent-contrast: #0a140c;--app-danger: #ff6b6b;--app-danger-soft: rgba(220, 40, 40, .24);--app-danger-soft-hover: rgba(220, 40, 40, .34);--app-danger-border-soft: rgba(220, 40, 40, .55);--app-success: #69f0ae;--app-success-soft: rgba(80, 220, 140, .22);--app-warn: #ffd54f;--app-warn-soft: rgba(255, 213, 79, .22);--app-warn-soft-border: rgba(255, 213, 79, .5);--app-info-soft: rgba(220, 40, 50, .24);--app-info-soft-border: #ef5350;--app-callout-highlight-bg: rgba(255, 213, 79, .28);--app-callout-highlight-border: #ffd54f;--app-callout-highlight-text: #ffd54f;--app-callout-tip-bg: rgba(220, 40, 50, .26);--app-callout-tip-border: #ef5350;--app-callout-tip-text: #ff8a80;--app-callout-encourage-bg: rgba(80, 220, 140, .24);--app-callout-encourage-border: #69f0ae;--app-callout-encourage-text: #69f0ae;--app-input-bg: #0a1610;--app-overlay: rgba(2, 8, 4, .75);--menu-gradient: linear-gradient(135deg, #d32f2f 0%, #1b5e20 50%, #0a1a10 100%);--menu-text: #fff8ec;--auth-page-gradient: linear-gradient(135deg, #b71c1c 0%, #1b5e20 50%, #0d2818 100%);--app-btn-neutral-bg: #3d4558;--app-btn-neutral-bg-hover: #4e586e;--app-btn-neutral-text: #f0f3f8;--game-cell-hover-bg: rgba(255, 213, 79, .28);--game-cell-hover-border: #ffd54f;--game-valid-bg: rgba(80, 220, 140, .28);--game-valid-border: #69f0ae;--game-valid-hover-bg: rgba(80, 220, 140, .4);--game-valid-glow: rgba(80, 220, 140, .5);--game-valid-waiting-bg: rgba(255, 213, 79, .28);--game-valid-waiting-border: #ffd54f;--game-axis-first-bg: rgba(239, 83, 80, .28);--game-axis-first-solid: rgba(239, 83, 80, .38);--game-axis-first-border: #ef5350;--game-axis-first-text: #ff8a80;--game-axis-first-glow: rgba(239, 83, 80, .5);--game-axis-h-bg: rgba(255, 213, 79, .28);--game-axis-h-solid: rgba(255, 213, 79, .38);--game-axis-h-border: #ffd54f;--game-axis-h-text: #ffd54f;--game-axis-h-glow: rgba(255, 213, 79, .5);--game-axis-v-bg: rgba(80, 220, 140, .28);--game-axis-v-solid: rgba(80, 220, 140, .38);--game-axis-v-border: #69f0ae;--game-axis-v-text: #69f0ae;--game-axis-v-glow: rgba(80, 220, 140, .5);--game-invalid-bg: rgba(255, 107, 107, .22);--game-invalid-border: #ff6b6b;--game-select-tint: rgba(255, 213, 79, .16)}html[data-theme=valentine]{color-scheme:light;--app-bg: #ffe0ea;--app-bg-elevated: #fff5f8;--app-bg-muted: #ffc2d4;--app-bg-sunken: #ff9ebb;--app-text: #4a0620;--app-text-muted: #8b1a45;--app-text-subtle: #a8325c;--app-border: #ff8aab;--app-border-strong: #f06292;--app-shadow: 0 6px 28px rgba(200, 20, 80, .22);--app-shadow-soft: 0 2px 12px rgba(200, 20, 80, .16);--app-link: #c2185b;--app-accent: #d81b60;--app-accent-contrast: #ffffff;--app-danger: #b71c1c;--app-danger-soft: #ffcdd2;--app-danger-soft-hover: #ef9a9a;--app-danger-border-soft: #e57373;--app-success: #2e7d32;--app-success-soft: rgba(46, 125, 50, .16);--app-warn: #e65100;--app-warn-soft: #ffe0b2;--app-warn-soft-border: #ffb74d;--app-info-soft: rgba(216, 27, 96, .16);--app-info-soft-border: #f06292;--app-callout-highlight-bg: linear-gradient(135deg, #f48fb1 0%, #ec407a 100%);--app-callout-highlight-border: #c2185b;--app-callout-highlight-text: #4a0620;--app-callout-tip-bg: linear-gradient(135deg, #f8bbd0 0%, #f48fb1 100%);--app-callout-tip-border: #e91e63;--app-callout-tip-text: #4a0620;--app-callout-encourage-bg: linear-gradient(135deg, #c8e6c9 0%, #81c784 100%);--app-callout-encourage-border: #43a047;--app-callout-encourage-text: #1b5e20;--app-input-bg: #ffffff;--app-overlay: rgba(74, 6, 32, .45);--menu-gradient: linear-gradient(135deg, #ff1744 0%, #d500f9 55%, #c2185b 100%);--menu-text: #ffffff;--auth-page-gradient: linear-gradient(135deg, #ff4081 0%, #e040fb 40%, #ff80ab 100%);--app-btn-neutral-bg: #3d4558;--app-btn-neutral-bg-hover: #4e586e;--app-btn-neutral-text: #f0f3f8;--game-cell-hover-bg: #f8bbd0;--game-cell-hover-border: #e91e63;--game-valid-bg: #c8e6c9;--game-valid-border: #43a047;--game-valid-hover-bg: #a5d6a7;--game-valid-glow: rgba(67, 160, 71, .45);--game-valid-waiting-bg: #ffe082;--game-valid-waiting-border: #ffc107;--game-axis-first-bg: linear-gradient(135deg, #f8bbd0 0%, #f48fb1 100%);--game-axis-first-solid: #f8bbd0;--game-axis-first-border: #e91e63;--game-axis-first-text: #ad1457;--game-axis-first-glow: rgba(233, 30, 99, .45);--game-axis-h-bg: linear-gradient(135deg, #ffe0b2 0%, #ffcc80 100%);--game-axis-h-solid: #ffe0b2;--game-axis-h-border: #ff9800;--game-axis-h-text: #e65100;--game-axis-h-glow: rgba(255, 152, 0, .4);--game-axis-v-bg: linear-gradient(135deg, #e1bee7 0%, #ce93d8 100%);--game-axis-v-solid: #e1bee7;--game-axis-v-border: #ab47bc;--game-axis-v-text: #7b1fa2;--game-axis-v-glow: rgba(171, 71, 188, .4);--game-invalid-bg: #ffcdd2;--game-invalid-border: #e53935;--game-select-tint: rgba(233, 30, 99, .16)}html[data-theme=easter]{color-scheme:light;--app-bg: #efe6ff;--app-bg-elevated: #faf7ff;--app-bg-muted: #ddd0ff;--app-bg-sunken: #c4b0ff;--app-text: #2a1050;--app-text-muted: #5a3a90;--app-text-subtle: #7a5ab0;--app-border: #b39ddb;--app-border-strong: #9575cd;--app-shadow: 0 6px 28px rgba(100, 40, 180, .18);--app-shadow-soft: 0 2px 12px rgba(100, 40, 180, .14);--app-link: #6200ea;--app-accent: #651fff;--app-accent-contrast: #ffffff;--app-danger: #c62828;--app-danger-soft: #ffcdd2;--app-danger-soft-hover: #ef9a9a;--app-danger-border-soft: #e57373;--app-success: #00897b;--app-success-soft: rgba(0, 150, 136, .16);--app-warn: #f9a825;--app-warn-soft: #fff59d;--app-warn-soft-border: #ffee58;--app-info-soft: rgba(101, 31, 255, .14);--app-info-soft-border: #7c4dff;--app-callout-highlight-bg: linear-gradient(135deg, #ffff00 0%, #ffea00 100%);--app-callout-highlight-border: #fbc02d;--app-callout-highlight-text: #2a1050;--app-callout-tip-bg: linear-gradient(135deg, #b39ddb 0%, #9575cd 100%);--app-callout-tip-border: #7e57c2;--app-callout-tip-text: #1a0838;--app-callout-encourage-bg: linear-gradient(135deg, #80cbc4 0%, #4db6ac 100%);--app-callout-encourage-border: #00897b;--app-callout-encourage-text: #004d40;--app-input-bg: #ffffff;--app-overlay: rgba(42, 16, 80, .42);--menu-gradient: linear-gradient(135deg, #aa00ff 0%, #00bfa5 50%, #ffd600 100%);--menu-text: #ffffff;--auth-page-gradient: linear-gradient(135deg, #e040fb 0%, #64ffda 45%, #ffff00 100%);--app-btn-neutral-bg: #3d4558;--app-btn-neutral-bg-hover: #4e586e;--app-btn-neutral-text: #f0f3f8;--game-cell-hover-bg: #d1c4e9;--game-cell-hover-border: #7c4dff;--game-valid-bg: #b2dfdb;--game-valid-border: #00897b;--game-valid-hover-bg: #80cbc4;--game-valid-glow: rgba(0, 137, 123, .45);--game-valid-waiting-bg: #fff59d;--game-valid-waiting-border: #fbc02d;--game-axis-first-bg: linear-gradient(135deg, #82b1ff 0%, #448aff 100%);--game-axis-first-solid: #82b1ff;--game-axis-first-border: #2979ff;--game-axis-first-text: #0d47a1;--game-axis-first-glow: rgba(41, 121, 255, .4);--game-axis-h-bg: linear-gradient(135deg, #ffff8d 0%, #ffea00 100%);--game-axis-h-solid: #ffff8d;--game-axis-h-border: #fbc02d;--game-axis-h-text: #f57f17;--game-axis-h-glow: rgba(251, 192, 45, .45);--game-axis-v-bg: linear-gradient(135deg, #ea80fc 0%, #e040fb 100%);--game-axis-v-solid: #ea80fc;--game-axis-v-border: #d500f9;--game-axis-v-text: #6a1b9a;--game-axis-v-glow: rgba(213, 0, 249, .4);--game-invalid-bg: #ffcdd2;--game-invalid-border: #e53935;--game-select-tint: rgba(101, 31, 255, .14)}html[data-theme=spring]{color-scheme:light;--app-bg: #e4f8e8;--app-bg-elevated: #f5fff7;--app-bg-muted: #c8f0d0;--app-bg-sunken: #a5e6b0;--app-text: #0d3318;--app-text-muted: #1b5e20;--app-text-subtle: #2e7d32;--app-border: #81c784;--app-border-strong: #66bb6a;--app-shadow: 0 6px 28px rgba(40, 140, 60, .18);--app-shadow-soft: 0 2px 12px rgba(40, 140, 60, .14);--app-link: #1b5e20;--app-accent: #2e7d32;--app-accent-contrast: #ffffff;--app-danger: #c62828;--app-danger-soft: #ffcdd2;--app-danger-soft-hover: #ef9a9a;--app-danger-border-soft: #e57373;--app-success: #00c853;--app-success-soft: rgba(0, 200, 83, .16);--app-warn: #f57f17;--app-warn-soft: #ffe082;--app-warn-soft-border: #ffca28;--app-info-soft: rgba(46, 125, 50, .16);--app-info-soft-border: #43a047;--app-callout-highlight-bg: linear-gradient(135deg, #f48fb1 0%, #ec407a 100%);--app-callout-highlight-border: #d81b60;--app-callout-highlight-text: #0d3318;--app-callout-tip-bg: linear-gradient(135deg, #a5d6a7 0%, #66bb6a 100%);--app-callout-tip-border: #2e7d32;--app-callout-tip-text: #0d3318;--app-callout-encourage-bg: linear-gradient(135deg, #ffe082 0%, #ffca28 100%);--app-callout-encourage-border: #f9a825;--app-callout-encourage-text: #e65100;--app-input-bg: #ffffff;--app-overlay: rgba(13, 51, 24, .4);--menu-gradient: linear-gradient(135deg, #00c853 0%, #64dd17 40%, #ff4081 100%);--menu-text: #ffffff;--auth-page-gradient: linear-gradient(135deg, #69f0ae 0%, #ff80ab 45%, #ffff8d 100%);--app-btn-neutral-bg: #3d4558;--app-btn-neutral-bg-hover: #4e586e;--app-btn-neutral-text: #f0f3f8;--game-cell-hover-bg: #a5d6a7;--game-cell-hover-border: #43a047;--game-valid-bg: #a5d6a7;--game-valid-border: #2e7d32;--game-valid-hover-bg: #81c784;--game-valid-glow: rgba(46, 125, 50, .45);--game-valid-waiting-bg: #ffe082;--game-valid-waiting-border: #ffca28;--game-axis-first-bg: linear-gradient(135deg, #80d8ff 0%, #40c4ff 100%);--game-axis-first-solid: #80d8ff;--game-axis-first-border: #00b0ff;--game-axis-first-text: #01579b;--game-axis-first-glow: rgba(0, 176, 255, .4);--game-axis-h-bg: linear-gradient(135deg, #f48fb1 0%, #f06292 100%);--game-axis-h-solid: #f48fb1;--game-axis-h-border: #ec407a;--game-axis-h-text: #ad1457;--game-axis-h-glow: rgba(236, 64, 122, .4);--game-axis-v-bg: linear-gradient(135deg, #ffe082 0%, #ffca28 100%);--game-axis-v-solid: #ffe082;--game-axis-v-border: #ffb300;--game-axis-v-text: #e65100;--game-axis-v-glow: rgba(255, 179, 0, .4);--game-invalid-bg: #ffcdd2;--game-invalid-border: #e53935;--game-select-tint: rgba(46, 125, 50, .14)}html[data-theme=summer]{color-scheme:light;--app-bg: #d6f3ff;--app-bg-elevated: #f0fbff;--app-bg-muted: #b3e5fc;--app-bg-sunken: #81d4fa;--app-text: #012a4a;--app-text-muted: #01579b;--app-text-subtle: #0277bd;--app-border: #4fc3f7;--app-border-strong: #29b6f6;--app-shadow: 0 6px 28px rgba(0, 120, 180, .2);--app-shadow-soft: 0 2px 12px rgba(0, 120, 180, .14);--app-link: #0277bd;--app-accent: #0288d1;--app-accent-contrast: #ffffff;--app-danger: #c62828;--app-danger-soft: #ffcdd2;--app-danger-soft-hover: #ef9a9a;--app-danger-border-soft: #e57373;--app-success: #00c853;--app-success-soft: rgba(0, 200, 83, .16);--app-warn: #ef6c00;--app-warn-soft: #ffe0b2;--app-warn-soft-border: #ffb74d;--app-info-soft: rgba(2, 136, 209, .16);--app-info-soft-border: #29b6f6;--app-callout-highlight-bg: linear-gradient(135deg, #ffd740 0%, #ffab00 100%);--app-callout-highlight-border: #ff6d00;--app-callout-highlight-text: #012a4a;--app-callout-tip-bg: linear-gradient(135deg, #80d8ff 0%, #40c4ff 100%);--app-callout-tip-border: #0091ea;--app-callout-tip-text: #012a4a;--app-callout-encourage-bg: linear-gradient(135deg, #69f0ae 0%, #00e676 100%);--app-callout-encourage-border: #00c853;--app-callout-encourage-text: #1b5e20;--app-input-bg: #ffffff;--app-overlay: rgba(1, 42, 74, .42);--menu-gradient: linear-gradient(135deg, #00b0ff 0%, #2979ff 40%, #ff9100 100%);--menu-text: #ffffff;--auth-page-gradient: linear-gradient(135deg, #40c4ff 0%, #18ffff 35%, #ffd740 100%);--app-btn-neutral-bg: #3d4558;--app-btn-neutral-bg-hover: #4e586e;--app-btn-neutral-text: #f0f3f8;--game-cell-hover-bg: #80d8ff;--game-cell-hover-border: #00b0ff;--game-valid-bg: #69f0ae;--game-valid-border: #00c853;--game-valid-hover-bg: #00e676;--game-valid-glow: rgba(0, 200, 83, .45);--game-valid-waiting-bg: #ffe082;--game-valid-waiting-border: #ffab00;--game-axis-first-bg: linear-gradient(135deg, #80d8ff 0%, #40c4ff 100%);--game-axis-first-solid: #80d8ff;--game-axis-first-border: #0091ea;--game-axis-first-text: #01579b;--game-axis-first-glow: rgba(0, 145, 234, .45);--game-axis-h-bg: linear-gradient(135deg, #ffd740 0%, #ffab00 100%);--game-axis-h-solid: #ffd740;--game-axis-h-border: #ff6d00;--game-axis-h-text: #e65100;--game-axis-h-glow: rgba(255, 109, 0, .45);--game-axis-v-bg: linear-gradient(135deg, #18ffff 0%, #00e5ff 100%);--game-axis-v-solid: #18ffff;--game-axis-v-border: #00b8d4;--game-axis-v-text: #006064;--game-axis-v-glow: rgba(0, 229, 255, .45);--game-invalid-bg: #ffcdd2;--game-invalid-border: #e53935;--game-select-tint: rgba(0, 176, 255, .16)}.seasonal-extras{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;pointer-events:none;overflow:hidden}.seasonal-extras__item{position:absolute;font-size:clamp(1.45rem,3.2vw,2.35rem);line-height:1;opacity:.72;-webkit-user-select:none;user-select:none;will-change:transform;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}.seasonal-extras__item--a{top:12%;left:6%;animation:seasonal-drift-a 22s linear infinite}.seasonal-extras__item--b{top:28%;right:8%;animation:seasonal-drift-b 28s linear infinite}.seasonal-extras__item--c{bottom:18%;left:12%;animation:seasonal-drift-c 26s linear infinite}.seasonal-extras__item--d{top:62%;right:14%;animation:seasonal-drift-a 30s linear infinite reverse}.seasonal-extras__item--e{bottom:8%;right:28%;opacity:.58;animation:seasonal-drift-b 24s linear infinite}.seasonal-extras__item--f{top:8%;left:42%;opacity:.55;animation:seasonal-drift-c 32s linear infinite reverse}@keyframes seasonal-drift-a{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(18px,-28px,0) rotate(12deg)}to{transform:translateZ(0) rotate(0)}}@keyframes seasonal-drift-b{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(-22px,16px,0) rotate(-10deg)}to{transform:translateZ(0) rotate(0)}}@keyframes seasonal-drift-c{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(12px,22px,0) rotate(8deg)}to{transform:translateZ(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.seasonal-extras__item{animation:none!important}}.toast-stack{position:fixed;right:16px;bottom:16px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:min(92vw,360px)}.toast{padding:12px 14px;border-radius:8px;box-shadow:var(--app-shadow, 0 8px 24px rgba(0, 0, 0, .18));color:var(--app-accent-contrast, #fff);font-size:.92rem}.toast--info{background:var(--app-accent, #334155)}.toast--success{background:var(--app-success, #15803d)}.toast--error{background:var(--app-danger, #b91c1c)}.toast-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--app-overlay, rgba(15, 23, 42, .45));display:flex;align-items:center;justify-content:center;z-index:2100;padding:16px}.toast-confirm-card{background:var(--app-bg-elevated, #fff);color:var(--app-text, #212529);border-radius:12px;padding:20px;max-width:420px;width:100%;box-shadow:var(--app-shadow, 0 16px 40px rgba(0, 0, 0, .2))}.toast-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.toast-confirm-actions button{border:1px solid var(--app-border-strong, #cbd5e1);background:var(--app-bg-elevated, #fff);color:var(--app-text, #212529);border-radius:6px;padding:8px 14px;cursor:pointer}.toast-confirm-actions button.primary{background:var(--app-link, #007bff);border-color:var(--app-link, #007bff);color:var(--app-accent-contrast, #fff)}:root{--game-play-max-width: 1200px;--player-1-color: #007bff;--player-2-color: #28a745;--player-1-color-rgb: 0, 123, 255;--player-2-color-rgb: 40, 167, 69}.App{text-align:center;min-height:100vh;background-color:var(--app-bg, #f5f5f5);color:var(--app-text, #212529)}.route-error{max-width:32rem;margin:3rem auto;padding:2rem;text-align:center;background:var(--app-bg-elevated, #fff);color:var(--app-text, #333);border-radius:12px;box-shadow:var(--app-shadow, 0 4px 12px rgba(0, 0, 0, .08))}.route-error h1{margin:0 0 .75rem;font-size:1.35rem;color:var(--app-text, #333)}.route-error p{margin:.5rem 0;color:var(--app-text-muted, #666)}.route-error a{color:var(--app-link, #007bff)}.game-over{max-width:min(100%,var(--game-play-max-width, 720px));margin:0 auto;padding:40px;background-color:var(--app-bg-elevated, white);color:var(--app-text, #212529);border-radius:12px;box-shadow:var(--app-shadow, 0 4px 12px rgba(0, 0, 0, .1));border:1px solid var(--app-border, transparent);text-align:center}.final-board-section{margin:1.75rem 0;text-align:left;color:var(--app-text, #212529)}.final-board-section h3{margin:0 0 .75rem;font-size:1.15rem;text-align:center;color:var(--app-text, #212529)}.final-board-section__toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 1rem;font-size:.95rem;cursor:pointer;color:var(--app-text-muted, #555)}.game-over h2{margin:0 0 20px;color:var(--app-text, #333);font-size:2rem;font-weight:600}.game-over p{margin:10px 0;color:var(--app-text-muted, #666);font-size:1.1rem}.game-over .winner{color:var(--app-success, #28a745);font-weight:600;font-size:1.2rem;margin:20px 0}.game-over .end-game-comment{margin:.75rem auto 1.25rem;max-width:28rem;font-size:1.05rem;font-style:italic;color:var(--app-text, #212529)}.post-game-summary{margin:1.5rem 0;padding:1rem;text-align:left;background:var(--app-bg-muted, #f8f9fa);color:var(--app-text, #212529);border-radius:8px;border:1px solid var(--app-border, transparent)}.post-game-summary h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--app-text, #212529)}.post-game-summary__intro{margin:0 0 .75rem;font-size:.95rem;color:var(--app-text-muted, #555)}.post-game-summary__toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;color:var(--app-text-muted, #555)}.post-game-summary__list{margin:.75rem 0 0;padding-left:1.25rem;color:var(--app-text, #333)}.game-over-reason{background-color:var(--app-bg-muted, #f8f9fa);padding:15px;border-radius:8px;margin:20px 0;border-left:4px solid var(--app-link, #007bff);border:1px solid var(--app-border, transparent);border-left-width:4px;border-left-color:var(--app-link, #007bff)}.game-over-reason p{margin:0;color:var(--app-text, #495057);font-weight:600;font-size:1.1rem}.final-scores{margin:30px 0;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.final-scores .score-card{min-width:200px;max-width:250px}.daily-leaderboard{margin:1.5rem 0;padding:1rem 1.15rem;text-align:left;background:var(--app-bg-muted, #f8f9fa);color:var(--app-text, #212529);border-radius:10px;border:1px solid var(--app-border, #dee2e6)}.daily-leaderboard h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--app-text, #212529)}.daily-leaderboard p,.daily-leaderboard li{color:var(--app-text-muted, #495057)}.daily-leaderboard ol{margin:.5rem 0 0;padding-left:1.25rem}.daily-leaderboard__you{margin:.25rem 0 .5rem}.daily-leaderboard__status{margin:.35rem 0;font-size:.9rem}.daily-leaderboard__status--error{color:var(--app-danger, #b02a37)}.daily-leaderboard__row--you{font-weight:700;color:var(--app-text, #212529)}.daily-leaderboard__rank{font-variant-numeric:tabular-nums;color:var(--app-text-muted, #6c757d)}.daily-leaderboard__name{font-weight:inherit}.finished-stats{margin:1.25rem 0;padding:1rem 1.15rem;text-align:left;background:var(--app-bg-muted, #f8f9fa);color:var(--app-text, #212529);border-radius:10px;border:1px solid var(--app-border, #dee2e6)}.finished-stats h3{margin:0 0 .65rem;font-size:1.05rem}.finished-stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.65rem 1rem;margin:0}.finished-stats__grid div{margin:0}.finished-stats__grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--app-text-muted, #6c757d)}.finished-stats__grid dd{margin:.15rem 0 0;font-weight:600;font-variant-numeric:tabular-nums}.winner-announcement{margin:30px 0;padding:20px;border-radius:10px}.winner{color:var(--app-success, #28a745);background-color:var(--app-success-soft, #d4edda);border:2px solid var(--app-success, #c3e6cb);padding:20px;border-radius:10px}.winner h3{margin:0 0 10px;font-size:1.8rem}.winner p{margin:0;font-size:1.1rem}.tie{color:var(--app-text-muted, #6c757d);background-color:var(--app-bg-sunken, #e9ecef);border:2px solid var(--app-border, #dee2e6);padding:20px;border-radius:10px}.game-statistics{margin:30px 0;padding:20px;background-color:var(--app-bg-muted, #f8f9fa);color:var(--app-text, #212529);border-radius:10px;border:1px solid var(--app-border, #dee2e6)}.game-statistics h3{margin:0 0 20px;color:var(--app-text, #333);font-size:1.4rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background-color:var(--app-bg-elevated, white);border-radius:8px;border:1px solid var(--app-border, #e9ecef);color:var(--app-text, #212529)}.stat-label{font-weight:500;color:var(--app-text-muted, #6c757d)}.stat-value{font-weight:600;color:var(--app-text, #333)}.final-game-grid{margin:30px 0;padding:20px;background-color:var(--app-bg-muted, #f8f9fa);color:var(--app-text, #212529);border-radius:10px;border:1px solid var(--app-border, #dee2e6)}.final-game-grid h3{margin:0 0 20px;color:var(--app-text, #333);font-size:1.4rem;font-weight:600;text-align:center}.final-game-grid .grid-container{display:block!important;background-color:var(--app-bg-elevated, white);border-radius:8px;padding:20px;border:2px solid var(--app-border, #dee2e6);margin-bottom:20px;overflow:visible;position:relative;width:fit-content;height:auto;margin-left:auto;margin-right:auto}.final-game-grid .grid-row{display:flex!important;gap:2px;justify-content:center;width:100%;flex-wrap:nowrap;flex-direction:row;align-items:stretch}.final-game-grid .grid-row:not(:last-child){margin-bottom:2px}.final-game-grid .grid-cell{width:40px!important;height:40px!important;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;background-color:var(--app-bg-muted, #f8f9fa);border:1px solid var(--app-border, #dee2e6);border-radius:4px;position:relative;font-size:12px;font-weight:500;flex-shrink:0;min-width:40px;min-height:40px;max-width:40px;max-height:40px}.final-game-grid .grid-cell.selected.player-1{background-color:#007bff33;border-color:#007bff}.final-game-grid .grid-cell.selected.player-2{background-color:rgba(var(--player-2-color-rgb),.2);border-color:var(--player-2-color)}.final-game-grid .grid-cell.hidden{background-color:var(--app-btn-neutral-bg, #5c6570);color:var(--app-btn-neutral-text, #ffffff)}.final-game-grid .grid-cell .cell-value{font-weight:600;color:var(--app-text, #333)}.final-game-grid .grid-cell .player-indicator{position:absolute;top:2px;right:2px;background-color:#007bff;color:#fff;font-size:8px;font-weight:700;padding:2px 4px;border-radius:3px;line-height:1}.final-game-grid .grid-cell.selected.player-2 .player-indicator{background-color:var(--player-2-color)}.final-game-grid .grid-cell .hidden-indicator{font-size:16px;font-weight:700;color:#fff}.grid-legend{text-align:center}.grid-legend h4{margin:0 0 15px;color:var(--app-text, #333);font-size:1.1rem;font-weight:600}.legend-items{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--app-text-muted, #666)}.legend-color{width:16px;height:16px;border-radius:3px;border:1px solid var(--app-border, #dee2e6)}.legend-color.player-1{background-color:#007bff33;border-color:#007bff}.legend-color.player-2{background-color:rgba(var(--player-2-color-rgb),.2);border-color:var(--player-2-color)}.legend-color.hidden{background-color:var(--app-text-muted, #6c757d)}.legend-color.unselected{background-color:var(--app-bg-muted, #f8f9fa)}@media(max-width:768px){.game-over{padding:20px;margin:10px}.stats-grid{grid-template-columns:1fr;gap:10px}.final-game-grid .grid-cell{width:35px;height:35px;font-size:11px}.final-game-grid .grid-cell .player-indicator{font-size:7px;padding:1px 3px}.legend-items{flex-direction:column;align-items:center;gap:10px}.final-scores{flex-direction:column;align-items:center}.final-scores .score-card{min-width:150px;max-width:200px}}@media(max-width:480px){.final-game-grid .grid-cell{width:30px;height:30px;font-size:10px}.final-game-grid .grid-container,.game-statistics,.final-game-grid{padding:15px}}.tie h3{margin:0 0 10px;font-size:1.8rem}.tie p{margin:0;font-size:1.1rem}.game-stats{background-color:var(--app-bg-elevated, white);color:var(--app-text, #212529);border-radius:12px;margin:10px auto;width:100%;max-width:var(--game-play-max-width);box-sizing:border-box;box-shadow:var(--app-shadow, 0 4px 12px rgba(0, 0, 0, .1));overflow:hidden;border:1px solid var(--app-border, transparent)}.game-stats-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.game-stats-header h3{margin:0;font-size:1.3rem;font-weight:600}.game-mode-badge{background-color:#fff3;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500;letter-spacing:.5px}.game-stats-content{padding:15px 25px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.game-stats-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 20px;background:var(--app-bg-muted, #f8f9fb);border-bottom:1px solid var(--app-border, #e6eaf0);color:var(--app-text, #212529);font-size:.9rem;text-align:left}.stats-toggle-button{margin-left:auto;border:1px solid var(--app-border-strong, #c8d0dc);background:var(--app-bg-elevated, white);color:var(--app-text, #374151);padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.85rem}.stats-toggle-button:hover{background:var(--app-bg-sunken, #f3f4f6)}.game-info-section{display:flex;flex-direction:column;gap:10px}.connection-warning{background-color:var(--app-warn-soft, #fff3cd);border:1px solid var(--app-warn-soft-border, #ffeaa7);color:var(--app-warn, #856404);padding:8px 12px;border-radius:6px;font-size:.85rem;font-weight:500;margin:8px 0 0}.connection-warning--sync{background-color:var(--app-info-soft, #e7f5ff);border-color:var(--app-info-soft-border, #a5d8ff);color:var(--app-info, #1864ab)}.game-info-card{background-color:var(--app-bg-muted, #f8f9fa);color:var(--app-text, #212529);padding:10px 15px;border-radius:8px;border-left:4px solid var(--app-link, #007bff);border:1px solid var(--app-border, transparent);border-left-width:4px;border-left-color:var(--app-link, #007bff)}.scores-section{display:flex;flex-direction:column;gap:15px}.score-card{background:linear-gradient(135deg,var(--app-bg-muted, #f8f9fa) 0%,var(--app-bg-sunken, #e9ecef) 100%);padding:15px;border-radius:8px;border:1px solid var(--app-border, #dee2e6);display:flex;justify-content:space-between;align-items:center;position:relative;color:var(--app-text, #212529)}.score-card.player-1{border-left:4px solid #007bff}.score-card.player-2{border-left:4px solid var(--player-2-color)}.score-card .player-name{font-weight:600;color:var(--app-text, #495057);font-size:1rem}.score-card .score{font-size:1.2rem;font-weight:700;color:#007bff;background-color:var(--app-bg-elevated, white);padding:4px 12px;border-radius:20px;border:2px solid #007bff}.score-card.player-1 .score{color:#007bff;border-color:#007bff}.score-card.player-2 .score{color:var(--player-2-color);border-color:var(--player-2-color)}.game-info-card h4{margin:0 0 8px;color:var(--app-text-muted, #495057);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.game-info-card p{margin:0;font-size:1rem;color:var(--app-text, #333);font-weight:500}.playing-leave-row{margin-top:.65rem}.playing-leave-button{width:100%;padding:.65rem .85rem;border-radius:6px;border:1px solid var(--app-border-strong, #ced4da);background:var(--app-bg-muted, #f8f9fa);color:var(--app-text, #212529);font-size:.9rem;font-weight:700;cursor:pointer}.playing-leave-button:hover:not(:disabled){background:var(--app-bg-sunken, #e9ecef)}.playing-leave-button:disabled{opacity:.55;cursor:wait}.playing-delete-button{margin-top:.75rem;width:100%;padding:.55rem .75rem;border-radius:6px;border:1px solid var(--app-danger-border-soft, #f1c0c0);background:var(--app-danger-soft, #fff5f5);color:var(--app-danger, #c92a2a);font-size:.85rem;font-weight:600;cursor:pointer}.playing-delete-button:hover:not(:disabled){background:var(--app-danger-soft-hover, #ffe3e3)}.playing-delete-button:disabled{opacity:.55;cursor:wait}.finished-share-button{background:linear-gradient(135deg,#0f766e,#0d9488)!important;box-shadow:0 2px 4px #0f766e40!important}.finished-share-button:hover:not(:disabled){box-shadow:0 4px 8px #0f766e59!important}.finished-delete-button{background:var(--app-bg-elevated, #fff)!important;color:var(--app-danger, #c92a2a)!important;border:2px solid var(--app-danger, #c92a2a)!important;box-shadow:none!important}.finished-delete-button:hover:not(:disabled){background:var(--app-danger-soft, #fff5f5)!important}.finished-delete-button:disabled{opacity:.55;cursor:wait}.turn-status{background-color:var(--app-warn-soft, #fff3cd);border:1px solid var(--app-warn-soft-border, #ffeaa7);border-radius:8px;padding:10px 15px;margin-top:10px}.turn-status.current-turn{background-color:var(--app-success-soft, #d4edda);border-color:var(--app-success, #c3e6cb)}.turn-status.turn-change-cue{animation:turnCuePulse .6s ease-in-out 3;border-color:var(--app-success, #28a745);box-shadow:0 0 0 3px #28a7452e}.turn-status p{margin:0;font-weight:600;color:var(--app-success, #155724)}@keyframes turnCuePulse{0%{transform:scale(1);box-shadow:0 0 #28a74561}50%{transform:scale(1.02);box-shadow:0 0 0 8px #28a7450d}to{transform:scale(1);box-shadow:0 0 #28a74500}}.game-actions{grid-column:1 / -1;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:15px;padding-top:15px;border-top:1px solid var(--app-border, #dee2e6)}.game-actions button{background:var(--menu-gradient, linear-gradient(135deg, #007bff 0%, #0056b3 100%));color:var(--menu-text, white);border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #007bff33}.game-actions button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.game-actions button:active{transform:translateY(0)}@media(max-width:768px){.app-page-shell__main{padding:0}.game-stats{margin:4px 4px 6px;max-width:none;border-radius:8px}.game-stats-content{grid-template-columns:1fr;gap:20px}.game-stats-summary{padding:8px 10px;gap:6px;font-size:.82rem}.game-stats-summary .stats-toggle-button{margin-left:0;width:100%;margin-top:4px}.game-stats-header{flex-direction:column;text-align:center;padding:10px 12px}.code-actions{flex-direction:column;width:100%}.copy-button,.share-button{width:100%;padding:12px 20px;font-size:1rem}.share-instructions{font-size:.9rem;padding:0 20px}}.waiting-screen{max-width:600px;margin:0 auto;padding:40px;background-color:var(--app-bg-elevated, white);color:var(--app-text, #212529);border-radius:10px;box-shadow:var(--app-shadow, 0 4px 6px rgba(0, 0, 0, .1));text-align:center}.waiting-screen h2{margin:0 0 20px;color:var(--app-text, #333);font-size:1.8rem;font-weight:600}.waiting-screen p{margin:10px 0;color:var(--app-text-muted, #666);font-size:1.1rem}.game-code-section{margin:30px 0}.game-code-section p{margin:0 0 10px;color:var(--app-text, #333);font-weight:600;font-size:1.1rem}.code-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;margin:20px 0;padding:20px;background-color:var(--app-bg-muted, #f8f9fa);border-radius:10px;border:2px solid var(--app-link, #007bff)}.code-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.game-code{font-family:monospace;font-size:2rem;font-weight:700;color:var(--app-link, #007bff);letter-spacing:3px;text-transform:uppercase}.copy-button{background-color:var(--app-link, #007bff);color:var(--menu-text, white);border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .3s ease}.copy-button:hover{background-color:var(--app-link, #0056b3)}.share-button{background-color:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .3s ease}.share-button:hover{background-color:#218838}.share-instructions{color:var(--app-text-muted, #666);font-size:.95rem;font-style:italic;text-align:center;max-width:500px;margin:15px auto}.waiting-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.waiting-actions button{background-color:var(--app-link, #007bff);color:var(--menu-text, white);border:none;padding:12px 24px;font-size:1.1rem;border-radius:5px;cursor:pointer;transition:background-color .3s}.waiting-actions button:hover{background-color:var(--app-link, #0056b3)}.waiting-actions__delete{background-color:var(--app-bg-elevated, #fff)!important;color:var(--app-danger, #c92a2a)!important;border:2px solid var(--app-danger, #c92a2a)!important}.waiting-actions__delete:hover:not(:disabled){background-color:var(--app-danger-soft, #fff5f5)!important}.waiting-actions__delete:disabled{opacity:.55;cursor:wait}.route-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:40vh;padding:2rem;color:var(--text-secondary, #6c757d)}.route-fallback__spinner{width:2rem;height:2rem;border:3px solid rgba(0,123,255,.2);border-top-color:#007bff;border-radius:50%;animation:route-fallback-spin .8s linear infinite}.route-fallback__label{font-size:.95rem}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}
