:root{--bg:#05070c;--panel:#0d1220;--card:#151c2c;--card2:#1c2538;--line:#263049;--text:#eef1f7;--muted:#8d97ad;--pink:#ff3d7f;--gold:#ffc845;--green:#3ddc84;--red:#ff6b6b;--safe-b:env(safe-area-inset-bottom);--safe-t:env(safe-area-inset-top)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;font:15px/1.35 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button{font:inherit;color:var(--text);background:var(--card2);border:1px solid var(--line);cursor:pointer;border-radius:12px;min-height:44px;padding:10px 14px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--pink);border-color:var(--pink);color:#fff;font-weight:700}[hidden]{display:none!important}code{color:var(--muted);word-break:break-all;font:12px ui-monospace,Menlo,monospace}.muted{color:var(--muted)}#app{flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#stage{background:#000;flex:none;height:min(50dvh,92vw);min-height:220px;position:relative;overflow:hidden}body[data-screen=home] #stage{height:min(62dvh,120vw)}#view{width:100%;height:100%;display:block}#panel{background:var(--panel);border-top:1px solid var(--line);flex-direction:column;flex:auto;min-height:0;display:flex}.screen{flex-direction:column;flex:auto;min-height:0;display:flex}.scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:14px 16px 12px;overflow-y:auto}.bar{padding:10px 16px calc(10px + var(--safe-b));background:var(--panel);border-top:1px solid var(--line);flex:none;align-items:center;gap:10px;display:flex}.bar button{flex:1;min-height:52px;font-size:17px}@media (min-width:900px) and (min-aspect-ratio:4/3){#app{flex-direction:row}#stage,body[data-screen=home] #stage{flex:auto;height:auto}#panel{border-top:0;border-left:1px solid var(--line);flex:0 0 420px}}#logo{left:0;right:0;top:calc(var(--safe-t) + 18px);text-align:center;pointer-events:none;text-shadow:0 2px 18px #000c;position:absolute}#logo .mark{letter-spacing:-1.5px;font-size:46px;font-style:italic;font-weight:900}#logo .mark b{color:var(--pink)}#logo .sub{color:#d8deea;letter-spacing:.5px;margin-top:2px;font-size:14px}#stageMsg{white-space:nowrap;background:#0a0e18d1;border-radius:999px;padding:8px 14px;font-size:14px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}#raceHud{left:10px;right:10px;top:calc(var(--safe-t) + 8px);pointer-events:none;justify-content:space-between;display:flex;position:absolute}#raceHud span{background:#0a0e18b8;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}#raceHud span:empty{display:none}#tags{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}#tags .tag{filter:drop-shadow(0 2px 4px #0009);position:absolute;top:0;left:0}.cloth{border-radius:7px;flex:none;place-items:center;width:30px;height:30px;font-size:16px;font-weight:800;display:inline-grid;box-shadow:inset 0 0 0 1px #00000040}.cloth.sm{border-radius:5px;width:22px;height:22px;font-size:13px}.wallet-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:14px;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;display:grid}.wallet-card .k{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:11px}.wallet-card .v{margin-top:2px;font-size:20px;font-weight:800}.wallet-card>div:first-child .v{color:var(--gold)}.how{color:var(--muted);margin:14px 0 0;padding-left:20px}.how li{margin:6px 0}.how b{color:var(--text)}.kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:12px}.title{align-items:center;gap:8px;margin:2px 0 10px;font-size:21px;font-weight:800;display:flex}.race-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pool{text-align:right}.pool .k{color:var(--muted);font-size:11px}.pool .v{color:var(--gold);font-weight:800}.runner{cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin:0 -8px;padding:8px;display:flex}.runner+.runner{border-top:1px solid var(--line)}.runner.picked{background:#ff3d7f14}.runner.sel{background:#ff3d7f2e}.runner .face{background:var(--card2);object-fit:cover;border-radius:10px;flex:none;width:46px;height:46px}.runner .names{flex:1;min-width:0}.runner .horse{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.runner .jockey{color:var(--muted);font-size:13px}.runner .tags span{color:var(--muted);border:1px solid var(--line);border-radius:999px;margin:2px 3px 0 0;padding:0 6px;font-size:10.5px;display:inline-block}.odds-col{text-align:right}.odds{font-size:17px;font-weight:800;transition:color .4s}.odds.up{color:var(--green)}.odds.down{color:var(--red)}.ml{color:var(--muted);font-size:11px}.runner .pick{border-radius:10px;min-height:36px;padding:6px 10px;font-size:13px}.runner.sel .pick{background:var(--pink);border-color:var(--pink)}.slip{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:12px;padding:12px}.seg{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.seg button{min-height:38px;padding:6px;font-size:14px}.seg button.on{background:var(--pink);border-color:var(--pink);font-weight:700}.help{color:var(--muted);margin:8px 0;font-size:13px}.sel{border:1px dashed var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.sel.filled{color:var(--text);border-style:solid}.sel small{color:var(--muted);margin-left:auto}.stakes{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0;display:grid}.stakes button{min-height:38px}.stakes button.on{border-color:var(--gold);color:var(--gold);font-weight:700}#addBet{width:100%}.ticket{background:var(--card2);border-radius:10px;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:14px;display:flex}.ticket b{letter-spacing:.6px;color:var(--pink);font-size:11px}.ticket>span:not(.leg){text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--muted);flex:1;font-size:13px;overflow:hidden}.ticket em{color:var(--gold);font-style:normal;font-weight:700}.ticket button{border-radius:8px;min-height:28px;padding:0 8px}.ticket.won em{color:var(--green)}.ticket.lost{opacity:.6}.seal{color:var(--muted);margin-top:14px;font-size:12px}.wallet-mini{flex-direction:column;align-items:center;min-width:74px;display:flex}.wallet-mini span{color:var(--gold);font-size:18px;font-weight:800}.wallet-mini small{color:var(--muted);font-size:11px}.bar .wallet-mini+button{flex:1}#running,#finish{margin:8px 0 12px;padding:0;list-style:none}#running li,#finish li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 0;display:flex}#running li span{color:var(--muted);margin-left:auto;font-size:13px}#running li.you b,#finish li.you b{color:var(--pink)}#finish .pos{width:34px;color:var(--muted);font-weight:700}#finish small{color:var(--muted);margin-left:auto}.net{margin-top:10px;font-size:16px;font-weight:800}.net.up{color:var(--green)}.net.down{color:var(--red)}.ticket.small{padding:6px 10px;font-size:13px}.toast{left:50%;top:calc(var(--safe-t) + 14px);background:var(--card2);border:1px solid var(--line);z-index:50;border-radius:999px;padding:10px 16px;font-weight:600;position:fixed;transform:translate(-50%)}#legs{gap:6px;margin:8px 0;display:grid}.legslot{text-align:left;border-style:dashed;align-items:center;gap:8px;min-height:46px;padding:6px 10px;display:flex}.legslot.filled{border-style:solid}.legslot.on{border-color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink)}.legslot .lname{letter-spacing:.6px;width:58px;color:var(--pink);flex-direction:column;font-size:12px;font-weight:800;line-height:1.1;display:flex}.legslot .lname small{color:var(--muted);letter-spacing:0;font-weight:600}.legslot b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.legslot em{color:var(--gold);font-style:normal;font-weight:700}.legslot .hint{color:var(--muted);font-size:13px}#parlay{color:var(--muted);background:linear-gradient(90deg,#ffc84524,#ff3d7f24);border-radius:12px;justify-content:space-between;align-items:baseline;gap:8px;margin:6px 0 4px;padding:10px 12px;font-size:13px;display:flex}#parlay b{color:var(--gold);letter-spacing:-.5px;font-size:30px;font-weight:900}#parlay i{color:var(--text);font-size:16px;font-style:normal;font-weight:800}.leg{background:#ffffff0d;border-radius:7px;align-items:center;gap:3px;margin-right:4px;padding:1px 3px 1px 4px;display:inline-flex}.leg small{color:var(--muted);letter-spacing:.4px;font-size:9px;font-weight:800}.leg.hit{background:#3ddc8440}.leg.hit small{color:var(--green)}.leg.miss{opacity:.8;background:#ff6b6b38}.leg.miss small{color:var(--red)}.ticket.live.won{box-shadow:inset 0 0 0 1px var(--green)}.runner .pick{min-width:58px}.runner.sel .pick{font-weight:800}#bigWin .hit{text-align:center;background:radial-gradient(circle at 50% 30%,#ffc84559,#ff3d7f2e 70%);border:1px solid #ffc84580;border-radius:16px;margin:4px 0 12px;padding:16px;animation:.6s cubic-bezier(.2,1.6,.4,1) both pop}#bigWin small{color:var(--gold);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:800;display:block}#bigWin b{color:var(--gold);text-shadow:0 0 24px #ffc84599;font-size:52px;font-weight:900;line-height:1.05;display:block}#bigWin i{color:var(--green);font-size:24px;font-style:normal;font-weight:800;display:block}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.toppaid{color:var(--muted);margin-top:12px;font-size:13px}.toppaid b{color:var(--gold)}#finish .pos{letter-spacing:.5px;font-size:11px}.seg.mode{grid-template-columns:1fr 1fr;margin:4px 0 8px}.types{flex-direction:column;gap:6px;display:flex}.tgroup{flex-wrap:wrap;gap:6px;display:flex}.tgroup button{border-radius:999px;min-height:34px;padding:4px 10px;font-size:13px}.tgroup button.on{background:var(--pink);border-color:var(--pink);font-weight:700}.boxbtn{text-align:left;width:100%;min-height:38px;margin-bottom:6px}.boxbtn.on{border-color:var(--gold);color:var(--gold)}.legtabs{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:6px;margin:6px 0;display:grid}.legtabs button{flex-direction:column;align-items:center;min-height:44px;padding:4px;font-size:13px;font-weight:700;line-height:1.1;display:flex}.legtabs button small{color:var(--muted);font-size:11px;font-weight:600}.legtabs button.on{border-color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink)}.combo{color:var(--muted);background:linear-gradient(90deg,#ffc8451f,#ff3d7f1f);border-radius:12px;margin:8px 0 4px;padding:10px 12px;font-size:13px}.combo b{color:var(--text)}.combo i{color:var(--gold);margin-left:4px;font-style:normal;font-weight:800}.stakes button small{color:var(--muted);font-size:10px}#addPro{width:100%}.posbtns{gap:4px;display:flex}.posbtns button{border-radius:8px;min-width:30px;min-height:34px;padding:0 6px;font-size:13px;font-weight:700}.posbtns button.on{background:var(--pink);border-color:var(--pink)}.leghead{color:var(--gold);letter-spacing:.4px;padding:4px 0 6px;font-size:12px;font-weight:700}.ticket .tsel{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-weight:600;overflow:hidden}.ticket.multi{box-shadow:inset 0 0 0 1px #ffc84566}.ticket.multi em{color:var(--gold)}#field.grid .face,#field.grid .tags,#field.grid .ml{display:none}#field.grid .runner{gap:8px}#field.grid .odds{font-size:14px}#field.grid .posbtns button{min-width:28px;padding:0 4px}#soundBtn{z-index:3;background:#0a0e18b8;border:1px solid #ffffff26;border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;font-size:19px;position:absolute;bottom:10px;right:10px}#soundBtn.on{border-color:var(--gold)}#callBtn{z-index:3;border:1px solid var(--gold);background:#0d1220b8;border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;font-size:19px;position:absolute;bottom:62px;right:10px}#callBtn.off{border-color:var(--line);opacity:.7;background:#0d1220b8 linear-gradient(135deg, transparent 46%, var(--red) 46%, var(--red) 54%, transparent 54%)}#splash{z-index:100;padding:calc(var(--safe-t) + 20px) 16px calc(var(--safe-b) + 24px);text-align:center;background:radial-gradient(ellipse at 50% 45%, #2a1840 0%, #10162a 55%, var(--bg) 100%);flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:opacity .45s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#splash.gone{opacity:0;pointer-events:none}#splash .mark{letter-spacing:-1px;font-size:44px;font-weight:900}#splash .mark b{color:var(--pink)}#splash img{filter:drop-shadow(0 18px 24px #0000008c);width:min(100%,520px,62dvh);height:auto;animation:.9s ease-in-out infinite alternate gallop}#splash #begin{border-radius:999px;width:min(100%,360px);min-height:60px;font-size:20px;animation:1.6s ease-in-out infinite throb;box-shadow:0 6px 28px #ff3d7f73}#splash .sub{color:var(--muted);font-size:13px}#splash img{object-fit:contain;flex:0 auto;min-height:0;max-height:44dvh}#splash .pitch{-webkit-backdrop-filter:blur(6px);background:#151c2cb8;border:1px solid #ff3d7f47;border-radius:16px;width:min(100%,360px);padding:12px 16px;box-shadow:0 8px 24px #00000059}#splash .pitch p{color:var(--text);text-wrap:balance;margin:0;font-size:15px;line-height:1.4}#splash .pitch .first{border-top:1px solid var(--line);color:var(--muted);margin-top:8px;padding-top:8px;font-size:12.5px}@keyframes gallop{0%{transform:translateY(0)rotate(-.6deg)}to{transform:translateY(-8px)rotate(.6deg)}}@keyframes throb{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.coach{background:linear-gradient(90deg,#ffc84529,#ff3d7f24);border-top:1px solid #ffc84559;flex:none;align-items:flex-start;gap:8px;margin:0;padding:10px 8px 10px 16px;font-size:14.5px;line-height:1.35;animation:.35s both rise;display:flex}.coach span{flex:1}.coach b{color:var(--gold)}.coach button{min-height:32px;color:var(--muted);background:0 0;border:0;padding:2px 10px;font-size:15px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.nudge{animation:1.4s ease-in-out infinite nudge}@keyframes nudge{0%,to{box-shadow:0 0 #ffc84500}50%{box-shadow:0 0 0 3px #ffc845bf}}.runner .tags span.suggest{color:var(--gold);border-color:#ffc84599;font-weight:700}#bigWin .hit.small b{color:var(--green);font-size:34px}#bigWin .hit.small i{color:var(--muted);font-size:13px;font-weight:600}.bar button.small{min-height:44px;color:var(--muted);flex:none;padding:8px 12px;font-size:14px}.modal{z-index:90;background:#03050ab3;justify-content:center;align-items:center;padding:16px;animation:.2s both rise;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:20px;flex-direction:column;gap:10px;width:min(100%,360px);padding:22px 18px 16px;display:flex;box-shadow:0 20px 60px #0009}.dialog .big{font-size:44px;line-height:1}.dialog h2{margin:0;font-size:21px}.dialog p{color:var(--muted);margin:0 0 6px}.dialog p b{color:var(--gold)}.dialog button{min-height:50px;font-size:16px}.dialog button:not(.primary){color:var(--muted);background:0 0;border:0}#room .title{margin-bottom:4px}.field-label{color:var(--muted);flex-direction:column;gap:4px;margin:10px 0;font-size:13px;display:flex}#room input[type=text],#room input:not([type]){font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:12px;min-height:48px;padding:12px;font-size:17px}.chips{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:6px 0 12px;display:grid}.chips button{text-align:left;flex-direction:column;align-items:flex-start;min-height:48px;padding:8px 10px;display:flex}.chips button small{color:var(--muted);font-size:12px}.chips button.on{border-color:var(--pink);background:#ff3d7f29}.chips button.taken{opacity:.4}.joinrow{gap:8px;margin:14px 0;display:flex}.joinrow input{text-transform:uppercase;letter-spacing:6px;text-align:center;flex:1;font-weight:800}.roomhead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.roomhead .code{letter-spacing:8px;color:var(--gold);font-size:46px;font-weight:900;line-height:1.1}#roomQR{background:#fff;border-radius:10px;flex:none;width:120px;height:120px;overflow:hidden}#roomQR svg{width:100%;height:100%;display:block}#roomPlayers,#roomRunning,#roomFinish{margin:6px 0 12px;padding:0;list-style:none}#roomPlayers li,#roomRunning li,#roomFinish li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}#roomPlayers small,#roomFinish small{color:var(--muted);margin-left:auto}#roomRunning li span{color:var(--muted);margin-left:auto;font-size:13px}#roomPlayers li.you b,#roomRunning li.you b,#roomFinish li.you b{color:var(--pink)}#roomFinish .pos{width:24px;color:var(--muted);font-weight:800}.hostTag{letter-spacing:.6px;text-transform:uppercase;color:var(--gold);border:1px solid #ffc84580;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800}.check{color:var(--muted);align-items:center;gap:8px;margin:4px 0 12px;display:flex}.check input{width:20px;height:20px;accent-color:var(--pink)}.pjBtn{width:100%;color:var(--gold);border-color:#ffc84580;margin:6px 0 12px;font-weight:700}.dialog.pj{text-align:left;max-height:90dvh;position:relative;overflow:auto}.dialog.pj h2{text-align:center}.dialog.pj .x{min-height:36px;color:var(--muted);background:0 0;border:0;position:absolute;top:8px;right:8px}.dialog.pj .fine{color:var(--muted);font-size:12.5px}.dialog.pj .check{color:var(--text);margin:2px 0}.filebtn{border:1px dashed var(--line);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:50px;font-weight:600;display:flex}#pjFace{background:#fff1;border-radius:14px;width:min(100%,260px);margin:4px auto 8px;display:block}#pjResult{text-align:center}#strip{height:calc(var(--icon,44px) + 10px);pointer-events:none;z-index:2;transition:opacity .5s;position:absolute;bottom:8px;left:0;right:0}#strip.dim{opacity:.18}#strip .ricon{width:var(--icon,44px);height:var(--icon,44px);will-change:transform;transition:transform .55s cubic-bezier(.3,.9,.3,1);position:absolute;bottom:0;left:0}#strip .ricon img{object-fit:cover;background:#1c2538;border:2px solid #ffffff8c;border-radius:50%;width:100%;height:100%;box-shadow:0 2px 6px #0000008c}#strip .ricon img:not([src]){visibility:hidden}#strip .ricon.mine img{border-color:var(--gold);box-shadow:0 0 0 2px #ffc8458c,0 2px 6px #0000008c}#strip .ricon b{text-align:center;border-radius:6px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;line-height:18px;position:absolute;bottom:-3px;right:-3px;box-shadow:0 1px 3px #0009}.pjRow{align-items:center;gap:10px;margin:2px 0 8px;display:flex}.pjRow .pjBtn.small{width:auto;min-height:40px;margin:0;padding:6px 14px}.pjRow .check{color:var(--gold);margin:0;font-weight:700}#roomPlayers .ugc{gap:4px;margin-left:6px;display:flex}#roomPlayers .ugc button{background:0 0;min-height:32px;padding:2px 8px;font-size:14px}.howBtn{justify-content:center;align-items:baseline;gap:8px;width:100%;margin:4px 0 8px;font-weight:700;display:flex}.howBtn small{color:var(--muted);font-weight:600}.tutBox{aspect-ratio:9/16;background:#000;border-radius:18px;max-width:92vw;height:min(92dvh,163.556vw);position:relative;overflow:hidden;box-shadow:0 20px 60px #0009}.tutBox video{background:#000;width:100%;height:100%;display:block}.tutBox .x{z-index:2;color:#fff;background:#00000080;border:0;border-radius:999px;min-height:40px;position:absolute;top:8px;right:8px}.loadHow{z-index:3;min-height:44px;color:var(--gold);white-space:nowrap;background:#0a0e18d9;border:1px solid #ffc84599;border-radius:999px;padding:8px 16px;font-weight:700;position:absolute;bottom:62px;left:50%;transform:translate(-50%)}.splashHow{margin-top:4px;position:static;transform:none}#tutModal{z-index:120}
