:root{--ink-1:#171b20;--ink-2:#23292f;--ink-3:#4a535c;--ink-4:#6e7882;--ink-5:#7c868f;--ink-6:#8b949c;--ink-7:#a8b0b7;--paper-0:#d6dade;--paper-1:#e9ebee;--paper-2:#f3f5f7;--paper-3:#fff;--clay-4:#be4b2b;--clay-5:#a93f22;--clay-6:#9e3d22;--clay-wash:#be4b2b17;--clay-wash-strong:#be4b2b1a;--win:#2c6b52;--loss:#a03a2a;--hold:#7a5610;--hold-wash:#9268141f;--bezel-body:#14181c;--bezel-ring:#3a434b;--line-1:#171b2014;--line-2:#171b201a;--line-3:#171b201f;--line-4:#171b202e;--line-5:#171b204d;--wash-ink:#171b200d;--wash-ink-strong:#171b200f;--text-heading:var(--ink-1);--text-body:var(--ink-3);--text-mute:var(--ink-4);--text-label:var(--ink-5);--text-faint:var(--ink-6);--text-disabled:var(--ink-7);--surface-desk:var(--paper-0);--surface-page:var(--paper-1);--surface-recessed:var(--paper-2);--surface-raised:var(--paper-3);--action:var(--ink-1);--action-hover:var(--ink-2);--on-action:var(--paper-3);--accent:var(--clay-4);--accent-press:var(--clay-5);--accent-link-hover:var(--clay-6);--on-accent:var(--paper-3);--accent-wash:var(--clay-wash);--rule:var(--line-2);--rule-strong:var(--line-3);--field-border:var(--line-4);--control-border:var(--line-1);--control-border-hover:#171b2038;--font-display:Archivo, system-ui, sans-serif;--font-text:"Instrument Sans", system-ui, sans-serif;--font-figure:"Martian Mono", ui-monospace, monospace;--type-display-2xl:800 58px/.82 var(--font-display);--type-display-xl:800 56px/.94 var(--font-display);--type-display-lg:800 52px/.82 var(--font-display);--type-display-md:800 34px/.9 var(--font-display);--type-display-sm:800 32px/.95 var(--font-display);--type-display-xs:800 28px/1 var(--font-display);--type-brand:800 19px/1 var(--font-display);--type-title-lg:700 18px/1 var(--font-display);--type-title-md:700 17px/1.15 var(--font-display);--type-body-lg:400 15px/1.5 var(--font-text);--type-body-md:400 14px/1.5 var(--font-text);--type-body-sm:400 13px/1.45 var(--font-text);--type-body-xs:400 12px/1.35 var(--font-text);--type-label-lg:600 14px/1 var(--font-text);--type-label-md:600 13px/1 var(--font-text);--type-label-sm:500 12px/1 var(--font-text);--type-label-xs:500 11px/1 var(--font-text);--type-row-name:500 15px/1 var(--font-text);--type-figure-lg:500 17px/1 var(--font-figure);--type-figure-md:400 14px/1 var(--font-figure);--type-figure-sm:400 13px/1 var(--font-figure);--type-figure-xs:400 12px/1 var(--font-figure);--type-figure-2xs:400 11px/1 var(--font-figure);--type-figure-3xs:400 10px/1 var(--font-figure);--track-tight:-.045em;--track-display:-.035em;--track-title:-.025em;--track-figure:-.05em;--track-figure-lg:-.06em;--track-figure-wide:-.03em;--space-1:4px;--space-2:5px;--space-3:6px;--space-4:7px;--space-5:8px;--space-6:10px;--space-7:12px;--space-8:14px;--space-9:16px;--space-10:18px;--space-11:20px;--space-12:22px;--space-13:24px;--space-14:26px;--space-15:28px;--space-16:30px;--space-17:38px;--gutter:22px;--row-gap:12px;--block-gap:28px;--section-gap:38px;--card-pad:18px;--card-pad-lg:22px;--grid-gap:8px;--statusbar-h:54px;--topbar-h:56px;--tabbar-h:92px;--scroll-pad-bottom:130px;--scroll-pad-bottom-slip:210px;--tap-min:44px;--radius-sm:14px;--radius-md:16px;--radius-lg:18px;--radius-xl:22px;--radius-2xl:24px;--radius-3xl:26px;--radius-4xl:28px;--radius-bezel:32px;--radius-device:48px;--radius-pill:999px;--shadow-hairline:0 1px 2px #171b200d;--shadow-1:0 1px 2px #171b200d, 0 12px 24px -20px #171b2066;--shadow-2:0 1px 2px #171b200d, 0 14px 26px -20px #171b2073;--shadow-3:0 1px 2px #171b200d, 0 18px 32px -22px #171b2080;--shadow-float:0 20px 34px -18px #14181cb3;--shadow-device:0 44px 80px -28px #14181c8c;--shadow-inverse:0 18px 32px -22px #171b20b3;--inner-top:inset 0 1px 0 #ffffffb3;--inner-top-strong:inset 0 1px 0 #ffffffe6;--bezel-rings:0 0 0 10px var(--bezel-body), 0 0 0 11px var(--bezel-ring);--protect-bottom:linear-gradient(to top, #e9ebee 55%, #e9ebee00);--chrome-blur:14px;--ease-standard:cubic-bezier(.32, .72, 0, 1);--dur-fast:.2s;--dur-base:.22s;--press-scale:.97;--press-scale-lg:.98;--pulse-dur:1.6s}@keyframes tt-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface-desk);color:var(--text-body);font:var(--type-body-md);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--clay-wash-strong)}button{font:inherit;color:inherit}.tt-figure{font-variant-numeric:tabular-nums;letter-spacing:var(--track-figure)}.tt-scroll{scrollbar-width:none;-ms-overflow-style:none}.tt-scroll::-webkit-scrollbar{display:none}.tt-scroll>*{flex-shrink:0}:root{--bg:var(--surface-page);--bg-card:var(--surface-raised);--bg-card-hover:var(--surface-recessed);--text:var(--ink-2);--text-muted:var(--ink-5);--accent:var(--action);--accent-hover:var(--action-hover);--green:var(--win);--red:var(--loss);--yellow:var(--hold);--border:var(--line-2);--radius:var(--radius-sm);--commit:#ecd94d;--commit-press:#dcc63a;--commit-ink:#6f5910;--commit-wash:#ecd94d38;--on-commit:var(--ink-1);--clay-4:var(--commit);--clay-5:var(--commit-press);--clay-6:var(--commit-ink);--clay-wash:var(--commit-wash);--clay-wash-strong:var(--commit-wash);--accent-wash:var(--commit-wash);--accent-link-hover:var(--commit-ink);--orange:#f97316;--orange-soft:#c85a2b;--orange-deep:#f3e4dc;--card-glass:var(--bg-card);--card-glass-soft:var(--bg-card);--hairline:var(--rule);--sp-1:4px;--sp-2:8px;--sp-3:16px;--sp-4:24px;--sp-5:32px;--sp-6:48px;--fs-caption:12px;--fs-body:15px;--fs-heading:20px;--fs-display:34px;--app-max:480px;font-family:var(--font-text);color:var(--text);font-size:16px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--surface-desk);color:var(--text);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-link-hover)}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--commit-ink);outline-offset:2px}h1{font:var(--type-display-sm);letter-spacing:var(--track-display);color:var(--text-heading);margin-bottom:var(--sp-4)}h2{font:var(--type-title-lg);letter-spacing:var(--track-title);color:var(--text-heading);margin-bottom:var(--sp-3)}h3{font:var(--type-title-md);color:var(--text-heading)}p{font:var(--type-body-md)}button{cursor:pointer;border-radius:var(--radius-pill);font:var(--type-label-md);background:var(--action);color:var(--on-action);transition:all var(--dur-base) var(--ease-standard);border:none;padding:10px 18px}button:hover{background:var(--action-hover)}button:active{transform:scale(var(--press-scale))}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{background:var(--surface-raised);border:1px solid var(--field-border);border-radius:var(--radius-md);color:var(--text-heading);font:var(--type-body-md);width:100%;padding:12px 14px}input:focus,select:focus,textarea:focus{border-color:var(--commit-ink);outline:none}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:10px 12px}th{color:var(--text-label);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.loading{height:100vh;color:var(--text-mute);justify-content:center;align-items:center;font-size:18px;display:flex}.error{color:var(--loss);margin:8px 0;font-size:14px}.info{color:var(--win);margin:8px 0;font-size:14px}.positive{color:var(--win)}.negative{color:var(--loss)}.navbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:.5px solid var(--hairline);background:#f3f5f7c7;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 18px;display:flex;position:sticky;top:0}.navbar .brand{align-items:center;gap:10px;display:flex}.navbar .brand-title{letter-spacing:-.3px;font-size:17px;font-weight:500}.navbar .brand-title .sep{color:var(--text-muted);font-weight:400}.navbar .brand-sub{color:var(--orange-soft);letter-spacing:.5px;font-size:11px}.navbar .nav-links{flex:1;gap:6px;display:flex}.navbar .nav-links a{color:var(--text-muted);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:500;text-decoration:none}.navbar .nav-links a:hover{color:var(--text);background:var(--bg-card)}.navbar .nav-links a.active{color:var(--text)}.navbar .nav-user{color:var(--text-muted);align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.btn-signout{color:var(--text-muted);background:0 0;padding:4px 8px;font-size:13px}.btn-signout:hover{color:var(--red);background:0 0}.demo-badge{background:var(--yellow);color:#000;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.group-switcher-single{color:var(--accent);border-radius:var(--radius);white-space:nowrap;background:#171b2024;flex-shrink:0;padding:3px 8px;font-size:12px;font-weight:600}.group-switcher{color:var(--accent);border-radius:var(--radius);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#171b2024;border:1px solid #0000;flex-shrink:0;max-width:40vw;padding:4px 26px 4px 10px;font-size:13px;font-weight:600;overflow:hidden}.group-switcher:hover,.group-switcher:focus{border-color:var(--accent)}.main-content{max-width:1200px;padding:var(--sp-5) var(--sp-3);width:100%;margin:0 auto}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:var(--bg-card);border-radius:12px;width:100%;max-width:400px;padding:32px 24px}.auth-badge{text-align:center;text-transform:uppercase;letter-spacing:.04em;width:fit-content;color:var(--accent);background:#171b2024;border:1px solid #171b2059;border-radius:20px;margin:0 auto 14px;padding:4px 12px;font-size:11px;font-weight:700;display:block}.auth-card h1{text-align:center;margin-bottom:4px;font-size:22px}.auth-card h2{color:var(--text-muted);text-align:center;margin-bottom:24px;font-size:16px;font-weight:400}.auth-invite-note{color:var(--text-muted);text-align:center;margin-top:12px;font-size:13px}.form-group{margin-bottom:16px}.form-group label{color:var(--text-muted);margin-bottom:4px;font-size:13px;display:block}.auth-card button[type=submit]{width:100%;margin-top:8px;padding:12px;font-size:16px}.balance-card{background:var(--bg-card);border-radius:var(--radius);padding:var(--sp-4) var(--sp-4);margin-bottom:var(--sp-4)}.balance-card .label{font-size:var(--fs-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--sp-2);font-weight:600}.balance-card .amount-row{align-items:baseline;gap:var(--sp-2);display:flex}.balance-card .amount{font-size:var(--fs-display);letter-spacing:-1px;font-weight:600}.balance-card .unit{color:var(--text-muted);font-size:15px}.balance-round-delta{align-self:baseline;margin-left:4px;font-size:16px;font-weight:600}.balance-round-delta.up{color:var(--green)}.balance-round-delta.down{color:var(--red)}.balance-card .delta{margin-left:auto;font-size:13px;font-weight:500}.balance-card .delta.up{color:var(--green)}.balance-card .delta.down{color:var(--red)}.stash-rows{gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border);flex-direction:column;display:flex}.stash-row{justify-content:space-between;align-items:baseline;display:flex}.stash-row-label{font-size:var(--fs-caption);color:var(--text-muted)}.stash-row.stash-row-highlight .stash-row-label{color:var(--text);font-weight:600}.stash-row.stash-row-highlight .stash-row-amount{color:var(--text);font-weight:600;font-size:var(--fs-body)}.stash-row-amount{font-size:var(--fs-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.balance-card .credits-note{margin-top:var(--sp-3);font-size:var(--fs-caption);color:var(--text-muted)}.rounds-section{margin-bottom:24px}.section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:13px}.rounds-scroll{gap:var(--sp-4);padding-bottom:var(--sp-2);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.round-chip{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-body);color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.round-chip:hover{color:var(--text);text-decoration:none}.round-chip.status-open{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.badge{text-transform:capitalize;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:500;display:inline-block}.matches-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px;display:grid}.match-card{background:var(--bg-card);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-3)}.match-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.match-header-right{align-items:center;gap:6px;display:flex}.bet-placed-badge{color:#171b208c;letter-spacing:.02em;background:#171b201a;border:1px solid #171b202e;border-radius:20px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.6}.match-group{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.match-countdown{color:var(--bg);background:var(--yellow);border-radius:20px;padding:2px 9px;font-size:11px;font-weight:600}.match-countdown.past{color:var(--text-muted);background:#171b2014}.match-kickoff{color:var(--text-muted);margin-bottom:8px;font-size:12px}.match-score{text-align:center;color:var(--text);margin-bottom:8px;font-size:28px;font-weight:700}.match-teams{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:12px;display:grid}.team{text-align:center;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);min-width:0;padding:10px 4px}.team.winner{border-color:var(--green);background:#22c55e14}.team-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:13px;font-weight:600;display:block;overflow:hidden}.team-odds{color:var(--accent);font-size:18px;font-weight:700}.match-result{color:var(--green);margin-bottom:8px;font-size:14px;font-weight:600}.no-odds{color:var(--text-muted);margin-bottom:8px;font-size:13px;font-style:italic}.my-bets{margin-bottom:12px}.my-bets h4{color:var(--text-muted);margin-bottom:6px;font-size:12px}.bet-chip{background:var(--bg);border:1px solid var(--border);border-radius:20px;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 4px;padding:4px 12px;font-size:13px;display:inline-flex}.bet-chip.won{border-color:var(--green);color:var(--green)}.bet-chip.lost{border-color:var(--red);color:var(--red)}.bet-chip-market{text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.btn-cancel{color:var(--red);background:0 0;padding:0 4px;font-size:16px;line-height:1}.btn-cancel:hover{background:0 0}.match-actions{align-items:center;gap:var(--sp-4);margin-top:var(--sp-2);display:flex}.btn-bet{margin-top:var(--sp-3);background:var(--accent);color:#fff;border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-body);cursor:pointer;border:none;flex:1;font-weight:600}.btn-bet:hover{background:var(--accent-hover)}.btn-more-bets{font-size:var(--fs-caption);color:var(--text-muted);text-align:center;background:0 0;border:none;align-items:center;padding:0;font-weight:600;display:inline-flex}.btn-more-bets:hover{color:var(--accent);background:0 0;text-decoration:none}.btn-more-bets.full-width{margin-top:var(--sp-2);color:var(--text-muted);display:block}.btn-more-bets.full-width:hover{color:var(--accent)}.all-bets{margin-top:12px;font-size:13px}.all-bets summary{cursor:pointer;color:var(--text-muted)}.bet-entry{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.bet-entry-name{min-width:60px;font-weight:500}.bet-entry-pick{color:var(--accent)}.bet-entry-details{color:var(--text-muted);white-space:nowrap;margin-left:auto}.match-card.nl{border-color:#f9731680}.match-card.nl .match-group{color:var(--orange-soft)}.match-card.nl .match-countdown{color:var(--bg);background:var(--orange-soft)}.match-card.nl .match-countdown.past{color:var(--orange-soft);background:#f973161f}.match-card.nl .outcome-btn.selected{border-color:var(--orange);background:#f973161f}.match-detail-page.nl .match-detail-header{border-bottom-color:#f9731666}.bet-form{margin-top:12px}.outcome-selector{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:12px;display:grid}.outcome-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:8px 4px;font-size:12px}.outcome-btn.selected{border-color:var(--accent);background:#171b201a}.stake-input{margin-bottom:12px}.stake-input label{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.payout-preview{color:var(--green);margin-top:6px;font-size:13px}.btn-confirm{background:var(--green);width:100%}.my-bets-page section{margin-bottom:24px}.my-bets-page h1{margin-bottom:20px}.my-bets-page h2{color:var(--text-muted);margin-bottom:8px;font-size:16px}.my-bets-tabs{gap:var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border);display:flex}.my-bets-tab{color:var(--text-muted);font-size:var(--fs-body);padding:var(--sp-2) 0 var(--sp-3);background:0 0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;font-weight:500}.my-bets-tab:hover{color:var(--text);background:0 0}.my-bets-empty{color:var(--text-muted);padding:8px 0;font-size:14px}.bet-row{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);background:var(--bg-card);border-radius:var(--radius);font-size:var(--fs-body);border-left:3px solid #0000;flex-direction:column;display:flex}.builder-cancel-reason{color:var(--text-muted);background:#171b200a;border-radius:4px;margin-top:2px;padding:6px 8px;font-size:12px;line-height:1.5}.bet-row.beta-bet{opacity:.65}.bet-match-info{color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.bet-match-info:hover .bet-match-teams{text-decoration:underline}.bet-match-meta{color:var(--text-muted);font-size:12px}.bet-details-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bet-market-tag{text-transform:uppercase;color:var(--accent);background:#171b2026;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.bet-outcome{font-weight:600}.bet-odds{color:var(--text-muted)}.bet-result{font-weight:600}.btn-cancel-bet{color:var(--text-muted);font-size:var(--fs-caption);background:0 0;border:none;margin-left:auto;padding:0;font-weight:600}.match-detail-page{max-width:700px}.back-link{font-size:var(--fs-body);color:var(--text-muted);margin-bottom:var(--sp-4);text-align:left;width:fit-content;margin-bottom:calc(var(--row-gap,12px) - var(--section-gap,38px));background:0 0;border:none;align-self:flex-start;padding:0;font-weight:500;display:inline-block}.back-link:hover{color:var(--text);background:0 0}.match-detail-header{margin-bottom:24px}.match-detail-teams{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:8px;font-size:22px;font-weight:700;display:flex}.match-detail-vs{color:var(--text-muted);font-size:16px;font-weight:400}.match-detail-score{color:var(--accent);font-size:32px}.match-detail-meta{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.match-detail-mybets{margin-bottom:24px}.match-detail-mybets h3{color:var(--text-muted);margin-bottom:8px;font-size:14px}.markets-section h2{margin-bottom:16px}.market-tabs{gap:var(--sp-4);margin:var(--sp-2) 0 var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.market-tab{color:var(--text-muted);font-size:var(--fs-body);padding:var(--sp-2) 0 var(--sp-3);background:0 0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;font-weight:500}.market-tab:hover{color:var(--text);background:0 0}.market-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.market-tab-count{font-size:var(--fs-caption);opacity:.75}.market-card{background:var(--bg-card);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-3)}.market-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.market-header h3{margin-bottom:2px;font-size:16px}.market-description{color:var(--text-muted);font-size:13px}.market-badge{color:var(--green);white-space:nowrap;background:#22c55e26;border-radius:4px;padding:2px 8px;font-size:11px}.market-header-toggle{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.market-header-toggle .market-description{text-align:left}.market-odds-count{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:12px}.market-chevron{color:var(--text-muted);font-size:12px;transition:transform .15s;display:inline-block}.market-odds{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.market-odd-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex:1;min-width:80px;padding:10px 8px}.market-odd-item span:first-child{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:12px;display:block;overflow:hidden}.odd-value{color:var(--accent);font-size:18px;font-weight:700}.btn-place-market-bet{background:var(--accent);width:100%;margin-bottom:8px;padding:8px;font-size:13px}.totals-grid,.totals-selector{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr 1fr;gap:0;margin-bottom:12px;display:grid;overflow:hidden}.totals-header{display:contents}.totals-header>span{text-transform:uppercase;color:var(--text-muted);background:var(--bg);text-align:center;border-bottom:1px solid var(--border);padding:8px;font-size:11px;font-weight:600}.totals-row{display:contents}.totals-row>span,.totals-row>button{text-align:center;border-bottom:1px solid var(--border-light,#171b200d);padding:8px}.totals-row:last-child>span,.totals-row:last-child>button{border-bottom:none}.totals-line{color:var(--text);background:var(--bg);font-weight:600}.totals-row .odd-value{font-size:14px}.totals-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:700;transition:background .15s}.totals-btn.selected{outline:2px solid var(--accent);outline-offset:-2px;background:#171b2033;border-radius:2px}.correct-score-grid{margin-bottom:12px}.cs-team-label{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.cs-away-label{text-align:right;margin-bottom:4px}.cs-home-label{margin-top:4px}.cs-grid-inner{border:1px solid var(--border);border-radius:var(--radius);gap:2px;padding:4px;display:grid;overflow-x:auto}.cs-corner{min-width:28px}.cs-col-header,.cs-row-header{color:var(--text-muted);justify-content:center;align-items:center;min-width:28px;padding:4px;font-size:11px;font-weight:700;display:flex}.cs-cell{background:var(--bg);color:var(--accent);cursor:pointer;border:none;border-radius:4px;min-width:40px;padding:6px 2px;font-size:12px;font-weight:600;transition:background .15s}.cs-cell:hover:not(:disabled){background:#171b2026}.cs-cell:disabled{color:var(--text-muted);opacity:.4;cursor:default}.cs-cell.selected{outline:2px solid var(--accent);outline-offset:-2px;background:#171b2040}.cs-cell.in-builder{background:#171b201f}.podium{gap:var(--sp-3);margin-bottom:var(--sp-4);align-items:flex-end;display:flex}.podium-col{background:var(--bg-card);border-radius:var(--radius);min-width:0;padding:var(--sp-3) var(--sp-2);text-align:center;color:var(--text);flex:1;text-decoration:none;display:block}.podium-col.first{padding-top:var(--sp-4)}.rank-chip{font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin:0 auto 8px;font-size:13px;font-weight:800;display:flex}.rank-chip.gold{color:gold;background:#ffd70029;border:1px solid #ffd70066}.rank-chip.silver{color:silver;background:#c0c0c029;border:1px solid #c0c0c066}.rank-chip.bronze{color:#cd7f32;background:#cd7f3229;border:1px solid #cd7f3266}.podium-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.podium-amt{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px;font-weight:800}.lb-page-title{margin-bottom:24px;font-size:24px}.lb-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.lb-card{background:var(--bg-card);border-radius:var(--radius);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.lb-card-header{align-items:flex-start;display:flex}.lb-card-title-block{flex:1;min-width:0}.lb-title-row{align-items:center;gap:6px;display:flex}.lb-title{font-size:17px;font-weight:700}.lb-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.4}.lb-info-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:50%;flex-shrink:0;width:18px;height:18px;padding:0;font-size:11px;font-weight:700;line-height:1;transition:border-color .15s,color .15s}.lb-info-btn:hover{border-color:var(--accent);color:var(--accent);background:0 0}.lb-info-box{border-radius:var(--radius);color:var(--text-muted);background:#171b2012;border:1px solid #171b2033;padding:10px 12px;font-size:12px;line-height:1.6}.lb-table{font-size:13px}.lb-table th{padding:6px 8px;font-size:11px}.lb-table td{padding:8px}.lb-top-1 td:first-child{color:gold;font-weight:700}.lb-top-2 td:first-child{color:silver;font-weight:700}.lb-top-3 td:first-child{color:#cd7f32;font-weight:700}.lb-rank-top{font-weight:700}.lb-player-cell{align-items:center;gap:6px;display:flex}.lb-first-logo{object-fit:contain;flex-shrink:0;width:18px;height:20px}.lb-sig-match{color:var(--text-muted);font-size:12px}.lb-sig-label{font-size:12px}.lb-expand-btn{color:var(--text-muted);font-size:var(--fs-caption);margin-top:var(--sp-2);background:0 0;border:none;align-self:center;padding:0;font-weight:600}.lb-expand-btn:hover{color:var(--accent);background:0 0}.lb-empty{color:var(--text-muted);font-size:13px;font-style:italic}.player-profile{max-width:800px}.profile-header{margin-top:12px}.profile-header h1{margin-bottom:16px;font-size:24px}.stat-value{font-size:22px;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.beta-bets-header h2{color:var(--text-muted);margin-bottom:6px}.beta-bets-note{color:var(--text-muted);margin-bottom:12px;font-size:13px;line-height:1.5}.leaderboard-row:hover{background:var(--bg-card-hover)}.admin-page h1{margin-bottom:16px}.admin-tabs{flex-wrap:wrap;gap:4px;margin-bottom:24px;display:flex}.admin-tabs button{background:var(--bg-card);color:var(--text-muted);padding:6px 12px;font-size:13px}.admin-table{font-size:13px}.admin-table pre{max-width:300px;font-size:11px;overflow:auto}.invite-form{gap:8px;max-width:400px;margin-bottom:12px;display:flex}.invite-form input{flex:1}.invite-result{color:var(--accent);word-break:break-all;margin-bottom:16px;font-size:13px}.settle-actions{flex-wrap:wrap;gap:4px;display:flex}.settle-actions button{padding:4px 8px;font-size:12px}.btn-void{background:var(--red)}.settle-result{color:var(--green);white-space:pre-line;margin-bottom:12px;font-size:14px}.round-actions{flex-wrap:wrap;gap:4px;display:flex}.round-actions button{background:var(--bg);color:var(--text-muted);border:1px solid var(--border);padding:4px 8px;font-size:12px}.round-actions button:disabled{background:var(--accent);color:#fff;border-color:var(--accent)}.round-detail h1{margin-bottom:8px}.player-odds-grid{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:0;margin-bottom:12px;display:flex;overflow:hidden}.player-odd-item{border-bottom:1px solid #171b200a;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:flex}.player-name{flex:1}.player-line{color:var(--text-muted);background:var(--bg);border-radius:8px;padding:1px 5px;font-size:11px}.player-odds-more{color:var(--text-muted);text-align:center;padding:6px 12px;font-size:12px}.player-search{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);margin-bottom:8px;padding:8px 12px;font-size:14px}.player-picker{border:1px solid var(--border);border-radius:var(--radius);max-height:280px;margin-bottom:12px;overflow-y:auto}.player-pick-btn{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #171b200a;align-items:center;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.player-pick-btn:last-child{border-bottom:none}.player-pick-btn:hover{background:var(--bg-card-hover)}.player-pick-btn.selected{outline:1px solid var(--accent) inset;background:#171b2026}.player-pick-name{flex:1;font-size:13px}.player-pick-meta{color:var(--text-muted);font-size:11px}.player-pick-odds{color:var(--accent);text-align:right;min-width:36px;font-size:14px;font-weight:700}.player-picker-more{color:var(--text-muted);text-align:center;padding:6px 12px;font-size:12px}.player-review-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--yellow);border-radius:var(--radius);margin-bottom:12px;padding:12px 16px}.player-review-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.player-review-row{flex-wrap:wrap;align-items:center;gap:10px;padding:3px 0;font-size:12px;display:flex}.player-review-user{color:var(--text);min-width:100px;font-weight:600}.player-review-market{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:1px 6px;font-size:10px}.player-review-name{color:var(--yellow)}.builder-add-btn{border:1px solid var(--accent);width:22px;height:22px;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.builder-add-btn:hover{background:var(--accent);color:#fff}.builder-add-btn.in-builder{background:var(--accent);color:#fff;border-color:var(--accent)}.totals-cell{justify-content:center;align-items:center;gap:5px;display:flex}.totals-cell.in-builder-val .odd-value{color:var(--accent);font-weight:800}.builder-chip{flex-direction:column;align-items:flex-start;gap:4px}.builder-chip-legs{flex-direction:column;gap:2px;display:flex}.builder-chip-leg{color:var(--text-muted);font-size:12px}.builder-chip-other{color:var(--text-muted);font-size:11px;font-style:italic}.builder-hint{color:var(--text-muted);border-radius:var(--radius);border-left:2px solid var(--accent);background:#171b2012;margin:-4px 0 12px;padding:6px 10px;font-size:12px}.player-odd-item.in-builder{background:#171b2014}.builder-row{flex-direction:column;align-items:stretch;gap:0}.builder-row-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.builder-label{letter-spacing:.5px;text-transform:uppercase;color:var(--accent);background:#171b201a;border:1px solid #171b204d;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:700}.builder-combined-odds{color:var(--accent);font-size:15px;font-weight:800}.builder-legs{flex-direction:column;gap:4px;display:flex}.builder-leg-row{background:var(--bg);border-radius:calc(var(--radius) - 2px);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.builder-leg-match{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-weight:600;text-decoration:none;overflow:hidden}.builder-leg-match:hover{color:var(--accent)}.builder-leg-time{color:var(--text-muted);font-size:11px;font-weight:400}.builder-leg-bet{color:var(--text-muted);flex:1;min-width:100px}.builder-leg-odds{color:var(--accent);text-align:right;min-width:36px;font-weight:700}.builder-leg-status{text-transform:uppercase;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:700}.leg-open .builder-leg-status,.builder-leg-status.leg-open{color:var(--text-muted);background:#171b200f}.leg-won .builder-leg-status,.builder-leg-status.leg-won{color:#2c6b52;background:#22c55e26}.leg-lost .builder-leg-status,.builder-leg-status.leg-lost{color:#a03a2a;background:#ef444426}.leg-voided .builder-leg-status,.builder-leg-status.leg-voided{color:var(--text-muted);background:#171b200f;font-style:italic}.builder-leg-row.leg-won{border-left:2px solid #2c6b52}.builder-leg-row.leg-lost{border-left:2px solid #a03a2a}.builder-leg-row.leg-voided{border-left:2px solid var(--text-muted);opacity:.75}.match-cards-row{gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:1fr;display:grid}.match-cards-row.two-up{grid-template-columns:1fr 1fr}@media (width<=400px){.match-cards-row.two-up{grid-template-columns:1fr}}.next-match-card{background:var(--bg-card);border-radius:var(--radius);padding:var(--sp-4);color:var(--text);margin-bottom:0;text-decoration:none;transition:background .15s;display:block}.next-match-card:hover{background:var(--bg-card-hover)}.next-match-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--sp-2)}.next-match-teams{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:15px;font-weight:600;display:flex}.next-match-teams .vs{color:var(--text-muted);font-size:11px;font-weight:400}.next-match-countdown{letter-spacing:.02em;color:var(--text-muted);font-size:17px}.next-match-countdown strong{color:var(--text);font-weight:700}.next-match-live{color:var(--green);font-size:14px;font-weight:600}.stash-graph-container{background:var(--bg-card);border:1px solid #171b2014;border-radius:16px;margin-bottom:32px;padding:20px 20px 16px}.stash-graph-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stash-graph-header h2{margin:0;font-size:17px}.stash-graph-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.stash-graph-toggle{background:#171b200f;border-radius:8px;display:flex;overflow:hidden}.stash-graph-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 14px;font-size:12px;transition:background .15s,color .15s}.stash-graph-toggle button.active{background:var(--accent);color:#fff}.stash-graph-wrap{width:100%;overflow-x:auto}.stash-graph-svg{width:100%;min-width:360px;height:auto;display:block}.stash-graph-legend{flex-wrap:wrap;gap:8px 20px;margin-top:14px;display:flex}.stash-legend-item{align-items:center;gap:6px;font-size:12px;display:flex}.stash-legend-item.me{font-weight:600}.stash-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stash-legend-val{text-align:right;min-width:36px;font-weight:600}.stash-legend-change{font-size:11px}.stash-legend-pct{opacity:.75}.mobile-tab-bar{display:none}@media (width<=600px){.mobile-tab-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:200;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#f3f5f7f5;justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.tab-item svg{width:22px;height:22px}.tab-item.active{color:var(--accent)}.tab-item.active svg{stroke:var(--accent)}.main-content{padding:16px 12px 88px}.navbar{gap:8px;padding:10px 14px}.navbar .nav-links{display:none}.balance-card .amount{font-size:32px}.matches-grid{grid-template-columns:1fr;gap:12px}.team{padding:8px 4px}.team-name{font-size:12px}.team-odds{font-size:16px}.bet-row{padding:10px 12px}.match-detail-teams{gap:8px;font-size:18px}.match-detail-score{font-size:28px}.market-odds{gap:6px}.market-odd-item{min-width:70px;padding:8px 4px}.admin-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}@media (width<=380px){.match-detail-teams{font-size:16px}}.all-bets-page{max-width:680px;margin:0 auto;padding:0 0 80px}.all-bets-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.all-bets-header h1{font-size:22px;font-weight:700}.feed-filter-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:500;transition:all .15s}.feed-filter-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.feed-sort-btn{cursor:pointer;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500;transition:all .15s}.feed-sort-btn.active{color:var(--yellow);background:#eab30826;border-color:#eab30880}.feed-sort-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.feed-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.feed-controls-divider{background:var(--border);width:1px;height:20px;margin:0 4px}.guest-bet-prompt{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);background:#171b200a;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;font-size:14px;display:flex}.guest-bet-cta{color:var(--accent);font-weight:600;text-decoration:none}.guest-bet-cta:hover{text-decoration:underline}.feed-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.feed-card.won{border-left:3px solid var(--green)}.feed-card.lost{border-left:3px solid var(--red)}.feed-card.cancelled,.feed-card.voided{border-left:3px solid var(--text-muted);opacity:.6}.feed-card-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feed-card-player{color:var(--accent);font-size:16px;font-weight:700;text-decoration:none}.feed-card-player:hover{text-decoration:underline}.feed-card-time{color:var(--text-muted);font-size:12px}.feed-card-match{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.feed-match-link{color:var(--text);font-size:14px;font-weight:600;text-decoration:none}.feed-match-link:hover{text-decoration:underline}.feed-market-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:#171b2012;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.feed-card-outcome{color:var(--text);font-size:14px;font-weight:500}.feed-card-bottom{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;font-size:13px;display:flex}.feed-at{color:var(--text-muted)}.feed-arrow{color:var(--text-muted)}.feed-result{font-weight:700}.feed-builder-leg{border-top:1px solid var(--border);padding-top:6px;padding-left:8px}.feed-builder-indent{padding-left:8px}.feed-leg-odds{color:var(--accent);margin-left:auto;font-size:13px;font-weight:700}.feed-copy-btn{font-size:var(--fs-caption);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;margin-left:auto;padding:0;font-weight:600}.copy-count{color:var(--yellow);white-space:nowrap;background:#eab30826;border:1px solid #eab30859;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.feed-card.has-copies,.bet-row.has-copies{border-left:3px solid #eab30899}.bet-row-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.copy-bet-overlay{z-index:200;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.copy-bet-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:520px;padding:20px}.copy-bet-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.copy-bet-match{margin-bottom:4px;font-size:16px;font-weight:700}.copy-bet-pick{align-items:center;gap:8px;font-size:14px;display:flex}.copy-bet-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.copy-bet-close:hover{color:var(--text)}.copy-bet-odds-row{background:#171b200a;border-radius:6px;align-items:center;gap:8px;margin-bottom:12px;padding:8px;font-size:14px;display:flex}.copy-odds-label{color:var(--text-muted)}.copy-odds-val{color:var(--accent);font-size:18px;font-weight:700}.copy-bet-stake-row{align-items:center;gap:12px;display:flex}.copy-bet-stake-row .slip-stake-input{flex:1}.slip-payout{white-space:nowrap;color:var(--text-muted);font-size:13px}.slip-payout strong{color:var(--text)}.copy-count-clickable{cursor:pointer}.copy-count-clickable:hover{background:#eab30847;border-color:#eab30899}.bet-row.is-copy{border-left:3px solid #63b3ed80}.copied-from-badge{color:var(--text-muted);align-items:center;gap:4px;padding:3px 0 6px;font-size:11px;display:flex}.copied-from-link{color:var(--accent);font-weight:600;text-decoration:none}.copied-from-link:hover{text-decoration:underline}.modal-overlay{z-index:300;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:520px;padding-bottom:16px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.modal-header h3{margin:0;font-size:15px;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-close:hover{color:var(--text)}.copies-list{flex-direction:column;display:flex}.copy-row{border-bottom:1px solid #171b200d;align-items:center;gap:10px;padding:10px 20px;font-size:13px;display:flex}.copy-row:last-child{border-bottom:none}.copy-row-name{color:var(--accent);flex:1;font-weight:600;text-decoration:none}.copy-row-name:hover{text-decoration:underline}.copy-row-stake{color:var(--text-muted)}.copy-row-odds{color:var(--text);font-weight:700}.copy-row-status{text-transform:uppercase;border-radius:8px;padding:2px 7px;font-size:11px;font-weight:600}.copy-row-status.open{color:#6e7882;background:#63b3ed1f}.copy-row-status.settled{color:#a03a2a;background:#ef44441f}.match-builders-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;overflow:hidden}.match-builders-title{border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;padding:12px 16px;font-size:14px;font-weight:600}.match-builder-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.match-builder-row:last-child{border-bottom:none}.match-builder-name{color:var(--accent);white-space:nowrap;flex-shrink:0;font-weight:600;text-decoration:none}.match-builder-name:hover{text-decoration:underline}.match-builder-legs{flex-wrap:wrap;flex:1;gap:6px;display:flex}.match-builder-leg{border:1px solid var(--border);background:#171b200f;border-radius:4px;padding:2px 8px;font-size:12px}.match-builder-leg.highlight{color:var(--accent);background:#171b201f;border-color:#171b204d}.match-builder-leg.muted{color:var(--text-muted)}.match-builder-expand-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:2px 8px;font-size:12px}.match-builder-expand-btn:hover{color:var(--text);border-color:var(--text-muted)}.match-builder-odds{white-space:nowrap;color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:600}.su-page{flex-direction:column;max-width:640px;min-height:calc(100vh - 100px);margin:0 auto;padding:0 0 40px;display:flex}.su-progress-bar{background:var(--border);border-radius:2px;height:4px;margin-bottom:8px}.su-progress-fill{background:linear-gradient(90deg, var(--accent), var(--orange));border-radius:2px;height:100%;transition:width .3s}.su-progress-label{color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;font-size:12px}.su-content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex:1;overflow:hidden}.su-step{padding:28px 24px}.su-emoji{margin-bottom:12px;font-size:40px}.su-step h2{margin-bottom:10px;font-size:22px;font-weight:700}.su-intro{color:var(--text-muted);margin-bottom:20px;font-size:15px;line-height:1.6}.su-note{color:var(--text-muted);border-left:3px solid var(--accent);background:#171b200a;border-radius:8px;margin-top:16px;padding:10px 14px;font-size:13px}.su-prize-table{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden}.su-prize-header{color:var(--text-muted);border-bottom:1px solid var(--border);background:#f973161f;padding:10px 14px;font-size:14px}.su-prize-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.su-prize-row:last-child{border-bottom:none}.su-prize-label{flex:1}.su-prize-pct{color:var(--text-muted);text-align:right;width:36px}.su-prize-amount{color:var(--green);text-align:right;width:64px;font-weight:700}.su-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:20px 0;display:flex}.su-flow-item{border:1px solid var(--border);text-align:center;background:#171b200d;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:100px;padding:16px 20px;display:flex}.su-flow-icon{font-size:28px}.su-flow-label{font-size:14px;line-height:1.3}.su-flow-sub{color:var(--text-muted);font-size:11px}.su-flow-arrow{color:var(--text-muted);flex-shrink:0;font-size:20px}.su-odds-example{margin:16px 0}.su-odds-bet{text-align:center;color:var(--text-muted);margin-bottom:12px;font-size:15px}.su-odds-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.su-odds-card{text-align:center;border:1px solid var(--border);border-radius:10px;padding:16px}.su-odds-card-label{margin-bottom:8px;font-size:16px}.su-odds-card-calc{color:var(--text-muted);margin-bottom:8px;font-size:13px}.su-odds-card-result{margin-bottom:4px;font-size:20px;font-weight:700}.su-odds-card.win .su-odds-card-result{color:var(--green)}.su-odds-card.lose .su-odds-card-result{color:var(--red)}.su-odds-card-profit{color:var(--text-muted);font-size:13px}.su-odds-card.win .su-odds-card-profit{color:var(--green)}.su-odds-card.lose .su-odds-card-profit{color:var(--red)}.su-steps-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.su-step-item{background:#171b200a;border-radius:8px;align-items:flex-start;gap:14px;padding:12px 14px;font-size:14px;display:flex}.su-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.su-step-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.su-tip{color:var(--text-muted);background:#171b2014;border:1px solid #171b2033;border-radius:8px;gap:10px;margin-top:12px;padding:10px 14px;font-size:13px;display:flex}.su-tip-icon{flex-shrink:0}.su-markets{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.su-market-card{border:1px solid var(--border);background:#171b200a;border-radius:8px;padding:12px 14px}.su-market-card.nl-only{background:#f973160f;border-color:#f973164d}.su-market-name{margin-bottom:3px;font-size:14px;font-weight:600}.su-market-desc{color:var(--text-muted);font-size:13px}.su-market-example{color:var(--accent);margin-top:4px;font-size:12px}.su-market-tag{color:var(--text-muted);margin-top:4px;font-size:11px}.su-market-tag.nl-tag{color:var(--orange-soft)}.su-warning{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;gap:10px;margin-bottom:10px;padding:10px 14px;font-size:13px;display:flex}.su-warning-icon{flex-shrink:0}.su-expand-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:12px}.su-expand-btn:hover{border-color:var(--text-muted);color:var(--text);background:0 0}.su-expanded-text{color:var(--text-muted);background:#171b2008;border-radius:6px;margin-top:10px;padding:10px 14px;font-size:13px;line-height:1.6}.su-timeline{flex-direction:column;gap:0;margin-bottom:8px;display:flex}.su-tl-item{align-items:flex-start;gap:14px;padding:12px 0;display:flex}.su-tl-dot{border:1px solid var(--border);background:#171b2012;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.su-tl-line{background:var(--border);width:1px;height:16px;margin-left:17px}.su-tl-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.su-piemel-cards{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.su-piemel-card{text-align:center;border:1px solid var(--border);background:#171b200a;border-radius:12px;padding:20px 16px}.su-piemel-emoji{margin-bottom:10px;line-height:1}.su-piemel-emoji.big{font-size:56px}.su-piemel-emoji.small{font-size:20px}.su-piemel-title{margin-bottom:8px;font-size:14px;font-weight:700}.su-piemel-desc{color:var(--text-muted);font-size:12px;line-height:1.5}.su-builder-example{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}.su-builder-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);background:#171b200a;padding:8px 14px;font-size:12px;font-weight:600}.su-builder-legs{flex-direction:column;display:flex}.su-builder-leg{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.su-builder-leg.win{background:#22c55e0f}.su-builder-leg.lose{background:#ef44440f}.su-leg-result{flex-shrink:0;font-size:16px}.su-leg-label{flex:1}.su-leg-odds{color:var(--text-muted);font-weight:600}.su-builder-result{flex-direction:column;gap:2px;padding:10px 14px;font-size:13px;display:flex}.su-builder-result.lose{color:var(--red);background:#ef44441a}.su-builder-calc{color:var(--text-muted);margin-top:2px;font-size:12px}.su-builder-win-example{color:var(--text-muted);background:#22c55e14;border:1px solid #22c55e33;border-radius:8px;margin-bottom:12px;padding:12px 14px;font-size:13px}.su-builder-calc-big{color:var(--green);margin-top:4px;font-size:17px}.su-social-cards{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.su-social-card{border:1px solid var(--border);background:#171b200a;border-radius:8px;align-items:flex-start;gap:14px;padding:14px;display:flex}.su-social-icon{flex-shrink:0;font-size:24px}.su-social-title{margin-bottom:4px;font-size:14px;font-weight:600}.su-social-desc{color:var(--text-muted);font-size:13px;line-height:1.5}.su-nav-grid{flex-direction:column;gap:8px;display:flex}.su-nav-item{background:#171b200a;border-radius:8px;align-items:flex-start;gap:14px;padding:10px 12px;display:flex}.su-nav-icon{flex-shrink:0;font-size:22px}.su-nav-label{font-size:14px;font-weight:600}.su-nav-desc{color:var(--text-muted);margin-top:2px;font-size:12px}.su-boards{flex-direction:column;gap:10px;display:flex}.su-board-row{border:1px solid var(--border);background:#171b200a;border-radius:8px;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.su-board-emoji{flex-shrink:0;font-size:22px}.su-board-name{margin-bottom:3px;font-size:14px;font-weight:600}.su-board-desc{color:var(--text-muted);font-size:13px;line-height:1.4}.su-nav-buttons{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.su-btn-prev{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:8px;padding:10px 18px;font-size:14px}.su-btn-prev:hover{color:var(--text);border-color:var(--text-muted);background:0 0}.su-btn-next{background:var(--accent);color:#fff;border-radius:8px;padding:10px 18px;font-size:14px}.su-btn-next:hover{background:var(--accent-hover)}.su-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.su-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .15s}.su-dot.active{background:var(--accent);border-radius:4px;width:20px}.su-dot:hover:not(.active){background:var(--text-muted)}@media (width<=600px){.su-step{padding:20px 16px}.su-flow{gap:6px}.su-flow-arrow{font-size:16px}.su-flow-item{min-width:80px;padding:12px}.su-odds-cards,.su-piemel-cards{grid-template-columns:1fr 1fr}.su-dots{display:none}.su-nav-buttons{gap:8px}}.main-content{max-width:var(--app-max);padding:var(--sp-4) var(--gutter) calc(var(--tabbar-h) + 40px);background:var(--surface-page);width:100%;min-height:100vh;margin:0 auto}.matches-grid,.lb-grid{gap:var(--row-gap);flex-direction:column;display:flex}.navbar{background:color-mix(in srgb, var(--surface-page) 82%, transparent);border-bottom:1px solid var(--rule);-webkit-backdrop-filter:blur(var(--chrome-blur))}.navbar .brand-title{color:var(--text-heading)}.navbar .brand-title .sep{color:var(--text-faint)}.navbar .brand-sub{color:var(--accent);letter-spacing:-.01em}.navbar .nav-links a{color:var(--text-mute)}.navbar .nav-links a:hover,.navbar .nav-links a.active{color:var(--text-heading);background:var(--wash-ink-strong)}.group-switcher-single,.group-switcher{color:var(--text-heading);background:var(--wash-ink-strong);border-radius:var(--radius-pill)}.demo-badge{background:var(--hold);color:var(--surface-raised);border-radius:var(--radius-pill)}.balance-card,.match-card,.market-card,.next-match-card,.bet-row,.lb-card,.podium-col,.stash-graph-container,.feed-card,.su-content,.copy-bet-modal,.modal-card,.match-builders-section,.auth-card,.player-review-card{background:var(--surface-raised);border-radius:var(--radius-4xl);box-shadow:var(--shadow-1);border:none}.match-card,.lb-card,.next-match-card{box-shadow:var(--shadow-2)}.balance-card{box-shadow:var(--shadow-3)}.bet-row,.feed-card{border-radius:var(--radius-xl)}.badge{border-radius:var(--radius-pill);font:var(--type-label-xs);text-transform:none;padding:5px 11px}.badge.upcoming{color:var(--hold);background:var(--hold-wash)}.badge.open{color:var(--win);background:#2c6b521f}.badge.locked{color:var(--loss);background:#a03a2a1f}.badge.settled{color:var(--text-mute);background:var(--wash-ink-strong)}.outcome-btn.selected,.totals-btn.selected,.cs-cell.selected,.player-pick-btn.selected{border-color:var(--commit-ink)!important;background:var(--commit-wash)!important;outline-color:var(--commit-ink)!important}.team-odds,.odd-value,.player-pick-odds,.slip-odds,.slip-combined strong,.copy-odds-val,.builder-combined-odds,.slip-leg-odds,.builder-leg-odds{color:var(--text-heading);font-family:var(--font-figure);letter-spacing:var(--track-figure)}.btn-bet,.btn-confirm,.su-btn-next{background:var(--commit)!important;color:var(--on-commit)!important}.btn-bet:hover,.btn-confirm:hover,.su-btn-next:hover{background:var(--commit-press)!important}.builder-add-btn{border-color:var(--commit-ink);color:var(--commit-ink)}.builder-add-btn:hover,.builder-add-btn.in-builder{background:var(--commit);color:var(--on-commit);border-color:var(--commit)}.balance-card .amount,.match-score,.stat-value,.lb-table td,.next-match-countdown,.cs-cell,.totals-btn,.payout-preview{font-family:var(--font-figure);letter-spacing:var(--track-figure)}.balance-card .amount{font:var(--type-display-2xl);letter-spacing:var(--track-tight);color:var(--text-heading)}.round-chip.status-open,.my-bets-tab.active,.market-tab.active{border-bottom-color:var(--commit);color:var(--text-heading)}@media (width<=600px){.mobile-tab-bar{background:color-mix(in srgb, var(--surface-page) 92%, transparent);-webkit-backdrop-filter:blur(var(--chrome-blur));border-top:1px solid var(--line-1)}.tab-item{color:var(--text-faint)}.tab-item.active{color:var(--text-heading)}.tab-item.active svg{stroke:var(--commit)}.main-content{padding:var(--sp-4) var(--gutter) calc(var(--tabbar-h) + 24px)}.navbar .nav-links{display:none}}.auth-card{border-radius:var(--radius-4xl);padding:28px 24px}.auth-badge{color:var(--commit-ink);background:var(--commit-wash);border-color:#0000}.su-progress-fill{background:var(--commit)}.su-step-num{background:var(--action);color:var(--on-action)}.su-dot.active{background:var(--commit)}.navbar{z-index:50;max-width:var(--app-max);padding:12px var(--gutter);flex-wrap:nowrap;align-items:center;gap:8px;margin:0 auto;display:flex;position:sticky;top:0}.navbar .brand{flex:none;align-items:center;display:flex}.navbar .brand-text{line-height:1}.navbar .brand-title{font:var(--type-brand);letter-spacing:var(--track-title);color:var(--text-heading);white-space:nowrap;font-size:17px}.navbar .brand-dot{color:var(--commit)}.navbar .brand-icon{flex:none;width:24px;height:24px}.navbar .nav-user{min-width:0}.navbar .nav-user-name{text-overflow:ellipsis;max-width:12ch;overflow:hidden}.group-switcher,.group-switcher-single{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:13ch;display:inline-block;overflow:hidden}.navbar .nav-user{align-items:center;gap:8px;margin-left:auto;display:flex}.navbar .nav-user-name{font:var(--type-label-sm);color:var(--text-mute);white-space:nowrap}.btn-signout{color:var(--text-mute);font:var(--type-label-sm);border-radius:var(--radius-pill);background:0 0;padding:6px 10px}.btn-signout:hover{background:var(--wash-ink-strong);color:var(--text-heading)}.group-switcher,.group-switcher-single{font:var(--type-label-sm);border:none;width:auto;padding:6px 10px}.round-detail-head{margin-bottom:var(--sp-3);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.round-detail-head h1{margin:0}.round-detail{flex-direction:column;display:flex}.round-detail .matches-grid{margin-top:var(--sp-4)}.su-warning{font:var(--type-body-sm);background:var(--hold-wash);color:var(--text-body);border-radius:var(--radius-xl);border:1px solid #92681438;gap:10px;padding:14px 16px;display:flex}.su-warning strong{color:var(--hold)}.rounds-section h2{margin-bottom:12px}.match-card.nl{box-shadow:var(--shadow-2), inset 0 0 0 1.5px #f9731673}.match-card.settled{opacity:.72}.match-card .all-bets{font:var(--type-body-sm);margin-top:4px}.match-card .all-bets summary{cursor:pointer;color:var(--text-mute);font:var(--type-label-sm)}.match-card .bet-entry{border-bottom:1px solid var(--line-1);font:var(--type-body-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.match-card .bet-entry-name{min-width:60px;color:var(--text-heading);font-weight:600}.match-card .bet-entry-pick{color:var(--text-body)}.match-card .bet-entry-details{color:var(--text-mute);white-space:nowrap;font-family:var(--font-figure);letter-spacing:var(--track-figure);margin-left:auto}.match-detail-page{gap:var(--section-gap);flex-direction:column;display:flex}.match-detail-page>.markets-section{gap:var(--block-gap);flex-direction:column;display:flex}.match-detail-header{flex-direction:column;gap:12px;display:flex}.match-detail-header .round-status{font:var(--type-label-xs);text-transform:capitalize;border-radius:var(--radius-pill);background:var(--wash-ink-strong);color:var(--text-mute);align-self:flex-start;padding:5px 11px}.match-detail-mybets{flex-direction:column;gap:10px;display:flex}.match-detail-mybets h3{font:var(--type-label-lg);color:var(--text-heading);margin:0}.match-detail-mybets .bet-chip{background:var(--surface-raised);box-shadow:var(--shadow-1);border-radius:var(--radius-xl);font:var(--type-body-sm);border:none;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.bet-chip-market{font:var(--type-label-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.bet-chip .btn-cancel{color:var(--text-faint);background:0 0;margin-left:auto;padding:0}.bet-chip .btn-cancel:hover{color:var(--loss);background:0 0}.markets-section>h2{font:var(--type-display-xs);letter-spacing:var(--track-display);color:var(--text-heading);margin:0}.market-card{background:var(--surface-raised);border-radius:var(--radius-4xl);box-shadow:var(--shadow-2);padding:var(--card-pad-lg);border:none;flex-direction:column;gap:14px;margin:0;display:flex}.market-header{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;margin:0;display:flex}.market-header h3{font:var(--type-label-lg);color:var(--text-heading);margin:0}.market-description{font:var(--type-body-xs);color:var(--text-label);margin:0}.market-header-toggle{text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.market-badge{font:var(--type-label-xs);background:var(--commit-wash);color:var(--commit-ink);border-radius:var(--radius-pill);white-space:nowrap;padding:4px 10px}.market-odds-count{font:var(--type-figure-3xs);font-family:var(--font-figure);color:var(--text-faint);background:var(--wash-ink-strong);border-radius:var(--radius-pill);border:none;padding:3px 9px}.market-chevron{color:var(--text-faint);transition:transform var(--dur-fast) var(--ease-standard);font-size:12px}.market-chevron.open{transform:rotate(180deg)}.market-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.market-card>.market-header,.market-card>.market-header-toggle{border-bottom:1px solid var(--rule-strong);padding-bottom:12px}.market-odds{gap:var(--grid-gap);grid-template-columns:repeat(3,1fr);margin:0;display:grid}:is(.market-odds:has(.totals-grid),.market-odds:has(.player-odds-grid),.market-odds:has(.correct-score-grid)){display:block}.market-odd-item{background:var(--surface-raised);border:1px solid var(--control-border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:60px;padding:8px;display:flex}.market-odd-item>span:first-child{font:var(--type-label-xs);color:var(--text-label)}.market-odd-item .odd-value{font:var(--type-figure-md);font-family:var(--font-figure);letter-spacing:var(--track-figure);color:var(--text-heading)}.market-odd-item.in-builder{border-color:var(--commit-ink);background:var(--commit-wash)}.builder-add-btn{width:24px;height:24px;font:var(--type-label-sm);cursor:pointer;border:1px solid var(--commit-ink);color:var(--commit-ink);transition:all var(--dur-fast) var(--ease-standard);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.totals-grid{border:1px solid var(--rule);border-radius:var(--radius-lg);grid-template-columns:1fr 1fr 1fr;gap:0;display:grid;overflow:hidden}.totals-header>span{font:var(--type-label-xs);text-transform:uppercase;color:var(--text-label);background:var(--surface-recessed);text-align:center;border-bottom:1px solid var(--rule);padding:10px 8px}.totals-row>span,.totals-row>button{text-align:center;border-bottom:1px solid var(--line-1);justify-content:center;align-items:center;gap:6px;padding:10px 8px;display:flex}.totals-line{font-family:var(--font-figure);color:var(--text-heading);background:var(--surface-recessed);font-weight:500}.totals-btn{color:var(--text-heading);font-family:var(--font-figure);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;font-weight:500}.totals-btn:hover{background:var(--wash-ink-strong)}.player-odds-grid{border:1px solid var(--rule);border-radius:var(--radius-lg);overflow:hidden}.player-odd-item{border-bottom:1px solid var(--line-1);font:var(--type-body-sm);align-items:center;gap:10px;padding:11px 14px;display:flex}.player-odd-item:last-child{border-bottom:none}.player-name{color:var(--text-heading);flex:1}.player-line{font:var(--type-figure-3xs);font-family:var(--font-figure);color:var(--text-label);background:var(--wash-ink-strong);border-radius:var(--radius-pill);padding:2px 6px}.btn-place-market-bet{background:var(--commit);width:100%;color:var(--on-commit);font:var(--type-label-md);border-radius:var(--radius-pill);min-height:48px}.btn-place-market-bet:hover{background:var(--commit-press)}.market-tabs{border:none;margin:4px 0}.bet-form{flex-direction:column;gap:14px;margin-top:4px;display:flex}.outcome-selector{gap:var(--grid-gap);grid-template-columns:1fr 1fr 1fr;display:grid}.outcome-selector.two-col{grid-template-columns:1fr 1fr}.outcome-btn{border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--control-border);min-height:54px;color:var(--text-heading);font:var(--type-label-sm);padding:8px}.stake-input{flex-direction:column;gap:8px;display:flex}.stake-input label{font:var(--type-label-xs);color:var(--text-label)}.stake-input input{font-family:var(--font-figure)}.payout-preview{font:var(--type-body-sm);color:var(--commit-ink);font-family:var(--font-figure)}.btn-confirm{border-radius:var(--radius-pill);background:var(--commit);width:100%;min-height:52px;color:var(--on-commit);font:var(--type-label-lg)}.btn-confirm:hover{background:var(--commit-press)}.bet-group-context{border-radius:var(--radius-md);background:var(--wash-ink-strong);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.bet-group-context-label{font:var(--type-label-xs);color:var(--text-label)}.bet-group-context-select{font:var(--type-label-sm);color:var(--commit-ink);background:var(--commit-wash);border-radius:var(--radius-pill);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;max-width:60vw;padding:4px 10px;font-weight:700;overflow:hidden}.bet-group-context-select:hover,.bet-group-context-select:focus{border-color:var(--commit-ink)}.player-search{border-radius:var(--radius-pill)}.player-picker{border:1px solid var(--rule);border-radius:var(--radius-lg)}.player-pick-btn{border-bottom:1px solid var(--line-1);color:var(--text-heading)}.player-pick-odds{font-family:var(--font-figure);color:var(--text-heading)}.guest-bet-prompt{background:var(--surface-recessed);border:1px dashed var(--line-4);border-radius:var(--radius-xl);font:var(--type-body-sm);color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.guest-bet-cta{color:var(--commit-ink);font-weight:600}.builder-hint{font:var(--type-body-xs);color:var(--text-mute);background:var(--commit-wash);border-radius:var(--radius-md);border-left:2px solid var(--commit-ink);margin:0;padding:10px 12px}.slip-scrim{z-index:209;background:#14181c80;position:fixed;inset:0}.bet-builder-slip{left:50%;bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom));width:min(100% - 28px, calc(var(--app-max) - 28px));z-index:210;background:var(--ink-1);color:var(--surface-raised);border-radius:var(--radius-4xl);box-shadow:var(--shadow-float);border:none;position:fixed;overflow:hidden;transform:translate(-50%)}.bet-builder-slip.expanded{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));width:100%;max-width:var(--app-max);border-radius:var(--radius-4xl) var(--radius-4xl) 0 0;margin:0 auto;left:0;right:0;transform:none}.slip-header{cursor:pointer;align-items:center;gap:10px;padding:16px 20px;display:flex}.slip-title{font:var(--type-label-md);color:var(--commit);flex:1}.slip-meta{font:var(--type-label-sm);color:#fff9}.slip-odds{font:var(--type-figure-sm);font-family:var(--font-figure);color:var(--surface-raised)}.slip-toggle{color:#fff9}.slip-body{background:var(--surface-raised);color:var(--text-body);max-height:calc(100vh - var(--tabbar-h) - 72px);border-top:1px solid #ffffff1f;padding:0 20px 20px;overflow-y:auto}.bet-builder-slip.expanded .slip-body{padding-top:16px}.slip-legs{flex-direction:column;gap:8px;max-height:26vh;margin:14px 0;display:flex;overflow-y:auto}.slip-leg{background:var(--surface-recessed);border-radius:var(--radius-md);font:var(--type-body-sm);align-items:center;gap:10px;padding:10px 12px;display:flex}.slip-leg-info{flex:1;min-width:0}.slip-leg-match{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.slip-leg-bet{color:var(--text-mute);margin-top:2px;font-size:12px;display:block}.slip-leg-odds{font-family:var(--font-figure);color:var(--text-heading);text-align:right;min-width:36px}.slip-leg-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:none;font-size:18px}.slip-leg-remove:hover{color:var(--red)}.slip-error{margin-bottom:8px;font-size:12px}.slip-combined{font:var(--type-body-sm);color:var(--text-mute);margin-bottom:10px}.slip-combined strong{color:var(--text-heading);font-family:var(--font-figure)}.slip-stake-row{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.slip-stake-label{font:var(--type-label-xs);color:var(--text-label)}.slip-stake-input{font-family:var(--font-figure)}.slip-quick-amounts{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.slip-quick-chip{border:1px solid var(--line-4);border-radius:var(--radius-pill);color:var(--text-body);font:var(--type-label-sm);background:0 0;min-height:40px;padding:8px 16px}.slip-quick-chip.selected{background:var(--action);color:var(--on-action);border-color:var(--action)}.slip-payout-highlight{background:var(--commit-wash);border-radius:var(--radius-md);font:var(--type-body-sm);color:var(--text-mute);border:none;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 14px;display:flex}.slip-payout-highlight strong{color:var(--commit-ink);font-family:var(--font-figure);font-size:17px}.slip-actions{align-items:center;gap:12px;display:flex}.slip-clear{color:var(--text-mute);font:var(--type-label-sm);background:0 0;border:none;padding:0}.slip-actions .btn-confirm{flex:1}.slip-success{color:var(--win);font:var(--type-label-sm);cursor:pointer;background:#2c6b5224;padding:10px 20px}.main-content{padding-bottom:calc(var(--tabbar-h) + 40px)}.leaderboards-page,.my-bets-page,.player-profile,.all-bets-page{gap:var(--section-gap);flex-direction:column;display:flex}.lb-page-title,.all-bets-header h1{font:var(--type-display-sm);letter-spacing:var(--track-display);color:var(--text-heading);margin:0}.lb-grid{gap:var(--row-gap);flex-direction:column;display:flex}.lb-card{background:var(--surface-raised);border-radius:var(--radius-4xl);box-shadow:var(--shadow-2);padding:var(--card-pad-lg);border:none;flex-direction:column;gap:14px;display:flex}.lb-title{font:var(--type-label-lg);color:var(--text-heading)}.lb-subtitle{font:var(--type-body-xs);color:var(--text-label);margin-top:2px}.lb-info-btn{border:1px solid var(--line-4);width:20px;height:20px;color:var(--text-mute);background:0 0;border-radius:50%;flex-shrink:0;padding:0;font-size:11px;font-weight:700}.lb-info-box{background:var(--commit-wash);border-radius:var(--radius-md);font:var(--type-body-xs);color:var(--text-body);border:none;padding:12px 14px;line-height:1.6}.lb-table{font:var(--type-body-sm)}.lb-table th{font:var(--type-label-xs);color:var(--text-label);border-bottom:1px solid var(--rule-strong);padding:8px}.lb-table td{border-bottom:1px solid var(--line-1);font-family:var(--font-figure);letter-spacing:var(--track-figure);color:var(--text-heading);padding:12px 8px}.lb-table td:nth-child(2){font-family:var(--font-text);letter-spacing:0}.lb-table tr:last-child td{border-bottom:none}.lb-you{font-weight:700;color:var(--commit-ink)!important}.lb-you td{background:var(--commit-wash)}.lb-rank-top,.lb-top-1 td:first-child{font-weight:700}.lb-player-cell{color:var(--text-heading);font-family:var(--font-text);align-items:center;gap:6px;text-decoration:none;display:flex}.lb-expand-btn,.lb-info-btn:hover{color:var(--commit-ink);background:0 0}.lb-empty{font:var(--type-body-sm);color:var(--text-mute)}.podium{align-items:flex-end;gap:10px;display:flex}.podium-col{background:var(--surface-raised);border-radius:var(--radius-xl);min-width:0;box-shadow:var(--shadow-1);text-align:center;color:var(--text-heading);flex:1;padding:16px 8px;text-decoration:none}.podium-col.first{box-shadow:var(--shadow-2);padding-top:24px}.rank-chip{width:26px;height:26px;font-family:var(--font-figure);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 8px;font-size:13px;font-weight:700;display:flex}.podium-name{font:var(--type-label-sm);color:var(--text-heading);font-weight:600}.podium-col.me .podium-name{color:var(--commit-ink)}.podium-amt{font-family:var(--font-figure);color:var(--text-heading);margin-top:3px;font-size:13px;font-weight:700}.profile-header h1{font:var(--type-display-sm);letter-spacing:var(--track-display);color:var(--text-heading);margin-bottom:16px}.profile-stats{flex-wrap:wrap;gap:22px;display:flex}.stat{flex-direction:column;gap:8px;display:flex}.stat-value{font:var(--type-display-md);font-family:var(--font-figure);letter-spacing:var(--track-tight);color:var(--text-heading)}.stat-label{font:var(--type-label-sm);color:var(--text-label);text-transform:none;letter-spacing:0}.beta-bets-header{border-top:1px dashed var(--line-4);margin-top:24px;padding-top:20px}.my-bets-tabs,.market-tabs{border:none}.my-bets-tab{color:var(--text-mute);font:var(--type-label-sm);background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:8px 0 10px}.my-bets-tab.active{color:var(--text-heading);border-bottom-color:var(--commit);font-weight:700}.bets-list{flex-direction:column;gap:10px;display:flex}.bet-row{background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);font:var(--type-body-sm);border:none;border-left:3px solid #0000;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.bet-row.open{border-left-color:var(--commit)}.bet-row.won{border-left-color:var(--win)}.bet-row.lost{border-left-color:var(--loss)}.bet-row.cancelled{border-left-color:var(--text-faint);opacity:.75}.bet-match-teams{color:var(--text-heading);font-weight:700}.bet-match-meta{font:var(--type-body-xs);color:var(--text-mute)}.bet-market-tag{font:var(--type-label-xs);text-transform:uppercase;background:var(--commit-wash);color:var(--commit-ink);border-radius:var(--radius-pill);padding:2px 7px;font-weight:600}.bet-odds,.bet-payout,.bet-outcome{font-family:var(--font-figure);letter-spacing:var(--track-figure)}.bet-payout{color:var(--commit-ink);font-weight:600}.bet-outcome{color:var(--text-heading);font-weight:600}.bet-status{color:var(--text-mute);font-style:italic}.builder-label{font:var(--type-label-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--commit-ink);background:var(--commit-wash);border-radius:var(--radius-pill);border:none;padding:3px 9px}.builder-combined-odds,.builder-leg-odds,.builder-leg-row .builder-leg-odds{font-family:var(--font-figure);color:var(--text-heading)}.builder-leg-row{background:var(--surface-recessed);border-radius:var(--radius-md)}.btn-cancel-bet,.lb-expand-btn{color:var(--text-mute);font:var(--type-label-sm);background:0 0}.btn-cancel-bet:hover{color:var(--loss);background:0 0}.feed-filters{gap:6px;display:flex}.feed-filter-btn,.feed-sort-btn{border-radius:var(--radius-pill);font:var(--type-label-sm);border:1px solid var(--line-4);color:var(--text-mute);cursor:pointer;background:0 0;padding:7px 14px}.feed-filter-btn.active{background:var(--action);border-color:var(--action);color:var(--on-action)}.feed-sort-btn.active{background:var(--commit-wash);color:var(--commit-ink);border-color:#0000}.feed-list{flex-direction:column;gap:10px;display:flex}.feed-card{background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);border:none;border-left:3px solid #0000;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.feed-card.won{border-left-color:var(--win)}.feed-card.lost{border-left-color:var(--loss)}.feed-card.cancelled,.feed-card.voided{border-left-color:var(--text-faint);opacity:.65}.feed-card-player{font:var(--type-title-md);color:var(--text-heading);text-decoration:none}.feed-card-time{font:var(--type-body-xs);color:var(--text-faint)}.feed-match-link{color:var(--text-body);font-size:14px;font-weight:600}.feed-market-tag{font:var(--type-label-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--wash-ink-strong);border-radius:var(--radius-pill);color:var(--text-mute);padding:2px 7px}.feed-stake,.feed-odds,.feed-leg-odds,.feed-result{font-family:var(--font-figure);letter-spacing:var(--track-figure)}.feed-stake{color:var(--text-heading);font-weight:600}.feed-odds{color:var(--commit-ink);font-weight:700}.feed-copy-btn{color:var(--text-mute);font:var(--type-label-sm);background:0 0}.feed-copy-btn:hover{color:var(--commit-ink);background:0 0}.copy-count{background:var(--commit-wash);color:var(--commit-ink);border-radius:var(--radius-pill);font:var(--type-label-xs);border:none;align-items:center;gap:4px;padding:2px 9px;font-weight:700;display:inline-flex}.feed-card.has-copies,.bet-row.has-copies{border-left-color:var(--commit)}.guest-bet-cta:hover{color:var(--commit-ink)}.stash-graph-container{background:var(--surface-raised);border-radius:var(--radius-4xl);box-shadow:var(--shadow-2);border:none;padding:20px}.stash-graph-header h2{font:var(--type-label-lg);color:var(--text-heading)}.stash-graph-subtitle,.stash-graph-empty{font:var(--type-body-sm);color:var(--text-mute)}.stash-graph-empty{padding:24px 4px}.stash-graph-toggle{background:var(--wash-ink-strong);border-radius:var(--radius-pill);padding:3px}.stash-graph-toggle button{font:var(--type-label-sm);color:var(--text-mute);border-radius:var(--radius-pill);padding:6px 14px}.stash-graph-toggle button.active{background:var(--surface-raised);color:var(--text-heading);box-shadow:0 1px 2px #171b201f}.stash-legend-name{color:var(--text-mute)}.stash-legend-val{font-family:var(--font-figure);font-weight:600}.stash-legend-change.up{color:var(--win)}.stash-legend-change.down{color:var(--loss)}.copy-bet-overlay,.modal-overlay{background:#14181c80}.copy-bet-modal,.modal-card{background:var(--surface-raised);border-radius:var(--radius-4xl) var(--radius-4xl) 0 0;border:none}.copy-odds-val{color:var(--commit-ink);font-family:var(--font-figure)}.copy-row-name{color:var(--text-heading)}.copy-row-status.open{background:var(--wash-ink-strong);color:var(--text-mute)}.copy-row-status.settled.won{color:var(--win);background:#2c6b521f}.auth-page{background:var(--surface-desk)}.auth-card{background:var(--surface-raised);box-shadow:var(--shadow-3);border-radius:var(--radius-4xl);max-width:420px;padding:28px 24px}.auth-card h1{font:var(--type-display-xs);letter-spacing:var(--track-display);color:var(--text-heading);margin-bottom:6px}.auth-card h2{font:var(--type-title-md);color:var(--text-mute);margin-bottom:22px;font-weight:600}.auth-card button[type=submit]{border-radius:var(--radius-pill);width:100%;min-height:52px;margin-top:8px}.form-group label{font:var(--type-label-xs);color:var(--text-label)}.auth-invite-note{font:var(--type-body-xs);color:var(--text-mute)}.group-page,.my-groups-page{gap:var(--section-gap);flex-direction:column;display:flex}.group-card,.invite-card,.members-card{background:var(--surface-raised);box-shadow:var(--shadow-1);border-radius:var(--radius-4xl);padding:var(--card-pad-lg);border:none}.member-row{border-bottom:1px solid var(--line-1)}.member-row:last-child{border-bottom:none}.su-page{max-width:var(--app-max);margin:0 auto;padding:0 0 40px}.su-progress-bar{background:var(--rule);border-radius:var(--radius-pill);height:4px}.su-progress-label{font:var(--type-label-xs);color:var(--text-label)}.su-content{background:var(--surface-raised);box-shadow:var(--shadow-2);border-radius:var(--radius-4xl);border:none;flex:1;overflow:hidden}.su-step h2{font:var(--type-display-xs);letter-spacing:var(--track-display);color:var(--text-heading)}.su-intro{color:var(--text-body);font:var(--type-body-md)}.su-note,.su-tip{font:var(--type-body-xs);color:var(--text-mute);background:var(--surface-recessed);border-radius:var(--radius-md);border-left:3px solid var(--commit-ink)}.su-tip{background:var(--commit-wash);border:none}.su-prize-table,.su-builder-example,.su-timeline,.su-market-card,.su-flow-item,.su-step-item,.su-social-card,.su-board-row,.su-nav-item,.su-piemel-card{border-color:var(--rule)!important}.su-prize-amount,.su-odds-card-result,.su-builder-calc-big{font-family:var(--font-figure)}.su-prize-header{background:var(--commit-wash);color:var(--text-body)}.su-odds-card.win{background:#2c6b521a;border-color:#2c6b5247!important}.su-odds-card.lose{background:#a03a2a1a;border-color:#a03a2a47!important}.su-flow-item,.su-step-item,.su-market-card,.su-social-card,.su-nav-item,.su-board-row,.su-piemel-card,.su-expanded-text,.su-warning{background:var(--surface-recessed)}.su-btn-prev{border:1px solid var(--field-border);color:var(--text-mute);border-radius:var(--radius-pill)}.su-btn-next{border-radius:var(--radius-pill)}.su-tl-dot{background:var(--surface-recessed);border-color:var(--rule)}.main-content:has(.admin-page){max-width:960px}.admin-page h1{font:var(--type-display-xs);letter-spacing:var(--track-display);color:var(--text-heading)}.admin-tabs button{background:var(--surface-raised);color:var(--text-mute);border-radius:var(--radius-pill);box-shadow:var(--shadow-hairline)}.admin-tabs button.active{background:var(--action);color:var(--on-action)}.admin-table{font:var(--type-body-sm)}.player-review-card{border-left:3px solid var(--hold)}@media (width>=700px){.admin-page .main-content,.admin-page{max-width:1100px}.admin-table{display:block;overflow-x:auto}}
