@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-sans:"Inter", system-ui, sans-serif;--color-bg:#0c0f14;--color-surface:#141922;--color-surface-2:#1a2130;--color-border:#2a3344;--color-text:#e8ecf1;--color-muted:#8b95a8;--color-accent:#3dd68c;--color-accent-muted:#2a9d6c;--color-danger:#f87171;--radius-md:10px;--shadow-soft:0 8px 32px #00000059;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem}*{box-sizing:border-box}html{overflow-x:hidden}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}#root{min-height:100vh}a{color:var(--color-accent)}.app-shell{flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.app-main-gutter{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:0;padding-left:max(var(--space-6), env(safe-area-inset-left,0px));padding-right:max(var(--space-6), env(safe-area-inset-right,0px));flex-direction:column;flex:1;display:flex}.app-header{padding:var(--space-3) max(var(--space-6), env(safe-area-inset-right,0px)) var(--space-3) max(var(--space-6), env(safe-area-inset-left,0px));border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.app-header__inner{gap:var(--space-6);width:min(100%, calc(48rem + var(--space-6) + 380px));grid-template-columns:minmax(0,48rem) minmax(280px,380px);align-items:center;margin:0 auto;display:grid}.app-header__left{align-items:center;gap:var(--space-6);flex-wrap:wrap;min-width:0;display:flex}.app-header__right{align-items:center;gap:var(--space-4);justify-self:end;min-width:0;display:flex}@media (width<=899px){.app-header__inner{gap:var(--space-3);grid-template-columns:1fr}.app-header__right{justify-self:end}}.app-header__wallet{align-items:center;gap:var(--space-3);display:flex}.app-header__wallet--unconfigured{opacity:.85}.app-header__balance{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;font-size:.9375rem;font-weight:600}.app-header__balance--error{color:var(--color-danger)}.app-header__profile-wrap,.app-header__profile{position:relative}.app-header__profile summary{cursor:pointer;list-style:none}.app-header__profile summary::-webkit-details-marker{display:none}.app-header__profile-btn{border:1px solid var(--color-border);background:var(--color-surface-2);width:2.75rem;height:2.75rem;color:var(--color-text);touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.app-header__profile-btn:hover{border-color:var(--color-muted)}.app-header__profile-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-header__profile-btn--static{pointer-events:none;opacity:.6}.app-header__profile-icon{flex-shrink:0}.app-header__profile-menu{right:0;top:calc(100% + var(--space-2));min-width:12rem;padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);z-index:50;border-radius:10px;position:absolute;box-shadow:0 8px 28px #0000001f}.app-header__profile-row{margin:0 0 var(--space-2);font-size:.8125rem;line-height:1.4}.app-header__profile-row:last-of-type{margin-bottom:0}.app-header__profile-mono{font-variant-numeric:tabular-nums;font-weight:600}.app-header__profile-err{margin:0 0 var(--space-2);color:var(--color-danger);font-size:.75rem;line-height:1.35}.app-header__profile-action{margin-top:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-2);font:inherit;color:var(--color-text);cursor:pointer;touch-action:manipulation;border-radius:8px;font-size:.8125rem;font-weight:600}.app-header__profile-action:hover{border-color:var(--color-muted)}.app-header__profile-input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface-2);width:100%;color:var(--color-text);padding:var(--space-2) var(--space-3);font:inherit;margin-bottom:var(--space-2);border-radius:8px;font-size:.8125rem}.signup-page{max-width:28rem;margin-inline:auto}.signup-page__fields{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.app-brand{letter-spacing:-.02em;color:var(--color-text);font-size:1.125rem;font-weight:700;text-decoration:none}.app-brand:hover{color:var(--color-accent)}.app-nav{align-items:center;gap:var(--space-2);display:flex}.app-nav__link{color:var(--color-muted);padding:var(--space-2) var(--space-3);border-radius:8px;align-items:center;min-height:44px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.app-nav__link:hover{color:var(--color-text);background:var(--color-surface-2)}.app-nav__link--active{color:var(--color-text);background:var(--color-surface-2);box-shadow:inset 0 0 0 1px var(--color-border)}.app-body{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;display:flex}.app-body--with-slip{flex-direction:column;flex:1;min-height:0;display:flex}.app-body__cluster{box-sizing:border-box;min-width:0;min-height:0;width:min(100%, calc(48rem + var(--space-6) + 380px));flex-direction:column;flex:1;align-self:center;display:flex}.app-body__main{width:100%;min-width:0;padding-block:var(--space-6);padding-inline:0}.app-body__cluster .app-body__main{padding-block:var(--space-6);padding-inline:0}.app-body--with-slip .app-body__main{max-width:100%}.app-body__slip{min-width:0}@media (width>=900px){.app-body__cluster{gap:var(--space-6);flex:1;grid-template-columns:minmax(0,48rem) minmax(280px,380px);align-items:start;display:grid}.app-body__cluster .app-body__slip{padding-top:var(--space-6);background:var(--color-bg);min-height:0;top:var(--space-4);flex-direction:column;align-self:start;max-height:none;display:flex;position:sticky;overflow:visible}.app-body__slip .bet-slip{flex:1;min-height:0}}@media (width<=899px){.app-body__cluster .app-body__main{padding-bottom:calc(9.5rem + env(safe-area-inset-bottom,0px))}.app-body__slip{z-index:20;padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(to top, var(--color-bg) 70%, transparent);pointer-events:none;position:fixed;bottom:0;left:0;right:0}.app-body__slip .bet-slip{pointer-events:auto;flex-direction:column;max-height:min(42vh,320px);display:flex}.app-body__slip .bet-slip__body{-webkit-overflow-scrolling:touch;overflow:auto}}.page{max-width:40rem}.page--browse{width:100%;max-width:48rem;margin-left:auto;margin-right:auto}.page-title{letter-spacing:-.02em;margin:0 0 var(--space-2);font-size:1.375rem;font-weight:600}.page-lede{margin:0 0 var(--space-4);color:var(--color-muted);font-size:.9375rem}.page-lede strong{color:var(--color-text);font-weight:600}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-soft)}.browse-placeholder{margin:0}.browse-placeholder__title{margin:0 0 var(--space-3);letter-spacing:-.02em;font-size:1.125rem;font-weight:600}.browse-placeholder__text{margin:0 0 var(--space-6);font-size:.9375rem;line-height:1.55}.browse-placeholder__skeleton{border-radius:var(--radius-md);background:linear-gradient(180deg, var(--color-surface-2) 0%, #1a213099 50%, var(--color-surface-2) 100%);border:1px dashed var(--color-border);opacity:.85;height:12rem}.kv{margin:0}.kv--compact .kv__row{padding:var(--space-2) 0;font-size:.875rem}.kv__row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:8rem 1fr;font-size:.9375rem;display:grid}.kv__row:last-child{border-bottom:none}.kv dt{color:var(--color-muted);margin:0;font-weight:500}.kv dd{margin:0}.parlay-detail__legs-heading{margin:var(--space-6) 0 var(--space-3);letter-spacing:-.01em;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:1rem;font-weight:600;display:flex}.parlay-detail__game-score{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:800}.parlay-detail__game-score-wrap{align-items:baseline;gap:var(--space-2);display:inline-flex}.parlay-detail__game-final{letter-spacing:.04em;color:var(--color-muted);font-size:.6875rem;font-weight:700}.parlay-detail__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.parlay-detail__odds{font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:700}.parlay-leg-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.parlay-leg-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);display:flex}.parlay-leg-row__text{flex:1;min-width:0;padding-top:.125rem;font-size:.9375rem;line-height:1.45}.parlay-leg-row__body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.parlay-leg-row__player-image-wrap{flex-shrink:0;width:34px;height:34px;position:relative}.parlay-leg-row__player-image{object-fit:cover;object-position:center 52%;border:1px solid var(--color-border);border-radius:999px;flex-shrink:0;width:34px;height:34px}.parlay-leg-row__player-team-badge{object-fit:contain;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;width:18px;height:18px;position:absolute;bottom:-2px;right:-2px}.parlay-leg__status{flex-shrink:0;display:block}.parlay-leg__status--neutral{color:var(--color-muted)}.parlay-leg__status--void{opacity:.9}.parlay-leg__status--hit{color:var(--color-accent)}.parlay-leg__status--miss{color:var(--color-danger)}.parlay-leg-progress{flex-direction:column;gap:6px;display:flex}.parlay-leg-progress__meta{justify-content:space-between;gap:var(--space-2);color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.75rem;display:flex}.parlay-leg-progress__track{background:#3dd68c26;border-radius:999px;width:100%;height:6px;position:relative;overflow:visible}.parlay-leg-progress__threshold{z-index:1;background:#ecf0f7d9;border-radius:999px;width:2px;position:absolute;top:-4px;bottom:-4px;left:80%;transform:translate(-1px)}.parlay-leg-progress__fill{z-index:0;background:var(--color-accent);border-radius:999px;height:100%;display:block;position:relative}.parlay-detail__footer{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:space-between;gap:var(--space-3);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600;display:flex}.muted{color:var(--color-muted)}.hint{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:.875rem}.inline-link{color:var(--color-accent);font-weight:500;text-decoration:none}.inline-link:hover{text-decoration:underline}.status-ok{color:var(--color-accent);font-weight:500}.status-err{color:var(--color-danger);font-weight:500}.bet-slip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);flex-direction:column;display:flex;overflow:hidden}@media (width<=899px){.bet-slip{margin:0 var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-md) var(--radius-md) 0 0}}.bet-slip__chrome{flex-shrink:0}.bet-slip__toggle,.bet-slip__head{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);color:var(--color-text);font:inherit;text-align:left;cursor:default;border:none;margin:0;display:flex}.bet-slip__toggle{cursor:pointer;touch-action:manipulation}.bet-slip__toggle:hover{background:#1e2636}.bet-slip__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.bet-slip__title{letter-spacing:-.02em;font-size:1rem;font-weight:700}.bet-slip__meta{color:var(--color-muted);margin-left:auto;font-size:.875rem;font-weight:500}.bet-slip__chevron{color:var(--color-muted);margin-left:var(--space-2);font-size:.75rem}.bet-slip__body{padding:var(--space-4);border-top:1px solid var(--color-border);flex:1;min-height:0}.bet-slip--collapsed .bet-slip__body[hidden]{display:none}.bet-slip__empty-title{margin:0 0 var(--space-2);color:var(--color-text);font-size:.9375rem;font-weight:600}.bet-slip__empty-text{color:var(--color-muted);margin:0;font-size:.8125rem;line-height:1.55}.bet-slip__empty-text strong{color:var(--color-text);font-weight:600}@media (width>=900px){.app-body__slip .bet-slip{box-shadow:none;background:0 0;border:none;border-radius:0;max-height:none}.app-body__slip .bet-slip__toggle,.app-body__slip .bet-slip__head{border-radius:var(--radius-md);border:1px solid var(--color-border)}.app-body__slip .bet-slip__body{margin-top:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-6);max-height:none;overflow:visible}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-text{color:var(--color-accent);font:inherit;cursor:pointer;padding:var(--space-2) var(--space-2);touch-action:manipulation;background:0 0;border:none;border-radius:6px;font-size:.875rem;font-weight:500}.btn-text:hover{text-decoration:underline}.btn-text:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary{min-height:48px;padding:0 var(--space-6);background:var(--color-accent);color:#0a0e14;font:inherit;cursor:pointer;touch-action:manipulation;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn-primary:disabled:hover{filter:none}.browse-panel__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.browse-panel__title{letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:600}.browse-panel__hint{margin:0 0 var(--space-4);font-size:.875rem;line-height:1.5}.browse-panel__status{margin:0}.browse-table-wrap{margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:min(55vh,420px);overflow:auto}.browse-table-wrap--stats{max-height:min(40vh,280px)}.browse-table{border-collapse:collapse;width:100%;font-size:.875rem}.browse-table th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);white-space:nowrap;font-size:.75rem;font-weight:600}.browse-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.browse-table tbody tr:last-child td{border-bottom:none}.browse-table__row--active td{background:#3dd68c14}.browse-table__link{font:inherit;color:var(--color-text);cursor:pointer;text-align:left;touch-action:manipulation;background:0 0;border:none;margin:0;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.browse-table__link:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.browse-table__pill{background:var(--color-surface-2);color:var(--color-muted);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.browse-table--compact td,.browse-table--compact th{padding:var(--space-2) var(--space-3)}.browse-search{margin-bottom:var(--space-4);display:block}.browse-search__input{width:100%;max-width:24rem;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit;border-radius:8px;font-size:.9375rem}.browse-search__input::placeholder{color:var(--color-muted)}.browse-search__input:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.players-split{gap:var(--space-6);grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;display:grid}@media (width<=799px){.players-split{grid-template-columns:1fr}}.players-list__ul{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:min(50vh,360px);margin:0;padding:0;list-style:none;overflow:auto}.players-list__item{border-bottom:1px solid var(--color-border)}.players-list__item:last-child{border-bottom:none}.players-list__item--active .players-list__btn{box-shadow:inset 3px 0 0 var(--color-accent);background:#3dd68c1a}.players-list__btn{width:100%;padding:var(--space-3) var(--space-4);min-height:48px;color:inherit;font:inherit;cursor:pointer;text-align:left;touch-action:manipulation;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.players-list__btn:hover{background:var(--color-surface-2)}.players-list__name{font-size:.9375rem;font-weight:600}.players-list__team{font-size:.8125rem}.players-detail__empty{padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;margin:0}.players-detail__header{margin-bottom:var(--space-4)}.players-detail__name{margin:0 0 var(--space-1);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.players-detail__meta{margin:0 0 var(--space-2);font-size:.875rem}.players-detail__clear{padding-left:0}.card--inset{margin-top:var(--space-6);padding:var(--space-4);background:var(--color-bg);border-style:dashed}.leg-form__title{margin:0 0 var(--space-2);font-size:1rem;font-weight:600}.leg-form__player{margin:0 0 var(--space-4);font-size:.875rem}.leg-form__grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));display:grid}.leg-form__field{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.leg-form__fieldset{border:none;padding:0}.leg-form__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:.75rem;font-weight:600}.leg-form__input{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;border-radius:8px;font-size:.9375rem}.leg-form__input:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.leg-form__segments{gap:var(--space-2);display:flex}.leg-form__segment{min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:8px;flex:1;font-size:.875rem;font-weight:600}.leg-form__segment--on{border-color:var(--color-accent);color:var(--color-accent);background:#3dd68c1f}.leg-form__err{margin:0 0 var(--space-3);color:var(--color-danger);font-size:.875rem}.leg-form__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.bet-slip__legs-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.bet-slip__legs-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.75rem;font-weight:600}.bet-slip__clear{font-size:.8125rem}.bet-slip__leg-groups{gap:var(--space-5);flex-direction:column;display:flex}.bet-slip__game-group{margin:0}.bet-slip__game-head{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.75rem;font-weight:600;line-height:1.3}.bet-slip__game-leg-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bet-slip__leg{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;display:flex}.bet-slip__leg-remove{width:2rem;height:2rem;color:var(--color-muted);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.125rem;font-weight:600;line-height:1;display:inline-flex}.bet-slip__leg-remove:hover{color:var(--color-danger)}.bet-slip__leg-remove:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bet-slip__leg-main{flex:1;min-width:0}.bet-slip__leg-player{margin:0 0 var(--space-1);font-size:.875rem;font-weight:600;line-height:1.35}.bet-slip__leg-prop{margin:0;font-size:.75rem;line-height:1.4}.bet-slip__leg-hint{margin:var(--space-1) 0 0;font-size:.75rem;line-height:1.4}.bet-slip__leg-odds{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text);flex-shrink:0;padding-top:.125rem;font-size:.875rem;font-weight:600;line-height:1.35}.bet-slip__stake{margin-top:var(--space-4)}.bet-slip__options{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-2);gap:var(--space-2);border-radius:8px;flex-direction:column;display:flex}.bet-slip__options-label{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.75rem;font-weight:600}.bet-slip__option-row{align-items:center;gap:var(--space-2);color:var(--color-text);font-size:.8125rem;display:flex}.bet-slip__k-field{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.bet-slip__k-label{color:var(--color-muted);font-size:.75rem}.bet-slip__k-select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;padding:var(--space-1) var(--space-2);border-radius:8px;min-height:36px;font-size:.8125rem}.bet-slip__options-hint{margin:var(--space-1) 0 0;font-size:.75rem;line-height:1.4}.bet-slip__stake-field{gap:var(--space-2);flex-direction:column;display:flex}.bet-slip__stake-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.75rem;font-weight:600}.bet-slip__stake-input-wrap{border:1px solid var(--color-border);background:var(--color-surface-2);box-sizing:border-box;border-radius:8px;align-items:center;min-height:44px;display:flex}.bet-slip__stake-dollar{padding-left:var(--space-3);color:var(--color-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.9375rem;font-weight:600}.bet-slip__stake-input{min-width:0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);font:inherit;font-variant-numeric:tabular-nums;color:var(--color-text);background:0 0;border:none;flex:1;font-size:1rem;font-weight:600}.bet-slip__stake-input:focus{outline:none}.bet-slip__stake-input-wrap:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.bet-slip__stake-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bet-slip__stake-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bet-slip__stake-input[type=number]{appearance:textfield}.bet-slip__combined{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.bet-slip__combined-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.bet-slip__combined-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.75rem;font-weight:600}.bet-slip__combined-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700}.bet-slip__combined-hint{margin:var(--space-2) 0 0;font-size:.75rem;line-height:1.4}.bet-slip__payoff{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.bet-slip__payoff-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.bet-slip__payoff-label{color:var(--color-muted);font-size:.8125rem;font-weight:600}.bet-slip__payoff-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-accent);font-size:1.25rem;font-weight:700}.bet-slip__payoff-sub{margin:var(--space-2) 0 0;font-size:.75rem;line-height:1.45}.bet-slip__payoff-profit{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.bet-slip__submit{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);gap:var(--space-3);flex-direction:column;display:flex}.bet-slip__auth{border:1px solid var(--color-border);padding:var(--space-3);background:var(--color-surface-2);gap:var(--space-2);border-radius:8px;flex-direction:column;display:flex}.bet-slip__auth-tabs,.bet-slip__auth-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.bet-slip__submit-btn{width:100%}.bet-slip__submit-hint{margin:0;font-size:.8125rem;line-height:1.4}.bet-slip__submit-err{color:var(--color-danger);margin:0;font-size:.8125rem;font-weight:500}@media (width<=899px){.bet-slip__body{max-height:none;overflow:visible}}.my-bets{max-width:56rem;margin-inline:auto}.my-bets__title{margin:0 0 var(--space-4);letter-spacing:-.02em;font-size:1.375rem;font-weight:700}.my-bets__subnav{gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.my-bets__subtab{padding:var(--space-2) var(--space-5);color:var(--color-muted);border:1px solid #0000;border-radius:999px;font-size:.875rem;font-weight:600;text-decoration:none}.my-bets__subtab:hover{color:var(--color-text);background:var(--color-surface-2)}.my-bets__subtab--active{color:var(--color-text);background:var(--color-surface-2);border-color:var(--color-border);box-shadow:inset 0 0 0 1px #3dd68c33}.my-bets__status{margin:0 0 var(--space-3)}.my-bets__err{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-danger);flex-wrap:wrap;font-size:.875rem;display:flex}.my-bets__empty{margin:var(--space-4) 0 0;font-size:.9375rem}.my-bets__table-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;overflow-x:auto}.my-bets__table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.875rem}.my-bets__table th{text-align:left;padding:var(--space-3) var(--space-4);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);border-bottom:1px solid var(--color-border);background:var(--color-surface-2);white-space:nowrap;font-size:.6875rem;font-weight:700}.my-bets__table td{padding:var(--space-3) var(--space-4);vertical-align:middle;border-bottom:1px solid var(--color-border)}.my-bets__table tbody tr:last-child td{border-bottom:none}.my-bets__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.my-bets__cell-muted{color:var(--color-muted);font-size:.8125rem}.my-bets__link{color:var(--color-accent);font-weight:600;text-decoration:none}.my-bets__link:hover{text-decoration:underline}.my-bets__pill{padding:.2rem var(--space-2);border-radius:6px;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.my-bets__pill--open{color:var(--color-text);background:#60a5fa26}.my-bets__pill--won{color:var(--color-text);background:#3dd68c2e}.my-bets__pill--lost{color:var(--color-text);background:#ef44441f}.my-bets__pill--void,.my-bets__pill--cancelled{background:var(--color-surface-2);color:var(--color-muted)}.my-bets__cards{gap:var(--space-3);flex-direction:column;display:flex}.my-bets__card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;overflow:hidden}.my-bets__card-head{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-2);list-style:none;display:flex}.my-bets__card-head::-webkit-details-marker{display:none}.my-bets__card-left{flex-direction:column;gap:2px;min-width:0;display:flex}.my-bets__card-id{font-size:.875rem;font-weight:700}.my-bets__card-mode{width:fit-content;color:var(--color-text);letter-spacing:.01em;background:#3dd68c29;border:1px solid #3dd68c73;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.75rem;font-weight:700;line-height:1.2;display:inline-flex}.my-bets__card-placed{font-size:.75rem}.my-bets__card-right{align-items:center;gap:var(--space-3);display:inline-flex}.my-bets__card-odds{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700}.my-bets__card-body{padding:var(--space-3) var(--space-4) var(--space-4)}.my-bets__game-head{margin:var(--space-5) 0 var(--space-2);letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);justify-content:space-between;align-items:center;gap:var(--space-3);font-size:.75rem;font-weight:700;display:flex}.my-bets__game-head-right{align-items:baseline;gap:var(--space-2);display:inline-flex}.my-bets__game-head-score-wrap{align-items:baseline;gap:.35rem;display:inline-flex}.my-bets__game-head-final{letter-spacing:.04em;color:var(--color-muted);font-size:.625rem;font-weight:700}.my-bets__game-head-score{text-transform:none;letter-spacing:normal;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:800}.my-bets__card-body>div:first-child .my-bets__game-head{margin-top:0}.my-bets__game-head-meta{text-transform:none;letter-spacing:normal;text-align:right;white-space:nowrap;font-size:.75rem;font-weight:600}.my-bets__leg-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.my-bets__leg-row{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-2);align-items:flex-start;gap:var(--space-2);border-radius:8px;font-size:.875rem;display:flex}.my-bets__leg-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.my-bets__leg-progress{flex-direction:column;gap:4px;display:flex}.my-bets__leg-progress-meta{justify-content:space-between;gap:var(--space-2);color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.75rem;display:flex}.my-bets__leg-progress-track{background:#3dd68c26;border-radius:999px;width:100%;height:5px;position:relative;overflow:visible}.my-bets__leg-progress-threshold{z-index:1;background:#ecf0f7d9;border-radius:999px;width:2px;position:absolute;top:-4px;bottom:-4px;left:80%;transform:translate(-1px)}.my-bets__leg-progress-fill{z-index:0;background:var(--color-accent);border-radius:999px;height:100%;display:block;position:relative}.my-bets__leg-player-image-wrap{flex-shrink:0;width:30px;height:30px;position:relative}.my-bets__leg-player-image{object-fit:cover;object-position:center 52%;border:1px solid var(--color-border);border-radius:999px;flex-shrink:0;width:30px;height:30px}.my-bets__leg-player-team-badge{object-fit:contain;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;width:16px;height:16px;position:absolute;bottom:-2px;right:-2px}.my-bets__totals{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:space-between;gap:var(--space-3);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600;display:flex}.my-bets__leg-status{flex-shrink:0;display:block}.my-bets__leg-status--neutral{color:var(--color-muted)}.my-bets__leg-status--hit{color:var(--color-accent)}.my-bets__leg-status--miss{color:var(--color-danger)}.upcoming-games{--ug-cols:minmax(0, 1fr) repeat(3, 4.25rem)}.upcoming-games__title{margin:0 0 var(--space-2);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.upcoming-games__subtitle{margin:0 0 var(--space-6);font-size:.875rem;line-height:1.45}.upcoming-games__empty{margin:0}.upcoming-games__schedule{gap:var(--space-3);flex-direction:column;display:flex}.upcoming-games__market-head-row{flex-direction:row;align-items:flex-end;display:flex}.upcoming-games__market-accent-spacer{opacity:0;pointer-events:none;border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.upcoming-games__market-head{grid-template-columns:var(--ug-cols);column-gap:var(--space-2);min-width:0;padding:0 var(--space-4) var(--space-2);border-bottom:1px solid var(--color-border);flex:1;align-items:flex-end;display:grid}.upcoming-games__market-corner{min-height:1px}.upcoming-games__market-th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);text-align:center;padding-bottom:2px;font-size:.5625rem;font-weight:600;line-height:1.2}.upcoming-games__list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.upcoming-game-bar{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);min-height:0;color:inherit;flex-direction:row;align-items:stretch;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.upcoming-game-bar:hover{border-color:var(--color-accent-muted);box-shadow:0 0 0 1px #3dd68c26}.upcoming-game-bar__accent{background:linear-gradient(#3dd68c73 0%,#3dd68c1f 50%,#3dd68c73 100%);flex-shrink:0;width:4px}.upcoming-game-bar__main{gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-4);flex-direction:column;flex:1;display:flex}.upcoming-game-bar__meta-row{padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid #2a3344d9}.upcoming-game-bar__meta-left{align-items:baseline;gap:var(--space-2);flex-flow:wrap;min-width:0;font-size:.75rem;line-height:1.25;display:flex}.upcoming-game-bar__meta-date{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.upcoming-game-bar__meta-sep{color:var(--color-muted);font-weight:600}.upcoming-game-bar__line{grid-template-columns:var(--ug-cols);column-gap:var(--space-2);padding:var(--space-1) 0;align-items:center;display:grid}.upcoming-game-bar__team{letter-spacing:-.02em;padding-right:var(--space-2);align-items:center;gap:var(--space-2);min-width:0;font-size:.875rem;font-weight:700;line-height:1.25;display:flex;position:relative}.upcoming-game-bar__at-inline{color:var(--color-muted);opacity:.9;pointer-events:none;font-size:.75rem;font-weight:700;line-height:1;position:absolute;top:-1.2rem;left:.58rem}.upcoming-game-bar__at-inline:after{content:"";background:#7c8ba773;width:26.8rem;height:1px;position:absolute;top:.38rem;left:.62rem}.upcoming-game-bar__team-logo{object-fit:contain;flex-shrink:0;width:1.9rem;height:1.9rem}.upcoming-game-bar__pill{box-sizing:border-box;text-align:center;width:100%;height:46px;min-height:46px;max-height:46px;color:var(--color-accent);background:#3dd68c14;border:1px solid #3dd68c59;border-radius:8px;transition:border-color .15s,background-color .15s,box-shadow .15s;overflow:hidden}.upcoming-game-bar__pill-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;margin:0;padding:0}.upcoming-game-bar__pill-btn:hover .upcoming-game-bar__pill{background:#3dd68c1f;border-color:#3dd68c8c}.upcoming-game-bar__pill-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.upcoming-game-bar__pill-btn--selected .upcoming-game-bar__pill{background:#3dd68c33;border-color:#3dd68ce6;box-shadow:inset 0 0 0 1px #3dd68c8c}.upcoming-game-bar__pill--plain{height:100%;padding:0 var(--space-2);font-variant-numeric:tabular-nums;color:var(--color-accent);white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.upcoming-game-bar__pill--stack{height:100%;padding:0 var(--space-2);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.upcoming-game-bar__pill-line{font-variant-numeric:tabular-nums;color:var(--color-accent);font-size:.8125rem;font-weight:700;line-height:1.2}.upcoming-game-bar__pill-odds{font-variant-numeric:tabular-nums;color:var(--color-muted);font-size:.75rem;font-weight:600;line-height:1.2}.upcoming-game-bar__status{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:600}.game-detail__crumb{margin:0 0 var(--space-4)}.game-detail__hero{margin-bottom:var(--space-6)}.game-detail__eyebrow{margin:0 0 var(--space-2);font-size:.8125rem}.game-detail__title{letter-spacing:-.02em;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;font-size:1.375rem;font-weight:700;line-height:1.3;display:inline-flex}.game-detail__away,.game-detail__home{display:inline}.game-detail__at{font-weight:500}.game-detail__team-logo{object-fit:contain;flex-shrink:0;width:2rem;height:2rem}.game-detail__nba-id{margin:var(--space-3) 0 0;font-size:.8125rem}.game-props{gap:var(--space-8);flex-direction:column;display:flex}.game-props__explainer{padding-inline:var(--space-2);margin:0;font-size:.875rem;line-height:1.55}.game-props__section{--game-props-inline:var(--space-4)}.game-props__section-summary{cursor:pointer;padding-left:calc(var(--space-4) + .75rem);list-style:none;display:block;position:relative}.game-props__section-summary::-webkit-details-marker{display:none}.game-props__section-summary:before{content:"";left:var(--space-2);background:var(--color-muted);clip-path:polygon(20% 12%,20% 88%,85% 50%);transform-origin:50%;width:.625rem;height:.625rem;transition:transform .14s;position:absolute;top:50%;transform:translateY(-50%)rotate(90deg)}.game-props__section:not([open]) .game-props__section-summary:before{transform:translateY(-50%)rotate(0)}.game-props__section-summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:6px}.game-props__section-title{margin:0 0 var(--space-4);padding-inline:0 var(--game-props-inline);letter-spacing:-.02em;font-size:1.0625rem;font-weight:600}.game-props__section:not([open]) .game-props__section-title{margin-bottom:0}.game-props__head--desktop{display:none}.game-props__th--pick{gap:var(--space-2);text-align:center;grid-template-columns:1fr 1fr;display:grid}.game-props__list{padding:0 var(--game-props-inline);margin:0;list-style:none}.game-props__row{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid #2a3344d9;grid-template-columns:1fr;display:grid}.game-props__row:last-child{border-bottom:none}.game-props__player{flex-direction:column;gap:2px;min-width:0;padding-left:2.2rem;display:flex;position:relative}.game-props__headshot{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface-2);border-radius:999px;width:1.8rem;height:1.8rem}.game-props__headshot-wrap{width:1.8rem;height:1.8rem;position:absolute;top:.45rem;left:0}.game-props__headshot-team-badge{object-fit:contain;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;width:.96rem;height:.96rem;position:absolute;bottom:-2px;right:-2px}.game-props__name{letter-spacing:-.02em;font-size:.9375rem;font-weight:700}.game-props__team{font-size:.75rem}.game-props__pick-cell{min-width:0}.game-props__pick-na{font-size:.75rem;line-height:1.35}.game-props__ou{gap:var(--space-2);display:flex}.game-props__ou-btn{min-height:46px;padding:var(--space-2) var(--space-2);color:var(--color-accent);font:inherit;cursor:pointer;touch-action:manipulation;background:#3dd68c14;border:1px solid #3dd68c59;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.game-props__ou-btn-label{font-size:.75rem;font-weight:700;line-height:1.15}.game-props__ou-btn-odds{font-variant-numeric:tabular-nums;font-size:.5625rem;font-weight:600;line-height:1.15}.game-props__ou-btn:hover{border-color:var(--color-accent-muted);background:#3dd68c24}.game-props__ou-btn--selected{background:#3dd68c3d;border-color:#3dd68cf2;box-shadow:inset 0 0 0 1px #3dd68c59}.game-props__ou-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width>=700px){.game-props__head--desktop{gap:var(--space-3);padding-inline:var(--game-props-inline);padding-bottom:var(--space-2);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);border-bottom:1px solid #2a3344d9;grid-template-columns:minmax(0,1fr) minmax(10rem,11.5rem);font-size:.6875rem;font-weight:600;display:grid}.game-props__row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;grid-template-columns:minmax(0,1fr) minmax(10rem,11.5rem)}}@media (width<=699px){.game-props__row{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.game-props__player{flex:1;min-width:0}.game-props__pick-cell{flex:100%;width:100%}}
