:root{--color-bg: #ffffff;--color-bg-secondary: #f5f5f5;--color-text: #1a1a1a;--color-text-secondary: #666666;--color-border: #e0e0e0;--color-primary: #0066cc;--color-primary-hover: #0052a3;--color-on-primary: #ffffff;--color-success: #28a745;--color-warning: #ffc107;--color-on-warning: #211a05;--color-error: #dc3545;--color-on-error: #ffffff;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--entry-pad-max: 960px}[data-theme=corporate-dark]{--color-bg: #1a1a1a;--color-bg-secondary: #2a2a2a;--color-text: #ffffff;--color-text-secondary: #b0b0b0;--color-border: #404040;--color-primary: #4da6ff;--color-primary-hover: #3d8fd9;--color-on-primary: #0e1b26;--color-success: #5cb85c;--color-warning: #f0ad4e;--color-error: #d9534f;--color-on-error: #1a0e12}[data-theme=sunset-light]{--color-bg: #fff8f0;--color-bg-secondary: #fbeadd;--color-text: #3f2a20;--color-text-secondary: #8a6250;--color-border: #efd9c3;--color-primary: #c6510c;--color-primary-hover: #a84308;--color-success: #6a994e;--color-warning: #efa00b;--color-error: #c03221;--gradient-page: linear-gradient(160deg, #ffe8cc 0%, #fff8f0 45%, #ffd9a8 100%);--gradient-primary: linear-gradient(135deg, #d2580e 0%, #b04308 100%);--gradient-primary-hover: linear-gradient(135deg, #b04308 0%, #933706 100%)}[data-theme=sunset-dark]{--color-bg: #241b33;--color-bg-secondary: #332647;--color-text: #fff3e4;--color-text-secondary: #d3b8a5;--color-border: #4a3a5c;--color-primary: #ff9e4a;--color-primary-hover: #ffb470;--color-on-primary: #2e180a;--color-success: #7fb069;--color-warning: #ffc94d;--color-error: #ff6b5e;--color-on-error: #1a0e12;--gradient-page: linear-gradient(170deg, #1b1230 0%, #241b33 45%, #3d2138 100%);--gradient-primary: linear-gradient(135deg, #ffb25a 0%, #ff7a3d 100%);--gradient-primary-hover: linear-gradient(135deg, #ffa640 0%, #f56a2e 100%)}[data-theme=natural-light]{--color-bg: #f7f5ec;--color-bg-secondary: #e7ebda;--color-text: #243326;--color-text-secondary: #5f6e58;--color-border: #d2d8c0;--color-primary: #3e7c4f;--color-primary-hover: #2f633e;--color-success: #4c9a50;--color-warning: #c98a2c;--color-error: #b4552d;--gradient-page: linear-gradient(165deg, #e9eed8 0%, #f7f5ec 45%, #dfe8cc 100%);--gradient-primary: linear-gradient(135deg, #448350 0%, #315f3c 100%);--gradient-primary-hover: linear-gradient(135deg, #37703f 0%, #26492e 100%)}[data-theme=natural-dark]{--color-bg: #15211a;--color-bg-secondary: #1f3026;--color-text: #e6eedf;--color-text-secondary: #a8bc9e;--color-border: #3a4f3e;--color-primary: #7fb069;--color-primary-hover: #93c07e;--color-on-primary: #14261a;--color-success: #5fa777;--color-warning: #d9a441;--color-error: #d96c4a;--color-on-error: #1a0e12;--gradient-page: linear-gradient(170deg, #0e1811 0%, #15211a 45%, #1e3018 100%);--gradient-primary: linear-gradient(135deg, #8cbe74 0%, #679a52 100%);--gradient-primary-hover: linear-gradient(135deg, #79ac61 0%, #558742 100%)}[data-theme=neon-light]{--color-bg: #fafafe;--color-bg-secondary: #f0f0fa;--color-text: #17171f;--color-text-secondary: #565672;--color-border: #dcdcee;--color-primary: #6c3ce9;--color-primary-hover: #5827c7;--color-success: #0ca678;--color-warning: #ee9b00;--color-error: #d91e45;--gradient-page: linear-gradient(160deg, #eef0ff 0%, #fafafe 40%, #e6f4ff 100%);--gradient-primary: linear-gradient(135deg, #6c3ce9 0%, #1f7fd1 100%);--gradient-primary-hover: linear-gradient(135deg, #5827c7 0%, #1a6ab4 100%)}[data-theme=neon-dark]{--color-bg: #0d0d1a;--color-bg-secondary: #181830;--color-text: #f2f1ff;--color-text-secondary: #9b99c0;--color-border: #2e2e52;--color-primary: #31d2e8;--color-primary-hover: #5fe0f1;--color-on-primary: #06222b;--color-success: #2ee6a8;--color-warning: #ffd43b;--color-error: #ff3d71;--color-on-error: #1a0e12;--gradient-page: radial-gradient(ellipse 80% 50% at 15% -10%, rgba(124, 77, 255, .28), transparent), radial-gradient(ellipse 70% 45% at 90% 110%, rgba(34, 184, 220, .2), transparent), linear-gradient(180deg, #10101f 0%, #0d0d1a 100%);--gradient-primary: linear-gradient(135deg, #31d2e8 0%, #1fa6c9 100%);--gradient-primary-hover: linear-gradient(135deg, #5fe0f1 0%, #2bb4d6 100%)}[data-theme=cosmic-light]{--color-bg: #f5f4fc;--color-bg-secondary: #eae7f8;--color-text: #26224f;--color-text-secondary: #635e8c;--color-border: #d9d5ee;--color-primary: #5b4bc4;--color-primary-hover: #4a3aa8;--color-success: #2e9e8f;--color-warning: #d9a404;--color-error: #d64562;--gradient-page: linear-gradient(160deg, #e7e4fa 0%, #f5f4fc 45%, #e1e6f6 100%);--gradient-primary: linear-gradient(135deg, #6a57d9 0%, #4c3bb0 100%);--gradient-primary-hover: linear-gradient(135deg, #5a48c4 0%, #3f2f9b 100%)}[data-theme=cosmic-dark]{--color-bg: #100f24;--color-bg-secondary: #1b1a38;--color-text: #efedff;--color-text-secondary: #a5a1ce;--color-border: #323060;--color-primary: #8f80f3;--color-primary-hover: #a396f7;--color-on-primary: #16123a;--color-success: #3ddab4;--color-warning: #f2c14e;--color-error: #f0567e;--color-on-error: #1a0e12;--gradient-page: linear-gradient(175deg, #0b0a1e 0%, #16143a 50%, #2a1b4e 100%);--gradient-primary: linear-gradient(135deg, #9d8bf5 0%, #8471e4 100%);--gradient-primary-hover: linear-gradient(135deg, #8b77ef 0%, #6f5bd2 100%)}[data-theme=deep-sea-light]{--color-bg: #f1f8f7;--color-bg-secondary: #e1efee;--color-text: #0e3a42;--color-text-secondary: #466e76;--color-border: #c8dfdc;--color-primary: #0e7c86;--color-primary-hover: #0a616b;--color-success: #2e9e68;--color-warning: #d9930d;--color-error: #c44226;--gradient-page: linear-gradient(170deg, #dff0ee 0%, #f1f8f7 45%, #e0f0f6 100%);--gradient-primary: linear-gradient(135deg, #0f8090 0%, #0a5d6b 100%);--gradient-primary-hover: linear-gradient(135deg, #0c6b79 0%, #074954 100%)}[data-theme=deep-sea-dark]{--color-bg: #0a1b28;--color-bg-secondary: #12293a;--color-text: #e3f2f4;--color-text-secondary: #93b7bf;--color-border: #1f4256;--color-primary: #3bc9db;--color-primary-hover: #62d8e6;--color-on-primary: #062028;--color-success: #34d399;--color-warning: #f2c14e;--color-error: #f0654a;--color-on-error: #1a0e12;--gradient-page: linear-gradient(175deg, #061220 0%, #0a1b28 45%, #10394e 100%);--gradient-primary: linear-gradient(135deg, #46d4e5 0%, #1e9db4 100%);--gradient-primary-hover: linear-gradient(135deg, #62d8e6 0%, #27b0c7 100%)}[data-theme=fiesta-light]{--color-bg: #fff7fa;--color-bg-secondary: #ffe4ef;--color-text: #33122e;--color-text-secondary: #8a567e;--color-border: #f4cddd;--color-primary: #d81b60;--color-primary-hover: #b4144f;--color-success: #5c9e1a;--color-warning: #ffb300;--color-error: #c62828;--gradient-page: linear-gradient(150deg, #ffe0ee 0%, #fff7fa 40%, #dff3ff 100%);--gradient-primary: linear-gradient(135deg, #ec1e79 0%, #8e24aa 100%);--gradient-primary-hover: linear-gradient(135deg, #d11668 0%, #7b1fa2 100%)}[data-theme=fiesta-dark]{--color-bg: #1a1024;--color-bg-secondary: #261736;--color-text: #fff8fd;--color-text-secondary: #cbaad4;--color-border: #3e2a52;--color-primary: #ff4fa0;--color-primary-hover: #ff6fb3;--color-on-primary: #2b0a1c;--color-success: #a2e84d;--color-warning: #ffd54f;--color-error: #ff5252;--color-on-error: #1a0e12;--gradient-page: radial-gradient(ellipse 60% 45% at 15% -5%, rgba(236, 30, 121, .25), transparent), radial-gradient(ellipse 55% 40% at 90% 105%, rgba(142, 36, 170, .28), transparent), linear-gradient(180deg, #221430 0%, #1a1024 100%);--gradient-primary: linear-gradient(135deg, #ff4fa0 0%, #b26bff 100%);--gradient-primary-hover: linear-gradient(135deg, #ff6fb3 0%, #c084ff 100%)}[data-theme=tropical-light]{--color-bg: #f2fbf9;--color-bg-secondary: #dcf4ef;--color-text: #123f3a;--color-text-secondary: #3e7370;--color-border: #bfe5de;--color-primary: #00897b;--color-primary-hover: #00695f;--color-success: #2e7d32;--color-warning: #ffb300;--color-error: #bf360c;--gradient-page: linear-gradient(150deg, #ffe9dd 0%, #f2fbf9 45%, #dcf4ef 100%);--gradient-primary: linear-gradient(135deg, #00897b 0%, #2e7d32 100%);--gradient-primary-hover: linear-gradient(135deg, #00716a 0%, #1f5c23 100%)}[data-theme=tropical-dark]{--color-bg: #0c2321;--color-bg-secondary: #14332f;--color-text: #eafff9;--color-text-secondary: #9ecfc6;--color-border: #1f4a44;--color-primary: #1de9b6;--color-primary-hover: #55efc4;--color-on-primary: #04211c;--color-success: #b2ff59;--color-warning: #ffd54f;--color-error: #ff7043;--color-on-error: #1a0e12;--gradient-page: radial-gradient(ellipse 70% 40% at 80% -10%, rgba(29, 233, 182, .12), transparent), linear-gradient(175deg, #061a18 0%, #0c2321 45%, #123b33 100%);--gradient-primary: linear-gradient(135deg, #1de9b6 0%, #00bfa5 100%);--gradient-primary-hover: linear-gradient(135deg, #55efc4 0%, #26c6a5 100%)}[data-theme=prism-light]{--color-bg: #fdfcff;--color-bg-secondary: #f1eef9;--color-text: #241539;--color-text-secondary: #5e5480;--color-border: #e2daf2;--color-primary: #5626d6;--color-primary-hover: #4519bf;--color-on-primary: #241032;--color-success: #0f9d58;--color-warning: #ffb300;--color-error: #d32f2f;--gradient-page: linear-gradient(140deg, #ffdef0 0%, #fff6de 28%, #e0f9ef 55%, #dfeeff 80%, #f0e5ff 100%);--gradient-primary: linear-gradient(135deg, #ff2e7e 0%, #ff8a00 50%, #00b8d9 100%);--gradient-primary-hover: linear-gradient(135deg, #f01d6e 0%, #f07c00 50%, #00a5c4 100%)}[data-theme=prism-dark]{--color-bg: #130d22;--color-bg-secondary: #1e1633;--color-text: #f8f5ff;--color-text-secondary: #b3aacf;--color-border: #332852;--color-primary: #ff3d9e;--color-primary-hover: #ff63b5;--color-on-primary: #1e0f26;--color-success: #4de8a6;--color-warning: #ffd54f;--color-error: #ff5a6e;--color-on-error: #1a0e12;--gradient-page: radial-gradient(ellipse 60% 45% at 20% -5%, rgba(255, 61, 158, .32), transparent), radial-gradient(ellipse 55% 40% at 85% 12%, rgba(0, 184, 217, .28), transparent), radial-gradient(ellipse 70% 50% at 50% 110%, rgba(133, 77, 255, .3), transparent), linear-gradient(180deg, #170f2b 0%, #130d22 100%);--gradient-primary: linear-gradient(135deg, #ff3d9e 0%, #ffa726 45%, #26c6da 100%);--gradient-primary-hover: linear-gradient(135deg, #ff63b5 0%, #ffb74d 45%, #4dd0e1 100%)}[data-theme$=-light]{--player-l: .62;--player-c: .14;--player-tint: 18%}[data-theme$=-dark]{--player-l: .76;--player-c: .13;--player-tint: 24%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--gradient-page, var(--color-bg));background-attachment:fixed;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;font-size:inherit;color:inherit;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm)}input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.score-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.score-input::-webkit-outer-spin-button,.score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}main{display:contents}.app-main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-md);width:100%;min-width:360px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:500;transition:background-color .2s,transform .1s;min-height:44px}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary, var(--color-primary));color:var(--color-on-primary, #ffffff)}.btn-primary:hover{background:var(--gradient-primary-hover, var(--color-primary-hover))}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-border)}.card{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.header{display:flex;flex-wrap:wrap;row-gap:var(--spacing-xs);justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.header h1{font-size:var(--font-size-xl);font-weight:600}.header-brand{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0}.header-game-name{color:var(--color-text-secondary);font-weight:400}.header-abandon{padding:var(--spacing-xs) var(--spacing-sm);min-height:36px;font-size:var(--font-size-sm)}@media(max-width:420px){.header{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.theme-split-button{display:inline-flex;flex-shrink:0}.theme-split-button__main{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md) 0 0 var(--radius-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-right:none;font-size:var(--font-size-lg);line-height:1}.theme-split-button__arrow{width:28px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:0 var(--radius-md) var(--radius-md) 0;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text)}.theme-split-button__main:hover,.theme-split-button__arrow:hover{background-color:var(--color-border)}.theme-split-button__main:focus-visible,.theme-split-button__arrow:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.theme-split-button__arrow-icon{font-size:var(--font-size-sm);line-height:1}.theme-split-button__popover{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:1000;display:flex;flex-direction:column;padding:var(--spacing-xs) 0;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto}.theme-split-button__option{display:flex;align-items:center;gap:var(--spacing-sm);min-height:44px;padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:var(--font-size-base);color:var(--color-text);background:none;border:none}.theme-split-button__option:hover{background-color:var(--color-bg-secondary)}.theme-split-button__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.theme-split-button__option--selected{font-weight:600}.theme-split-button__swatches{display:inline-flex;gap:3px;flex-shrink:0}.theme-split-button__swatch{width:14px;height:14px;border-radius:50%;border:1px solid var(--color-border)}.theme-split-button__option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-split-button__check{flex-shrink:0;color:var(--color-primary)}.fullscreen-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text);flex-shrink:0}.fullscreen-button:hover{background-color:var(--color-border)}.fullscreen-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.fullscreen-button svg{width:24px;height:24px;fill:currentColor}@media(max-width:480px){.fullscreen-button{display:none}}.play-layout{flex:1;min-height:0;display:grid;grid-template-areas:"status" "workzone" "dock";grid-template-rows:auto minmax(min-content,1fr) minmax(25dvh,33dvh);width:100%;max-width:1200px;min-width:360px;margin:0 auto;padding:var(--spacing-md)}.play-status{grid-area:status;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-md)}.play-status h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(1.25rem,2.5vw,1.5rem)}.play-status>div:first-child{min-width:0}.play-status>div:last-child{flex-shrink:0}.play-status__progress{overflow:hidden}.play-workzone{grid-area:workzone;position:relative;min-width:0}.play-workzone-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.play-workzone-scroll>.card.entry-surface{max-width:var(--entry-pad-max);margin-inline:auto}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm)}@media(max-width:480px){.category-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.category-grid .btn{padding:var(--spacing-sm) var(--spacing-sm)}}.category-btn--used{opacity:.5;cursor:not-allowed}.parts-step-heading{display:flex;flex-direction:column;gap:var(--spacing-xs)}.parts-step-landscape{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.parts-step-name{font-size:var(--font-size-xl);font-weight:700}.parts-step-count{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary)}.play-dock{grid-area:dock;padding-top:var(--spacing-md);min-width:0;min-height:0}@media(max-width:480px){.play-layout{grid-template-rows:auto minmax(0,1fr) 22dvh}}.player-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:var(--spacing-md);height:100%;overflow-x:auto;overflow-anchor:none;-webkit-overflow-scrolling:touch}.player-strip .player-card{height:100%;max-height:none;min-height:0}.player-card{display:flex;flex-direction:column;--player-base: color-mix(in srgb, var(--player-col, var(--color-bg-secondary)) var(--player-tint, 18%), var(--color-bg-secondary));background-color:var(--player-base);border:2px solid color-mix(in srgb,var(--player-col, var(--color-border)) 45%,var(--color-border));border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:transform .25s ease-out,border-color .25s ease-out,background-color .25s ease-out}.player-card--current{border-color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 8%,var(--player-base))}.player-card--selectable{cursor:pointer}.player-card--selectable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.player-card__dot,.player-colour-dot{width:1.1em;height:1.1em;border-radius:50%;border:1px solid color-mix(in srgb,var(--player-col, var(--color-border)) 30%,var(--color-text-secondary));background-color:var(--player-col);flex-shrink:0;align-self:center}.player-card__header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:var(--spacing-sm);border-bottom:1px solid color-mix(in srgb,white var(--player-tint, 18%),transparent);flex-shrink:0;gap:var(--spacing-sm)}.player-card__name{font-weight:600;font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-player-count__display{height:60px;width:72px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-2xl);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.setup-colour-swatch{width:28px;height:28px;padding:0;flex-shrink:0;align-self:center;border-radius:50%;border:2px solid white;cursor:pointer}.setup-colour-swatch__popover{display:flex;flex-wrap:wrap;justify-content:space-evenly;align-content:start;align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-width:calc(100vw - 16px)}.setup-colour-swatch__option{width:30px;height:30px;padding:0;border-radius:50%;border:2px solid white;cursor:pointer}.setup-colour-swatch__option--selected{box-shadow:inset 0 0 0 2px var(--color-text)}.setup-colour-swatch:focus-visible,.setup-colour-swatch__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.player-card__total{font-size:var(--font-size-xl);font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.player-card__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xs);padding-top:var(--spacing-sm)}.player-card__empty{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;padding:var(--spacing-sm)}.player-card__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.player-card__row:hover{background-color:var(--color-bg)}.player-card__row-meta{display:flex;align-items:baseline;gap:var(--spacing-xs);min-width:0;overflow-x:auto;scrollbar-width:thin}.player-card__turn-num{flex-shrink:0;min-width:var(--turn-num-col, 2ch);text-align:right;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.player-card__slot-label{white-space:nowrap;font-size:var(--font-size-sm)}.player-card__components{white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.player-card__score{font-size:var(--font-size-lg);font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.turn-menu{display:inline-block;flex-shrink:0}.turn-menu__trigger{width:40px;height:40px;border-radius:var(--radius-sm);font-size:var(--font-size-lg);line-height:1;color:var(--color-text-secondary);background:transparent}.turn-menu__trigger:hover{background-color:var(--color-border);color:var(--color-text)}.turn-menu__popover{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:140px;z-index:1000;display:flex;flex-direction:column;padding:var(--spacing-xs) 0;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto}.turn-menu__item{text-align:left;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;font-size:var(--font-size-base);color:var(--color-text)}.turn-menu__item:hover{background-color:var(--color-bg-secondary)}.turn-menu__item--danger{color:var(--color-error)}.turn-menu__item--highlight{color:var(--color-primary);font-weight:500}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.score-entry-card{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;--pad-wide-min: 668px;--pad-totting-extra: 176px}.score-entry-card--named-only .score-entry-card__main{gap:var(--spacing-sm)}.score-entry-card__body{display:flex;gap:var(--spacing-md);min-width:0;align-items:stretch}.score-entry-card__totting-column{width:0;overflow:hidden;flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-sm);transition:width .2s ease;background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.score-entry-card__totting-column--open{width:160px}.score-entry-card__totting-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xs)}.score-entry-card__totting-empty{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;padding:var(--spacing-sm);text-align:center}.score-entry-card__totting-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.score-entry-card__totting-row-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-entry-card__totting-remove{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--font-size-sm);line-height:1}.score-entry-card__totting-remove:hover{background-color:var(--color-border)}.score-entry-card__totting-foot{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);margin-top:auto}.score-entry-card__totting-total{text-align:center;font-size:var(--font-size-xl);font-weight:600;font-variant-numeric:tabular-nums;border-radius:var(--radius-md);border:2px solid transparent;transition:border-color .3s ease-in-out}.score-entry-card__totting-total--invalid{border-color:var(--color-error)}.score-entry-card__totting-actions{display:flex;gap:var(--spacing-sm);align-items:stretch}.score-entry-card__cancel-button{flex:0 0 auto;width:36px;min-height:52px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background-color:var(--color-bg);border:1px solid var(--color-error);color:var(--color-error);font-size:var(--font-size-lg);line-height:1}.score-entry-card__totting-submit-button{flex:1;min-width:0;min-height:52px}.score-entry-card__cancel-button:hover{background-color:var(--color-error);color:var(--color-on-error, #ffffff)}.score-entry-card__main{flex:1;min-width:0;display:grid;gap:var(--spacing-sm);grid-template-areas:"stepper" "named" "keypad" "submit";grid-template-rows:auto auto auto auto}.score-entry-card__stepper-row{grid-area:stepper}.score-entry-card__named-value-row{grid-area:named;align-content:center}.score-entry-card__keypad{grid-area:keypad;justify-self:center;align-self:center}.score-entry-card__submit-row{grid-area:submit;display:flex;align-self:end}@media(min-width:704px){.score-entry-card__main{grid-template-areas:"stepper keypad" "named   keypad" "submit  keypad";grid-template-rows:auto 1fr auto;grid-template-columns:minmax(220px,1fr) max-content;align-items:stretch}}.score-entry-card--pad-narrow .score-entry-card__main{grid-template-areas:"stepper" "named" "keypad" "submit";grid-template-rows:auto auto auto auto;grid-template-columns:none}.entry-surface{padding:var(--spacing-sm) var(--spacing-md)}.entry-surface h3{font-size:var(--font-size-base)}.entry-surface .score-entry-card__stepper-button{width:clamp(44px,10vw,56px);height:clamp(44px,10vw,56px);font-size:var(--font-size-lg)}.entry-surface .score-entry-card__input{height:clamp(44px,10vw,56px);font-size:var(--font-size-lg);line-height:normal;padding:var(--spacing-xs) calc(var(--spacing-md) + 32px) var(--spacing-xs) var(--spacing-md)}.entry-surface .score-entry-card__placeholder-visual{font-size:var(--font-size-lg)}.entry-surface .score-entry-card__keypad-key{height:min(10vw,56px);width:min(100%,112px);min-height:0}.entry-surface .score-entry-card__submit-button{min-height:clamp(44px,10vw,52px);padding-block:var(--spacing-xs)}@media(max-height:640px){.play-layout{grid-template-rows:auto minmax(0,1fr) 20dvh}.entry-surface .score-entry-card__keypad-key{height:36px}}.score-entry-card__named-value-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.score-entry-card__named-value{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:500;font-size:var(--font-size-base);min-height:44px;transition:background-color .2s,transform .1s}.score-entry-card__named-value:active:not(:disabled){transform:scale(.98)}.score-entry-card__named-value--preset{background:var(--gradient-primary, var(--color-primary));color:var(--color-on-primary, #ffffff)}.score-entry-card__named-value--preset:hover{background:var(--gradient-primary-hover, var(--color-primary-hover))}.score-entry-card__named-value--needs-value{background-color:var(--color-bg);color:var(--color-text);border:2px solid var(--color-primary)}.score-entry-card__named-value--needs-value:hover{background-color:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg))}.score-entry-card--pad-narrow .score-entry-card__named-value{padding-inline:var(--spacing-sm);font-size:var(--font-size-sm)}.score-entry-card__named-value--used,.score-entry-card__named-value:disabled{background:var(--color-bg-secondary, transparent);color:var(--color-text-secondary);opacity:.55;cursor:not-allowed}.score-entry-card__stepper-row{display:flex;gap:var(--spacing-sm)}.score-entry-card__stepper-button{flex:0 0 auto;width:60px;height:60px;border-radius:var(--radius-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-2xl);line-height:1}.score-entry-card__stepper-button:hover{background-color:var(--color-border)}.score-entry-card__stepper-button:disabled{opacity:.55;color:var(--color-text-secondary);cursor:not-allowed}.score-entry-card__stepper-button:disabled:hover{background-color:var(--color-bg-secondary)}.score-entry-card__input-wrapper{position:relative;flex:1;min-width:0}.score-entry-card__input-wrapper--empty .score-entry-card__input::placeholder{color:transparent;opacity:0}.score-entry-card__placeholder-visual{position:absolute;top:50%;left:calc(50% - 16px);transform:translate(-100%,-50%);color:var(--color-text);font-size:var(--font-size-2xl);line-height:normal;opacity:.6;pointer-events:none}.score-entry-card__input{width:100%;height:60px;font-size:var(--font-size-2xl);text-align:center;padding:var(--spacing-md) calc(var(--spacing-md) + 32px) var(--spacing-md) var(--spacing-md);border-radius:var(--radius-md)}.score-entry-card__input::placeholder{text-align:center;opacity:.6}.score-entry-card__input{outline:2px solid transparent;outline-offset:2px;transition:outline-color .3s ease-in-out}.score-entry-card__input--invalid{outline-color:var(--color-error)}.score-entry-card__input--invalid:focus{outline-color:var(--color-error)}.score-entry-card__input-clear{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--color-error);font-size:var(--font-size-base);line-height:1;background:transparent}.score-entry-card__input-clear:hover{background-color:color-mix(in srgb,var(--color-error) 10%,transparent)}.score-entry-card__keypad{display:grid;grid-template-columns:repeat(3,minmax(0,120px));justify-content:center;gap:var(--spacing-sm)}.score-entry-card__keypad-key{aspect-ratio:2 / 1;width:min(100%,clamp(72px,28vw,120px));height:clamp(36px,14vw,60px);min-height:36px;max-width:120px;max-height:60px;border-radius:var(--radius-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text);font-size:clamp(var(--font-size-base),2.5vw,var(--font-size-lg));font-weight:500;justify-self:center}.score-entry-card__keypad-key:hover{background-color:var(--color-border)}.score-entry-card__keypad-key--sum{background-color:color-mix(in srgb,var(--color-primary) 15%,var(--color-bg-secondary));border-color:var(--color-primary)}.score-entry-card__keypad-key--backspace{font-size:var(--font-size-lg)}.score-entry-card__submit-button{flex:1;min-height:52px;padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--gradient-primary, var(--color-primary));color:var(--color-on-primary, #ffffff);font-size:var(--font-size-lg);font-weight:500}.score-entry-card__submit-button:hover:not(:disabled){background:var(--gradient-primary-hover, var(--color-primary-hover))}.score-entry-card__submit-button--warning{background:none;background-color:var(--color-warning);color:var(--color-on-warning, #211a05)}.score-entry-card__submit-button--warning:hover:not(:disabled){background:none;background-color:color-mix(in srgb,var(--color-warning) 85%,black)}.score-entry-card__submit-button:disabled,.score-entry-card__submit-button--disabled{opacity:.6;cursor:not-allowed}.score-entry-card__value-popup{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#00000080;z-index:1000}.score-entry-card__value-popup-content{width:min(90vw,320px);padding:var(--spacing-lg);border-radius:var(--radius-lg);background-color:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.score-entry-card__value-popup-title{font-size:var(--font-size-lg);font-weight:600;text-align:center}.score-entry-card__value-popup-input{width:100%;height:60px;font-size:var(--font-size-2xl);text-align:center}.score-entry-card__value-popup-input::placeholder{text-align:center;opacity:.6}.score-entry-card__value-popup-hint{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.score-entry-card__value-popup-actions{display:flex;gap:var(--spacing-sm)}.score-entry-card__value-popup-actions .btn{flex:1}.entry-modal{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--entry-modal-freeze-top, 0px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-md);padding-top:max(var(--spacing-md),var(--entry-modal-top, 0px));background-color:#00000080;animation:entry-modal-in .15s ease-out}.entry-modal--centered{align-items:center;padding-top:var(--spacing-md)}.entry-modal--closing{pointer-events:none;animation:entry-modal-out .15s ease-in forwards}.entry-modal__panel{max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.entry-modal__heading{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}@keyframes entry-modal-in{0%{opacity:0;transform:scale(.97)}}@keyframes entry-modal-out{to{opacity:0;transform:scale(.97)}}.game-options__panel{min-width:min(24rem,calc(100vw - 2 * var(--spacing-md)))}.game-options__row{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.game-options__input{width:1.25rem;height:1.25rem;margin-top:.15rem;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}@media(prefers-reduced-motion:reduce){.entry-modal{animation:none}.entry-modal--closing{animation:none;opacity:0}}.score-entry-card__toast{position:fixed;top:var(--spacing-md);left:50%;transform:translate(-50%);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background-color:var(--color-error);color:var(--color-on-error, #ffffff);font-weight:500;z-index:1001;box-shadow:var(--shadow-md)}.score-entry-card__live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.score-entry-card__confirm-popover{position:absolute;bottom:calc(100% + var(--spacing-sm));left:0;right:0;padding:var(--spacing-md);border-radius:var(--radius-md);background-color:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:10;font-size:var(--font-size-sm)}.score-entry-card__confirm-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.score-entry-card__confirm-actions .btn{flex:1}@media(min-aspect-ratio:4/3){.play-layout{grid-template-areas:"dock status" "dock workzone";grid-template-columns:clamp(292px,27vw,calc(100vw - var(--entry-pad-max) - 48px)) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);max-width:none}.play-dock{padding-top:0;padding-right:var(--spacing-md)}.play-status{padding-bottom:var(--spacing-md)}.play-workzone{min-height:0}.player-strip{grid-auto-flow:row;grid-auto-rows:minmax(min-content,1fr);grid-template-columns:minmax(260px,320px);grid-auto-columns:unset;justify-content:center;overflow-y:auto;overflow-x:hidden;direction:rtl}.player-strip .player-card{height:auto;direction:ltr}.play-workzone-scroll>.card.entry-surface{margin-inline:auto 0}.entry-modal{padding-left:calc(var(--entry-modal-freeze-left, 0px) + var(--spacing-md))}}@media(min-aspect-ratio:4/3)and (min-width:1180px){.play-layout:has(.player-card:nth-last-child(n+3)){grid-template-columns:clamp(570px,55vw,calc(100vw - var(--entry-pad-max) - 48px)) minmax(0,1fr)}.play-layout:has(.player-card:nth-last-child(n+3)) .player-strip{grid-auto-flow:column;grid-template-columns:repeat(2,minmax(260px,320px));grid-auto-columns:minmax(260px,320px);grid-template-rows:repeat(2,minmax(min-content,1fr));justify-content:center}.play-layout:has(.player-card:nth-last-child(n+5)) .player-strip{grid-template-rows:repeat(3,minmax(min-content,1fr))}.play-layout:has(.player-card:nth-last-child(n+7)) .player-strip{grid-template-rows:repeat(4,minmax(min-content,1fr))}.play-layout:has(.player-card:nth-last-child(n+9)) .player-strip{grid-template-rows:repeat(5,minmax(min-content,1fr))}}@media(min-aspect-ratio:4/3)and (min-width:1600px){.play-layout:has(.player-card:nth-last-child(n+7)){grid-template-columns:clamp(860px,74vw,calc(100vw - var(--entry-pad-max) - 48px)) minmax(0,1fr)}.play-layout:has(.player-card:nth-last-child(n+7)) .player-strip{grid-auto-flow:column;grid-template-columns:repeat(3,minmax(260px,320px));grid-auto-columns:minmax(260px,320px);grid-template-rows:repeat(3,minmax(min-content,1fr));justify-content:center}.play-layout:has(.player-card:nth-last-child(n+10)) .player-strip{grid-template-rows:repeat(4,minmax(min-content,1fr))}}.player-strip--animating{overflow:hidden}
