:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--ink: #f4f6f8;--ink-dim: #8d95a3;--field: #0a0c10;--panel: #151922;--panel-high: #1d222d;--line: #2b3140;--accent: #ffc531;--accent-ink: #14161c;--good: #4ade80;--bad: #ff5f57;--host: #45c8e0;--host-ink: #04222b}body{margin:0;background:var(--field);background-image:radial-gradient(120% 60% at 50% 0%,#171b25,#0a0c10 70%);background-attachment:fixed;color:var(--ink)}#root{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.shell{max-width:480px;width:100%;margin:0 auto;padding:1rem 1rem 4.5rem;display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0;overflow-y:auto;box-sizing:border-box}.shell--league{padding-bottom:1rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:var(--accent)}.display{margin:.15rem 0 0;font-size:1.6rem;line-height:1.15;font-weight:800;letter-spacing:-.01em}.hint{color:var(--ink-dim);font-size:.9rem;margin:0}.rule{margin:0;font-size:.8rem;color:var(--ink-dim);border-left:2px solid var(--accent);padding-left:.6rem}.error{color:var(--bad);font-size:.9rem}.counter{margin:0;color:var(--ink-dim);font-variant-numeric:tabular-nums}.field{width:100%;box-sizing:border-box;padding:.75rem .9rem;font-size:1rem;border-radius:.25rem;border:1px solid var(--line);background:var(--panel);color:inherit;font-variant-numeric:tabular-nums}.field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.button{padding:.8rem 1rem;font-size:1rem;font-family:inherit;border-radius:.25rem;border:none;cursor:pointer;transition:transform .06s ease}.button:active{transform:translateY(1px)}.button.primary{background:var(--accent);color:var(--accent-ink);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.button.danger{background:var(--bad);color:#1a0708;font-weight:800;text-transform:uppercase;letter-spacing:.08em;width:100%}.button.wide{width:100%}.button.ghost{background:transparent;color:var(--ink-dim);border:1px solid var(--line);padding:.3rem .6rem;font-size:.9rem;line-height:1}.button:disabled{opacity:.4;cursor:not-allowed}.button.option{width:100%;box-sizing:border-box;text-align:left;background:var(--panel);color:inherit;border:1px solid var(--line);border-left:3px solid var(--line);font-weight:600}.button.option.selected{border-color:var(--accent);background:var(--panel-high)}.button.option .note{display:block;font-size:.75rem;font-weight:400;color:var(--ink-dim);margin-top:.25rem}.scorebug{display:flex;align-items:center;gap:.9rem;padding:.6rem .8rem;background:var(--panel);border-left:4px solid var(--accent);border-radius:.25rem}.brand{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin-right:auto}.bug-stat{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.bug-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim)}.bug-value{font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums}.scorebug--league{justify-content:space-between}.bug-inline{font-size:.85rem;color:var(--ink-dim);white-space:nowrap}.bug-inline strong{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;margin-left:.35rem}.account-menu{position:relative}.account-menu>summary{list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-menu-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:20;display:flex;flex-direction:column;min-width:13rem;padding:.6rem;background:var(--panel-high);border:1px solid var(--line);border-radius:.25rem;box-shadow:0 .5rem 1.2rem #0006}.account-menu-panel .danger-zone{margin-top:.6rem;padding-top:.6rem}.account-menu-toggle{display:flex;align-items:center;gap:.5rem;padding:.4rem .2rem;font-size:.9rem;color:var(--ink)}.standings{border:1px solid var(--line);border-radius:.25rem}.standings-head{display:flex;align-items:baseline;gap:.6rem;padding:.6rem .75rem;cursor:pointer;list-style:none}.standings-head::-webkit-details-marker{display:none}.standings-note{margin-left:auto;font-size:.75rem;color:var(--ink-dim);font-variant-numeric:tabular-nums}.chevron{display:inline-block;color:var(--ink-dim);font-size:.7rem;transition:transform .15s ease}.standings[open] .chevron{transform:rotate(180deg)}.standings .roster{padding:0 .35rem .35rem}.board{display:flex;flex-direction:column;gap:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.stage,.bet,.result,.chooser,.join{display:flex;flex-direction:column;gap:.75rem}.stage{animation:stage-in .24s ease-out both;border-radius:.35rem}@keyframes stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.stage.win{animation:stage-in .24s ease-out both,win-glow .9s ease-out .14s both}.stage.loss{animation:stage-in .24s ease-out both,loss-glow .9s ease-out .14s both}@keyframes win-glow{0%{box-shadow:0 0 #4ade8000}14%{box-shadow:0 0 0 4px #4ade808c}42%{box-shadow:0 0 #4ade8000}58%{box-shadow:0 0 0 4px #4ade8066}to{box-shadow:0 0 #4ade8000}}@keyframes loss-glow{0%{box-shadow:0 0 #ff5f5700}18%{box-shadow:0 0 0 4px #ff5f5780}to{box-shadow:0 0 #ff5f5700}}.stage.complete{animation:stage-in .24s ease-out both,complete-glow .9s ease-out .12s both}@keyframes complete-glow{0%{box-shadow:0 0 #ffc53100}16%{box-shadow:0 0 0 4px #ffc53180}to{box-shadow:0 0 #ffc53100}}.all-picked{margin:0;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:var(--accent)}.all-picked .check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:.75rem;letter-spacing:0;animation:check-pop .42s cubic-bezier(.2,1.4,.4,1) both}@keyframes check-pop{0%{transform:scale(.2);opacity:0}to{transform:none;opacity:1}}.countdown{margin:0;font-size:3.4rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.countdown.urgent{color:var(--bad)}.locked{margin:0;padding:.8rem .9rem;background:var(--panel);border-left:3px solid var(--accent);border-radius:.25rem}.options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.stake{display:flex;flex-direction:column;gap:.3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim)}.stake-field{font-size:1.35rem;font-weight:800;color:var(--accent)}.host{padding-top:.5rem;border-top:1px solid var(--line)}.danger-zone{margin-top:1.2rem;padding-top:.8rem;border-top:1px dashed var(--line)}.reveal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.reveal li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:.25rem;background:var(--panel);font-variant-numeric:tabular-nums}.reveal .who{display:flex;flex-direction:column;gap:.15rem;min-width:0}.reveal .name{font-weight:600}.reveal .sub{font-size:.75rem;color:var(--ink-dim)}.reveal li.self{background:var(--panel-high);box-shadow:inset 3px 0 0 var(--accent)}.reveal li.miss{background:var(--panel-high);box-shadow:inset 3px 0 0 var(--bad)}.reveal li.miss .sub{color:var(--bad);font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.reveal li.miss.self{box-shadow:inset 3px 0 0 var(--bad),inset 0 0 0 1px var(--accent)}.positive{color:var(--good);font-weight:700}.negative{color:var(--bad);font-weight:700}.roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.row{display:flex;align-items:baseline;gap:.6rem;padding:.55rem .75rem;border-radius:.25rem;background:var(--panel)}.rank{font-size:.7rem;font-weight:800;color:var(--ink-dim);font-variant-numeric:tabular-nums;min-width:1.1rem}.row .name{margin-right:auto;font-weight:600}.row .points{font-variant-numeric:tabular-nums;font-weight:800}.row.away{opacity:.45}.row.self{background:var(--panel-high);box-shadow:inset 3px 0 0 var(--accent)}.tag{margin-left:.4rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .35rem;border-radius:.15rem;background:var(--host);color:var(--host-ink);vertical-align:middle}.tag.pause{background:#b0790f;color:var(--ink)}.tag.away-tag{background:var(--line);color:var(--ink-dim)}.tag.room-code{background:var(--line);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em}.frame{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.time-frame .edge{position:absolute;background:var(--bad);box-shadow:0 0 10px #ff5f578c;animation-timing-function:linear;animation-fill-mode:forwards}.time-frame .top,.time-frame .bottom{left:0;right:0;height:3px;animation-name:drain-x}.time-frame .left,.time-frame .right{top:0;bottom:0;width:3px;animation-name:drain-y}.time-frame .top{top:0}.time-frame .bottom{bottom:0}.time-frame .left{left:0}.time-frame .right{right:0}@keyframes drain-x{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes drain-y{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@media (prefers-reduced-motion: reduce){.stage,.stage.win,.stage.loss,.stage.complete,.all-picked .check,.chevron{animation:none;transition:none}.time-frame .edge{animation:none;opacity:.6}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040609d1;overflow-y:auto;z-index:10;-webkit-overflow-scrolling:touch}.sheet{max-width:480px;margin:0 auto;padding:1rem 1rem 3rem;display:flex;flex-direction:column;gap:.9rem;background:var(--field);min-height:100dvh;box-sizing:border-box}.sheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;padding:.6rem 0;background:var(--field)}.sheet p{margin:0;line-height:1.5}.steps{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.6rem;line-height:1.45}.steps::marker,.steps li::marker{color:var(--accent);font-weight:800}.facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.facts li{display:flex;gap:.8rem;align-items:baseline;padding:.6rem .75rem;background:var(--panel);border-radius:.25rem}.fact-value{font-size:1.3rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;min-width:2.6rem;text-align:right}.fact-label{font-size:.85rem;line-height:1.4}.guide-bet{padding:.75rem;background:var(--panel);border-radius:.25rem;display:flex;flex-direction:column;gap:.5rem}.guide-bet h3{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em}.guide-outcomes{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;line-height:1.4}.guide-outcomes .note{color:var(--ink-dim)}.status{position:fixed;bottom:0;left:0;right:0;text-align:center;padding:.4rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;background:linear-gradient(to top,var(--field),transparent)}.status.online{color:var(--good)}.status.offline{color:var(--bad)}.status.connecting{color:var(--ink-dim)}.mode-switch{max-width:480px;margin:0 auto;padding:.6rem 1rem 0;display:flex;gap:.5rem;box-sizing:border-box}.mode-tab{flex:1;padding:.5rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-family:inherit;background:var(--panel);color:var(--ink-dim);border:1px solid var(--line);border-radius:.25rem;cursor:pointer}.mode-tab.active{background:var(--panel-high);color:var(--ink);border-color:var(--accent)}.legal-footer{max-width:480px;margin:0 auto;padding:.5rem 1rem 2.5rem;display:flex;justify-content:center;gap:1.2rem;font-size:.75rem;box-sizing:border-box}.legal-footer a{color:var(--ink-dim);text-decoration:none}.legal-footer a:hover{text-decoration:underline}.legal-body h3{margin:.4rem 0 0;font-size:1rem;font-weight:800}.legal-body p,.legal-body ul{margin:0;line-height:1.5}.legal-body ul{padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem}.legal-body a{color:var(--accent)}.league-card{display:flex;flex-direction:column;gap:.75rem}.league-form{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--line)}.league-tabs{display:flex;gap:.5rem}.league-tab{flex:1;padding:.6rem;font-size:.85rem;font-weight:700;font-family:inherit;background:var(--panel);color:var(--ink-dim);border:1px solid var(--line);border-radius:.25rem;cursor:pointer}.league-tab.active{background:var(--panel-high);color:var(--ink);border-color:var(--accent)}.league-row-button{all:unset;display:flex;width:100%;box-sizing:border-box;align-items:baseline;cursor:pointer}.league-account-name{font-size:.85rem;font-weight:700;text-transform:none;letter-spacing:normal}.week-switch{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.matchday{flex:1;min-height:0}.games{list-style:none;margin:0;padding:.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1;min-height:0;overflow-y:auto;border:1px solid var(--line);border-radius:.35rem;box-sizing:border-box}.game-card{display:flex;flex-direction:column;gap:.4rem;padding:.75rem;background:var(--panel);border-radius:.25rem;border:1px solid var(--line)}.game-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.game-teams{font-weight:700}.game-kickoff{font-size:.75rem;color:var(--ink-dim);font-variant-numeric:tabular-nums}.game-final{margin:0;font-size:.85rem;color:var(--good)}.predict-form{display:flex;align-items:flex-end;gap:.5rem}.predict-field{flex:1;display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--ink-dim)}.score-field{text-align:center;font-size:1.35rem;font-weight:800;color:var(--accent)}.other-predictions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.other-predictions li{display:flex;justify-content:space-between;color:var(--ink-dim)}.other-predictions .points{font-variant-numeric:tabular-nums}.report-summary{margin:0;padding:.6rem .75rem 0;font-size:.9rem}.report-league-standings{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.report-league-standings select.field{margin-bottom:.5rem}.report-points{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent)}.report-highlights{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem}
