html,body,#root{min-height:100%;margin:0;padding:0}#root{width:100%}:root{--page:#eeeeea;--card:#fff;--sunk:#f6f6f3;--ink:#17191d;--ink-2:#6d7178;--ink-3:#a2a6ad;--hair:#e8e8e3;--accent:#2f6f7e;--accent-soft:#e6f0f2;--market:#23262b;--model:#2f6f7e;--pos:#1f8a51;--neg:#c0563f;--warn:#b57d18;--warn-soft:#fdf4e3;--r-lg:18px;--r-md:12px;--r-sm:8px;--pill:999px;--shadow:0 1px 2px #17191d0a, 0 10px 28px #17191d0d;--shadow-sm:0 1px 2px #17191d0d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}table,input,select{font-variant-numeric:tabular-nums}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:600}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{text-align:left;max-width:84rem;margin:0 auto;padding:2.25rem 2rem 5rem}.layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.layout__aside{flex-direction:column;gap:1.25rem;max-height:calc(100vh - 2.5rem);display:flex;position:sticky;top:1.25rem;overflow-y:auto}.layout__aside>*{margin-top:0}@media (width<=1180px){.layout{grid-template-columns:minmax(0,1fr)}.layout__aside{max-height:none;position:static;overflow:visible}}.app>header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem 2rem;margin-bottom:1.75rem;display:grid}.app>header h1,header .disclaimer{grid-column:1}.bankroll-bar{background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;grid-area:1/2/span 2;align-items:stretch;gap:1.1rem;padding:.85rem 1.1rem;display:flex}.bankroll-bar__balance{border-right:1px solid var(--hair);flex-direction:column;gap:.15rem;padding-right:1.1rem;display:flex}.bankroll-bar__balance-value{letter-spacing:-.02em;font-size:1.5rem;font-weight:600;line-height:1.1}.bankroll-bar__stats{flex-wrap:wrap;gap:1.1rem;display:flex}.bankroll-bar__stat{flex-direction:column;gap:.1rem;min-width:5rem;font-size:1rem;font-weight:600;display:flex}.bankroll-bar__label{color:var(--ink-3);letter-spacing:.01em;font-size:.7rem;font-weight:400}.bankroll-bar__sub{color:var(--ink-3);align-items:center;gap:.3rem;font-size:.7rem;font-weight:400;display:flex}.bankroll-bar__entry{border:1px solid var(--hair);border-radius:var(--r-sm);align-items:center;gap:.1rem;padding:0 .35rem;display:flex}.bankroll-bar__entry:focus-within{border-color:var(--accent)}.bankroll-bar__currency{color:var(--ink-3);font-size:.74rem}.bankroll-bar .bankroll-bar__entry input{width:4rem;color:var(--ink-2);background:0 0;border:none;border-radius:0;padding:.15rem 0;font-size:.76rem;font-weight:600}.bankroll-bar .bankroll-bar__entry input:focus{outline:none}.bankroll-bar__save{border-radius:var(--pill);background:var(--sunk);color:var(--ink-3);cursor:pointer;border:none;padding:.15rem .5rem;font-size:.68rem}.bankroll-bar__save--dirty{background:var(--ink);color:#fff}@media (width<=760px){.app>header{grid-template-columns:minmax(0,1fr)}.bankroll-bar{grid-area:auto/1}}.app>header h1{font-size:1.9rem;line-height:1.15}header .disclaimer{color:var(--ink-3);margin:.4rem 0 0;font-size:.8rem}.view-tabs,.sport-tabs,.mlb-subview-tabs,.tools__tabs{flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;display:flex}.view-tabs{background:var(--card);border-radius:var(--pill);box-shadow:var(--shadow-sm);width:fit-content;margin-bottom:1.25rem;padding:.3rem}.view-tabs button,.sport-tabs button,.mlb-subview-tabs button,.tools__tabs button{border-radius:var(--pill);color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:.4rem 1rem;font-size:.86rem}.sport-tabs button,.mlb-subview-tabs button,.tools__tabs button{background:var(--card);box-shadow:var(--shadow-sm)}.view-tabs button:hover,.sport-tabs button:hover,.mlb-subview-tabs button:hover,.tools__tabs button:hover{color:var(--ink)}.view-tabs button.active,.sport-tabs button.active,.mlb-subview-tabs button.active,.tools__tabs button.active{background:var(--ink);color:#fff}.league-select,.market-select{color:var(--ink-2);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.82rem;display:flex}select,input[type=text],input:not([type]){border:1px solid var(--hair);border-radius:var(--r-sm);background:var(--card);color:var(--ink);padding:.45rem .7rem}select:hover,input:hover{border-color:#d9d9d3}.error{color:var(--neg);font-size:.86rem}.predictions-list{flex-direction:column;gap:.85rem;display:flex}.prediction-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.25rem 1.4rem 1.1rem}.prediction-card--clickable{cursor:pointer}.prediction-card--clickable:hover{box-shadow:0 1px 2px #17191d0d,0 12px 32px #17191d17}.prediction-card__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;display:flex}.teams{letter-spacing:-.01em;font-size:1rem;font-weight:600}.commence-time{color:var(--ink-3);font-size:.78rem}.team-name{cursor:pointer}.team-name:hover{color:var(--accent)}.gauge{flex-direction:column;gap:.5rem;margin:1.1rem 0 1.3rem;display:flex;position:relative}.gauge__row{grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.gauge__row-label{color:var(--ink-2);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.gauge__track{height:18px;display:block;position:relative}.gauge__rule{background:#e4e4de;border-radius:2px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.gauge__mid{background:var(--hair);width:1px;position:absolute;top:1px;bottom:1px;left:50%}.gauge__span{background:var(--model);opacity:.35;border-radius:2px;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.gauge__span--wide{background:var(--warn);opacity:.55}.gauge__market,.gauge__model{position:absolute;top:50%;transform:translate(-50%,-50%)}.gauge__market{background:var(--market);border-radius:2px;width:3px;height:13px}.gauge__model{border:2px solid var(--model);background:var(--card);border-radius:50%;width:10px;height:10px}.gauge__readout{font-variant-numeric:tabular-nums;white-space:nowrap;gap:.55rem;font-size:.76rem;display:flex}.gauge__readout .market{color:var(--market);font-weight:600}.gauge__readout .model{color:var(--model);font-weight:600}.gauge__gap{color:var(--ink-3)}.gauge__readout .wide{color:var(--warn);font-weight:600}.gauge__none{color:var(--ink-3)}.gauge__scale{color:var(--ink-3);font-size:.64rem;position:absolute;bottom:-1rem;left:calc(50% + 3.125rem);transform:translate(-50%)}.ev-table{border-collapse:collapse;width:100%;margin-top:.35rem;font-size:.85rem}.ev-table th{text-align:left;color:var(--ink-3);white-space:nowrap;padding:0 .7rem .35rem 0;font-size:.73rem;font-weight:400}.ev-table td{vertical-align:baseline;border-top:1px solid var(--hair);padding:.45rem .7rem .45rem 0}.ev-table td:first-child{font-weight:500}.ev-table__fair{color:var(--ink-2)}.ev-table__market{color:var(--market);font-weight:500}.ev-table__book{color:var(--ink-3);font-size:.72rem;display:block}.ev-table__none{color:var(--ink-3)}.ev-table .positive{color:var(--pos);font-weight:600}.ev-table .negative{color:var(--ink-2)}.ev-table__suspect{border-radius:var(--pill);background:var(--warn-soft);color:var(--warn);cursor:help;padding:.05rem .5rem;font-size:.74rem;display:inline-block}.prediction-card__probs,.prediction-card__stats,.prediction-card__availability{color:var(--ink-2);flex-wrap:wrap;gap:.3rem 1.2rem;margin-top:.6rem;font-size:.79rem;display:flex}.prediction-card__actions{flex-wrap:wrap;align-items:flex-start;gap:.4rem;margin-top:.85rem;display:flex}.prediction-card__actions>div:first-child:not(:only-child){flex-basis:100%}.log-bet__open{border-radius:var(--pill);background:var(--sunk);color:var(--ink-2);cursor:pointer;border:none;margin-top:0;padding:.32rem .85rem;font-size:.78rem}.log-bet__open:hover{background:var(--accent-soft);color:var(--accent)}.log-bet{background:var(--sunk);border-radius:var(--r-md);flex-direction:column;gap:.75rem;margin-top:.9rem;padding:1rem;display:flex}.log-bet__sides{flex-wrap:wrap;gap:.35rem;display:flex}.log-bet__sides button{border-radius:var(--pill);background:var(--card);color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:.3rem .8rem;font-size:.8rem}.log-bet__sides button.active{background:var(--ink);color:#fff}.log-bet__fields{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.log-bet__fields label,.tools__form label,.tools__leg label,.ev-calculator__form label{color:var(--ink-3);flex-direction:column;gap:.25rem;font-size:.72rem;display:flex}.log-bet__fields input{width:6rem}.log-bet__fields select{max-width:14rem}.log-bet__hint{color:var(--ink-3);font-size:.76rem}.log-bet__saved{color:var(--pos);font-size:.78rem}.log-bet__save,.ev-calculator__form button,.tools__form button,.tools__leg button,.backtest-panel__controls button,.training-panel__controls button,.setup-gate__card button{border-radius:var(--pill);background:var(--ink);color:#fff;cursor:pointer;border:none;padding:.45rem 1.1rem;font-size:.83rem}.log-bet__save:hover,.ev-calculator__form button:hover,.tools__form button:hover,.backtest-panel__controls button:hover,.training-panel__controls button:hover{background:#2c3037}button:disabled{opacity:.4;cursor:default}.log-bet__cancel,.tools__delete,.tools__actions button{border-radius:var(--pill);background:var(--sunk);color:var(--ink-2);cursor:pointer;border:none;padding:.28rem .7rem;font-size:.76rem}.log-bet__cancel:hover,.tools__actions button:hover{background:var(--hair);color:var(--ink)}.tools__delete:hover{color:var(--neg);background:#fbeceb}.ev-calculator,.tools,.backtest-panel,.training-panel,.player-props{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-top:1.5rem;padding:1.4rem}.ev-calculator h2,.tools h2,.player-props h2{margin-bottom:.2rem;font-size:1.05rem}.ev-calculator__intro,.tools__intro,.backtest-panel__description,.training-panel__description{color:var(--ink-2);max-width:56ch;margin:0 0 1.1rem;font-size:.83rem}.ev-calculator__form,.tools__form,.tools__leg,.backtest-panel__controls,.training-panel__controls{flex-wrap:wrap;align-items:flex-end;gap:.7rem;margin-bottom:.7rem;display:flex}.ev-calculator__form input,.tools__form input,.tools__leg input{width:8rem}.ev-calculator__price,.tools__price{gap:.35rem;display:flex}.ev-calculator__price input,.tools__price input{width:5.5rem}.ev-calculator__optional,.tools__optional{color:var(--ink-3)}.tools__leg{align-items:center}.tools__leg-n{color:var(--ink-3);min-width:3.2rem;font-size:.76rem}.ev-result{border-top:1px solid var(--hair);margin-top:1.2rem;padding-top:1.1rem}.ev-result__headline{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:.7rem;font-size:1.35rem;font-weight:600;display:flex}.ev-result--positive strong{color:var(--pos)}.ev-result--negative strong{color:var(--neg)}.ev-result__profit{color:var(--ink-3);font-size:.82rem;font-weight:400}.ev-result__detail,.tools__summary{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.6rem;margin:1rem 0 0;padding:0;display:grid}.ev-result__detail div,.tools__stat{background:var(--sunk);border-radius:var(--r-md);flex-direction:column;gap:.1rem;padding:.6rem .8rem;font-weight:600;display:flex}.ev-result__detail dt,.tools__stat-label{color:var(--ink-3);font-size:.71rem;font-weight:400}.ev-result__detail dd{margin:0;font-weight:600}.ev-result__note,.tools__note,.backtest-panel__bets-note,.player-props__no-model{color:var(--ink-3);max-width:64ch;margin:.9rem 0 0;font-size:.77rem}.ev-result__warning,.tools__warning{background:var(--warn-soft);border-radius:var(--r-md);color:var(--warn);max-width:64ch;margin:.9rem 0 0;padding:.7rem .9rem;font-size:.81rem}.tools__summary{margin:1rem 0 1.2rem}.tools__table,.backtest-panel__bets-table table,.odds-table,.team-stats{border-collapse:collapse;width:100%;font-size:.84rem}.tools__table th,.backtest-panel__bets-table th,.odds-table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--hair);padding:0 .7rem .4rem 0;font-size:.73rem;font-weight:400}.tools__table td,.backtest-panel__bets-table td,.odds-table td{border-bottom:1px solid var(--hair);padding:.5rem .7rem .5rem 0}.tools__muted,.tools__empty{color:var(--ink-3)}.tools__actions{gap:.3rem;display:flex}.tools__settle-report{background:var(--sunk);border-radius:var(--r-md);flex-direction:column;gap:.25rem;margin:1rem 0;padding:.85rem 1rem;font-size:.82rem;display:flex}.positive,.tools .positive{color:var(--pos)}.negative,.tools .negative{color:var(--neg)}.backtest-panel__summary{flex-wrap:wrap;gap:1.4rem;margin-bottom:1rem;font-weight:600;display:flex}.equity-curve{color:var(--accent);margin-bottom:1.4rem}.backtest-panel__bets-table{overflow-x:auto}.training-panel__sports{flex-direction:column;gap:.4rem;display:flex}.training-panel__sport-row,.training-panel__sport{background:var(--sunk);border-radius:var(--r-md);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.training-panel__sport-name{min-width:4rem;font-weight:600}.training-status--idle{color:var(--ink-3)}.training-status--running{color:var(--accent)}.training-status--success{color:var(--pos)}.training-status--failed{color:var(--neg)}.training-panel__log-toggle{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.training-panel__log{background:var(--ink);color:#d4d8de;border-radius:var(--r-md);white-space:pre-wrap;padding:.85rem;font-size:.76rem;overflow-x:auto}.odds-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#17191d47;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.odds-modal,.team-stats,.setup-gate__card{background:var(--card);border-radius:var(--r-lg);width:100%;max-width:46rem;max-height:82vh;padding:1.5rem;overflow-y:auto;box-shadow:0 20px 60px #17191d2e}.odds-modal__header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.odds-modal__close{background:var(--sunk);border-radius:var(--pill);width:1.9rem;height:1.9rem;color:var(--ink-2);cursor:pointer;border:none;font-size:1rem;line-height:1}.odds-modal__close:hover{background:var(--hair)}.odds-modal__section{margin-top:1.35rem}.odds-modal__legend{color:var(--ink-3);flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.76rem;display:flex}.odds-legend-swatch{background:var(--pos);border-radius:3px;width:.65rem;height:.65rem;margin-right:.3rem;display:inline-block}.odds-best{color:var(--pos);font-weight:600}.odds-modal__empty{color:var(--ink-3)}.value-bet-badge{border-radius:var(--pill);color:var(--pos);background:#e8f5ee;padding:.1rem .55rem;font-size:.73rem;display:inline-block}.team-stats__row{border-bottom:1px solid var(--hair);justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.team-stats__rank{color:var(--ink-3)}.team-stats__form{gap:.25rem;display:flex}.form-badge--w{color:var(--pos)}.form-badge--d{color:var(--ink-3)}.form-badge--l{color:var(--neg)}.setup-gate{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.setup-gate__card{max-width:30rem}.player-props__game{margin-top:1rem}.player-props__player{border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:.6rem;padding:.5rem 0;font-size:.84rem;display:flex}.player-props__name{min-width:12rem;font-weight:600}.player-props__offers{color:var(--ink-3);flex-basis:100%;font-size:.76rem}@media (width<=760px){body{font-size:15px}.app{padding:1rem .9rem 3rem}.app>header{gap:.6rem;margin-bottom:1rem}.app>header h1{font-size:1.35rem}header .disclaimer{margin-top:.2rem;font-size:.73rem}.bankroll-bar{flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem .95rem}.bankroll-bar__balance{border-right:none;border-bottom:1px solid var(--hair);flex-flow:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:0 0 .75rem}.bankroll-bar__balance .bankroll-bar__label{flex-basis:100%;order:-1}.bankroll-bar__balance-value{font-size:1.7rem}.bankroll-bar__stats{grid-template-columns:1fr 1fr;gap:.6rem .9rem;display:grid}.bankroll-bar__stat{min-width:0;font-size:.95rem}.view-tabs,.sport-tabs,.tools__tabs,.mlb-subview-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.sport-tabs::-webkit-scrollbar{display:none}.tools__tabs::-webkit-scrollbar{display:none}.view-tabs button,.sport-tabs button,.tools__tabs button{flex:none;padding:.4rem .85rem;font-size:.83rem}.prediction-card,.ev-calculator,.tools,.slip,.backtest-panel,.training-panel{padding:.95rem 1rem}.gauge__row{grid-template-columns:4rem minmax(0,1fr);grid-template-areas:"label track""readout readout";gap:.3rem .6rem}.gauge__row-label{grid-area:label;font-size:.72rem}.gauge__row .gauge__track{grid-area:track}.gauge__readout{grid-area:readout;justify-content:flex-start;padding-left:4.6rem}.gauge__scale,.ev-table th:nth-child(3),.ev-table td:nth-child(3),.ev-table th:nth-child(4),.ev-table td:nth-child(4){display:none}.ev-table{font-size:.82rem}.ev-table th,.ev-table td{padding-right:.4rem}.tools__table,.tools__table tbody,.tools__table tr,.tools__table td,.odds-table,.odds-table tbody,.odds-table tr,.odds-table td{width:100%;display:block}.tools__table thead,.odds-table thead{display:none}.tools__table tr,.odds-table tr{background:var(--sunk);border-radius:var(--r-md);margin-bottom:.6rem;padding:.75rem .85rem}.tools__table td,.odds-table td{text-align:right;border:none;justify-content:space-between;align-items:baseline;gap:1rem;padding:.2rem 0;display:flex}.tools__table td:before,.odds-table td:before{content:attr(data-label);color:var(--ink-3);text-align:left;font-size:.73rem;font-weight:400}.tools__table td[data-label=Bet]{text-align:left;border-bottom:1px solid var(--hair);margin-bottom:.35rem;padding-bottom:.45rem;font-weight:600;display:block}.tools__table td[data-label=Bet]:before{display:none}.tools__actions-cell{padding-top:.6rem!important}.tools__actions{grid-template-columns:repeat(4,1fr);gap:.35rem;width:100%;display:grid}.tools__actions button,.tools__delete{text-align:center;background:var(--card);border:1px solid var(--hair);color:var(--ink-2);padding:.5rem .2rem;font-size:.76rem}.tools__actions button:active{background:var(--ink);color:#fff}.tools__delete{color:var(--ink-3)}.closing-entry{grid-template-columns:1fr auto;gap:.35rem;width:100%;margin-top:.35rem;display:grid}.closing-entry input{width:100%}.ev-calculator__form,.tools__form,.log-bet__fields{gap:.6rem}.ev-calculator__form label,.tools__form label{flex:8.5rem}.ev-calculator__form input,.ev-calculator__form select,.tools__form input,.tools__form select{width:100%}.ev-calculator__form button,.tools__form button{flex:100%;padding:.6rem 1rem}.stake-steps button{flex:auto;padding:.45rem .6rem}.ev-result__detail,.tools__summary,.slip__summary{grid-template-columns:1fr 1fr}.ev-result__headline{font-size:1.2rem}.settings-view__section input[readonly]{width:100%;font-size:.78rem}.gauge-key{gap:.3rem .8rem;font-size:.72rem}}.odds-pinned td{background:var(--accent-soft)}.odds-pinned td:first-child{border-top-left-radius:var(--r-sm);border-bottom-left-radius:var(--r-sm);font-weight:600}.odds-pinned td:last-child{border-top-right-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm)}.odds-hold{color:var(--ink-3);font-size:.79rem}.gauge-key{background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow-sm);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin-bottom:.85rem;padding:.7rem .9rem;font-size:.76rem;display:flex}.gauge-key__item{align-items:center;gap:.4rem;display:inline-flex}.gauge-key__item--warn{color:var(--warn)}.gauge-key__tick{background:var(--market);border-radius:2px;width:3px;height:13px}.gauge-key__ring{border:2px solid var(--model);background:var(--card);border-radius:50%;width:10px;height:10px}.gauge-key__span{background:var(--model);opacity:.4;border-radius:2px;width:26px;height:3px}.gauge-key__span--wide{background:var(--warn);opacity:.6}.gauge-key__note{color:var(--ink-3);flex-basis:100%}.stake-steps{flex-wrap:wrap;gap:.35rem;margin:.25rem 0 .5rem;display:flex}.stake-steps button{border-radius:var(--pill);background:var(--sunk);color:var(--ink-2);cursor:pointer;border:none;padding:.3rem .7rem;font-size:.78rem}.stake-steps button:hover{background:var(--hair);color:var(--ink)}.stake-steps__kelly{background:var(--accent-soft);color:var(--accent)}.ev-calculator__hint{color:var(--ink-3);margin:0 0 .6rem;font-size:.78rem}.ev-log{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}.ev-log__button{border-radius:var(--pill);background:var(--ink);color:#fff;cursor:pointer;border:none;padding:.45rem 1.1rem;font-size:.85rem}.ev-log__button:hover{background:#2c3037}.ev-log__done{color:var(--pos);font-size:.79rem}.bet-log-view{margin-top:0}.bet-log-view .tools__table td:first-child{min-width:16rem}.chart{margin:1.25rem 0}.chart__head{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.4rem 1.3rem;margin-bottom:.5rem;font-size:.82rem;display:flex}.chart__key{vertical-align:middle;border-radius:1px;width:14px;height:2px;margin-right:.35rem;display:inline-block}.chart__key--profit{background:var(--ink)}.chart__key--clv{background:var(--accent)}.chart__count{color:var(--ink-3)}.chart__svg{background:var(--sunk);border-radius:var(--r-md);width:100%;height:180px}.chart__profit{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart__clv{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.chart__zero{stroke:var(--hair);stroke-width:1px;vector-effect:non-scaling-stroke}.chart__note,.chart__too-few{color:var(--ink-3);max-width:64ch;margin:.6rem 0 0;font-size:.78rem}.bankroll-bar__risk{color:var(--warn)}.settings-view{margin-top:0}.settings-view__section{border-top:1px solid var(--hair);margin-top:1.25rem;padding-top:1.25rem}.settings-view__section:first-of-type{border-top:none;margin-top:.5rem;padding-top:0}.settings-view__section h3{margin-bottom:.3rem;font-size:.94rem}.settings-view__message{background:var(--accent-soft);border-radius:var(--r-md);color:var(--accent);padding:.6rem .85rem;font-size:.83rem}.settings-view__regions{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.settings-view__region{background:var(--sunk);border-radius:var(--r-md);cursor:pointer;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.settings-view__region--off{opacity:.45;cursor:default}.settings-view__region-note{color:var(--ink-3);font-size:.73rem;font-weight:400;display:block}.settings-view__books input{width:24rem;max-width:100%}.settings-view code{background:var(--sunk);border-radius:3px;padding:.05rem .3rem;font-size:.9em}.slip{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.4rem}.slip__head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.slip__head h3{font-size:1.02rem}.slip__legs{margin:0 0 .9rem;padding:0;list-style:none}.slip__legs li{border-bottom:1px solid var(--hair);align-items:center;gap:.6rem;padding:.45rem 0;font-size:.85rem;display:flex}.slip__leg-name{flex:1}.slip__leg-price{font-variant-numeric:tabular-nums;font-weight:600}.slip__remove{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1rem;line-height:1}.slip__remove:hover{color:var(--neg)}.slip__summary{grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.6rem;margin-bottom:.9rem;display:grid}.slip__summary .tools__stat{background:var(--sunk);border-radius:var(--r-md);padding:.55rem .7rem}.slip__preset{border-radius:var(--pill);background:var(--sunk);color:var(--ink-2);cursor:pointer;border:none;padding:.3rem .7rem;font-size:.76rem}.slip__preset:hover{background:var(--hair);color:var(--ink)}.slip__done{color:var(--pos);margin:.6rem 0 0;font-size:.8rem}.ev-log__add{border:1px solid var(--hair);border-radius:var(--pill);color:var(--ink-2);cursor:pointer;background:0 0;padding:.45rem 1rem;font-size:.85rem}.ev-log__add:hover{border-color:var(--accent);color:var(--accent)}.ev-table__row--divider td{border-top:1px solid var(--hair);padding-top:.6rem}.closing-entry{align-items:center;gap:.25rem;display:inline-flex}.closing-entry input{width:4.5rem;padding:.2rem .4rem;font-size:.76rem}.closing-entry button{border-radius:var(--pill);background:var(--sunk);color:var(--ink-2);cursor:pointer;border:none;padding:.2rem .5rem;font-size:.74rem}.closing-entry button:hover{background:var(--accent-soft);color:var(--accent)}.gauge__row--points .gauge__rule{background:#ecece6}.gauge__row--points .gauge__readout .market:after{content:" line";color:var(--ink-3);font-weight:400}.gauge__row--points .gauge__readout .model:after{content:" model";color:var(--ink-3);font-weight:400}.settings-view__section input[readonly]{width:26rem;max-width:100%;color:var(--ink-2);background:var(--sunk)}.settings-view a{color:var(--accent)}
