:root{color-scheme:dark;--bg: #081018;--bg-soft: rgba(16, 28, 42, .82);--panel: rgba(12, 22, 34, .88);--line: rgba(148, 163, 184, .18);--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--accent-2: #f59e0b;--good: #34d399;--shadow: 0 24px 80px rgba(2, 8, 23, .45)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Space Grotesk,system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at top,#112033 0%,var(--bg) 55%);overflow-x:clip}a{color:inherit;text-decoration:none}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 20%,rgba(56,189,248,.16),transparent 30%),radial-gradient(circle at 85% 10%,rgba(245,158,11,.12),transparent 28%);pointer-events:none}.shell{position:relative;max-width:1200px;margin:0 auto;padding:32px 20px 64px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(64px,env(safe-area-inset-bottom))}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}h1,h2,p{margin:0}h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:.95}.subtitle{margin-top:12px;max-width:52ch;color:var(--muted);line-height:1.5}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.button,select{border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);color:var(--text);font:inherit}.button{padding:12px 18px;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.button:hover{transform:translateY(-1px);border-color:#38bdf873}.button.primary{background:linear-gradient(135deg,#38bdf83d,#f59e0b2e)}.button.ghost{background:transparent;padding:10px 14px;font-size:.9rem}.button:disabled{opacity:.6;cursor:default}.period-toggle{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.9rem}select{padding:10px 14px}.today{margin-bottom:28px;padding:24px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 0% 0%,rgba(56,189,248,.14),transparent 45%),var(--panel);box-shadow:var(--shadow)}.today-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:20px}.today-head h2{font-size:clamp(1.6rem,3vw,2.4rem)}.today-meta{display:flex;gap:24px}.today-meta-item{display:flex;flex-direction:column;gap:4px;text-align:right}.today-meta-item span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.today-meta-item strong{font-size:1.1rem}.date-picker{margin-top:12px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);color:var(--text);font:inherit;color-scheme:dark;cursor:pointer;max-width:100%;box-sizing:border-box}.date-picker:hover{border-color:#38bdf873}.players{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.player-row{display:grid;grid-template-columns:1fr 1.1fr auto;gap:10px;align-items:center;padding:10px 14px;border-radius:14px;background:#ffffff08}.player-handle{font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-name-input{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text);font:inherit;transition:border-color .15s ease}.player-name-input:focus{outline:none;border-color:var(--accent)}.player-status{font-size:.75rem;min-width:42px;text-align:right}.player-status.saving{color:var(--muted)}.player-status.saved{color:var(--good)}.player-status.error{color:var(--accent-2)}.score-legend{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--muted);font-size:.82rem}.weekly-top{margin-bottom:28px}.weekly-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weekly-top-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 16px;border-radius:20px;text-align:center;background:#ffffff08;border:1px solid var(--line);transition:transform .12s ease,border-color .12s ease,background .12s ease}.weekly-top-card.clickable{cursor:pointer}.weekly-top-card.clickable:hover{transform:translateY(-1px);border-color:#38bdf873;background:#38bdf80f}.weekly-top-card.rank-1{background:linear-gradient(180deg,#f59e0b1f,#ffffff05);border-color:#f59e0b59}.weekly-top-card.rank-2{border-color:#94a3b859}.weekly-top-card.rank-3{border-color:#b4784659}.weekly-top-rank{font-size:1.8rem;line-height:1}.weekly-top-card strong{font-size:1.05rem}.weekly-top-score{font-size:1.8rem;font-weight:700;line-height:1.1}.weekly-top-meta{color:var(--muted);font-size:.82rem}@media(max-width:720px){.weekly-top-grid{grid-template-columns:1fr}}.legend-bar{flex:0 0 160px;height:8px;border-radius:999px;background:linear-gradient(90deg,#df2020,#e7b623,#7ad025,#1dc939)}.today-board{column-count:2;column-gap:14px}@media(max-width:720px){.today-board{column-count:1}}.today-row{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:14px 18px;margin-bottom:10px;border-radius:18px;background:#ffffff08;border:1px solid transparent;break-inside:avoid;-webkit-column-break-inside:avoid}.today-row.rank-1{background:linear-gradient(120deg,#f59e0b2e,#ffffff05);border-color:#f59e0b66}.today-row.rank-2{border-color:#94a3b859}.today-row.rank-3{border-color:#b4784659}.today-row.mine{border-color:#38bdf873}.today-row.unplayed{opacity:.72;border-style:dashed}.today-row.unplayed .today-rank{color:var(--muted);font-size:1.1rem}.no-score-label,.no-score-value{color:var(--muted);font-size:.85rem;font-weight:500}.no-score-value{font-size:1.4rem}.today-row.clickable{cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.today-row.clickable:hover{transform:translateY(-1px);border-color:#38bdf88c;background:#38bdf80f}.today-rank{font-size:1.6rem;text-align:center;font-weight:700;color:var(--muted)}.today-player{display:flex;flex-direction:column;gap:8px}.today-player strong{font-size:1.1rem}.streak-badge{display:inline-flex;align-items:center;width:fit-content;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.01em}.streak-badge.streak-first{color:#fcd34d;background:#f59e0b24;border:1px solid rgba(245,158,11,.35)}.streak-badge.streak-top3{color:#d6b08a;background:#b478461f;border:1px solid rgba(180,120,70,.3)}.today-rounds{display:flex;flex-wrap:wrap;gap:6px}.today-score{text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.today-score>strong{font-size:1.7rem;font-weight:700}.today-score-value.editable{border:none;background:transparent;font:inherit;font-size:1.7rem;font-weight:700;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}.today-score-value .edit-hint{font-size:.7em;opacity:.55}.today-score-value.editable:hover .edit-hint{opacity:1}.score-edit-input{width:90px;padding:4px 8px;border:1px solid var(--accent);border-radius:8px;background:var(--bg-soft);color:var(--text);font:inherit;font-weight:700;text-align:right}.score-edit-input:focus{outline:none}.score-edit-trigger{align-self:flex-start;padding:0;border:none;background:none;color:var(--accent);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.score-edit-trigger:hover{text-decoration:underline}.today-player-body{display:flex;flex-direction:column;gap:8px}.score-entry-form{display:flex;flex-direction:column;gap:10px}.round-inputs{display:flex;flex-wrap:wrap;gap:6px}.round-edit-input{width:52px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text);font-family:IBM Plex Mono,monospace;font-size:.82rem;text-align:center}.round-edit-input:focus{outline:none;border-color:var(--accent)}.score-entry-final{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem}.score-entry-final .score-edit-input{width:100px}.score-entry-actions{display:flex;flex-wrap:wrap;gap:8px}.score-entry-actions .button{padding:8px 14px;font-size:.85rem}.today-row.is-editing{align-items:start}.today-row.is-editing .today-score{display:none}.chip{padding:6px 10px;border-radius:999px;background:#38bdf81a;font-family:IBM Plex Mono,monospace;font-size:.82rem}.delta{font-size:.8rem;font-family:IBM Plex Mono,monospace}.delta.up{color:var(--good)}.delta.down{color:var(--accent-2)}.delta.even{color:var(--muted)}.section-divider{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:8px 0 18px;padding-top:8px;border-top:1px solid var(--line)}.section-divider h2{font-size:1.3rem;padding-top:12px}.panel-head.with-control{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.mini-stat{padding:12px 14px;border-radius:14px;background:#ffffff08;border:1px solid var(--line)}.mini-stat .label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.mini-stat .value{margin-top:4px;font-size:1.3rem;font-weight:700}.mini-stat .sub{margin-top:2px;color:var(--muted);font-size:.78rem}.mini-stat-record{display:flex;align-items:center;gap:12px;min-height:88px;padding:14px 16px}.mini-stat-high{background:radial-gradient(circle at 0% 0%,rgba(52,211,153,.14),transparent 55%),#ffffff08;border-color:#34d39947}.mini-stat-low{background:radial-gradient(circle at 0% 0%,rgba(251,113,133,.12),transparent 55%),#ffffff08;border-color:#fb718547}.record-art{flex:0 0 48px;display:grid;place-items:center}.record-emoji{font-size:2rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.record-body{flex:1;min-width:0}.useless-fact{margin-top:16px;margin-bottom:16px;padding:14px 16px;border-radius:14px;border:1px dashed var(--line);background:#ffffff05}.mini-stats-ever{margin-top:0}.useless-fact-label{margin:0 0 6px;color:var(--accent-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.useless-fact-text{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}.useless-fact-text.muted{font-style:italic}.span-select{flex:0 0 auto;padding:8px 38px 8px 14px;font-size:.85rem;border:1px solid var(--line);border-radius:999px;background-color:var(--bg-soft);color:var(--text);font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center}.mode-toggle{display:inline-flex;flex:0 0 auto;flex-wrap:wrap;padding:3px;border-radius:999px;border:1px solid var(--line);background:var(--bg-soft)}.mode-toggle button{padding:7px 12px;border:none;border-radius:999px;background:transparent;color:var(--muted);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.mode-toggle button.active{background:#38bdf82e;color:var(--text)}.mode-toggle button:hover:not(.active){color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}.stat-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.stat-label{color:var(--muted);font-size:.85rem}.stat-value{margin-top:8px;font-size:2rem;font-weight:700}.stat-sub{margin-top:6px;color:var(--muted);font-size:.82rem}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow)}.panel.span-2{grid-column:span 2}.admin-section{margin-top:18px}.panel-head{margin-bottom:18px}.panel-head h2{font-size:1.2rem}.panel-head p{margin-top:6px;color:var(--muted);font-size:.92rem}.leaderboard{display:flex;flex-direction:column;gap:12px}.leader-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:#ffffff05}.rank{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#38bdf81f;color:var(--accent);font-weight:700}.rank-1{background:linear-gradient(135deg,#f59e0b59,#eab30833);color:#fcd34d;border:1px solid rgba(245,158,11,.55)}.rank-2{background:linear-gradient(135deg,#94a3b859,#cbd5e126);color:#e2e8f0;border:1px solid rgba(148,163,184,.5)}.rank-3{background:linear-gradient(135deg,#b4784659,#925a2d33);color:#d4a574;border:1px solid rgba(180,120,70,.5)}.leader-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.leader-meta strong{font-size:1rem}.leader-meta span{color:var(--muted);font-size:.85rem}.leader-score{text-align:right}.leader-score strong{display:block;font-size:1.3rem;color:var(--good)}.leader-score span{color:var(--muted);font-size:.8rem}.empty-state{padding:28px;border:1px dashed var(--line);border-radius:20px;text-align:center;color:var(--muted)}.empty-state h2{color:var(--text);margin-bottom:8px}code{font-family:IBM Plex Mono,monospace;color:var(--accent)}.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#112033 0%,var(--bg) 60%)}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:36px 32px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);text-align:center}.login-card h1{margin:0}.login-copy{color:var(--muted);margin:0 0 6px}.login-input{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft);color:var(--text);font:inherit;text-align:center}.login-input:focus{outline:none;border-color:var(--accent)}.login-error{color:var(--accent-2);font-size:.9rem;margin:0}.avatar-menu{position:relative;flex-shrink:0;margin-left:auto}.avatar{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(135deg,#38bdf866,#f59e0b59);color:#08131f;font-weight:700;font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,box-shadow .15s ease}.avatar:hover{transform:translateY(-1px);box-shadow:0 6px 18px #38bdf840}.avatar-dropdown{z-index:1000;min-width:min(200px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.avatar-dropdown .who{padding:10px 12px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.avatar-dropdown .who strong{display:block}.avatar-dropdown .who span{color:var(--muted);font-size:.82rem;font-family:IBM Plex Mono,monospace}.menu-item{text-align:left;width:100%;padding:10px 12px;border:none;border-radius:10px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.menu-item:hover{background:#ffffff0d}.account-page{display:flex;flex-direction:column;gap:24px}.account-header{display:flex;align-items:center;gap:18px}.account-avatar-lg{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#38bdf873,#f59e0b66);color:#08131f;font-weight:700;font-size:1.8rem;display:grid;place-items:center}.account-rename{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.account-rename input{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);color:var(--text);font:inherit;min-width:240px}.account-rename input:focus{outline:none;border-color:var(--accent)}.save-status{font-size:.85rem;color:var(--muted)}.save-status.saved{color:var(--good)}.save-status.error{color:var(--accent-2)}.back-link{color:var(--accent);font-size:.9rem;display:inline-flex;align-items:center;gap:6px}.audit{display:flex;flex-direction:column;gap:8px}.audit-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff08;font-size:.92rem}.audit-main{color:var(--muted)}.audit-main strong{color:var(--text)}.audit-change{color:var(--accent);font-family:IBM Plex Mono,monospace;white-space:nowrap}.audit-when{color:var(--muted);font-size:.82rem;white-space:nowrap}.audit-empty{color:var(--muted)}@media(max-width:900px){.panel-grid{grid-template-columns:1fr}.hero{flex-direction:column}.hero-actions{width:100%;justify-content:space-between}.panel.span-2{grid-column:span 1}}@media(max-width:560px){.shell{padding-top:max(20px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(48px,env(safe-area-inset-bottom))}h1{font-size:clamp(2rem,9vw,2.6rem)}.hero-actions{width:100%;justify-content:flex-end;gap:10px}.hero-actions .button{flex:1 1 auto;min-width:0;padding-inline:14px}.panel-head.with-control{flex-direction:column;align-items:stretch}.mode-toggle{align-self:flex-start;max-width:100%}.leader-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today{padding:18px 16px;border-radius:22px}.today-head{align-items:flex-start}.today-meta{flex-wrap:wrap;gap:14px 20px}.today-meta-item{text-align:left}.today-board{column-count:1}.today-row{grid-template-columns:40px 1fr auto;gap:12px;padding:12px 14px}.today-rank{font-size:1.3rem}.today-score>strong,.today-score-value.editable{font-size:1.4rem}.section-divider{flex-wrap:wrap;gap:12px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:14px}.stat-value{font-size:1.6rem}.panel{padding:16px;border-radius:20px}.players{grid-template-columns:1fr}.player-row{grid-template-columns:1fr auto}.player-handle{grid-column:1 / -1}.account-header{gap:14px}.account-avatar-lg{width:60px;height:60px;font-size:1.5rem}.account-rename{flex-direction:column;align-items:stretch}.account-rename input{min-width:0;width:100%}.audit-row{flex-direction:column;gap:4px}}@media(max-width:360px){.stats-grid{grid-template-columns:1fr}}
