:root{--bg:#0f1419;--surface:#1a2332;--surface2:#243044;--border:#2d3a4f;--text:#e8edf4;--muted:#8b9cb3;--accent:#3dd68c;--accent-dim:#2a9d63;--danger:#f07178;--warning:#fc6;--yes:#5b9fd4;--no:#e07a7a;--radius:12px;--font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;padding:1rem 1rem 5rem}h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}h2{font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.subtitle{color:var(--muted);font-size:.9rem;margin-top:.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.label{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}input,select{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:1rem;margin-bottom:.75rem}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:0}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0a120c}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-sm{width:auto;padding:.4rem .75rem;font-size:.85rem}.btn-yes{background:rgba(91,159,212,.2);color:var(--yes);border:1px solid var(--yes)}.btn-no{background:hsla(0,62%,68%,.15);color:var(--no);border:1px solid var(--no)}.tabs{display:flex;gap:.25rem;margin:1rem 0;background:var(--surface);border-radius:10px;padding:.25rem;border:1px solid var(--border)}.tab{flex:1 1;padding:.55rem;border:none;background:transparent;color:var(--muted);font-weight:600;font-size:.85rem;border-radius:8px;cursor:pointer}.tab.active{background:var(--surface2);color:var(--text)}.badge{display:inline-block;font-size:.7rem;padding:.15rem .45rem;border-radius:4px;font-weight:600;text-transform:uppercase}.badge-paused{background:rgba(255,204,102,.2);color:var(--warning)}.badge-off{background:rgba(240,113,120,.15);color:var(--danger)}.site-nav{display:flex;gap:.5rem;margin-bottom:1.25rem;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:10px}.site-nav a{flex:1 1;text-align:center;padding:.5rem .35rem;font-size:.85rem;font-weight:600;color:var(--muted);border-radius:8px;transition:background .15s,color .15s}.site-nav a.active,.site-nav a:hover{color:var(--text);background:var(--surface2)}.rules-section h2{margin-bottom:.5rem}.rules-body{font-size:.92rem;line-height:1.55;color:var(--text)}.rules-body+.rules-body{margin-top:.65rem}.rules-muted{color:var(--muted);font-size:.88rem}.rules-list{list-style:none;font-size:.92rem;line-height:1.55}.rules-list li+li{margin-top:.5rem}.rules-list-ordered{list-style:decimal;padding-left:1.25rem}.rules-list-ordered li+li{margin-top:.35rem}.badge-settled{background:rgba(72,199,142,.18);color:var(--accent)}.badge-live{background:rgba(120,160,220,.15);color:#8ab4f8}.badge-partial{background:rgba(255,204,102,.2);color:var(--warning)}.admin-live-game-header{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.35rem}.admin-live-game-header .hierarchy-heading{margin:0}.admin-label-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding:.5rem .65rem;border-radius:8px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06)}.admin-label-row label{display:flex;flex-direction:column;gap:.2rem;min-width:10rem;flex:1 1 10rem}.admin-label-market{padding:.5rem 0;border-bottom:1px solid hsla(0,0%,100%,.06)}.admin-label-market:last-child{border-bottom:none}.admin-label-market label{display:flex;flex-direction:column;gap:.2rem;margin-top:.35rem}.admin-label-row-compact{margin-bottom:0;padding:0;background:transparent;border:none;align-items:flex-end}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.9rem}.stat-row .value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.equity{font-size:1.75rem;font-weight:700;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.market-title{font-weight:600;font-size:.95rem;margin-bottom:.15rem}.market-ticker{font-size:.75rem;color:var(--muted);font-family:ui-monospace,monospace}.odds-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-top:.75rem}.odds-btn{padding:.65rem .4rem;border-radius:8px;text-align:center;font-size:.8rem;line-height:1.25}button.odds-btn{width:100%;cursor:pointer;font:inherit}button.odds-btn:disabled{opacity:.5;cursor:not-allowed}.bet-slip-pick{padding:.85rem 1rem;border-radius:8px;text-align:center}.bet-slip-pick-label{display:block;font-size:.95rem;font-weight:600}.bet-slip-pick-odds{display:block;font-size:1.35rem;margin-top:.25rem}.odds-btn strong{display:block;font-size:1.1rem;margin-top:.15rem}.error{background:rgba(240,113,120,.12);border:1px solid var(--danger);color:var(--danger);border-radius:8px}.error,.success{padding:.65rem .75rem;font-size:.85rem;margin-bottom:.75rem}.success{background:rgba(61,214,140,.12);border:1px solid var(--accent);color:var(--accent);border-radius:8px}.leaderboard-rank{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}.leaderboard-rank.top{background:var(--accent);color:#0a120c}.lb-row{display:flex;align-items:center;gap:.75rem}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;gap:.5rem;padding:.75rem 1rem;background:rgba(15,20,25,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border)}.social-footer{text-align:center;margin-top:1.5rem;margin-bottom:.5rem;padding-top:1rem;font-size:.85rem}.social-footer,.social-footer a{color:var(--muted)}.social-footer-rules{margin-bottom:.5rem}.social-footer a:hover{color:var(--accent)}.invite-page,.invite-panel{text-align:center}.join-qr-wrap{display:flex;justify-content:center;margin:.75rem 0}.join-qr{border-radius:8px;border:1px solid var(--border)}.join-link{word-break:break-all;font-size:.8rem;margin-bottom:.5rem}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.join-code{font-family:ui-monospace,monospace;font-size:1.25rem;letter-spacing:.15em;text-align:center;padding:.75rem;background:var(--surface2);border-radius:8px;margin:.75rem 0}.tx-row .tx-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem}.tx-kind{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tx-amount{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tx-amount.positive{color:var(--accent)}.tx-amount.negative{color:var(--danger)}.tx-detail{font-size:.9rem;margin-bottom:.25rem}.tx-time{font-size:.75rem;color:var(--muted);margin-top:.35rem}.game-time-label{margin:.2rem 0 0;font-size:.85rem;font-weight:600;color:var(--accent)}.tx-bet-group{display:flex;flex-direction:column;gap:.65rem}.tx-market-title{font-size:.95rem;font-weight:600;margin:0;line-height:1.35}.tx-side-line{margin:0;font-size:.85rem;color:var(--muted)}.tx-leg{padding:.65rem .75rem;background:var(--surface2);border-radius:8px}.tx-pnl{margin:.35rem 0 0;font-size:.85rem;font-weight:600}.tx-pnl.positive{color:var(--accent)}.tx-pnl.negative{color:var(--danger)}.tx-open-note{margin:0;font-size:.8rem;color:var(--muted);font-style:italic}.event-pick-list{gap:.35rem}.event-pick-list,.game-pick-panel{margin-top:1rem;display:flex;flex-direction:column}.game-pick-panel{gap:.5rem}.game-pick-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;position:-webkit-sticky;position:sticky;top:0;background:var(--surface);padding:.35rem 0;z-index:2;border-bottom:1px solid var(--border)}.game-pick-series{display:flex;flex-direction:column;gap:.5rem;max-height:min(70vh,36rem);overflow-y:auto;padding-right:.15rem}.event-pick-row{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);cursor:pointer;width:100%;box-sizing:border-box}label.event-pick-row{margin-bottom:0}.event-pick-row.disabled{opacity:.55;cursor:default}.event-pick-row input{width:auto;margin-top:.2rem;flex-shrink:0}.event-pick-body{flex:1 1;min-width:0}.hierarchy-back{width:auto}.hierarchy-heading{font-size:1.1rem;margin:.75rem 0 .25rem}.hierarchy-category{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1rem 0 .5rem}.hierarchy-section:first-of-type .hierarchy-category{margin-top:.5rem}.hierarchy-card:active{opacity:.9}.play-sport-section{margin-bottom:1.25rem}.play-sport-heading{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .65rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.play-sport-games{display:flex;flex-direction:column;gap:.65rem}.play-bets-game{margin-bottom:1rem}.play-bets-game:last-child{margin-bottom:0}.play-bets-game .hierarchy-heading{margin:0 0 .5rem}.play-market-row{padding:.85rem 1rem}button.odds-btn.selected{outline:2px solid var(--text);outline-offset:2px}.bet-slip-inline{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.bet-slip-inline-actions{display:flex;gap:.5rem;margin-top:.65rem}.bet-slip-inline-actions .btn{flex:1 1}.success-toast{background:rgba(72,199,142,.12);border:1px solid var(--accent);color:var(--accent);padding:.65rem .75rem;border-radius:8px;margin-bottom:.75rem;font-size:.9rem}.checkbox-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.35}.checkbox-row input{margin-top:.2rem;width:auto}.player-bookmark-card,.player-footer-card,.player-return-card{margin-top:1rem}.player-return-card .join-qr-wrap{display:flex;justify-content:center}.admin-return-link,.player-return-link{word-break:break-all;font-size:.72rem;line-height:1.35}.admin-player-card{margin-bottom:.65rem}.admin-player-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.admin-player-actions{display:flex;flex-wrap:wrap;gap:.35rem}.series-accordion{border:1px solid var(--border);border-radius:10px;background:var(--surface2);flex-shrink:0}.series-accordion-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.series-accordion-summary-text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1}.series-accordion-summary::-webkit-details-marker{display:none}.series-accordion-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text)}.series-accordion-meta{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--muted);flex-shrink:0}.series-accordion-chevron{display:inline-block;transition:transform .15s ease;font-size:.85rem}.series-accordion[open] .series-accordion-chevron{transform:rotate(180deg)}.series-accordion-sublabel{font-size:.68rem;color:var(--muted);font-family:ui-monospace,monospace;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.3;word-break:break-all}.series-accordion-body{padding:.5rem .65rem .65rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);max-height:min(50vh,18rem);overflow-y:auto}.series-accordion-actions{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:.25rem;border-bottom:1px solid var(--border);margin-bottom:.15rem}.party-market-row{padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.party-market-row.disabled-market{opacity:.65}.party-market-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem;align-items:center}.admin-game-block{margin-bottom:1rem}.admin-game-block>.subtitle{margin:0 0 .5rem;font-weight:600}.app-shell-wide{max-width:1280px}.admin-live-columns-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0 1rem;box-sizing:border-box}.admin-live-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1rem;gap:1rem;align-items:start;max-width:1280px;margin:0 auto}.admin-live-column{padding:1rem;min-width:0}.admin-live-column-title{margin:0 0 1rem;font-size:1.1rem;text-align:center;border-bottom:1px solid var(--border);padding-bottom:.5rem}.admin-live-game{margin-bottom:1.25rem}.admin-live-game:last-child{margin-bottom:0}.admin-live-market{padding:.75rem 0;border-bottom:1px solid var(--border)}.admin-live-market:last-child{border-bottom:none}.admin-live-prices{display:flex;flex-direction:column;gap:.15rem;margin-top:.35rem}.admin-price-override-row{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:.5rem;gap:.5rem;align-items:end;margin-top:.5rem}.admin-price-override-row label{min-width:0}.admin-price-override-row input{width:100%}.btn-danger{background:rgba(240,113,120,.15);color:var(--danger);border:1px solid var(--danger)}.demo-banner{border-color:var(--accent);background:rgba(61,214,140,.08);margin-bottom:1rem}.demo-banner-title{font-weight:700;font-size:.95rem;color:var(--accent);margin:0 0 .35rem}.end-game-banner{border-color:var(--warning);background:rgba(255,204,102,.08);text-align:center}.end-game-banner.end-game-final{border-color:var(--muted);background:var(--surface2)}.end-game-title{font-weight:700;font-size:1rem;color:var(--warning)}.end-game-final .end-game-title{color:var(--text)}.end-game-countdown{font-size:2.25rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--warning);line-height:1.1}.market-search-wrap{display:block;margin-bottom:.75rem}.market-search-wrap .label{margin-bottom:.35rem}.market-search-input{margin-bottom:0}.confirm-actions{display:flex;flex-direction:column;gap:.5rem}.resume-session{border-color:var(--accent-dim);margin-bottom:.75rem}.resume-session .btn-primary{margin-top:.75rem}