:root{--brand: #0b5fa5;--brand-dark: #084a80;--accent: #f5a623;--ink: #1a1d21;--ink-soft: #5c6670;--line: #dfe4e9;--surface: #ffffff;--page: #f4f6f8;--good: #1a7f4b;--bad: #c0392b;--warn: #b8860b;--radius: 10px;--tap: 48px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.45;-webkit-text-size-adjust:100%}h1,h2,h3{margin:0 0 .4em;line-height:1.2;letter-spacing:-.01em}h1{font-size:1.5rem}h2{font-size:1.2rem}.app{max-width:720px;margin:0 auto;padding:0 0 4rem}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;background:var(--brand);color:#fff}.topbar strong{font-size:1.05rem}.topbar .who{font-size:.85rem;opacity:.9}.content{padding:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:.9rem}.card.live{border-color:var(--brand);border-width:2px}.card.done{opacity:.72}.meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem;color:var(--ink-soft);margin-bottom:.6rem}.pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;background:#eef2f6;font-weight:600;font-size:.78rem}.pill.live{background:var(--brand);color:#fff}.pill.done{background:var(--good);color:#fff}.matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem}.side{text-align:center}.side .name{font-weight:700;font-size:1rem;margin-bottom:.5rem;min-height:2.6em;display:flex;align-items:center;justify-content:center}.score{font-size:2.6rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;margin:.3rem 0}.vs{color:var(--ink-soft);font-weight:700}.stepper{display:flex;align-items:center;justify-content:center;gap:.5rem}button{font:inherit;min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;padding:0 1rem;touch-action:manipulation}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.step{width:var(--tap);padding:0;font-size:1.6rem;font-weight:700;line-height:1}button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;width:100%}button.ghost{background:transparent}button.danger{border-color:var(--bad);color:var(--bad)}button.yellow{background:#f7d154;border-color:#d9b23f;font-weight:700}button.red{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:700}.row{display:flex;gap:.6rem;flex-wrap:wrap}.row>*{flex:1 1 0;min-width:8rem}label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:.3rem}input,select{font:inherit;width:100%;min-height:var(--tap);padding:0 .75rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink)}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.field{margin-bottom:.9rem}.notice{padding:.7rem .9rem;border-radius:var(--radius);margin-bottom:.9rem;font-size:.92rem}.notice.error{background:#fdecea;color:#7d241b;border:1px solid #f3c2bd}.notice.ok{background:#e8f6ee;color:#14603a;border:1px solid #bfe3cf}.notice.pending{background:#fff6e0;color:#7a5a00;border:1px solid #f0dca8}.cards-list{list-style:none;margin:.6rem 0 0;padding:0}.cards-list li{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-top:1px solid var(--line);font-size:.92rem}.chip{width:1.1rem;height:1.5rem;border-radius:3px;flex:0 0 auto}.chip.yellow{background:#f7d154}.chip.red{background:var(--bad)}.muted{color:var(--ink-soft);font-size:.9rem}.center{text-align:center}.stack>*+*{margin-top:.9rem}.login-wrap{max-width:380px;margin:3rem auto;padding:0 1rem}.tabs{display:flex;gap:.35rem;margin:.4rem 0 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{flex:1 1 auto;min-width:5.5rem;min-height:42px;background:#fff;font-weight:600}.tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.time-heading{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:1.1rem 0 .4rem}.fixture{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .85rem;margin-bottom:.6rem}.fixture-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:var(--ink-soft);margin-bottom:.4rem}.team-line{display:flex;align-items:center;gap:.5rem;padding:.15rem 0}.team-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.team-name.pending{color:var(--ink-soft);font-style:italic}.team-score{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.15rem;min-width:1.4rem;text-align:right}.team-line.winner .team-name,.team-line.winner .team-score{font-weight:800}.pips{display:inline-flex;gap:2px;flex:0 0 auto}.pip{width:7px;height:11px;border-radius:1px;display:inline-block}.pip.yellow{background:#f0c419}.pip.red{background:var(--bad)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table.standings{width:100%;border-collapse:collapse;font-size:.92rem}table.standings th,table.standings td{padding:.45rem .4rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}table.standings th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}table.standings td.num,table.standings th.num{text-align:right;font-variant-numeric:tabular-nums}table.standings td.strong{font-weight:800}table.standings tr.highlight{background:#eaf3fb}.asterisk{color:var(--ink-soft);margin-left:.15rem}textarea{font:inherit;width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);resize:vertical}.checkbox{display:inline-flex;align-items:center;gap:.4rem;margin:0 .9rem .35rem 0;font-weight:500;color:var(--ink);text-transform:none;font-size:1rem}.checkbox input{width:auto;min-height:auto;width:1.15rem;height:1.15rem}dl.kv{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}dl.kv dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}dl.kv dd{margin:.1rem 0 0;font-weight:700}.joincode,.tempcode{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;font-weight:700;background:#eef2f6;padding:.15rem .45rem;border-radius:6px}.tempcode{display:inline-block;font-size:1.35rem;padding:.4rem .8rem;margin-top:.35rem;-webkit-user-select:all;user-select:all}.person{padding:.7rem 0;border-top:1px solid var(--line)}.person:first-of-type{border-top:0}.app.admin{max-width:900px}a{color:var(--brand)}
