:root{--bg-0:#050607;--bg-1:#0a0d11;--bg-2:#10151c;--bg-3:#161d27;--bg-elevated:#1a2330;--line:#ffffff12;--line-strong:#ffffff1f;--text:#e8edf4;--text-dim:#8b97a8;--text-mute:#5c6878;--accent:#00ffb4;--accent-dim:#00ffb424;--accent-mid:#00ffb447;--danger:#ff5c7a;--danger-dim:#ff5c7a24;--warn:#ffc857;--warn-dim:#ffc85724;--up:#00ffb4;--down:#ff5c7a;--font-ui:"Sora", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--nav-h:72px;--header-h:56px;--radius:10px;--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-ui);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-color:#0000;background-image:radial-gradient(1200px 600px at 10% -10%,#00ffb412,#0000 55%),radial-gradient(900px 500px at 100% 0,#1450782e,#0000 50%),linear-gradient(#07090c 0%,#050607 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050709b8;flex-direction:column;max-width:480px;min-height:100%;margin:0 auto;display:flex;position:relative}.app-header{z-index:40;height:var(--header-h);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07090ceb;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:8px;display:flex}.brand-mark{letter-spacing:-.03em;font-size:1.15rem;font-weight:800}.brand-mark span{color:var(--accent)}.brand-sub{text-transform:uppercase;letter-spacing:.14em;color:var(--text-mute);font-size:.65rem}.live-pill{font-family:var(--font-mono);color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-mid);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.68rem;font-weight:600;display:inline-flex}.live-pill .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}.live-pill.offline{color:var(--text-mute);border-color:var(--line-strong);background:0 0}.live-pill.offline .dot{background:var(--text-mute);animation:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@keyframes flash-row{0%{background:#00ffb41f}to{background:0 0}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.main{padding:12px 12px calc(var(--nav-h) + var(--safe-bottom) + 16px);flex:1;animation:.35s both slide-up}.bottom-nav{width:min(480px,100%);height:calc(var(--nav-h) + var(--safe-bottom));padding:6px 6px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:50;pointer-events:auto;background:#07090cf5;grid-template-columns:repeat(5,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--text-mute);letter-spacing:.02em;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:56px;padding:8px 2px;font-size:.62rem;font-weight:500;transition:color .15s,background .15s;display:flex}.nav-item.active{color:var(--accent);background:var(--accent-dim)}.nav-item svg{width:18px;height:18px}.section-title{justify-content:space-between;align-items:center;margin:4px 2px 10px;display:flex}.section-title h2{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:.78rem;font-weight:600}.filters{scrollbar-width:none;gap:6px;padding-bottom:10px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line-strong);background:var(--bg-2);color:var(--text-dim);border-radius:999px;flex:none;padding:7px 12px;font-size:.72rem;font-weight:600;transition:all .15s}.chip.active{border-color:var(--accent-mid);background:var(--accent-dim);color:var(--accent)}.market-list{flex-direction:column;gap:8px;display:flex}.prop-row{border:1px solid var(--line);background:linear-gradient(160deg, var(--bg-2), var(--bg-1));border-radius:var(--radius);padding:12px;transition:border-color .2s}.prop-row:active{border-color:var(--accent-mid)}.prop-row.flash{animation:.7s flash-row}.prop-top{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.player-meta{min-width:0}.player-name{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.player-sub{color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:.68rem;display:flex}.badge{font-family:var(--font-mono);background:var(--bg-3);color:var(--text-dim);border:1px solid var(--line);border-radius:4px;align-items:center;padding:2px 6px;font-size:.62rem;font-weight:600;display:inline-flex}.badge.live{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-mid)}.badge.vol-high{color:var(--warn);background:var(--warn-dim);border-color:#ffc85759}.line-block{text-align:right}.line-value{font-family:var(--font-mono);color:var(--accent);letter-spacing:-.03em;font-size:1.15rem;font-weight:700}.line-label{color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.odds-grid{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.odds-cell{background:var(--bg-0);border:1px solid var(--line);text-align:center;border-radius:6px;min-width:0;padding:6px 4px}.odds-cell.best{border-color:var(--accent-mid);background:var(--accent-dim)}.odds-book{color:var(--text-mute);margin-bottom:3px;font-size:.58rem;font-weight:600}.odds-num{font-family:var(--font-mono);letter-spacing:-.02em;font-size:.72rem;font-weight:600}.odds-num.up{color:var(--up)}.odds-num.down{color:var(--down)}.row-actions{gap:6px;margin-top:10px;display:flex}.btn{border:1px solid var(--line-strong);background:var(--bg-3);color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:.75rem;font-weight:600;transition:transform .12s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:#04110c;border-color:#0000}.btn.ghost{background:0 0}.btn.danger{background:var(--danger-dim);color:var(--danger);border-color:#ff5c7a59}.btn.full{width:100%}.btn.sm{padding:6px 8px;font-size:.68rem}.btn.flex{flex:1}.panel{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--radius);margin-bottom:10px;padding:14px}.panel h3{letter-spacing:-.02em;margin:0 0 6px;font-size:.95rem}.panel p{color:var(--text-dim);margin:0;font-size:.8rem;line-height:1.45}.compare-stack{flex-direction:column;gap:8px;display:flex}.compare-row{background:var(--bg-1);border:1px solid var(--line);border-radius:8px;grid-template-columns:72px 1fr 1fr 1fr;align-items:center;gap:6px;padding:10px;display:grid}.compare-row.best-over,.compare-row.best-under{border-color:var(--accent-mid)}.book-tag{font-size:.72rem;font-weight:700}.mono{font-family:var(--font-mono)}.chart-wrap{width:100%;height:220px}.alert-card{border:1px solid var(--line);border-left:3px solid var(--warn);background:linear-gradient(90deg, var(--warn-dim), var(--bg-2));border-radius:var(--radius);margin-bottom:8px;padding:12px;animation:.3s both slide-up}.alert-card.hot{border-left-color:var(--danger);background:linear-gradient(90deg, var(--danger-dim), var(--bg-2))}.alert-top{justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.edge{font-family:var(--font-mono);color:var(--accent);font-size:1rem;font-weight:700}.watch-star{color:var(--text-mute)}.watch-star.on{color:var(--warn)}.edu-card{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--radius);margin-bottom:8px;padding:0;overflow:hidden}.edu-head{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:14px;display:flex}.edu-head strong{margin-bottom:4px;font-size:.9rem;display:block}.edu-head span{color:var(--text-dim);font-size:.75rem;line-height:1.4;display:block}.edu-body{color:var(--text-dim);border-top:1px solid var(--line);margin:0 14px 14px;padding:12px 14px 14px;font-size:.78rem;line-height:1.5}.modal-backdrop{z-index:80;background:#000000b8;justify-content:center;align-items:flex-end;animation:.2s slide-up;display:flex;position:fixed;inset:0}.modal{background:var(--bg-1);border-top:1px solid var(--line-strong);width:min(480px,100%);padding:16px 16px calc(20px + var(--safe-bottom));border-radius:16px 16px 0 0}.modal h3{margin:0 0 4px;font-size:1.05rem}.modal .sub{color:var(--text-dim);margin-bottom:14px;font-size:.78rem}.field{margin-bottom:12px}.field label{color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.68rem;display:block}.field input,.field select{background:var(--bg-0);border:1px solid var(--line-strong);width:100%;font-family:var(--font-mono);border-radius:8px;padding:11px 12px}.auth-screen{flex-direction:column;justify-content:center;min-height:100%;padding:28px 20px 40px;display:flex;position:relative;overflow:hidden}.auth-screen:before{content:"";pointer-events:none;background:linear-gradient(135deg,#00ffb429,#0000 55%),radial-gradient(circle at 70% 30%,#008cff2e,#0000 50%);height:55%;position:absolute;inset:-20% -10% auto}.auth-brand{margin-bottom:36px;position:relative}.auth-brand h1{letter-spacing:-.05em;margin:0;font-size:2.4rem;font-weight:800;line-height:1}.auth-brand h1 span{color:var(--accent)}.auth-brand p{color:var(--text-dim);max-width:28ch;margin:12px 0 0;font-size:.92rem;line-height:1.45}.oauth-stack{flex-direction:column;gap:8px;display:flex;position:relative}.ticker{border-bottom:1px solid var(--line);background:var(--bg-0);white-space:nowrap;overflow:hidden}.ticker-track{font-family:var(--font-mono);color:var(--text-dim);gap:24px;padding:7px 0;font-size:.68rem;animation:28s linear infinite ticker;display:inline-flex}.ticker-track b{color:var(--accent);font-weight:600}.empty{text-align:center;color:var(--text-mute);padding:36px 16px;font-size:.85rem}.stat-strip{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;display:grid}.stat-tile{background:var(--bg-2);border:1px solid var(--line);text-align:center;border-radius:8px;padding:10px 8px}.stat-tile .v{font-family:var(--font-mono);color:var(--accent);font-size:1rem;font-weight:700}.stat-tile .k{color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:.6rem}.tooltip-hint{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--text-mute);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;font-size:.65rem;font-weight:700;display:inline-flex}.ai-prob.compact{border:1px solid var(--line-strong);background:var(--bg-0);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:.68rem;display:inline-flex}.ai-prob.compact.hot{border-color:var(--accent-mid);background:var(--accent-dim)}.ai-prob.compact.cold{background:var(--danger-dim);border-color:#ff5c7a59}.ai-tag{letter-spacing:.08em;color:var(--accent);font-size:.58rem;font-weight:800}.ai-pct{color:var(--text);font-weight:700}.ai-side{color:var(--text-mute);margin-left:3px;font-weight:500}.ai-edge{font-family:var(--font-mono);font-size:.62rem;font-weight:600}.ai-edge.pos,.ai-meta .pos,.ai-big.pos{color:var(--accent)}.ai-edge.neg,.ai-meta .neg{color:var(--danger)}.ai-prob.panel-lite{border:1px solid var(--line);background:linear-gradient(135deg, #00ffb414, transparent 45%), var(--bg-2);border-radius:var(--radius);margin-bottom:10px;padding:12px}.ai-prob.panel-lite.hot{border-color:var(--accent-mid)}.ai-prob.panel-lite.cold{border-color:#ff5c7a4d}.ai-prob-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.ai-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}.ai-sub{color:var(--text-mute);margin-top:3px;font-size:.68rem}.ai-big{text-align:right;color:var(--accent);font-size:1.35rem;font-weight:700;line-height:1}.ai-big span{letter-spacing:.1em;color:var(--text-mute);font-size:.62rem;font-family:var(--font-ui);margin-top:4px;font-weight:600;display:block}.ai-bars{flex-direction:column;gap:8px;display:flex}.ai-bar-row{color:var(--text-dim);grid-template-columns:48px 1fr 52px;align-items:center;gap:8px;font-size:.68rem;display:grid}.ai-track{background:var(--bg-0);border:1px solid var(--line);border-radius:99px;height:7px;overflow:hidden}.ai-fill{border-radius:inherit;height:100%;transition:width .45s}.ai-fill.over{background:linear-gradient(90deg, #00c98f, var(--accent))}.ai-fill.under{background:linear-gradient(90deg,#7a8494,#c5ceda)}.ai-meta{color:var(--text-mute);justify-content:space-between;gap:8px;margin-top:10px;font-size:.68rem;display:flex}.ai-meta b{color:var(--text-dim);font-weight:600}.ai-rationale{color:var(--text-dim);margin:10px 0 0;padding-left:16px;font-size:.72rem;line-height:1.4}.ai-rationale li+li{margin-top:4px}.header-actions{align-items:center;gap:6px;display:flex}.plan-chip{font-family:var(--font-mono);letter-spacing:.04em;color:var(--warn);background:var(--warn-dim);border:1px solid #ffc85759;border-radius:999px;align-items:center;padding:4px 8px;font-size:.62rem;font-weight:700;display:inline-flex}.plan-chip.on{color:#04110c;background:var(--accent);border-color:#0000}.plan-card{border:1px solid var(--accent-mid);background:linear-gradient(180deg, #00ffb41a, transparent 46%), var(--bg-2);border-radius:14px;margin-bottom:10px;padding:16px}.plan-card.active{border-color:var(--accent)}.plan-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.62rem;font-weight:700}.plan-card h2{letter-spacing:-.04em;margin:6px 0 0;font-size:1.35rem}.plan-card p{color:var(--text-dim);margin:6px 0 0;font-size:.8rem;line-height:1.45}.plan-price{align-items:flex-end;gap:6px;margin:14px 0 12px;display:flex}.plan-price .amount{font-family:var(--font-mono);letter-spacing:-.05em;color:var(--accent);font-size:2.35rem;font-weight:700;line-height:.9}.plan-price .per{color:var(--text-mute);padding-bottom:4px;font-size:.75rem}.plan-includes{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin:0;padding:12px 0 0;list-style:none;display:flex}.plan-includes li{color:var(--text-dim);align-items:flex-start;gap:8px;font-size:.78rem;display:flex}.plan-includes svg{color:var(--accent);flex:none;margin-top:2px}.panel h3 svg{vertical-align:-2px;color:var(--accent);margin-right:6px}.pay-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field input.invalid{border-color:#ff5c7ab3}.field-error{color:var(--danger);letter-spacing:0;text-transform:none;margin-top:6px;font-size:.68rem}.panel p.pay-note{color:var(--text-mute);margin:10px 0 0;font-size:.68rem;line-height:1.4}.btn:disabled{opacity:.55;cursor:default}.receipt{margin-top:8px}.receipt-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:.78rem;display:flex}.receipt-row span{color:var(--text-mute)}.receipt-row b{text-align:right;font-weight:600}.cancel-box{background:var(--danger-dim);border:1px solid #ff5c7a47;border-radius:8px;margin-top:14px;padding:12px}.cancel-box p{color:var(--text);margin-bottom:10px}.brand-btn{text-align:left;padding:0}.avatar-btn{border:1px solid var(--line-strong);background:var(--bg-3);border-radius:999px;width:28px;height:28px;font-size:.72rem;font-weight:700}.feed-banner{background:var(--warn-dim);color:var(--warn);border:1px solid #ffc85759;border-radius:8px;margin-bottom:10px;padding:10px 12px;font-size:.75rem;line-height:1.4}.check-row{align-items:flex-start;gap:8px;margin:4px 0 12px;font-size:.8rem;display:flex}.check-row input{margin-top:2px}.text-link{color:var(--accent);padding:0;text-decoration:underline}.book-toggles{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ai-disclaimer{color:var(--text-mute);margin:10px 0 0;font-size:.68rem;line-height:1.4}@media (width>=900px){.app-shell{max-width:420px;min-height:100vh;box-shadow:0 0 0 1px var(--line), 0 30px 80px #00000073}}
