@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{--bg:#fafaf8;--surface:#fff;--card:#fff;--border:#e4e4e0;--border-light:#f0f0ec;--accent:#1a1a1a;--accent-inv:#fff;--green:#2d6a4f;--red:#9b2226;--amber:#7c6a0a;--text:#1a1a1a;--text-secondary:#6b6b68;--muted:#9b9b96;--bar:56px;--font-display:"DM Serif Display", serif;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;min-height:100dvh}.login{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.login-eyebrow{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:11px;font-weight:500}.login h1{font-family:var(--font-display);letter-spacing:-.5px;margin-bottom:32px;font-size:42px;font-weight:400;line-height:1}.login input{border:none;border-bottom:2px solid var(--border);width:100%;max-width:280px;color:var(--text);font-family:var(--font-body);text-align:center;background:0 0;outline:none;padding:12px 0;font-size:16px;transition:border-color .2s}.login input:focus{border-color:var(--text)}.login input::placeholder{color:var(--muted)}.login button{border:2px solid var(--text);background:var(--text);color:var(--bg);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;margin-top:24px;padding:12px 48px;font-size:13px;font-weight:500;transition:opacity .2s}.login button:hover{opacity:.85}.google-btn{border:2px solid var(--text);background:var(--text);color:var(--bg);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;margin-top:24px;padding:12px 48px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-block}.google-btn:hover{opacity:.85}.dev-login{gap:8px;width:100%;max-width:280px;margin-top:24px;display:flex}.dev-login input{border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-body);outline:none;flex:1;padding:10px;font-size:14px}.dev-login input:focus{border-color:var(--text)}.dev-login button{background:var(--text);color:var(--bg);font-family:var(--font-mono);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;border:none;padding:10px 16px;font-size:12px}.app{padding-bottom:calc(var(--bar) + 12px)}.tab-bar{height:var(--bar);background:var(--surface);border-top:1px solid var(--border);z-index:200;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar .tab{color:var(--muted);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.tab-bar .tab .tab-icon{font-size:16px}.tab-bar .tab.active{color:var(--text)}.sub-tabs{border-bottom:1px solid var(--border);display:flex}.sub-tabs button{text-align:center;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:12px 0;font-size:11px;font-weight:500;transition:color .15s;position:relative}.sub-tabs button.active{color:var(--text)}.sub-tabs button.active:after{content:"";background:var(--text);height:1.5px;position:absolute;bottom:-1px;left:20%;right:20%}.group-tabs{scrollbar-width:none;border-bottom:1px solid var(--border-light);gap:2px;padding:10px 16px;display:flex;overflow-x:auto}.group-tabs::-webkit-scrollbar{display:none}.group-tabs button{color:var(--muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;padding:5px 14px;font-size:12px;font-weight:500;transition:all .15s}.group-tabs button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.group-tabs button.done{color:var(--green);border-color:var(--green)}.progress-counter{text-align:center;font-family:var(--font-mono);color:var(--muted);padding:8px 16px;font-size:11px}.progress-counter b{color:var(--text)}.matchday-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin:20px 16px 6px;padding-bottom:4px;font-size:10px}.match-card{background:var(--card);border:1px solid var(--border-light);margin:0 16px 8px;padding:16px;transition:border-color .15s}.match-card.filled{border-color:var(--text)}.match-teams{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.match-card .team{flex-direction:column;align-items:center;gap:6px;width:90px;display:flex}.match-card .team img{object-fit:cover;background:var(--bg);border-radius:50%;width:40px;height:40px}.match-card .team span{text-align:center;letter-spacing:.3px;font-size:11px;font-weight:600}.match-card .vs{font-family:var(--font-mono);color:var(--muted);letter-spacing:1px;font-size:11px}.outcomes{justify-content:center;gap:6px;display:flex}.outcomes button{border:1px solid var(--border);max-width:72px;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;flex:1;padding:9px 0;font-size:13px;font-weight:500;transition:all .15s}.outcomes button:active{transform:scale(.97)}.outcomes button.sel-home{background:var(--green);border-color:var(--green);color:#fff}.outcomes button.sel-draw{background:var(--text-secondary);border-color:var(--text-secondary);color:#fff}.outcomes button.sel-away{background:var(--text);border-color:var(--text);color:var(--bg)}.match-meta{text-align:center;color:var(--muted);font-size:10px;font-family:var(--font-mono);letter-spacing:.3px;margin-top:10px}.save-bar{bottom:var(--bar);background:linear-gradient(transparent, var(--bg) 30%);z-index:150;padding:10px 16px;position:fixed;left:0;right:0}.save-bar button{background:var(--text);width:100%;color:var(--bg);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;padding:13px;font-size:12px;font-weight:500;transition:opacity .2s}.save-bar button:hover{opacity:.85}.standings{border-collapse:collapse;width:100%;margin:0 0 12px;font-size:13px}.standings th{text-align:left;color:var(--muted);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--border);padding:8px 6px;font-size:10px;font-weight:500}.standings th:not(:first-child){text-align:center}.standings td{border-bottom:1px solid var(--border-light);font-variant-numeric:tabular-nums;padding:9px 6px}.standings td:not(:first-child){text-align:center;font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.standings tr.qualified td:first-child{color:var(--green)}.standings .team-cell{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.standings .team-cell img{border-radius:50%;width:22px;height:22px}#standings-container,#results-container,#results-standings,#results-matches{padding:0 16px}.summary-bar{background:var(--surface);border:1px solid var(--border);font-family:var(--font-mono);justify-content:center;gap:20px;margin:10px 16px;padding:12px;font-size:12px;display:flex}.summary-bar .correct{color:var(--green)}.summary-bar .wrong{color:var(--red)}.summary-bar .pending{color:var(--muted)}.summary-bar .pts{color:var(--text);font-weight:700}.pick-card{background:var(--card);border:1px solid var(--border-light);margin:0 16px 6px;overflow:hidden}.pick-header{cursor:pointer;align-items:center;gap:8px;padding:10px 12px;display:flex}.pick-header .team{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.pick-header .team.away{text-align:right;justify-content:flex-end}.pick-header .team img{border-radius:50%;flex-shrink:0;width:24px;height:24px}.pick-header .team span{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.presult{font-family:var(--font-mono);flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:500}.presult.correct{color:var(--green);background:#e8f5e9}.presult.wrong{color:var(--red);background:#fce4ec}.presult.pending{background:var(--bg);color:var(--muted)}.pick-header .chevron{color:var(--muted);flex-shrink:0;font-size:10px;transition:transform .2s}.pick-card.open .pick-header .chevron{transform:rotate(180deg)}.pick-card.open{border-color:var(--border)}.pick-body{border-top:1px solid var(--border-light);padding:0 12px 8px;display:none}.pick-card.open .pick-body{display:block}.pick-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;display:flex}.pick-row:last-child{border-bottom:none}.pick-row.you{font-weight:700}.pick-locked{text-align:center;color:var(--muted);padding:16px;font-size:12px}.lb-row{border-bottom:1px solid var(--border-light);align-items:center;padding:14px 16px;display:flex}.lb-rank{width:32px;height:32px;font-family:var(--font-display);color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.lb-rank.gold{color:#b8860b}.lb-rank.silver{color:gray}.lb-rank.bronze{color:sienna}.lb-name{flex:1;margin-left:10px;font-size:14px;font-weight:600}.lb-you{color:var(--text-secondary);font-size:11px;font-weight:400}.lb-points{font-family:var(--font-display);color:var(--text);font-size:24px}.lb-detail{font-family:var(--font-mono);color:var(--muted);text-align:right;font-size:11px}.specials-section{margin:0 16px 24px}.specials-section h3{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:11px;font-weight:500}.specials-grid{flex-wrap:wrap;gap:5px;display:flex}.specials-grid button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;align-items:center;gap:5px;padding:7px 12px;font-size:12px;transition:all .15s;display:flex}.specials-grid button img{border-radius:50%;width:16px;height:16px}.specials-grid button.selected{background:var(--text);border-color:var(--text);color:var(--bg)}.rules{padding:24px 16px;line-height:1.8}.rules h2{font-family:var(--font-display);margin:0 0 16px;font-size:28px;font-weight:400}.rules h3{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:24px 0 8px;font-size:11px;font-weight:500}.rules table{border-collapse:collapse;width:100%;margin:8px 0 16px}.rules th,.rules td{border-bottom:1px solid var(--border-light);text-align:left;padding:8px 0;font-size:13px}.rules th{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.rules td:last-child{font-family:var(--font-mono);text-align:right;font-weight:500}.rules p{color:var(--text-secondary);margin-bottom:6px;font-size:14px}.toast{bottom:calc(var(--bar) + 64px);background:var(--text);color:var(--bg);font-family:var(--font-mono);letter-spacing:.5px;opacity:0;pointer-events:none;z-index:300;padding:10px 24px;font-size:12px;font-weight:500;transition:all .25s;position:fixed;left:50%;transform:translate(-50%)translateY(8px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.game-context{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border-light);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:11px;display:flex}.game-context button{border:1px solid var(--border);font-family:var(--font-mono);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;padding:2px 8px;font-size:10px}.import-banner{border-bottom:1px solid var(--border);font-family:var(--font-mono);color:var(--text-secondary);padding:12px 16px;font-size:12px}.import-banner span{margin-bottom:8px;display:block}.import-btns{flex-wrap:wrap;gap:6px;display:flex}.import-btns button{border:1px solid var(--text);color:var(--text);font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;padding:6px 14px;font-size:11px}.import-btns button:active{background:var(--text);color:var(--bg)}.games-header{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:20px 16px 10px;font-size:11px;font-weight:500}.game-row{border-bottom:1px solid var(--border-light);cursor:pointer;flex-direction:column;padding:14px 16px;transition:background .15s;display:flex}.game-row:active{background:var(--bg)}.game-row.game-active{border-left:3px solid var(--text)}.game-name{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.game-badge{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--green);border:1px solid var(--green);padding:1px 6px;font-size:9px;font-weight:500}.game-meta{font-family:var(--font-mono);color:var(--muted);margin-top:2px;font-size:11px}.game-action{border-bottom:1px solid var(--border-light);padding:10px 16px}.game-action>button{border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;padding:12px;font-size:12px;font-weight:500}.game-form{gap:8px;margin-top:10px;display:flex}.game-form input{border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-body);outline:none;flex:1;padding:10px;font-size:14px}.game-form input:focus{border-color:var(--text)}.game-form button{background:var(--text);color:var(--bg);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border:none;padding:10px 20px;font-size:12px;font-weight:500}.join-overlay{z-index:500;background:var(--bg);justify-content:center;align-items:center;padding:32px 16px;display:flex;position:fixed;inset:0}.join-card{border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:center;gap:20px;width:100%;max-width:360px;padding:32px 24px;display:flex}.join-game-name{font-family:var(--font-display);text-align:center;font-size:26px;font-weight:400}.join-request-btn{background:var(--text);width:100%;color:var(--bg);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;padding:14px;font-size:12px;font-weight:500}.join-status{font-family:var(--font-mono);color:var(--amber);letter-spacing:.5px;text-align:center;font-size:12px}.join-declined{color:var(--red)}.join-cancel{color:var(--muted);font-family:var(--font-mono);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:0 0;border:none;font-size:11px}.requests-banner{background:var(--surface);border-bottom:1px solid var(--border);font-family:var(--font-mono);color:var(--amber);letter-spacing:.5px;align-items:center;gap:12px;padding:10px 16px;font-size:11px;display:flex}.requests-banner button{cursor:pointer;color:var(--muted);background:0 0;border:none;margin-left:auto;font-size:16px;line-height:1}.member-row{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:10px 16px;display:flex}.member-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.member-name{flex:1;font-size:14px;font-weight:500}.member-remove{border:1px solid var(--red);color:var(--red);font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;padding:3px 10px;font-size:10px}.member-approve{border:1px solid var(--green);color:var(--green);font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;padding:3px 10px;font-size:10px}.game-share{justify-content:center;padding:16px;display:flex}.game-share button,.game-share-new button{border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;background:0 0;padding:10px 20px;font-size:11px;font-weight:500}.game-share-new{text-align:center;border-bottom:1px solid var(--border);font-family:var(--font-mono);color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:16px;font-size:11px;display:flex}.share-link-url{font-family:var(--font-mono);color:var(--text);word-break:break-all;font-size:11px}.games-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 16px;display:flex}.games-empty-text{font-family:var(--font-display);margin-bottom:8px;font-size:24px}.games-empty-sub{font-family:var(--font-mono);color:var(--muted);letter-spacing:.5px;margin-bottom:24px;font-size:12px}.time-page{padding:32px 16px}.time-header{font-family:var(--font-display);margin-bottom:24px;font-size:28px;font-weight:400}.time-current{font-family:var(--font-mono);text-align:center;color:var(--text);letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:500}.time-slider{appearance:none;background:var(--border);outline:none;width:100%;height:2px;margin:8px 0}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);cursor:pointer;border:none;width:20px;height:20px}.time-slider::-moz-range-thumb{background:var(--text);cursor:pointer;border:none;width:20px;height:20px}.time-range{font-family:var(--font-mono);color:var(--muted);letter-spacing:.5px;text-transform:uppercase;justify-content:space-between;margin-bottom:24px;font-size:10px;display:flex}.time-shortcuts{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.time-shortcuts button{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:6px 14px;font-size:11px;font-weight:500;transition:all .15s}.time-shortcuts button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.time-info{color:var(--muted);font-size:13px;line-height:1.6}.spinner{z-index:400;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner-dot{background:var(--text);width:6px;height:6px;animation:.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(2.5)}}
