:root{--bg:#0c2b1c;--card:#123a26;--card-alt:#163f2a;--border:#1f5334;--border-light:#2a5a3c;--text:#f5f7ef;--text-muted:#9db8a8;--text-faint:#6f8a7a;--accent:#ffc23c;--accent-dark:#e0a422;--accent-bg:#ffc23c24;--on-accent:#0c2b1c;--heading-from:#fff;--danger:#ff6b57;--warn:#ffc23c;--success-bg:#16452c;--warn-bg:#ffc23c29;--danger-bg:#ff6b5724;--owngoal-bg:#ff6b5724;--danger-soft-bg:#ff6b5714;--success-border:#3ecf8e59;--warn-border:#ffc23c59;--danger-border:#ff6b5752;--trophy-bronze:#b87333;--trophy-silver:#a8b4bf;--trophy-gold:#e0a422;--coin-face:#f2b830;--coin-edge:#9a6d12;--radius-lg:14px;--radius-md:10px;--radius-sm:6px;--shadow-card:0 10px 30px -8px #00000080;--shadow-sm:0 2px 8px #00000040;--font-display:"Oswald", sans-serif;--font-body:"Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--bg-pattern:repeating-linear-gradient(180deg, transparent 0px, transparent 38px, #7f7f7f09 38px, #7f7f7f09 76px);--bg-pattern-size:auto;--header-bg:var(--card);--header-bg-home:linear-gradient(180deg, var(--accent-bg), transparent 70%);--header-text:var(--text);--header-muted:var(--text-muted);--header-accent:var(--accent);--header-border:var(--border);--display-case:uppercase;--display-weight-strong:700;--display-weight-medium:600;--display-style:normal;--card-border-width:1px;--card-border-style:solid;--score-color:var(--accent);--tile-shadow:0 2px 0 var(--border);--accent-glow:#ffc23c59;--backdrop:#04100999;--logo-tile:var(--header-text);--logo-letter:var(--bg);--logo-accent:var(--accent)}:root[data-theme=light]{--bg:#eef6ee;--card:#fff;--card-alt:#e6f1e3;--border:#d3e6cd;--border-light:#bdd8b4;--text:#16311f;--text-muted:#4f6b52;--text-faint:#7c9280;--accent:#c97f0e;--accent-dark:#a8690a;--accent-bg:#c97f0e1f;--on-accent:#fff;--heading-from:#16311f;--danger:#b3392a;--warn:#a8690a;--success-bg:#dcf3e2;--warn-bg:#c97f0e24;--danger-bg:#b3392a14;--owngoal-bg:#b3392a14;--danger-soft-bg:#b3392a0f;--success-border:#1f8e5452;--warn-border:#c97f0e52;--danger-border:#b3392a4d;--shadow-card:0 10px 24px -10px #14321926;--shadow-sm:0 2px 8px #1432191a;--accent-glow:#c97f0e4d;--backdrop:#16311f73}*{box-sizing:border-box;margin:0;padding:0}@media (width>=900px){html{font-size:19.5px}main,.back-link{max-width:1040px}.season-range{max-width:700px}.puzzle-calendar{max-width:520px}main.puzzle-main{max-width:1300px}main.arcade-main{max-width:1100px}.arcade-main .team-list{grid-template-columns:repeat(3,1fr)}}@media (width>=1300px){main,.back-link{max-width:1180px}.season-range{max-width:900px}.home-menu{max-width:760px}main.puzzle-main{max-width:1500px}main.arcade-main{max-width:1400px}.arcade-main .team-list{grid-template-columns:repeat(4,1fr)}}body{font-family:var(--font-body);background:var(--bg);color:var(--text);transition:background-color .2s,color .2s}.app{background-image:var(--bg-pattern);background-size:var(--bg-pattern-size);flex-direction:column;min-height:100vh;display:flex}header{text-align:center;border-bottom:1px solid var(--header-border);background:var(--header-bg-home);color:var(--header-text);--text:var(--header-text);--text-muted:var(--header-muted);--text-faint:var(--header-muted);--accent:var(--header-accent);--accent-dark:var(--header-accent);--heading-from:var(--header-text);--warn:var(--header-accent);padding:2.25rem 1rem 1.75rem;position:relative}.header-logo{filter:drop-shadow(0 6px 12px #0000002e);width:5.25rem;height:5.25rem;margin:-.4rem auto .1rem;display:block}header h1{font-family:var(--font-display);font-style:var(--display-style);font-size:2.5rem;font-weight:var(--display-weight-strong);letter-spacing:.02em;text-transform:var(--display-case);background:linear-gradient(135deg, var(--heading-from), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.4rem}header p{color:var(--text-muted);font-size:1rem}.theme-toggle{border:1px solid var(--text-faint);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.theme-toggle:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.theme-toggle:active{transform:scale(.92)}.header-compact{background:var(--header-bg);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 3.25rem .7rem 1.25rem;display:flex}.header-compact-title{font-family:var(--font-display);font-style:var(--display-style);font-size:1.05rem;font-weight:var(--display-weight-strong);letter-spacing:.02em;text-transform:var(--display-case);color:var(--text);white-space:nowrap;align-items:center;gap:.4rem;min-width:0;display:flex}.header-compact-name{text-overflow:ellipsis;overflow:hidden}.header-compact-logo{flex:none;width:1.9em;height:1.9em}.header-compact .theme-toggle{width:2rem;height:2rem;font-size:1rem;top:50%;right:1rem;transform:translateY(-50%)}.header-compact .theme-toggle:active{transform:translateY(-50%)scale(.92)}main{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;width:100%;max-width:780px;margin:0 auto;padding:2rem 1.5rem;display:flex}.home-screen{flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.home-menu{flex-direction:column;gap:.75rem;width:100%;max-width:380px;display:flex}@media (width>=700px){.home-menu{grid-template-columns:repeat(2,1fr);gap:.85rem;max-width:640px;display:grid}.menu-item-primary,.theme-banner,.home-profile,.home-settings-link{grid-column:1/-1}}.theme-banner{border:1px solid var(--accent);background:var(--accent-bg);border-radius:var(--radius-md);text-align:left;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding:.85rem 1rem;display:flex}.theme-banner-icon{color:var(--accent);flex-shrink:0;margin-top:.1rem;font-size:1.3rem}.theme-banner-name{font-family:var(--font-display);font-style:var(--display-style);font-size:1rem;font-weight:var(--display-weight-medium);letter-spacing:.02em;text-transform:var(--display-case);color:var(--text)}.theme-banner-description{color:var(--text-muted);margin-top:.15rem;font-size:.85rem}.menu-item{border:var(--card-border-width) var(--card-border-style) var(--border);background:var(--card);color:var(--text);border-radius:var(--radius-md);cursor:pointer;text-align:left;flex-direction:column;gap:.3rem;padding:1rem 1.5rem;transition:border-color .2s,background .2s,transform .15s,box-shadow .2s;display:flex}.menu-item-label{font-family:var(--font-display);font-style:var(--display-style);font-size:1.05rem;font-weight:var(--display-weight-medium);letter-spacing:.02em;text-transform:var(--display-case);align-items:center;gap:.75rem;display:flex}.menu-item-subtitle{letter-spacing:normal;text-transform:none;color:var(--text-muted);font-size:.8rem;font-weight:400}.menu-item-primary .menu-item-subtitle{color:var(--on-accent);opacity:.85}.menu-item:hover:not(:disabled){border-color:var(--accent);background:var(--card-alt);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.menu-item:active:not(:disabled){transform:translateY(0)}.menu-item:disabled{color:var(--text-faint);cursor:not-allowed}.menu-item-primary{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:var(--on-accent);border-color:var(--accent);box-shadow:0 8px 20px -6px var(--accent-glow)}.menu-item-primary:hover{background:var(--accent-dark)}.home-tile-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.home-daily-badge{background:var(--on-accent);color:var(--accent);white-space:nowrap;border-radius:999px;flex:none;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.home-daily-match{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-medium);text-transform:var(--display-case);overflow-wrap:break-word;font-size:1.15rem;line-height:1.15}.menu-item.home-tile{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem}.home-tile-text{flex-direction:column;gap:.3rem;min-width:0;display:flex}.home-tile-value{font-family:var(--font-display);font-weight:var(--display-weight-strong);color:var(--score-color);flex:none;font-size:1.5rem}.home-tile-theme{color:var(--text);font-weight:600}.home-level-ring{background:conic-gradient(var(--accent) var(--progress), var(--border) 0);border-radius:50%;flex:none;width:2.6rem;height:2.6rem;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - .3rem),#000 calc(100% - .29rem));mask:radial-gradient(farthest-side,#0000 calc(100% - .3rem),#000 calc(100% - .29rem))}.home-settings-link{min-height:2.9rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.home-settings-link:hover{color:var(--text)}.home-settings-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.season-range{border:var(--card-border-width) var(--card-border-style) var(--border);border-radius:var(--radius-md);background:var(--card);width:100%;max-width:480px;margin:0 auto 1.25rem;padding:.85rem 1rem 1rem}.season-range-label{color:var(--text-muted);justify-content:space-between;align-items:baseline;margin-bottom:.6rem;font-size:.8rem;display:flex}.season-range-value{color:var(--accent);font-size:.85rem;font-weight:600}.season-range-track{height:1.5rem;position:relative}.season-range-input{pointer-events:none;appearance:none;background:0 0;width:100%;height:1.5rem;margin:0;position:absolute;top:0;left:0}.season-range-input::-webkit-slider-runnable-track{background:var(--border-light);border-radius:2px;height:4px}.season-range-input::-moz-range-track{background:var(--border-light);border-radius:2px;height:4px}.season-range-input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;background:var(--accent);border:2px solid var(--bg);cursor:pointer;border-radius:50%;width:16px;height:16px;margin-top:-6px}.season-range-input::-moz-range-thumb{pointer-events:auto;background:var(--accent);border:2px solid var(--bg);cursor:pointer;border-radius:50%;width:14px;height:14px}.back-link{color:var(--text-muted);cursor:pointer;box-sizing:border-box;background:0 0;border:none;align-self:flex-start;width:100%;max-width:780px;margin:0 auto;padding:1rem 1.5rem 0;font-size:.9rem;transition:color .15s}.back-link:hover{color:var(--text)}.puzzle-calendar{background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-card);padding:1.75rem}.puzzle-calendar-header{align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.calendar-month-label{text-align:center;flex:1;font-size:1.25rem;font-weight:700}.calendar-nav-btn,.calendar-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.35rem .7rem;font-size:1.6rem;line-height:1;transition:background .15s,color .15s}.calendar-nav-btn:hover:not(:disabled),.calendar-close-btn:hover{background:var(--card-alt);color:var(--text)}.calendar-nav-btn:disabled{color:var(--text-faint);cursor:not-allowed}.calendar-close-btn{margin-left:.25rem}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.calendar-weekdays{text-align:center;color:var(--text-faint);margin-bottom:.6rem;font-size:.85rem;font-weight:600}.calendar-cell{aspect-ratio:1.35}.calendar-day{background:var(--card-alt);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;font-size:1.1rem;font-weight:500;transition:border-color .15s,color .15s,transform .1s;position:relative}.calendar-day:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.calendar-day:active:not(:disabled){transform:scale(.94)}.calendar-day.is-today{border-color:var(--accent)}.calendar-day.is-selected{background:var(--accent);color:var(--on-accent);font-weight:600}.calendar-day.is-disabled{color:var(--text-faint);cursor:not-allowed;background:0 0}.calendar-day.status-green{background:var(--success-bg);border-color:var(--success-border)}.calendar-day.status-red{background:var(--danger-bg);border-color:var(--danger-border)}.calendar-status-mark{font-size:.75rem;line-height:1;position:absolute;bottom:2px;right:5px}.status-green .calendar-status-mark{color:var(--accent)}.status-red .calendar-status-mark{color:var(--danger)}.calendar-legend{color:var(--text-muted);flex-wrap:wrap;gap:.9rem;margin-bottom:.75rem;font-size:.78rem;display:flex}.calendar-legend-item{align-items:center;gap:.35rem;display:flex}.calendar-legend-dot{border-radius:50%;flex-shrink:0;width:.6rem;height:.6rem}.calendar-legend-dot.status-green{background:var(--success-border)}.calendar-legend-dot.status-red{background:var(--danger-border)}.calendar-day.is-selected .calendar-status-mark{color:var(--on-accent)}.team-select{text-align:center;width:100%}.team-select h2{margin-bottom:.4rem;font-size:1.4rem}.team-select-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.select-all-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text);cursor:pointer;margin-bottom:.75rem;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;transition:border-color .2s,background .2s,transform .15s}.select-all-btn:hover{border-color:var(--accent);background:var(--card-alt);transform:translateY(-1px)}.select-all-btn:active{transform:translateY(0)}.select-all-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.team-list{text-align:left;grid-template-columns:repeat(2,1fr);gap:.6rem;display:grid}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.stat-tile{border:var(--card-border-width) var(--card-border-style) var(--border);background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center;padding:1.5rem 1rem}.stat-value{font-family:var(--font-display);font-style:var(--display-style);font-size:2rem;font-weight:var(--display-weight-strong);color:var(--accent)}.stat-value-text{font-size:1.5rem;line-height:2.4rem}.stat-label{color:var(--text-muted);margin-top:.35rem;font-size:.8rem}.panel{border:var(--card-border-width) var(--card-border-style) var(--border);background:var(--card);border-radius:var(--radius-lg);text-align:left;margin-top:2rem;padding:1.25rem}.panel h3{margin-bottom:.35rem;font-size:1.05rem}.reminder-panel-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.reminder-panel-header h3{align-items:center;gap:.5rem;margin-bottom:0;display:flex}.toggle-switch{border:1px solid var(--border);background:var(--card-alt);cursor:pointer;border-radius:999px;flex-shrink:0;width:2.75rem;height:1.5rem;padding:0;transition:background .2s,border-color .2s;position:relative}.toggle-switch-thumb{background:var(--text-faint);width:1.2rem;height:1.2rem;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .2s,background .2s;position:absolute;top:1px;left:1px}.toggle-switch.on{background:var(--accent-bg);border-color:var(--accent)}.toggle-switch.on .toggle-switch-thumb{background:var(--accent);transform:translate(1.25rem)}.toggle-switch:disabled{opacity:.55;cursor:not-allowed}.panel-columns{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem;display:grid}.panel-col-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem}.code-display{letter-spacing:.15em;color:var(--accent);text-align:center;background:var(--card-alt);border-radius:var(--radius-sm);padding:.6rem 0;font-size:1.6rem;font-weight:700}.panel-error{color:var(--danger);margin-top:.5rem;font-size:.85rem}@media (width<=520px){.panel-columns{grid-template-columns:1fr}}.team-item{border:var(--card-border-width) var(--card-border-style) var(--border);border-left-width:3px;border-left-color:var(--team-color,var(--border));background:var(--card);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s,background .2s,transform .15s}.team-item.selected{border-color:var(--accent);background:var(--accent-bg);font-weight:600}.team-item-check{color:var(--accent);vertical-align:-.12em;margin-right:.35rem}.team-item:hover{border-color:var(--accent);background:var(--card-alt);transform:translateY(-1px)}@media (width<=500px){.team-list{grid-template-columns:1fr}.arcade-main .team-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.arcade-main .team-item{padding:.65rem .6rem;font-size:.9rem}}.team-picker-tools{align-items:stretch;gap:.5rem;margin-bottom:.75rem;display:flex}.team-picker-tools .select-all-btn{flex:none;margin-bottom:0}.team-filter{flex:1;min-width:0}.team-filter input{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--card);width:100%;height:100%;min-height:2.5rem;color:var(--text);font:inherit;box-sizing:border-box;padding:0 .8rem;font-size:.95rem}.team-filter input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.arcade-play-bar{z-index:5;padding:.75rem .25rem calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--border);margin:1rem -.25rem 0;position:sticky;bottom:0}.arcade-play-bar .menu-item{text-align:center;align-items:center;width:100%;margin:0}.arcade-play-bar .menu-item-label{justify-content:center}.arcade-play-bar .menu-item-primary:disabled{background:var(--card);color:var(--text-muted);border-color:var(--border);box-shadow:none;opacity:1;cursor:not-allowed}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.puzzle-display{background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);text-align:center;margin-bottom:2rem;padding:2.25rem 2.5rem}.puzzle-display.error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.match-date{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.kickoff-time{color:var(--accent)}.match-details{border-top:1px solid var(--border);text-align:center;color:var(--text-faint);margin-top:1.5rem;padding-top:1rem;font-size:.8rem}.detail-dot{color:var(--border-light);margin:0 .5rem}.scoreboard{grid-template-columns:1fr auto 1fr;align-items:start;gap:1.25rem;display:grid}.side{flex-direction:column;align-items:center;min-width:0;display:flex}.side.home{align-items:flex-end}.side.away{align-items:flex-start}.side .team-name{font-family:var(--font-display);font-style:var(--display-style);font-size:1.1rem;font-weight:var(--display-weight-medium);letter-spacing:.02em;text-transform:var(--display-case);border-bottom:3px solid var(--team-color,transparent);margin-bottom:1rem;padding-bottom:.3rem}.score-center{white-space:nowrap;align-items:center;gap:.5rem;padding-top:.1rem;display:flex}.score-center .score{font-family:var(--font-display);font-style:var(--display-style);font-size:2.5rem;font-weight:var(--display-weight-strong);color:var(--score-color)}.score-center .score-divider{color:var(--text-faint);font-size:1.5rem}.goal-slots{flex-direction:column;gap:.5rem;width:100%;min-width:0;display:flex}.goal-slots.right{align-items:flex-end}.goal-slots.left{align-items:flex-start}.goal-slots.right .goal-slot{justify-content:flex-end}.goal-slots.left .goal-slot{justify-content:flex-start}.goal-slot{border-radius:var(--radius-sm);box-sizing:border-box;align-items:center;gap:.4rem;width:100%;min-width:0;padding:.3rem .6rem;font-size:.95rem;transition:background .2s;display:flex}.goal-slot .ball{opacity:.7;flex-shrink:0;font-size:1rem}.ball-group{flex-shrink:0;align-items:center;gap:.3rem;display:inline-flex}.goal-slot .minute{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:500}.goal-slot .flag{font-size:.95rem}.flag-svg{vertical-align:-.06em;width:1.12em;height:.84em;display:inline-block}.position-badge{letter-spacing:.3px;color:var(--text-muted);background:var(--card-alt);border-radius:3px;flex-shrink:0;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.penalty-badge{letter-spacing:.3px;color:var(--accent);background:var(--accent-bg);border-radius:3px;flex-shrink:0;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.goal-slot .slot-name{font-family:var(--font-display);font-style:var(--display-style);overflow-wrap:anywhere;min-width:0}.name-mask{flex-wrap:wrap;align-items:flex-end;gap:.45em;display:inline-flex}.name-mask-word{gap:.12em;display:inline-flex}.mask-letter{text-align:center;border-bottom:2px solid var(--text-faint);min-width:.75em;line-height:1.3;display:inline-block}.mask-letter.revealed{border-bottom-color:var(--accent);color:var(--accent)}.goal-slot.filled{background:var(--success-bg)}.goal-slot.filled .slot-name{color:var(--text);font-weight:600;animation:.3s ease-out slot-name-pop}.goal-slot.filled .ball{opacity:1}@keyframes slot-name-pop{0%{opacity:.4;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.goal-slot.goal-moment{--goal-color:var(--accent);--on-goal-color:var(--on-accent);position:relative;overflow:hidden}.goal-burst{background:var(--goal-color);color:var(--on-goal-color);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;border-radius:999px;padding:.12rem .5rem;font-size:.75rem;animation:1.4s ease-out goal-burst;position:absolute;top:50%}.goal-slots.right .goal-burst{left:.5rem}.goal-slots.left .goal-burst{right:.5rem}@keyframes goal-burst{0%{opacity:0;transform:translateY(-50%)scale(.5)}14%{opacity:1;transform:translateY(-50%)scale(1.18)}28%{transform:translateY(-50%)scale(1)}78%{opacity:1;transform:translateY(-50%)scale(1)}to{opacity:0;transform:translateY(-80%)scale(1)}}.score-center .score.score-bounce{animation:.6s ease-out score-bounce;display:inline-block}@keyframes score-bounce{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(.94)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.goal-burst{display:none}.score-center .score.score-bounce{animation:none}}.goal-slot.own-goal.empty{background:var(--danger-bg);border:1px solid var(--danger-border)}.goal-slot.own-goal .ball{opacity:1}.goal-slot.own-goal.filled{background:var(--owngoal-bg)}.guess-panel{background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border-light);border-radius:var(--radius-md);box-sizing:border-box;width:100%;margin-bottom:1.5rem;padding:.9rem}.guess-panel-label{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-medium);letter-spacing:.03em;text-transform:var(--display-case);color:var(--accent);align-items:center;gap:.45rem;margin-bottom:.6rem;font-size:.85rem;display:flex}.guess-panel-label svg{font-size:1.15rem}.guess-input{gap:.5rem;width:100%;display:flex}.answer-divider{width:100%;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;margin:-.4rem 0 .85rem;font-size:.75rem;font-weight:600;display:flex}.answer-divider:before,.answer-divider:after{content:"";background:var(--border-light);flex:1;height:1px}.guess-input input{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--card-alt);color:var(--text);flex:1;padding:.75rem .9rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.guess-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.guess-input input:disabled{opacity:.5;cursor:not-allowed}.guess-input button{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:var(--on-accent);border-radius:var(--radius-sm);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-medium);letter-spacing:.02em;text-transform:var(--display-case);cursor:pointer;border:none;padding:.75rem 1.5rem;transition:background .2s,transform .15s}.guess-input button:hover:not(:disabled){background:var(--accent-dark)}.guess-input button:active:not(:disabled){transform:translateY(1px)}.guess-input button:disabled{opacity:.5;cursor:not-allowed}.guess-input-incorrect input{border-color:var(--danger);animation:.4s ease-in-out guess-shake}.goal-slot.selectable{font:inherit;color:inherit;text-align:inherit;border:1px dashed var(--border-light);cursor:pointer;background:0 0;position:relative}.slot-tiles-cue{background:var(--accent);width:1.25rem;height:1.25rem;color:var(--on-accent);box-shadow:var(--shadow-sm);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex;position:absolute;top:-.55rem}.goal-slots.right .slot-tiles-cue{left:-.45rem}.goal-slots.left .slot-tiles-cue{right:-.45rem}.slot-tiles-cue.pulse{animation:1.8s ease-in-out infinite tiles-cue-pulse}@keyframes tiles-cue-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow);transform:scale(1)}50%{transform:scale(1.12);box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){.slot-tiles-cue.pulse{animation:none}}.answer-modes{width:100%;color:var(--text-muted);text-align:left;align-items:center;gap:.55rem;margin:0 0 .9rem;font-size:.8rem;display:flex}.answer-modes-icon{color:var(--accent);flex-shrink:0;font-size:1rem;display:inline-flex}.answer-modes.intro{border:1px solid var(--warn-border);border-radius:var(--radius-md);background:var(--warn-bg);color:var(--text);padding:.65rem .85rem;font-size:.85rem}.answer-modes.intro .answer-modes-icon{font-size:1.3rem}.goal-slot.selectable:hover,.goal-slot.selectable:focus-visible{border-color:var(--text-faint);outline:none}.goal-slot.selectable.selected{border-color:var(--accent);background:var(--accent-bg)}.letter-tiles{background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border-light);border-radius:var(--radius-md);box-sizing:border-box;width:100%;margin-bottom:1.25rem;padding:.9rem;animation:.2s ease-out puzzle-solved-pop}.letter-tiles-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.letter-tiles-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-medium);letter-spacing:.03em;text-transform:var(--display-case);color:var(--text-muted);font-size:.85rem}.letter-tiles-close{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.4rem;line-height:1}.letter-tiles-answer{flex-wrap:wrap;justify-content:center;gap:.35rem .9rem;margin-bottom:.9rem;display:flex;container-type:inline-size}.letter-tiles-word{--gap:.25rem;--box:clamp(1.5rem, calc((100cqi - (var(--letters) - 1) * var(--gap)) / var(--letters)), 2.1rem);justify-content:center;gap:var(--gap);flex-wrap:wrap;max-width:100%;display:flex}.letter-box,.letter-tile{border-radius:var(--radius-sm);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);color:var(--text);padding:0}.letter-tile{width:2.1rem;height:2.4rem;font-size:1.15rem}.letter-box{width:var(--box);height:calc(var(--box) * 1.15);font-size:calc(var(--box) * .55);background:var(--card-alt);border:none;border-bottom:2px solid var(--border-light);flex:none}.letter-box.filled{border-bottom-color:var(--accent);cursor:pointer}.letter-box:disabled{cursor:default}.letter-box.locked{background:var(--accent-bg);border-bottom-color:var(--accent);color:var(--accent)}.letter-tiles-tray{flex-wrap:wrap;justify-content:center;gap:.35rem;margin-bottom:.9rem;display:flex}.letter-tile{background:var(--card-alt);border:1px solid var(--border-light);box-shadow:var(--tile-shadow);cursor:pointer;transition:transform .1s,opacity .15s}.letter-tile:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.letter-tile.used{opacity:0;pointer-events:none}.letter-tile:disabled:not(.used){opacity:.5;cursor:default}.letter-tiles-actions{justify-content:center;gap:.6rem;display:flex}.letter-tiles-guess,.letter-tiles-secondary{border-radius:var(--radius-sm);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-medium);letter-spacing:.02em;text-transform:var(--display-case);cursor:pointer;padding:.6rem 1.3rem}.letter-tiles-guess{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:var(--on-accent);border:none}.letter-tiles-secondary{color:var(--text-muted);border:1px solid var(--border-light);background:0 0}.letter-tiles-guess:disabled,.letter-tiles-secondary:disabled{opacity:.45;cursor:not-allowed}.letter-tiles-note,.letter-tiles-tip,.letter-tiles-error{color:var(--text-faint);text-align:center;margin:.6rem 0 0;font-size:.75rem}.letter-tiles-tip{margin:-.9rem 0 1.25rem}.letter-tiles-error{color:var(--danger);margin:0 0 .6rem}.puzzle-resume-note{color:var(--text-muted);text-align:center;margin:-.5rem 0 1rem;font-size:.8rem}.skip-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;margin:-.75rem 0 1.5rem;padding:0;font-size:.8rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s}.skip-btn:hover:not(:disabled){color:var(--warn);-webkit-text-decoration-color:var(--warn);text-decoration-color:var(--warn)}.skip-btn:disabled{opacity:.4;cursor:not-allowed}.hint-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.25rem;margin:-.75rem 0 1.5rem;display:flex}.hint-actions .skip-btn{margin:0}.hint-btn{border:1px solid var(--border-light);min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:0 .9rem;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.hint-btn:hover{border-color:var(--accent);color:var(--text)}.hint-btn-cost{font-size:1.05em;display:inline-flex}.hint-offer{text-align:center;flex-direction:column;gap:.9rem;display:flex}.hint-offer-icon{color:var(--accent);font-size:2rem;display:inline-flex}.hint-offer-balance{color:var(--text-muted);margin:0;font-size:.85rem}@keyframes guess-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.lives{justify-content:center;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.lives-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:.75rem;font-weight:700}.lives-balls{color:var(--accent);gap:.4rem;font-size:1.3rem;display:flex}.life{opacity:1;filter:none;transition:opacity .2s,filter .2s}.life-used{opacity:.25;filter:grayscale()}.puzzle-failed{text-align:center;width:100%;color:var(--danger);margin-bottom:1rem;font-weight:600}.puzzle-recap-note{text-align:center;width:100%;color:var(--text-muted);margin-bottom:1rem;font-weight:600}.solved-header{flex-direction:column;align-items:center;width:100%;margin-bottom:1rem;display:flex}.solved-badge{background:linear-gradient(135deg, var(--accent), var(--accent-dark));width:3.5rem;height:3.5rem;color:var(--on-accent);box-shadow:0 8px 20px -6px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.6rem;font-size:1.6rem;animation:.35s ease-out puzzle-solved-pop;display:inline-flex}.puzzle-solved{text-align:center;color:var(--accent);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-medium);animation:.35s ease-out puzzle-solved-pop}@keyframes puzzle-solved-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.points-award{text-align:center;background:var(--card);border:1px solid var(--border-light);border-radius:var(--radius-md);width:100%;margin-bottom:1.25rem;padding:1.1rem .75rem;animation:.35s ease-out puzzle-solved-pop}.points-award-total{font-family:var(--font-display);font-style:var(--display-style);font-size:1.4rem;font-weight:var(--display-weight-strong);color:var(--accent);font-variant-numeric:tabular-nums}.points-award-breakdown{color:var(--text-muted);flex-direction:column;gap:.15rem;margin-top:.35rem;font-size:.8rem;display:flex}.points-award-streak{color:var(--warn);font-weight:600}.streak-extended-banner{border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:var(--radius-sm);text-align:left;align-items:center;gap:.65rem;margin-top:.75rem;padding:.6rem .75rem;animation:.35s ease-out puzzle-solved-pop;display:flex}.streak-extended-icon{color:var(--warn);font-size:1.6rem;line-height:1}.streak-extended-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);color:var(--warn)}.streak-extended-detail{color:var(--text-muted);font-size:.75rem}.points-award-note{color:var(--text-muted);margin:.6rem 0 0;font-size:.75rem}.level-up-banner{background:linear-gradient(135deg, var(--accent), var(--accent-dark));border-radius:var(--radius-sm);color:var(--on-accent);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);letter-spacing:.02em;text-transform:var(--display-case);margin-top:.75rem;padding:.6rem;font-size:.85rem;animation:.35s ease-out puzzle-solved-pop}.new-badges{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.new-badge{background:var(--card-alt);border:1px solid var(--border-light);border-radius:var(--radius-sm);text-align:left;align-items:center;gap:.6rem;padding:.5rem .75rem;animation:.35s ease-out puzzle-solved-pop;display:flex}.new-badge-icon{background:var(--bg);border:1.5px solid var(--accent);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.new-badge-name{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);color:var(--text);font-size:.85rem}.new-badge-description{color:var(--text-muted);font-size:.75rem}.badge-cabinet{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.75rem;width:100%;margin-top:1.5rem;display:grid}.badge-tile{border:var(--card-border-width) var(--card-border-style) var(--border);background:var(--card);border-radius:var(--radius-md);text-align:center;font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .4rem;transition:border-color .15s,transform .1s;display:flex}.badge-tile:hover{border-color:var(--accent)}.badge-tile:active{transform:scale(.96)}.badge-tile.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.badge-tile.locked{background:var(--bg);opacity:.55}.badge-detail{background:var(--card-alt);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:left;width:100%;margin-top:.75rem;padding:.75rem 1rem;font-size:.85rem;animation:.2s ease-out puzzle-solved-pop}.badge-detail p{color:var(--text-muted);margin:.25rem 0 0}.badge-detail-locked{color:var(--text-faint);font-size:.75rem}.badge-tile-icon{font-size:1.6rem}.badge-tile.locked .badge-tile-icon{filter:grayscale()}.badge-tile-name{font-family:var(--font-display);font-style:var(--display-style);font-size:.7rem;font-weight:var(--display-weight-medium);color:var(--text)}.honours-board{text-align:left;flex-direction:column;gap:.75rem;width:100%;margin-top:1.5rem;display:flex}.honours-board-header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.honours-board-header h3{margin:0}.honours-board-count,.honours-board-intro{color:var(--text-muted);font-size:.8rem}.honours-board-intro{margin:0}.honours-board-best{background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border-light);border-radius:var(--radius-lg);align-items:center;gap:1rem;padding:1rem;display:flex}.honours-board-best-text{flex-direction:column;gap:.25rem;min-width:0;display:flex}.honours-board-best-tier{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.honours-board-best-club{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);text-transform:var(--display-case);color:var(--text);font-size:1.3rem}.honours-board-best-detail{color:var(--text-muted);font-size:.8rem}.trophy-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.trophy-tile{background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;gap:.35rem;min-width:0;padding:.75rem .4rem;display:flex}.trophy-tile.locked{background:var(--bg)}.trophy-tile-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;font-weight:600;overflow:hidden}.trophy-tile.locked .trophy-tile-name{color:var(--text-muted)}.trophy-tile-track{background:var(--border);border-radius:3px;width:80%;height:5px;overflow:hidden}.trophy-tile-fill{background:var(--accent);height:100%;display:block}.trophy-tile-label{color:var(--text-muted);font-size:.7rem}.trophy-tile-label-gold{color:var(--text);font-weight:600}.honours-board-toggle{border-radius:var(--radius-sm);border:1px solid var(--border-light);min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:0 0;font-weight:600}.honours-board-toggle:hover{border-color:var(--accent)}.new-trophy .trophy-shield{flex-shrink:0}.level-progress{text-align:left;width:100%;margin-top:1.5rem}.level-progress-number{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);letter-spacing:.02em;text-transform:var(--display-case);color:var(--accent);font-size:1.5rem}.level-progress-title{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.35rem;margin-top:.15rem;margin-bottom:.6rem;font-size:.85rem;font-weight:600;display:flex}.level-progress-next{color:var(--text-faint);margin-top:.4rem;font-size:.75rem}.level-progress-track{background:var(--card-alt);border-radius:4px;width:100%;height:8px;overflow:hidden}.level-progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .4s ease-out}.level-badge{text-align:center;width:100%;max-width:260px;margin:1rem auto 0}.level-badge-number{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);letter-spacing:.02em;text-transform:var(--display-case);color:var(--accent);font-size:1.3rem}.level-badge-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);justify-content:center;align-items:center;gap:.35rem;margin-top:.15rem;font-size:.75rem;font-weight:600;display:flex}.level-badge-next{color:var(--text-faint);margin-top:.35rem;font-size:.7rem}.level-badge-track{background:var(--card-alt);border-radius:2px;width:100%;height:4px;margin-top:.5rem;overflow:hidden}.level-badge-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .4s ease-out}.level-badge.compact{text-align:right;flex-shrink:0;width:auto;max-width:none;margin:0}.level-badge-number.compact{font-size:.85rem}.level-badge.compact .level-badge-track{width:5rem;margin-top:.3rem;margin-left:auto}@media (width<=420px){.level-badge.compact .level-badge-track{display:none}.header-status{gap:.4rem}.header-compact{gap:.5rem;padding-left:.9rem}}@media (width<=380px){.header-compact-name{display:none}}.header-status{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.streak-chip{border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:.3rem;margin-top:.6rem;padding:.25rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.streak-chip.compact{margin-top:0;padding:.2rem .5rem;font-size:.85rem}.streak-chip-label{text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.streak-chip-freeze{color:var(--text-muted);margin-left:.1rem;font-size:.85em;display:inline-flex}.streak-chip.at-risk{background:0 0;border-style:dashed}.streak-chip.inactive{border-color:var(--border);color:var(--text-faint);background:0 0}.actions{justify-content:center;gap:1rem;width:100%;margin-bottom:1rem;display:flex}.reveal-btn,.new-puzzle-btn{border:1px solid var(--border-light);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-display);font-style:var(--display-style);letter-spacing:.02em;text-transform:var(--display-case);background:0 0;padding:.75rem 1.5rem;font-size:.85rem;transition:border-color .2s,color .2s,background .2s}.reveal-btn:hover,.new-puzzle-btn:hover{border-color:var(--text-muted);color:var(--text);background:var(--card-alt)}.share-btn{border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-display);font-style:var(--display-style);font-size:.85rem;font-weight:var(--display-weight-medium);letter-spacing:.02em;text-transform:var(--display-case);background:0 0;padding:.75rem 1.5rem;transition:color .2s,background .2s}.share-btn:hover{color:var(--bg);background:var(--accent)}@media (width<=600px){header h1{font-size:2rem}main{padding:1.25rem .85rem}.puzzle-display{padding:1.25rem 1rem}.scoreboard{flex-direction:column;gap:.25rem;display:flex}.score-center{order:-1;align-self:center;padding-bottom:.75rem}.score{font-size:2rem}.side,.side.home,.side.away{align-items:stretch;width:100%}.side .team-name{text-align:left}.side.away{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.goal-slots.right,.goal-slots.left{align-items:stretch}.goal-slots.right .goal-slot{flex-direction:row-reverse;justify-content:flex-end}.goal-slot{width:100%;font-size:.9rem}.goal-slots.right .slot-tiles-cue{left:auto;right:-.45rem}.puzzle-skeleton .side.home .skeleton-team{margin-left:0}.goal-slots.right .goal-burst{left:auto;right:.5rem}}.league-list{flex-direction:column;gap:.6rem;margin:1rem 0;display:flex}.league-item{border:var(--card-border-width) var(--card-border-style) var(--border);background:var(--card);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.95rem;display:flex}.league-item:hover{border-color:var(--accent);background:var(--card-alt)}.league-item-meta{color:var(--text-muted);font-size:.8rem}.standings-row{border:var(--card-border-width) var(--card-border-style) var(--border);background:var(--card);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.standings-row.is-you{border-color:var(--accent);background:var(--card-alt)}.standings-rank{color:var(--text-muted);width:1.5rem;font-weight:700}.standings-name{text-align:left;flex:1}.standings-points{color:var(--accent);font-weight:700}.modal-backdrop{z-index:100;background:var(--backdrop);justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out modal-fade;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border-light);border-radius:var(--radius-lg);box-sizing:border-box;text-align:center;width:100%;max-width:420px;max-height:calc(100dvh - 2rem);padding:1.5rem 1.25rem 1.25rem;animation:.3s ease-out puzzle-solved-pop;position:relative;overflow-y:auto;box-shadow:0 20px 50px #00000059}.modal-close{width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.modal-title{font-family:var(--font-display);font-style:var(--display-style);letter-spacing:.02em;text-transform:var(--display-case);color:var(--text);margin:.25rem 0 0;font-size:1.6rem}.modal .solved-header{margin-bottom:.75rem}.modal .points-award{background:0 0;border:none;margin-bottom:1rem;padding:.25rem 0;animation:none}.modal-actions{flex-direction:column;gap:.5rem;display:flex}.modal-actions>button{justify-content:center;width:100%;margin:0}.modal-secondary{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.6rem;font-size:.85rem;text-decoration:underline}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.settings-section{flex-direction:column;gap:1.25rem;display:flex}.settings-section fieldset{border:none;min-width:0;margin:0;padding:0}.settings-legend{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.settings-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.settings-mode .settings-legend{grid-column:1/-1}.settings-mode-option,.theme-option{cursor:pointer;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--card-alt);color:var(--text);transition:border-color .15s,box-shadow .15s;position:relative}.settings-mode-option input,.theme-option input{opacity:0;pointer-events:none;position:absolute}.settings-mode-option{justify-content:center;align-items:center;gap:.45rem;min-height:2.75rem;font-weight:600;display:flex}.settings-mode-option.selected,.theme-option.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}:is(.settings-mode-option:has(input:focus-visible),.theme-option:has(input:focus-visible)){outline:2px solid var(--accent);outline-offset:3px}.theme-picker{flex-direction:column;gap:.5rem;display:flex}.theme-option{text-align:left;align-items:center;gap:.85rem;padding:.6rem .75rem;display:flex}.theme-swatch{border-radius:6px;flex:none;width:4.25rem;height:3.25rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #7f7f7f59}.theme-swatch-band{height:.7rem;position:absolute;inset:0 0 auto}.theme-swatch-card{border-radius:3px;justify-content:center;align-items:center;font-size:1.05rem;line-height:1;display:flex;position:absolute;inset:1.05rem .45rem .4rem}.theme-swatch-accent{border-radius:2px;height:3px;position:absolute;bottom:.2rem;left:.3rem;right:.3rem}.theme-option-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.theme-option-name{font-weight:600}.theme-option-description{color:var(--text-muted);font-size:.8rem}.settings-club select{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--card-alt);width:100%;min-height:2.75rem;color:var(--text);font:inherit;padding:0 .75rem}.settings-links{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;margin-top:.75rem;display:flex;overflow:hidden}.settings-link{background:var(--card-alt);min-height:3.75rem;color:var(--text);align-items:center;gap:.75rem;padding:.6rem .9rem;text-decoration:none;display:flex}.settings-link+.settings-link{border-top:1px solid var(--border)}.settings-link:hover{background:var(--accent-bg)}.settings-link:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.settings-link-icon{color:var(--accent);font-size:1.2rem}.settings-link-text{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.settings-link-text>:first-child{font-weight:500}.settings-link-text>:last-child{color:var(--text-muted);font-size:.8rem}.settings-legal-note{color:var(--text-muted);margin:.75rem 0 0;font-size:.8rem;line-height:1.5}.legal{text-align:left;max-width:560px;margin:0 auto}.legal h2,.legal>.team-select-subtitle{text-align:center}.legal-summary{margin-top:0}.legal-summary ul{flex-direction:column;gap:.8rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.legal-summary li{align-items:flex-start;gap:.75rem;line-height:1.45;display:flex}.legal-summary-icon{color:var(--accent);margin-top:.05rem;font-size:1.25rem}.legal-detail-label{margin:1.75rem .25rem .5rem}.legal-sections{border:var(--card-border-width) var(--card-border-style) var(--border);border-radius:var(--radius-lg);overflow:hidden}.legal-section{background:var(--card)}.legal-section+.legal-section{border-top:1px solid var(--border)}.legal-section summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;padding:0 1rem;font-weight:500;list-style:none;display:flex}.legal-section summary::-webkit-details-marker{display:none}.legal-section summary:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);flex:none;width:.5rem;height:.5rem;margin-top:-.25rem;transition:transform .15s;transform:rotate(45deg)}.legal-section[open] summary:after{margin-top:.25rem;transform:rotate(-135deg)}.legal-section summary:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.legal-section p{color:var(--text);overflow-wrap:anywhere;margin:0 1rem .9rem;line-height:1.55}.legal-section p:last-child{padding-bottom:.25rem}.legal-footer{color:var(--text-muted);margin:1.25rem .25rem 2rem;font-size:.85rem}.legal-footer a,.sign-in-note a{color:var(--text);text-decoration:underline}.level-ring{flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.4rem;display:flex}.level-ring-dial{width:8.5rem;height:8.5rem;position:relative}.level-ring-dial svg{width:100%;height:100%;transform:rotate(-90deg)}.level-ring-track,.level-ring-before,.level-ring-arc{fill:none;stroke-width:10px}.level-ring-track{stroke:var(--card-alt)}.level-ring-before{stroke:var(--accent);stroke-opacity:.4;stroke-linecap:round}.level-ring-arc{stroke:var(--accent);stroke-linecap:round;filter:drop-shadow(0 0 4px var(--accent-glow));transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1)}.level-ring-arc.no-transition{transition:none}.level-ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.level-ring-caption{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.level-ring-number{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);color:var(--accent);font-size:2.6rem;line-height:1}.level-ring-dial.leveled-up .level-ring-number{animation:.4s ease-out puzzle-solved-pop}.level-ring-next{color:var(--text-muted);margin:0;font-size:.8rem;font-weight:600}.level-ring-next.pending{visibility:hidden}@media (prefers-reduced-motion:reduce){.level-ring-arc{transition:none}}.modal-backdrop.sheet{align-items:flex-end;padding:0}.modal.modal-sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:520px;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));animation:.25s ease-out sheet-up}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.extra-time{text-align:left;flex-direction:column;gap:.9rem;display:flex}.extra-time-header{text-align:center}.extra-time-header p{color:var(--text-muted);margin:.35rem 0 0;font-size:.9rem}.extra-time-option{border-radius:var(--radius-md);border:var(--card-border-width) var(--card-border-style) var(--border-light);padding:1rem}.extra-time-buy{border:2px solid var(--accent);background:var(--accent-bg);flex-direction:column;gap:.6rem;display:flex}.extra-time-option-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.extra-time-option-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);text-transform:var(--display-case);font-size:1.05rem}.extra-time-buy .extra-time-option-title,.extra-time-cost{color:var(--accent)}.extra-time-cost{font-family:var(--font-display);font-weight:var(--display-weight-strong);white-space:nowrap;font-size:1.05rem}.extra-time-balance{color:var(--text-muted);margin:0;font-size:.85rem}.extra-time-spend,.coin-spend{border-radius:var(--radius-sm);background:var(--accent);min-height:3rem;color:var(--on-accent);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);text-transform:var(--display-case);cursor:pointer;border:none;font-size:1rem}.extra-time-spend:disabled,.coin-spend:disabled{background:var(--card-alt);color:var(--text-muted);cursor:not-allowed}.coin-spend,.extra-time-spend{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.coin-error,.extra-time-error{color:var(--danger);margin:0;font-size:.85rem}.extra-time-wait{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.extra-time-wait .extra-time-option-title{text-transform:none;font-family:inherit;font-size:.95rem;font-style:normal;font-weight:600}.extra-time-wait-detail{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.extra-time-wait .modal-secondary{border:1px solid var(--border-light);border-radius:var(--radius-sm);min-height:2.75rem;color:var(--text);flex:none;padding:0 1rem;text-decoration:none}.extra-time-note{text-align:center;color:var(--text-muted);margin:0;font-size:.78rem}.coin-chip{border:1px solid var(--text-faint);min-height:32px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.85rem;font-weight:700;transition:border-color .15s;display:inline-flex}.coin-chip:hover{border-color:var(--accent)}.level-badge-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.level-badge-chips .coin-chip{min-height:0;margin-top:.6rem;padding:.25rem .65rem;font-size:.8rem}.coins-sheet{text-align:left;flex-direction:column;gap:1rem;display:flex}.coins-sheet-balance{align-items:center;gap:.75rem;display:flex}.coins-sheet-icon{font-size:2.6rem;display:inline-flex}.coins-sheet-subtitle{color:var(--text-muted);margin:.2rem 0 0;font-size:.85rem}.coins-sheet-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .4rem;font-size:.75rem;font-weight:600}.coins-sheet-list{flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.coins-sheet-list li{justify-content:space-between;gap:1rem;display:flex}.coins-sheet-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.coins-sheet-amount.spent{color:var(--text-muted)}.coins-sheet-topup{border:1px dashed var(--border-light);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.coins-sheet-soon{background:var(--card-alt);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-radius:999px;padding:.2rem .6rem;font-size:.7rem}.streak-restore{border:1px solid var(--warn-border);border-radius:var(--radius-md);background:var(--warn-bg);text-align:left;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.streak-restore-head{align-items:flex-start;gap:.75rem;display:flex}.streak-restore-icon{color:var(--warn);font-size:1.5rem;display:inline-flex}.streak-restore-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);text-transform:var(--display-case);color:var(--text)}.streak-restore-detail{color:var(--text-muted);font-size:.85rem}.coins-earned{background:var(--card-alt);border:1px solid var(--border-light);border-radius:var(--radius-sm);text-align:left;align-items:center;gap:.6rem;margin-top:.75rem;padding:.5rem .75rem;animation:.35s ease-out puzzle-solved-pop;display:flex}.coins-earned-icon{font-size:1.8rem;display:inline-flex}.coins-earned-total{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);color:var(--text);font-size:.95rem}.coins-earned-detail{color:var(--text-muted);font-size:.75rem}.sign-in{text-align:left;flex-direction:column;gap:.85rem;display:flex}.sign-in-header{text-align:center}.sign-in-header p{color:var(--text-muted);margin:.35rem 0 0;font-size:.9rem}.sign-in-header strong{color:var(--text)}.sign-in-mail{width:3rem;height:3rem;color:var(--accent)}.google-button{border-radius:var(--radius-sm);color:#1f1f1f;min-height:3rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #747775;justify-content:center;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;display:inline-flex}.google-button:disabled{opacity:.6;cursor:wait}.sign-in-divider{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.75rem;display:flex}.sign-in-divider:before,.sign-in-divider:after{content:"";background:var(--border-light);flex:1;height:1px}.sign-in-email{flex-direction:column;gap:.45rem;display:flex}.sign-in-email label,.account-name-form label{color:var(--text);font-size:.8rem;font-weight:600}.sign-in-email input,.account-name-form input{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg);min-height:3rem;color:var(--text);font:inherit;padding:0 .85rem;font-size:1rem}.sign-in-note{text-align:center;color:var(--text-muted);margin:0;font-size:.75rem}.sign-in-secondary{border:1px solid var(--border-light);border-radius:var(--radius-sm);min-height:2.9rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:0 1rem;font-weight:600}.sign-in-secondary:disabled{opacity:.5;cursor:not-allowed}.account-screen{flex-direction:column;align-items:stretch;gap:.9rem;display:flex}.account-card{box-sizing:border-box;background:var(--card);border:var(--card-border-width) var(--card-border-style) var(--border-light);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:.35rem;width:100%;padding:1.25rem 1rem;display:flex}.account-avatar{background:var(--accent);width:4rem;height:4rem;color:var(--on-accent);font-family:var(--font-display);font-weight:var(--display-weight-strong);border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;display:inline-flex}.account-card.guest .account-avatar{background:var(--card-alt);color:var(--text-muted);border:1px dashed var(--text-faint)}.account-name{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);text-transform:var(--display-case);color:var(--text);font-size:1.35rem}.account-detail{color:var(--text-muted);font-size:.8rem}.account-name-form{text-align:left;flex-direction:column;gap:.45rem;width:100%;display:flex}.account-row{gap:.5rem;display:flex}.account-row input{flex:1;min-width:0}.account-message{color:var(--text-muted);margin:0;font-size:.8rem}.account-secure{box-sizing:border-box;border:2px solid var(--accent);border-radius:var(--radius-lg);background:var(--card);text-align:left;flex-direction:column;gap:.6rem;width:100%;padding:1rem;display:flex}.account-secure h3{margin:0}.account-secure p{color:var(--text-muted);margin:0;font-size:.85rem}.account-screen>.sign-in-secondary{width:100%}.account-danger{box-sizing:border-box;border:1px solid var(--danger-border);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:.5rem;width:100%;margin-top:1rem;padding:1rem;display:flex}.account-danger p{color:var(--text-muted);margin:0;font-size:.8rem}.account-danger-title{color:var(--text);font-weight:600}.account-delete{border:1px solid var(--danger);border-radius:var(--radius-sm);min-height:2.75rem;color:var(--danger);font:inherit;cursor:pointer;background:0 0;align-self:flex-start;padding:0 1rem;font-weight:600}.account-delete:disabled{opacity:.6;cursor:wait}.account-confirm p strong{color:var(--text)}.protect-progress{border:2px solid var(--accent);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:.6rem;margin-top:.9rem;padding:.9rem;display:flex}.protect-progress-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);text-transform:var(--display-case);color:var(--text);font-size:1.05rem}.protect-progress p{color:var(--text-muted);margin:0;font-size:.85rem}.guest-note{box-sizing:border-box;border:1px solid var(--warn-border);border-radius:var(--radius-md);background:var(--warn-bg);text-align:left;align-items:center;gap:.75rem;width:100%;margin-bottom:1rem;padding:.75rem .9rem;display:flex}.guest-note p{color:var(--text);flex:1;margin:0;font-size:.85rem}.guest-note button{border-radius:var(--radius-sm);background:var(--accent);min-height:2.6rem;color:var(--on-accent);font:inherit;cursor:pointer;border:none;flex-shrink:0;padding:0 1rem;font-size:.85rem;font-weight:700}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--text) 10%, transparent) 50%, transparent 100%) 0 0 / 200% 100% no-repeat, var(--card-alt);animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}.puzzle-skeleton .skeleton-date{width:9rem;height:.9rem;margin:0 auto 1.25rem}.puzzle-skeleton .skeleton-team{width:7rem;max-width:100%;height:1.25rem;margin-bottom:.9rem}.puzzle-skeleton .side.home .skeleton-team{margin-left:auto}.puzzle-skeleton .skeleton-score{width:1.6rem;height:2.5rem}.puzzle-skeleton .skeleton-slot{width:100%;height:2.1rem}.tiles-skeleton{flex-wrap:wrap;justify-content:center;gap:.45rem;padding:.5rem 0;display:flex}.skeleton-tile{width:2.4rem;height:2.6rem}.ball-loader{color:var(--accent);flex-direction:column;align-items:center;gap:.15rem;padding:2.5rem 0 1.5rem;display:flex}.ball-loader-ball{font-size:2rem;animation:.9s cubic-bezier(.5,0,.5,1) infinite alternate ball-bounce;display:inline-flex}.ball-loader-shadow{background:var(--text-faint);opacity:.35;border-radius:50%;width:1.6rem;height:.35rem;animation:.9s cubic-bezier(.5,0,.5,1) infinite alternate ball-shadow}.ball-loader-label{color:var(--text-muted);margin-top:.75rem;font-size:.85rem}@keyframes ball-bounce{0%{transform:translateY(-1.6rem)rotate(0)}85%{transform:translateY(0)rotate(200deg)scale(1)}to{transform:translateY(.1rem)rotate(220deg)scale(1.12,.88)}}@keyframes ball-shadow{0%{opacity:.18;transform:scaleX(.55)}to{opacity:.4;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.skeleton,.ball-loader-ball,.ball-loader-shadow{animation:none}}.lives-balls{position:relative}.life{display:inline-flex}.life.life-losing{animation:.9s ease-in both life-lose}@keyframes life-lose{0%{opacity:1;filter:none;transform:none}10%{transform:translate(-3px)rotate(-12deg)}20%{transform:translate(3px)rotate(12deg)}30%{transform:translate(-2px)rotate(-6deg)}42%{opacity:1;transform:translateY(2px)scale(1.2,.72)}72%{opacity:0;filter:grayscale();transform:translate(1.4em)rotate(240deg)scale(.8)}73%{opacity:0;transform:none}to{opacity:.25;filter:grayscale();transform:none}}.life-lost-float{top:-.2em;left:calc(var(--life-index) * (1em + .4rem) + .5em);font-family:var(--font-display);font-weight:var(--display-weight-strong);color:var(--danger);pointer-events:none;font-size:.75em;animation:.9s ease-out both life-float;position:absolute}@keyframes life-float{0%{opacity:0;transform:translate(-50%)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-1.6em)}}.coin-flights{z-index:400;pointer-events:none;position:fixed;inset:0}.coin-flight{filter:drop-shadow(0 2px 4px #00000059);will-change:transform;font-size:1.6rem;display:inline-flex;position:fixed}.coin-chip-landed{animation:.5s ease-out coin-chip-landed}@keyframes coin-chip-landed{0%{transform:scale(1)}35%{box-shadow:0 0 0 4px var(--accent-bg);transform:scale(1.18)}to{transform:scale(1)}}.next-puzzle{text-align:center;width:100%;margin:.75rem 0 1rem}.next-puzzle-text{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-medium);text-transform:var(--display-case);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--text)}.next-puzzle-track{background:var(--border);border-radius:3px;height:6px;margin-top:.45rem;overflow:hidden}.next-puzzle-fill{background:var(--accent);height:100%;transition:width 1s linear}.next-puzzle-compact{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.life.life-losing,.life-lost-float,.coin-chip-landed{animation:none}.life-lost-float{display:none}.next-puzzle-fill{transition:none}}.goal-slot .flag,.goal-slot .position-badge{transform-origin:50%;animation:.5s ease-out both hint-flip;display:inline-block}.mask-letter.revealed{animation:.45s ease-out both hint-flip;animation-delay:calc(var(--i,0) * 70ms);display:inline-block}@keyframes hint-flip{0%{opacity:0;transform:perspective(200px)rotateX(-90deg)}60%{opacity:1;transform:perspective(200px)rotateX(18deg)}to{opacity:1;transform:perspective(200px)rotateX(0)}}.letter-box-letter{animation:.32s cubic-bezier(.3,1.4,.6,1) both tile-drop;display:inline-block}@keyframes tile-drop{0%{opacity:.4;transform:translateY(-14px)scale(1.15)}to{opacity:1;transform:none}}.letter-tiles-answer.rejected{animation:.4s ease-in-out guess-shake}.letter-tiles-answer.rejected .letter-box.filled:not(.locked){border-color:var(--danger);color:var(--danger)}.letter-tile.returning{animation:.5s cubic-bezier(.3,1.5,.6,1) both tile-return}@keyframes tile-return{0%{opacity:0;transform:translateY(-18px)scale(.8)}to{opacity:1;transform:none}}.celebration{z-index:350;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti{top:-12px;left:var(--x);opacity:0;border-radius:2px;width:7px;height:12px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.5,1);animation-fill-mode:both;position:absolute}.confetti.wide{width:11px;height:7px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{transform:translate(var(--drift), 105vh) rotate(var(--spin));opacity:0}}.celebration-banner{background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight-strong);text-transform:var(--display-case);letter-spacing:.04em;white-space:nowrap;box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-size:1.6rem;animation:2s ease-out both celebration-banner;display:flex;position:absolute;top:18%;left:50%}@keyframes celebration-banner{0%{opacity:0;transform:translate(-50%,-30px)scale(.6)}14%{opacity:1;transform:translate(-50%)scale(1.1)}24%{transform:translate(-50%)scale(1)}78%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-20px)scale(.95)}}.trophy-shine{flex-shrink:0;animation:.5s cubic-bezier(.3,1.5,.6,1) both trophy-pop;display:inline-flex;position:relative}.trophy-shine:after{content:"";background:linear-gradient(105deg,#0000 30%,#ffffffd9 48%,#fff3 56%,#0000 68%) 130% 0/250% 100% no-repeat;animation:1.1s ease-in-out .45s both trophy-sweep;position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 56'%3E%3Cpath d='M4 4h40v22c0 14-10 23-20 27C14 49 4 40 4 26V4Z'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 56'%3E%3Cpath d='M4 4h40v22c0 14-10 23-20 27C14 49 4 40 4 26V4Z'/%3E%3C/svg%3E") 50%/100% 100% no-repeat}@keyframes trophy-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes trophy-sweep{0%{background-position:130% 0}to{background-position:-40% 0}}.streak-chip-flame{display:inline-flex}.flame-grow{animation:.9s ease-out flame-grow}.flame-grow.milestone{animation:1.4s ease-out flame-milestone}@keyframes flame-grow{0%{transform:scale(1)}25%{transform:scale(1.5)rotate(-6deg)}45%{transform:scale(1.25)rotate(5deg)}65%{transform:scale(1.38)rotate(-3deg)}to{transform:scale(1)}}@keyframes flame-milestone{0%{filter:drop-shadow(0 0 #0000);transform:scale(1)}20%{filter:drop-shadow(0 0 10px var(--warn));transform:scale(1.9)rotate(-8deg)}40%{filter:drop-shadow(0 0 14px var(--warn));transform:scale(1.5)rotate(6deg)}60%{filter:drop-shadow(0 0 10px var(--warn));transform:scale(1.75)rotate(-4deg)}to{filter:drop-shadow(0 0 #0000);transform:scale(1)}}@media (prefers-reduced-motion:reduce){.goal-slot .flag,.goal-slot .position-badge,.mask-letter.revealed,.letter-box-letter,.letter-tiles-answer.rejected,.letter-tile.returning,.trophy-shine,.trophy-shine:after,.flame-grow,.flame-grow.milestone{animation:none}.celebration{display:none}}.profile-screen{flex-direction:column;gap:1rem;display:flex}.profile-header{text-align:center;flex-direction:column;align-items:center;gap:.3rem;display:flex}.profile-avatar{background:var(--accent);width:4.5rem;height:4.5rem;color:var(--on-accent);font-family:var(--font-display);font-weight:var(--display-weight-strong);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:inline-flex}.profile-header.guest .profile-avatar{background:var(--card-alt);color:var(--text-muted);border:1px dashed var(--text-faint)}.profile-name{margin:.2rem 0 0}.profile-level{color:var(--accent);font-size:.9rem;font-weight:600}.profile-summary{color:var(--text-muted);font-size:.8rem}.profile-guest-note{color:var(--text-muted);margin:.4rem 0 .2rem;font-size:.85rem}.profile-header .coin-spend{width:100%;max-width:320px}.profile-tabs{border:var(--card-border-width) var(--card-border-style) var(--border-light);border-radius:var(--radius-md);background:var(--card);grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.profile-tab{border-radius:var(--radius-sm);min-height:2.75rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600}.profile-tab.selected{background:var(--accent);color:var(--on-accent);font-weight:700}.profile-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-panel,.account-panel,.stats-panel{flex-direction:column;gap:.9rem;width:100%;display:flex}.profile-panel .honours-board,.profile-panel .badge-cabinet,.profile-panel .level-progress{margin-top:0}.reminder-panel-title{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.leagues-sign-in{justify-content:center;padding:1.25rem 0 .5rem;display:flex}.leagues-sign-in .coin-spend{padding:0 2rem}.league-invite,.league-share{text-align:center;flex-direction:column;gap:.6rem;margin:0 0 1.25rem;display:flex}.league-invite h3{margin:0;font-size:1.4rem}.league-invite-meta{color:var(--text-muted);margin:0 0 .4rem;font-size:.85rem}.league-share,.league-share h3{margin:0}.league-share-code{color:var(--text-muted);margin:.2rem 0 0;font-size:.85rem}.league-share-code-value{border-radius:var(--radius-sm);background:var(--card-alt);color:var(--text);letter-spacing:.12em;margin-left:.25rem;padding:.15rem .45rem;font-weight:700}.daily-home{text-align:left;width:100%}@media (width>=900px){main.main-wide{max-width:1040px}}@media (width>=1300px){main.main-wide{max-width:1180px}}.daily-home-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.daily-home-title h2{text-align:left;margin:0}.daily-how-link{border:1px solid var(--border-light);background:var(--card);min-height:2.75rem;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:0 .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.daily-how-link:hover{border-color:var(--accent)}.daily-how-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.daily-home-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"today""status""catch";align-items:start;gap:1rem;display:grid}.daily-today{grid-area:today}.daily-status{grid-area:status}.daily-catch-up{grid-area:catch}@media (width>=900px){.daily-home-grid{grid-template:"today catch""status catch"1fr/minmax(0,1.45fr) minmax(0,1fr);gap:1.25rem}}.back-link-wide{text-align:left}@media (width>=900px){.back-link-wide{max-width:1040px}}@media (width>=1300px){.back-link-wide{max-width:1180px}}.daily-today{margin:0;padding:0;overflow:hidden}.daily-today-stripe{height:.5rem;display:flex}.daily-today-stripe span{background:var(--border-light);flex:1}.daily-today-body{flex-direction:column;gap:1rem;padding:1.1rem 1.25rem 1.3rem;display:flex;container-type:inline-size}.daily-today-meta{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;font-size:.8rem;display:flex}.daily-today-status{font-family:var(--font-display);font-weight:var(--display-weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.daily-today-loading{border-radius:var(--radius-md);background:var(--card-alt);height:3.5rem}.daily-today-score{font-family:var(--font-display);text-transform:var(--display-case);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;display:grid}.daily-today-team{min-width:0;font-weight:var(--display-weight-medium);overflow-wrap:normal;font-size:clamp(.9rem,6cqi,1.8rem);line-height:1.1;overflow:hidden}.daily-today-team.away{text-align:right}.daily-today-goals{font-weight:var(--display-weight-strong);color:var(--score-color);font-size:clamp(2.2rem,13cqi,4rem);line-height:1}.daily-today-marks{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.daily-mark{border-radius:var(--radius-sm);box-sizing:border-box;width:1.9rem;height:1.9rem}.daily-mark.goal{background:var(--success-border);border:1px solid var(--success-border)}.daily-mark.wrong{background:var(--card-alt);border:1.5px solid var(--border-light)}.daily-mark.hint{border:2px solid var(--accent)}.daily-today-detail{text-align:center;color:var(--text-muted);margin:0}.daily-today-detail strong{color:var(--text)}.daily-today .coin-spend,.daily-today .sign-in-secondary{min-height:3.25rem;padding:.75rem 1.25rem}.daily-today-play{font-size:1.15rem}.daily-today-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.daily-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.daily-tile,.daily-next,.daily-catch-up,.daily-next .next-puzzle{margin:0}.daily-today-actions.single{grid-template-columns:minmax(0,1fr)}@container (width<=340px){.daily-today-actions{grid-template-columns:minmax(0,1fr)}}.daily-tile{flex-direction:column;gap:.25rem;padding:.9rem 1rem;display:flex}.daily-tile-value{font-family:var(--font-display);font-weight:var(--display-weight-strong);font-size:1.6rem;line-height:1.1}.daily-tile-label{color:var(--text-muted);font-size:.75rem}.daily-catch-up{flex-direction:column;gap:.75rem;display:flex}.daily-catch-up-header{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.8rem;display:flex}.daily-catch-up-header h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.8rem}.daily-catch-up-list{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.daily-catch-up-list li+li{border-top:1px solid var(--border)}.daily-catch-up-list button{background:var(--card-alt);width:100%;min-height:3.5rem;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .9rem;display:flex}.daily-catch-up-list button:hover{background:var(--accent-bg)}.daily-catch-up-list button:focus-visible,.daily-calendar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.daily-catch-up-match{flex-direction:column;gap:.1rem;min-width:0;display:flex}.daily-catch-up-match>:first-child{overflow-wrap:anywhere;font-weight:600}.daily-catch-up-match>:last-child{color:var(--text-muted);font-size:.75rem}.daily-catch-up-play{flex:none;align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.daily-catch-up-note{color:var(--text-muted);margin:0;font-size:.75rem}.daily-calendar-toggle{justify-content:center;align-items:center;gap:.45rem;min-height:2.9rem;display:inline-flex}.daily-calendar{flex-direction:column;align-items:center;gap:.5rem;display:flex}.daily-calendar .puzzle-calendar{max-width:100%;box-shadow:none;background:0 0;border:none;padding:0}.daily-how-sheet{text-align:left;flex-direction:column;gap:1rem;display:flex}.daily-how-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.daily-how-list li{align-items:flex-start;gap:.8rem;display:flex}.daily-how-icon{color:var(--accent);flex:none;margin-top:.1rem;font-size:1.4rem}.daily-how-list li>span{flex-direction:column;gap:.15rem;line-height:1.45;display:flex}.daily-how-list li>span>span{color:var(--text-muted);font-size:.9rem}.league-card{border:var(--card-border-width) var(--card-border-style) var(--border);border-radius:var(--radius-lg);background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex}.league-card:hover{border-color:var(--accent)}.league-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.league-card-top,.league-card-meta{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.league-card-name{overflow-wrap:anywhere;font-size:1.05rem;font-weight:600}.league-card-rank{font-family:var(--font-display);font-weight:var(--display-weight-strong);font-size:1.3rem}.league-card-meta{color:var(--text-muted);flex-wrap:wrap;font-size:.8rem}.league-create-note{margin-top:.5rem}.league-home{max-width:560px;margin:0 auto}.league-today{flex-direction:column;gap:.85rem;margin-top:0;display:flex}.league-today-header{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.8rem;display:flex}.league-today-header h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.85rem}.league-today-strip{gap:.6rem;margin:0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.league-today-member{flex-direction:column;flex:none;align-items:center;gap:.3rem;width:3.4rem;display:flex}.league-today-mark{box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-weight:700;display:flex}.status-solved .league-today-mark{background:var(--success-bg);border:2px solid var(--success-border);color:var(--text)}.status-failed .league-today-mark{background:var(--danger-bg);border:2px solid var(--danger-border);color:var(--danger)}.status-not_played .league-today-mark{border:2px dashed var(--border-light)}.league-today-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;overflow:hidden}.status-not_played .league-today-name{color:var(--text-muted)}.league-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}.league-table{border-collapse:separate;border-spacing:0;border:var(--card-border-width) var(--card-border-style) var(--border);border-radius:var(--radius-lg);background:var(--card);width:100%;margin-top:.75rem;overflow:hidden}.league-table th{letter-spacing:.06em;text-align:left;text-transform:uppercase;color:var(--text-muted);background:var(--card-alt);padding:.5rem .6rem;font-size:.7rem;font-weight:600}.league-table td{border-top:1px solid var(--border);text-align:left;vertical-align:middle;padding:.7rem .6rem}.league-table th:last-child,.league-table td:last-child{text-align:right}.league-table tr.is-you td{background:var(--accent-bg)}.league-rank{width:2.6rem;font-family:var(--font-display);font-weight:var(--display-weight-strong);white-space:nowrap}.league-move{margin-left:.3rem;font-size:.65rem}.league-move.up{color:var(--text)}.league-move.down{color:var(--danger)}.league-name{overflow-wrap:anywhere;font-weight:600}.league-form{gap:3px;display:inline-flex}.league-form-pip{box-sizing:border-box;border-radius:3px;width:.65rem;height:.65rem}.league-form-pip.solved{background:var(--success-border);border:1px solid var(--success-border)}.league-form-pip.failed{background:var(--danger)}.league-form-pip.missed{border:1.5px solid var(--text-faint)}.league-form-pip.pending{border:1px dashed var(--text-muted)}.league-points,.league-weeks-won{font-family:var(--font-display);font-weight:var(--display-weight-strong);font-size:1.05rem}.league-weeks-won{color:var(--text-muted);font-size:.95rem}.league-rules{text-align:left;color:var(--text-muted);margin:.75rem .25rem 1.5rem;font-size:.8rem;line-height:1.5}.leagues-home{text-align:left;max-width:560px;margin:0 auto}.leagues-home>h2,.leagues-home>.team-select-subtitle{text-align:left}.league-start{border-radius:var(--radius-lg);background:var(--accent);color:var(--on-accent);flex-direction:column;gap:.9rem;padding:1.25rem;display:flex}.league-start-header{align-items:center;gap:.8rem;display:flex}.league-start-icon{flex:none;font-size:2.4rem}.league-start h3{font-family:var(--font-display);font-weight:var(--display-weight-strong);text-transform:var(--display-case);color:var(--on-accent);margin:0;font-size:1.35rem;line-height:1.1}.league-start p{margin:.15rem 0 0;font-size:.85rem}.league-start-form{gap:.5rem;display:flex}.league-start-form input{border-radius:var(--radius-md);background:var(--card);min-width:0;min-height:3rem;color:var(--text);font:inherit;border:none;flex:1;padding:0 .9rem;font-size:1rem}.league-start-form input:focus-visible{outline:2px solid var(--on-accent);outline-offset:2px}.league-start-form button{border-radius:var(--radius-md);background:var(--on-accent);min-height:3rem;color:var(--accent);font-family:var(--font-display);font-weight:var(--display-weight-strong);text-transform:var(--display-case);cursor:pointer;border:none;flex:none;padding:0 1.2rem;font-size:1rem}.league-start-form button:disabled{opacity:.6;cursor:not-allowed}.league-start-error{font-weight:600}.league-join-link{min-height:2.75rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;margin:.25rem auto 0;padding:0 .5rem;font-weight:600;text-decoration:underline;display:block}.league-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.league-action{border:1.5px solid var(--border-light);border-radius:var(--radius-lg);background:var(--card);min-height:4.75rem;color:var(--text);font-family:var(--font-display);font-weight:var(--display-weight-medium);text-transform:var(--display-case);text-align:left;cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;gap:.35rem;padding:0 1rem;font-size:1rem;display:flex}.league-action-icon{color:var(--accent);font-size:1.35rem}.league-action.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.league-action.primary .league-action-icon{color:var(--on-accent)}.league-action:focus-visible,.league-join-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.your-leagues{margin-top:1.5rem}.your-leagues>h3{margin:0 .25rem}.league-sheet{text-align:left;flex-direction:column;gap:.8rem;display:flex}.league-sheet-note{color:var(--text-muted);margin:0;font-size:.9rem}.league-sheet-field{flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.league-sheet-field input{border:1.5px solid var(--border-light);border-radius:var(--radius-md);background:var(--card-alt);min-height:3rem;color:var(--text);font:inherit;padding:0 .9rem;font-size:1rem;font-weight:400}.league-sheet-field input:focus-visible{border-color:var(--accent);outline:none}.public-leagues{text-align:left;margin-top:1.5rem}.public-leagues>h3{margin:0 .25rem}.league-club-card{flex-direction:column;gap:.5rem;margin-top:0;display:flex}.league-club-card h3{margin:0}.club-picker{text-align:left;flex-direction:column;gap:.5rem;display:flex}.club-picker label{font-size:.85rem;font-weight:600}.club-picker select{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--card-alt);min-width:0;min-height:2.75rem;color:var(--text);font:inherit;flex:1;padding:0 .75rem}.club-picker .coin-spend{flex:none;padding:0 1.25rem}.public-you{text-align:center;flex-direction:column;align-items:center;gap:.35rem;margin-top:0;display:flex}.public-you-rank{font-family:var(--font-display);font-weight:var(--display-weight-strong);margin:0;font-size:2.6rem;line-height:1}.public-you-detail{color:var(--text-muted);margin:0}.public-you .coin-spend,.league-today .coin-spend{padding:.75rem 1.75rem}.public-you .coin-spend{margin-top:.6rem}.public-name{align-items:center;gap:.25rem;display:flex}.public-report{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-.6rem 0;font-size:.85rem;display:inline-flex}.public-report:hover{color:var(--text)}.public-report:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.public-reported{color:var(--text-muted);flex:none;font-size:.7rem;font-weight:600}.report-sheet{text-align:left;flex-direction:column;gap:.75rem;display:flex}.report-sheet-name{overflow-wrap:anywhere;margin:0;font-size:1.15rem;font-weight:700}.report-sheet .account-delete{width:100%;min-height:3rem}.report-sheet-note{color:var(--text-muted);margin:0;font-size:.9rem}.account-name-hidden{border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft-bg);margin:0;padding:.75rem .9rem;font-size:.9rem}.public-gap td{text-align:center;color:var(--text-muted);padding:.3rem}.public-club{margin-top:1rem}.manage-league{text-align:left;flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.manage-league h3{margin:0}.manage-members{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.manage-members li{background:var(--card-alt);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-height:3rem;padding:.4rem .8rem;display:flex}.manage-members li+li{border-top:1px solid var(--border)}.manage-member-name{overflow-wrap:anywhere;align-items:center;gap:.5rem;font-weight:500;display:flex}.manage-owner-tag{border-radius:var(--radius-sm);background:var(--accent-bg);letter-spacing:.04em;text-transform:uppercase;color:var(--text);padding:.1rem .45rem;font-size:.7rem;font-weight:700}.manage-remove{min-height:2.75rem;color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 .8rem;font-weight:600}.manage-confirm{flex-direction:column;gap:.5rem;width:100%;padding-bottom:.4rem;font-size:.85rem;display:flex}.manage-confirm .account-row{flex-wrap:wrap}.manage-action{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.manage-action p{color:var(--text-muted);margin:0;font-size:.85rem}.gameweek-reveal{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.gameweek-reveal-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:600}.gameweek-podium{justify-content:center;align-items:flex-end;gap:.5rem;width:100%;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.gameweek-podium li{flex-direction:column;flex:1;align-items:center;gap:.3rem;min-width:0;display:flex}.gameweek-podium .podium-1{order:2}.gameweek-podium .podium-2{order:1}.gameweek-podium .podium-3{order:3}.gameweek-podium-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.85rem;font-weight:600;overflow:hidden}.gameweek-podium-step{border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--card-alt);width:100%;height:3.2rem;font-family:var(--font-display);font-weight:var(--display-weight-strong);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.podium-1 .gameweek-podium-step{background:var(--accent);height:4.6rem;color:var(--on-accent)}.podium-3 .gameweek-podium-step{height:2.4rem}.gameweek-podium-points{color:var(--text-muted);font-size:.8rem}.gameweek-reveal-you{margin:.25rem 0 0}.badge-group{text-align:left;flex-direction:column;gap:.5rem;width:100%;display:flex}.badge-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:baseline;margin:.5rem 0 0;font-size:.8rem;font-weight:600;display:flex}.badge-group-count{font-variant-numeric:tabular-nums;letter-spacing:0}.badge-group .badge-cabinet{margin-top:0}
