:root{--bg:#141715;--panel:#101814db;--panel-solid:#18211c;--line:#69f0ae2e;--green:#00e676;--green-soft:#69f0ae;--red:#ff1744;--gold:#ffea00;--text:#eafff3;--muted:#8aa596;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Microsoft JhengHei,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}#app,.stage{position:fixed;inset:0}.game-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.hidden{display:none!important}.hud-top{top:calc(var(--safe-top) + 8px);pointer-events:none;z-index:5;align-items:stretch;gap:6px;display:flex;position:fixed;left:max(8px,50% - 300px);right:max(8px,50% - 300px)}.hud-top>*{pointer-events:auto}.scorebox,.nextbox{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;min-width:0;padding:5px 10px}.scorebox{flex:1 1 0;container-type:inline-size}.lbl{color:var(--muted);letter-spacing:.05em;white-space:nowrap;font-size:11px}.val{color:var(--green);white-space:nowrap;text-overflow:ellipsis;font-size:min(22px,25cqi);font-weight:800;line-height:1.1;overflow:hidden}.best .val{color:var(--text);padding-top:2px;font-size:min(18px,22cqi)}.best.beating .val{color:var(--gold)}.nextbox{flex-direction:column;align-items:center;padding:4px 8px;display:flex}.nextbox img{object-fit:contain;width:30px;height:30px}.nextbox img.pop{animation:.3s ease-out pop}.hud-btns{grid-template-columns:repeat(2,34px);gap:4px;display:grid}.btn{font:inherit;color:var(--text);border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.95)}.icon-btn{width:34px;min-height:34px;padding:0;font-size:15px;font-weight:800}.back{padding-bottom:3px;font-size:26px;line-height:1}.chain{left:max(8px,50% - 300px);right:max(8px,50% - 300px);bottom:calc(var(--safe-bottom) + 8px);background:var(--panel);border:1px solid var(--line);z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;justify-content:center;align-items:center;gap:2px;padding:6px 8px;display:flex;position:fixed}.chip{aspect-ratio:1;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;max-width:40px;display:flex}.chip img{object-fit:contain;width:100%;height:100%}.chip.locked img{filter:brightness(0)opacity(.45)}.chip.gold{background:radial-gradient(circle,#ffea004d,#0000 70%)}.chip.flash{animation:1s ease-out flash}.arrow{color:var(--muted);opacity:.6;font-size:12px}@media (width<=520px){.arrow{display:none}}.vignette{pointer-events:none;opacity:0;z-index:2;transition:opacity .2s;position:fixed;inset:0;box-shadow:inset 0 0 90px 10px #ff1744bf}.fx-layer{pointer-events:none;z-index:4;position:fixed;inset:0;overflow:hidden}.float{color:var(--green);text-shadow:0 2px #000,0 0 12px #00e67680;white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:22px;font-weight:900;animation:1.1s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}.float.big{color:var(--gold);text-shadow:0 2px #000,0 0 16px #ffea0099;font-size:30px}.float.combo{color:#fff;font-family:inherit;font-size:16px}.float.moon{color:var(--gold);font-size:38px;font-style:italic}.toast{left:50%;top:calc(var(--safe-top) + 76px);opacity:0;background:var(--panel-solid);border:1px solid var(--green);color:var(--text);z-index:6;pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 16px 6px 8px;font-size:14px;font-weight:800;transition:opacity .25s,transform .25s;display:flex;position:fixed;transform:translate(-50%,-20px)}.toast img{width:28px;height:28px}.toast.show{opacity:1;transform:translate(-50%)}.toast.gold{border-color:var(--gold);color:var(--gold)}.overlay{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0e0c9e;flex-direction:column;justify-content:safe center;align-items:center;gap:14px;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}#loading{background:var(--bg)}.bar{background:#24302a;border-radius:99px;width:min(240px,70vw);height:8px;overflow:hidden}.fill{background:var(--green);width:0;height:100%;transition:width .2s}.muted{color:var(--muted);font-size:13px}.card{background:var(--panel-solid);border:1px solid var(--line);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:min(380px,100%);max-height:100%;padding:20px 18px;animation:.25s ease-out pop;display:flex;overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 0 1px #00e6760d}.logo{border-radius:50%;width:72px;height:72px;box-shadow:0 0 0 3px #00e67659,0 6px 18px #0006}.logo.spin{animation:1.6s linear infinite spin}h1,h2{letter-spacing:.02em;margin:0;font-weight:900}h1{font-size:28px}h2{font-size:26px}.red{color:var(--red)}.sub{color:var(--green);letter-spacing:.25em;margin-top:-6px;font-size:12px}.howto{color:#cfe9da;margin:4px 0;padding:0;font-size:14px;line-height:1.7;list-style:none}.howto li:before{content:"▸ ";color:var(--green)}.chain-preview{grid-template-columns:repeat(4,1fr);gap:6px;width:100%;display:grid}.pv{color:var(--muted);background:#ffffff08;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;font-size:10.5px;display:flex}.pv img{object-fit:contain;width:34px;height:34px}.pv.gold{color:var(--gold);background:#ffea0014}.theme-picker{flex-direction:column;gap:6px;width:100%;display:flex}.theme-picker .lbl{text-align:left}.themes{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.th{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:#ffffff08;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px 5px;font-size:11px;transition:border-color .15s,background .15s,color .15s;display:flex}.th:hover{border-color:#00e67673}.th.on{border-color:var(--green);color:var(--text);background:#00e6761a;box-shadow:inset 0 0 0 1px #00e67659}.sw{box-sizing:border-box;border:4px solid;border-top:none;border-radius:0 0 6px 6px;width:26px;height:30px;position:relative}.sw-glass{background:linear-gradient(115deg,#0000 35%,#ffffff59 40%,#0000 46%),#a0ffdc14;border-color:#dcfff08c;border-radius:0 0 9px 9px;box-shadow:0 3px 0 -1px #0e1512,0 4px #00e676}.sw-terminal{background:linear-gradient(to top right,#0000 46%,#00e676 47% 55%,#0000 56%),#0d1411;border-color:#1f2d26 #1a2620 #1a2620;border-top-style:solid;border-top-width:6px;border-radius:3px}.sw-capsule{background:#121a17;border-color:#5a6470;border-radius:0 0 9px 9px;box-shadow:0 0 0 1px #2c333c,inset 0 -5px 0 -1px #ffc400,inset 0 0 0 1px #3dffc099}.sw-neon{background:#121a17;border-color:#1e2b25;border-radius:0 0 4px 4px;box-shadow:inset 0 0 0 2px #00e676,0 0 8px #00e67680}.primary{background:var(--green);color:#03180e;border-color:#0000;font-weight:900}.primary:hover{background:var(--green-soft)}.big{width:100%;margin-top:6px;padding:13px;font-size:18px}.ghost{background:0 0;width:100%;padding:10px;font-size:14px}.share{background:#000;border-color:#333;width:100%;padding:11px;font-weight:800}.final{color:var(--green);font-size:48px;font-weight:900;line-height:1}.record{color:var(--gold);font-weight:900;animation:.8s ease-in-out infinite alternate pulse}.highest{align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.highest img{object-fit:contain;width:44px;height:44px}@keyframes rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes flash{0%{background:#00e67699;transform:scale(1.6)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{to{transform:scale(1.08)}}.card>.btn.primary.big{box-shadow:0 -10px 18px 6px var(--panel-solid);flex-shrink:0;position:sticky;bottom:0}@media (height<=760px){.card{gap:7px;padding:14px 14px 12px}.card .logo{width:50px;height:50px}.howto{margin:0;font-size:12.5px;line-height:1.5}.chain-preview{gap:4px}.pv{padding:3px 1px;font-size:9.5px}.pv img{width:26px;height:26px}.th{padding:4px 2px 3px;font-size:10px}.sw{border-width:3px;width:22px;height:24px}}.alarm{pointer-events:none;z-index:3;opacity:0;background:#ff17440f;position:fixed;inset:0;box-shadow:inset 0 0 0 3px #ff1744e6,inset 0 0 70px 18px #ff174480}body.in-danger .alarm{animation:alarm-blink var(--speed,.8s) ease-in-out infinite}body.liquidating .alarm{background:#ff174433;animation:.16s steps(2,end) infinite alarm-blink}.margin-call{left:50%;top:calc(var(--safe-top) + 72px);opacity:0;z-index:6;pointer-events:none;border:1px solid var(--red);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2a060de6;border-radius:12px;width:min(320px,100% - 32px);padding:7px 12px 8px;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,-8px)scale(.96);box-shadow:0 0 24px #ff174473}.margin-call.show{opacity:1;transform:translate(-50%)scale(1)}body.critical .margin-call.show{animation:.22s linear infinite mc-shake}.mc-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.mc-title{color:#ff5a76;letter-spacing:.03em;white-space:nowrap;font-size:15px;font-weight:900}.mc-ratio{color:#ffb3c0;white-space:nowrap;font-size:12px}.mc-ratio b{color:#fff;font-size:17px}body.critical .mc-ratio b{color:#ff3d5c;animation:.3s steps(2,end) infinite mc-blink}.mc-bar{background:#ffffff1a;border-radius:9px;height:4px;margin:5px 0 4px;overflow:hidden}.mc-bar i{background:linear-gradient(90deg, var(--red), #ff9100);width:100%;height:100%;display:block}.mc-sub{color:#ffd0d8;font-size:11.5px}.screen-flash{pointer-events:none;z-index:8;opacity:0;position:fixed;inset:0}.screen-flash.red{background:radial-gradient(circle,#ff174440,#ff1744b3)}.screen-flash.white{background:radial-gradient(circle,#fff,#ff7878d9)}.screen-flash.gold{background:radial-gradient(circle,#fffcdcf2,#ffc80099)}.screen-flash.go{animation:.7s ease-out screenflash}.cracks{pointer-events:none;z-index:7;opacity:0;position:fixed;inset:0}.cracks.show{opacity:1}.cracks svg{filter:drop-shadow(0 0 1.5px #000000e6);position:absolute;inset:0}.cracks path{fill:none;stroke:#ebfaffd9;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.38s ease-out forwards crack}.cracks path.br{stroke-width:1.1px;stroke:#ebfaff99}.cracks path.ring{stroke-width:1.3px;stroke:#ebfaffb3}.cracks .impact{fill:#fffc;filter:blur(4px)}.overlay.over{background:#1c04098c}.card.slip{border-color:#ff174473;gap:8px;padding-top:0;animation:.45s cubic-bezier(.2,1.4,.4,1) slip-in,.26s ease-out .64s thump;position:relative;overflow-x:hidden;box-shadow:0 20px 60px #0009,0 0 40px #ff17442e}.slip-head{text-align:left;background:linear-gradient(#3d0a14,#23070e);border-bottom:1px dashed #ff174480;border-radius:19px 19px 0 0;flex-shrink:0;width:calc(100% + 36px);margin:0 -18px 2px;padding:12px 130px 10px 16px}.slip-title{color:#ff4d6a;letter-spacing:.08em;font-size:22px;font-weight:900}.slip-sub{color:#c98a95;letter-spacing:.12em;margin-top:2px;font-size:10.5px}.slip-rows{flex-direction:column;gap:5px;width:100%;margin:0;font-size:13px;display:flex}.slip-rows>div{border-bottom:1px dashed #ffffff14;justify-content:space-between;align-items:center;gap:10px;min-height:24px;padding-bottom:5px;display:flex}.slip-rows dt{color:var(--muted);white-space:nowrap}.slip-rows dd{text-align:right;margin:0;font-weight:800}.slip-rows dd.red{color:#ff5a76}.slip-rows .hl{align-items:center;gap:6px;display:flex}.slip-rows .hl img{object-fit:contain;width:30px;height:30px}.slip .final{color:#fff}.stamp{z-index:2;color:#ff234bf2;opacity:0;pointer-events:none;background:#28040a8c;border:4px double #ff234bf2;border-radius:10px;flex-direction:column;align-items:center;padding:3px 12px 5px;line-height:1;display:flex;position:absolute;top:9px;right:14px;transform:rotate(-14deg)}.stamp b{letter-spacing:.06em;font-family:Impact,Arial Black,sans-serif;font-size:40px;font-weight:900}.stamp small{letter-spacing:.18em;white-space:nowrap;margin-top:2px;font-size:11px;font-weight:900}.stamp.slam{animation:.42s cubic-bezier(.3,1.6,.5,1) .4s forwards stamp}body.won-run .alarm{background:#ffc4000d;box-shadow:inset 0 0 0 3px #ffc400d9,inset 0 0 70px 18px #fa06}.margin-call.tp{background:#281e04e6;border-color:#ffc400;box-shadow:0 0 24px #ffc40066}.margin-call.tp .mc-title{color:#ffd54f}.margin-call.tp .mc-ratio{color:#ffe9a8}.margin-call.tp .mc-bar i{background:linear-gradient(90deg,#00e676,#ffc400)}.margin-call.tp .mc-sub{color:#fff3c4}body.critical .margin-call.tp .mc-ratio b{color:#ffd54f}.overlay.over.tp{background:radial-gradient(circle at 50% 35%,#ffd20029,#0a0e0cb8 62%)}.card.slip.tp{border-color:#ffd6008c;box-shadow:0 20px 60px #00000080,0 0 50px #ffd60038}.slip.tp .slip-head{background:linear-gradient(#3a3006,#1d2210);border-bottom-color:#ffd60080}.slip.tp .slip-title{color:#ffd54f}.slip.tp .slip-sub{color:#cdbb7a}.slip-rows dd.gold,.slip.tp .final{color:var(--gold)}.slip.tp .stamp{color:#00e676f2;background:#0428168c;border-color:#00e676f2}.moon-banner{white-space:nowrap;align-items:center;gap:10px;font-size:clamp(28px,9vw,56px);animation:2.5s ease-out forwards moon-banner;display:flex;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.moon-banner b,.gold-text{letter-spacing:.03em;background:linear-gradient(#fff6a8,#ffd000 55%,#ff9f00);color:#0000;filter:drop-shadow(0 3px #000000d9)drop-shadow(0 0 16px #ffc8008c);-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:900}.overlay.win{background:radial-gradient(circle at 50% 35%,#ffd2002e,#0a0e0cb8 62%)}.win-card{border-color:#ffea0080;animation:.6s cubic-bezier(.2,1.5,.4,1) win-in;overflow-x:hidden;box-shadow:0 20px 60px #00000080,0 0 60px #ffd60040}.win-card h2{font-size:30px}.win-hero{flex-shrink:0;place-items:center;width:120px;height:112px;display:grid;position:relative}.win-hero img{object-fit:contain;filter:drop-shadow(0 6px 14px #ffc80080);width:104px;height:104px;animation:1.6s ease-in-out infinite hero-bob;position:relative}.rays{background:repeating-conic-gradient(from 0deg, #ffea0061 0 9deg, transparent 9deg 18deg);border-radius:50%;animation:10s linear infinite spin;position:absolute;inset:-46px;-webkit-mask:radial-gradient(circle,#000 22%,#0000 68%);mask:radial-gradient(circle,#000 22%,#0000 68%)}.win-stats{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;display:grid}.win-stats>div{background:#ffea000f;border:1px solid #ffea002e;border-radius:10px;padding:6px 4px}.win-stats .v{color:var(--gold);font-size:18px;font-weight:900}.gold-btn{color:#3a2600;background:linear-gradient(#ffe55c,#ffc400)}.gold-btn:hover{background:linear-gradient(#fff08a,#ffd23f)}.confetti-layer{z-index:11;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti{border-radius:2px;animation:3s linear forwards confetti-fall;position:absolute;top:-24px}@media (height<=760px){.slip-head{width:calc(100% + 28px);margin:0 -14px;padding:9px 12px 8px}.slip-title{font-size:19px}.slip-rows{gap:3px;font-size:12px}.slip-rows>div{padding-bottom:3px}.stamp{top:6px}.stamp b{font-size:32px}.slip-head{padding-right:112px}.win-hero{width:96px;height:84px}.win-hero img{width:80px;height:80px}}@keyframes alarm-blink{0%,to{opacity:.15}50%{opacity:1}}@keyframes mc-blink{50%{opacity:.35}}@keyframes mc-shake{0%,to{transform:translate(-50%)}25%{transform:translate(calc(-50% - 3px),1px)}75%{transform:translate(calc(3px - 50%),-1px)}}@keyframes screenflash{0%{opacity:1}to{opacity:0}}@keyframes crack{to{stroke-dashoffset:0}}@keyframes slip-in{0%{opacity:0;transform:translateY(40px)scale(.9)}to{opacity:1;transform:none}}@keyframes thump{0%{transform:scale(.97)translateY(3px)}to{transform:none}}@keyframes stamp{0%{opacity:0;transform:rotate(-26deg)scale(3.2)}60%{opacity:1;transform:rotate(-12deg)scale(.92)}to{opacity:.95;transform:rotate(-14deg)scale(1)}}@keyframes moon-banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}22%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-62%)scale(1)}to{opacity:0;transform:translate(-50%,-90%)scale(1.05)}}@keyframes win-in{0%{opacity:0;transform:scale(.5)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes hero-bob{50%{transform:translateY(-6px)rotate(3deg)}}@keyframes confetti-fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--dx), 110vh) rotate(var(--r))}}
