:root{--gold: #d4af37;--gold-light: #f0d060;--bg: #0a0e14;--surface: #131821;--surface-2: #1a2030;--surface-3: #232b3d;--border: #2a3346;--text: #eef0f4;--text-dim: #8b95a7;--text-faint: #5d6779;--win: #2fbf71;--danger: #e5484d;--warn: #f5a524;--team-home: #1b5f8a;--team-away: #a33b3b;--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 24px rgb(0 0 0 / .4);--font-display: "Oswald", "Arial Narrow", sans-serif;--font-body: "Rajdhani", system-ui, -apple-system, sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100dvh;overflow-x:hidden;font-size:16px;line-height:1.45}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 16px 64px}.stack{display:flex;flex-direction:column;gap:20px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}.banner{position:relative;z-index:2;margin:0 -16px 20px;padding:16px 20px 14px;text-align:center;border-bottom:3px solid var(--gold);background:linear-gradient(135deg,var(--team-home) 0%,#0a1628 50%,var(--team-away) 100%);box-shadow:var(--shadow)}.banner h1{font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2.1rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.banner-meta{color:var(--text-dim);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-title{font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px}.grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.grid{display:grid;grid-template-columns:repeat(11,minmax(clamp(26px,8.2vw,58px),1fr));gap:2px;min-width:320px}.grid-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:clamp(.55rem,1.8vw,.78rem);font-weight:600;text-align:center;overflow:hidden;word-break:break-word;padding:2px;border:1px solid var(--border);background:var(--surface-2);transition:transform .12s ease,box-shadow .12s ease}.grid-cell.axis{font-family:var(--font-display);background:var(--surface-3);color:var(--gold);font-size:clamp(.7rem,2.2vw,1rem);border-color:transparent}.grid-cell.axis-home{background:color-mix(in srgb,var(--team-home) 55%,var(--surface-3))}.grid-cell.axis-away{background:color-mix(in srgb,var(--team-away) 55%,var(--surface-3))}.grid-cell.corner{background:var(--surface-3);color:var(--text-faint);font-size:clamp(.45rem,1.4vw,.62rem);letter-spacing:.02em}.grid-cell.taken{color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / .5)}.grid-cell.empty{color:var(--text-faint)}.grid-cell.selectable{cursor:pointer}.grid-cell.selectable:hover{transform:scale(1.06);z-index:2}.grid-cell.winner{box-shadow:0 0 0 2px var(--gold),0 0 14px #d4af3780;z-index:1}.grid-cell.potential{box-shadow:0 0 0 2px var(--warn);animation:pulse 1.8s ease-in-out infinite}.grid-cell.winner:after{content:"★";position:absolute;font-size:.6em;align-self:flex-start;margin-left:-1.4em;color:var(--gold)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.62}}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.score-team{display:flex;align-items:center;gap:10px;min-width:0}.score-team.away{flex-direction:row-reverse;text-align:right}.score-logo{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0}.score-monogram{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0}.score-name{font-family:var(--font-display);font-size:clamp(.85rem,2.4vw,1.15rem);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-value{font-family:var(--font-display);font-size:clamp(1.8rem,7vw,3rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.score-sep{color:var(--text-faint);font-size:1.4rem}.payout-strip,.tracker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.payout-card,.tracker-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.payout-card.won{border-color:var(--gold)}.payout-card.potential{border-color:var(--warn)}.payout-label,.tc-squares{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.payout-amount{font-family:var(--font-display);font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold)}.payout-winner{font-weight:600}.payout-digits{font-size:.8rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.tc-name{font-family:var(--font-display);font-size:1rem;text-transform:uppercase}.tc-winnings{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.tracker-card.has-winnings{border-color:var(--gold)}button,.btn{font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.04em;padding:9px 16px;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease}button:hover:not(:disabled){background:var(--surface-3)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--gold);border-color:var(--gold);color:#1a1400}.btn-primary:hover:not(:disabled){background:var(--gold-light)}.btn-danger{border-color:var(--danger);color:var(--danger);background:transparent}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,transparent)}.btn-ghost{background:transparent}input,select,textarea{font-family:var(--font-body);font-size:16px;padding:9px 12px;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);width:100%}input[type=color]{padding:4px;height:44px;cursor:pointer}label{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px}.field{margin-bottom:12px}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.status-dot.open{background:var(--win)}.status-dot.reconnecting{background:var(--warn);animation:pulse 1.2s infinite}.status-dot.closed{background:var(--danger)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-3);color:var(--text-dim)}.badge.admin{background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--gold)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h2{font-family:var(--font-display);font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em}.toast-stack{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px))}.toast{padding:12px 16px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border);box-shadow:var(--shadow);font-weight:600}.toast.error{border-color:var(--danger)}.toast.success{border-color:var(--win)}.muted{color:var(--text-dim)}.small{font-size:.85rem}.mono{font-variant-numeric:tabular-nums}.center{text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.empty-state{padding:40px 20px;text-align:center;color:var(--text-dim)}@media(max-width:640px){.app{padding:0 10px 48px}.banner{margin:0 -10px 16px}.scoreboard{gap:8px}}.install-prompt{margin-bottom:16px;border-color:var(--gold);background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 10%,var(--surface)),var(--surface))}.app-nav{padding-top:10px}@supports (padding: env(safe-area-inset-top)){.app{padding-top:env(safe-area-inset-top);padding-bottom:calc(64px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.toast-stack{bottom:calc(16px + env(safe-area-inset-bottom))}}@media(display-mode:standalone){.app-nav{padding-top:14px}}
