:root{--bg:#0b1321;--surface:#121d2d;--surface2:#17263a;--line:#28394d;--text:#edf6ff;--muted:#8fa6be;--mint:#8cf2b0;--blue:#62b4ff;--danger:#ffadad;--radius:20px;--shadow:0 12px 32px #0002;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg)}body{background:linear-gradient(170deg,#111f30 0%,var(--bg) 33%,var(--bg) 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0;font-size:15px;line-height:1.4}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{width:100%;max-width:820px;margin:auto;padding:24px 17px calc(120px + env(safe-area-inset-bottom))}.head{display:flex;align-items:center;gap:12px;margin:0 0 25px}.brandmark{font-size:22px;display:grid;place-items:center;width:45px;height:45px;background:#21334a;border:1px solid #3b526b;border-radius:15px}.branding{flex:1}.brand-sub{font-size:10px;letter-spacing:2px;color:var(--mint);font-weight:800}.brand{font-weight:790;font-size:19px;letter-spacing:-.4px}.version{font-size:11px;color:var(--muted);font-weight:500}.icon-button{width:41px;height:41px;border-radius:13px;border:1px solid var(--line);background:var(--surface2);color:var(--text);font-size:25px}.hero{padding:23px 20px 19px;background:radial-gradient(circle at 85% 5%,#27544080 0,transparent 42%),linear-gradient(128deg,#1b3647,#162333 82%);border:1px solid #42645d;border-radius:26px;box-shadow:var(--shadow);margin-bottom:23px}.hero-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.live-pill{display:inline-flex;align-items:center;gap:8px;color:var(--mint);font-size:11px;font-weight:780;letter-spacing:.3px}.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px #8cf2b01f}.small{font-size:11px;color:#b4c6d5}.hero-title{font-size:29px;font-weight:850;line-height:1.07;letter-spacing:-1.15px;margin:19px 0 10px;max-width:350px}.text-accent{color:var(--mint)}.hero p{font-size:13px;color:#a9c2d0;margin:0 0 21px;max-width:470px}.metrics{border-top:1px solid #6d8e8d33;padding-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metrics>div{display:flex;flex-direction:column;gap:1px}.metrics b{font-size:25px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.metrics span{font-size:11px;color:#adc6d2}.section-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 15px}.section-header h2{font-size:21px;margin:0 0 3px;letter-spacing:-.5px}.section-header p{margin:0;font-size:12px;color:var(--muted)}.section-marker{font-size:10px;background:#26384e;border:1px solid #3b536b;padding:6px 8px;border-radius:8px;color:var(--blue);white-space:nowrap}.search-box{background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 15px;color:var(--muted);border-radius:14px;font-size:25px;margin-bottom:15px}.search-box input{border:0;outline:0;background:transparent;color:var(--text);width:100%;padding:13px 0;font-size:14px}.search-box input::placeholder{color:#7891a8}.stack{display:flex;flex-direction:column;gap:10px}.game,.signal,.bet,.panel,.setting{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:17px}.game-top,.signal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.league-name{color:var(--muted);font-size:11px;font-weight:600}.minute{background:#233d40;color:var(--mint);padding:5px 8px;font-size:12px;border-radius:8px;white-space:nowrap;font-weight:800}.teams{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.team-names{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:650}.score{font-size:22px;line-height:1.1;font-weight:850;letter-spacing:2px;font-variant-numeric:tabular-nums}.snap-time{color:var(--muted);font-size:10px;margin-top:11px}.page{display:none}.page.active{display:block}.placeholder{color:var(--muted);font-size:13px;padding:26px;text-align:center;border:1px dashed #42566b;border-radius:var(--radius)}.notice,.alert{border:1px solid #82693b;background:#342a203d;border-radius:15px;color:#f3d7a6;font-size:12px;line-height:1.55;padding:13px 15px;margin:0 0 16px}.alert{border-color:#884c50;color:#ffb6ba;background:#442a2e6b}.hidden{display:none!important}.signal .signal-head{margin:0 0 6px}.signal b,.bet b{font-size:15px}.signal .match-title{font-size:16px;font-weight:760;margin-bottom:6px}.signal .market{color:var(--mint);font-weight:760;margin:9px 0 12px}.signal .signal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.signal .signal-metrics>div{background:var(--surface2);border-radius:10px;padding:10px 8px}.signal-metrics small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.signal-metrics b{font-variant-numeric:tabular-nums}.signal .odds-source{font-size:11px;color:var(--muted);margin:10px 0}.virtual-btn{border:0;background:var(--mint);color:#10271b;border-radius:12px;font-weight:800;font-size:12px;padding:12px;width:100%}.balance{border-radius:22px;padding:24px 19px;background:linear-gradient(140deg,#203e45,#1a3242);border:1px solid #43675e;margin-bottom:12px}.balance div{color:#b6d3d0;font-size:12px}.balance strong{display:block;font-size:34px;letter-spacing:-1px;margin:6px 0 10px;font-variant-numeric:tabular-nums}.balance-pnl{color:var(--mint);font-size:12px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-grid .panel{min-height:96px}.stat-grid label{display:block;color:var(--muted);font-size:12px}.stat-grid b{display:block;margin-top:12px;font-size:25px;font-variant-numeric:tabular-nums}h3{font-size:16px;margin:25px 0 13px}.bet .meta{display:flex;justify-content:space-between;gap:10px;margin-top:9px;color:var(--muted);font-size:12px}.status{font-size:11px;color:var(--mint);font-weight:700}.status.lose{color:var(--danger)}.setting{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:10px}.setting b{font-size:14px}.setting p,.league-panel p{font-size:12px;color:var(--muted);margin:5px 0 0}.switch{position:relative;flex:none;width:50px;height:29px}.switch input{position:absolute;opacity:0}.switch span{display:block;width:50px;height:29px;border-radius:20px;background:#3a4659;transition:background .2s}.switch span:after{content:"";width:23px;height:23px;background:#fff;display:block;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .2s}.switch input:checked+span{background:#40b67a}.switch input:checked+span:after{transform:translateX(21px)}.setting-metrics>div{display:flex;justify-content:space-between;gap:12px;margin:14px 0;color:var(--muted);font-size:12px}.setting-metrics b{color:var(--text);font-weight:650;text-align:right}.setting-metrics h3,.league-panel h3{margin:0 0 15px}.league-panel{margin:11px 0 15px}.league-row{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;padding:11px 0;font-size:13px}.league-row:first-child{margin-top:12px}.league-row b{color:var(--mint)}.bottom-nav{position:fixed;z-index:2;bottom:0;left:0;right:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#0b1321f7;border-top:1px solid var(--line);display:flex;justify-content:space-around;backdrop-filter:blur(16px)}.tab{border:0;background:transparent;color:#8ca4ba;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 9px;border-radius:12px;min-width:65px}.tab.active{background:#1e3645;color:var(--mint)}.tab span{font-size:20px}.tab small{font-size:11px}.toast{position:fixed;z-index:5;left:50%;bottom:calc(94px + env(safe-area-inset-bottom));transform:translateX(-50%);min-width:210px;text-align:center;border-radius:12px;background:#224c42;border:1px solid #5ca787;padding:12px 16px;font-size:13px;box-shadow:var(--shadow)}@media(min-width:680px){.shell{padding-top:36px}.hero-title{font-size:38px}.stack:has(.game){display:grid;grid-template-columns:1fr 1fr}.stack:has(.signal){display:grid;grid-template-columns:1fr 1fr}}
