:root{--bg1:#13756b;--bg2:#0b4a44;--paper:#fff6ea;--ink:#2b0f2e;--ink-soft:#5e3a61;--pink:#ff3d8b;--bile:#ffc21a;--mint:#cff5e7;--vein:#3fa9f5;--sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", system-ui, sans-serif;--shout:"Bungee", "Arial Black", "Noto Sans TC", Impact, sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg1:#0e5650;--bg2:#06231f}}:root[data-theme=dark]{--bg1:#0e5650;--bg2:#06231f}*,:before,:after{box-sizing:inherit}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{height:100%;color:var(--ink);font-family:var(--sans);background:radial-gradient(120% 90% at 50% 38%, var(--bg1) 0%, var(--bg2) 75%);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#c{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.layer{pointer-events:none;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px calc(env(safe-area-inset-bottom,0px) + 12px);position:fixed;inset:0}.layer>*{pointer-events:auto}.hidden{display:none!important}button{font-family:var(--sans);color:var(--ink);cursor:pointer}button:focus-visible,input:focus-visible+span{outline:3px solid var(--bile);outline-offset:3px}.sticker{background:var(--paper);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:16px}.btn{border:3px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);border-radius:999px;padding:11px 22px;font-size:17px;font-weight:900;transition:transform 80ms,box-shadow 80ms}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.btn.go{background:var(--pink);color:#fff;letter-spacing:.06em;padding:12px 30px;font-size:20px}.btn.ghost{color:var(--paper);border-color:var(--paper);box-shadow:none;background:0 0}#build{grid-template-columns:minmax(330px,400px) 1fr;gap:18px;height:100%;display:grid}#panel{flex-direction:column;gap:14px;max-height:100%;padding:16px 18px 18px;display:flex;overflow:auto}.logo{letter-spacing:.02em;color:var(--pink);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink);margin:0;font-size:40px;font-weight:900;line-height:1.02}.logo small{letter-spacing:.04em;color:var(--ink-soft);-webkit-text-stroke:0;text-shadow:none;margin-top:6px;font-size:14px;font-weight:700;display:block}.slot h2{align-items:baseline;gap:8px;margin:0 0 7px;font-size:17px;font-weight:900;display:flex}.slot h2 span{color:var(--ink-soft);font-size:13px;font-weight:500}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:2.5px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 8px;font-size:15px;font-weight:700;transition:transform 80ms;display:inline-flex}.chip i{border:2px solid var(--ink);border-radius:50%;flex:none;width:16px;height:16px;display:block}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.chip[aria-pressed=true] i{border-color:var(--paper)}.chip:active{transform:scale(.95)}.partnote{color:var(--ink-soft);min-height:2.6em;margin:7px 2px 0;font-size:13px;line-height:1.55}.credit{color:var(--ink-soft);margin-top:auto;font-size:11.5px;line-height:1.55}.credit a{color:inherit}#stage{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:12px;min-height:0;display:flex;position:relative}#previewSlot{pointer-events:none;position:absolute;inset:0}#stage>:not(#previewSlot){z-index:1}.actions,.stickyGo{position:relative}#statCard{width:min(360px,100%);padding:14px 16px 16px;position:relative}.typeRow{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.combo{font-size:22px;font-weight:900;line-height:1.2}.partsLine{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:12.5px;font-weight:700;display:flex}.dice{border:2px solid var(--ink);background:var(--bile);border-radius:99px;padding:2px 9px;font-size:12px;font-weight:900}.dice:active{transform:scale(.94)}.dice.pen{background:#fff}#comboName{cursor:text}.nameInput{width:100%;font:inherit;font-weight:900;font-size:inherit;color:var(--ink);border:2.5px solid var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:8px;padding:2px 8px}.nameHint{color:var(--ink-soft);margin-top:5px;font-size:12px;line-height:1.5}.typeRow{align-items:flex-start!important}.badge{background:var(--bile);border:2.5px solid var(--ink);border-radius:8px;flex:none;padding:4px 10px;font-size:14px;font-weight:900;transform:rotate(-3deg)}.bar{grid-template-columns:3.2em 1fr 2.2em;align-items:center;gap:8px;margin:5px 0;font-size:14px;font-weight:700;display:grid}.bar b{border:2.5px solid var(--ink);background:#fff;border-radius:8px;height:12px;display:block;overflow:hidden}.bar b u{background:var(--pink);height:100%;transition:width .35s cubic-bezier(.3,1.4,.5,1);display:block}.bar em{text-align:right;font-variant-numeric:tabular-nums;font-style:normal}.facts{color:var(--ink-soft);margin-top:9px;font-size:12.5px;line-height:1.5}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.toggle{color:var(--paper);cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.toggle input{opacity:0;position:absolute}.toggle span{border:2.5px solid var(--paper);border-radius:99px;width:42px;height:24px;position:relative}.toggle span:after{content:"";background:var(--paper);border-radius:50%;width:15px;height:15px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle input:checked+span{background:var(--bile)}.toggle input:checked+span:after{left:19px}#hud{flex-direction:column;justify-content:space-between;height:100%;display:flex}.hudTop{grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;display:grid}.team{width:100%;min-width:0;max-width:340px;padding:9px 12px 11px}.team.cpu{text-align:right;justify-self:end}.team .nm{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:900;overflow:hidden}.team .who{color:var(--ink-soft);font-size:12px;font-weight:700}.meter{border:2.5px solid var(--ink);background:#fff;border-radius:8px;height:13px;margin-top:6px;position:relative;overflow:hidden}.meter u{width:50%;position:absolute;top:0;bottom:0;left:0}.team.cpu .meter u{left:auto;right:0}.spinM u{background:var(--vein)}.hpM{height:9px}.hpM u{background:var(--pink)}.team.cpu .hpM u{background:var(--bile)}.row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;font-weight:700;display:flex}.team.cpu .row{flex-direction:row-reverse}.pips{gap:5px;display:flex}.pips i{border:2.5px solid var(--ink);background:#fff;border-radius:50%;width:14px;height:14px}.pips i.on{background:var(--pink)}.team.cpu .pips i.on{background:var(--bile)}.mid{text-align:center;color:var(--paper);padding-top:4px}.mid .clock{font-family:var(--shout);text-shadow:3px 3px 0 var(--ink);font-size:30px;line-height:1}.mid .rnd{margin-top:4px;font-size:13px;font-weight:700}.mid .tools{justify-content:center;gap:8px;margin-top:8px;display:flex}.mini{border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:99px;padding:5px 11px;font-size:13px;font-weight:700}.hudBottom{justify-content:center;align-items:flex-end;gap:22px;display:flex}.dashBtn{background:var(--pink);color:#fff;border:3px solid var(--ink);width:104px;height:104px;box-shadow:5px 5px 0 var(--ink);touch-action:none;border-radius:50%;padding:0;font-size:20px;font-weight:900;position:relative}.dashBtn small{opacity:.9;font-size:11px;font-weight:700;display:block}.dashBtn[disabled]{cursor:default;background:#c9a6b5}.ringBtn{background:var(--bile);width:96px;height:96px;color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);touch-action:none;border-radius:50%;padding:0 6px;font-size:15px;font-weight:900;line-height:1.15;position:relative}.ringBtn small{opacity:.8;font-size:11px;font-weight:700;display:block}.ringBtn[disabled]{cursor:default;background:#e8d9a6}.ringBtn svg{pointer-events:none;width:calc(100% + 18px);height:calc(100% + 18px);position:absolute;inset:-9px}.skillBtn{background:var(--vein);color:#fff;border:3px solid var(--ink);width:104px;height:104px;box-shadow:5px 5px 0 var(--ink);touch-action:none;border-radius:50%;padding:0 6px;font-size:17px;font-weight:900;line-height:1.15;position:relative}.skillBtn small{opacity:.9;font-size:11px;font-weight:700;display:block}.skillBtn[disabled]{cursor:default;background:#9db8c9}.skillBtn svg,.dashBtn svg{pointer-events:none;width:calc(100% + 18px);height:calc(100% + 18px);position:absolute;inset:-9px}#launch{justify-content:center;align-items:flex-end;height:100%;display:flex}.launchCard{flex-direction:column;gap:12px;width:min(460px,100%);padding:16px 18px;display:flex}.launchCard h3{margin:0;font-size:19px;font-weight:900}.seg{border:3px solid var(--ink);border-radius:999px;display:flex;overflow:hidden}.seg button{background:#fff;border:0;flex:1;padding:9px;font-size:15px;font-weight:900}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.power{border:3px solid var(--ink);background:#fff;border-radius:12px;height:26px;position:relative;overflow:hidden}.reelRow{color:var(--ink-soft);justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.reelRow b{color:var(--ink);background:var(--bile);border:2.5px solid var(--ink);text-align:center;border-radius:8px;min-width:5.5em;padding:1px 10px;font-size:16px;font-weight:900}.power .zone{background:repeating-linear-gradient(-45deg, var(--bile) 0 6px, #ffe08a 6px 12px);width:10%;position:absolute;top:0;bottom:0;left:84%}.power u{background:var(--pink);opacity:.85;width:0;position:absolute;top:0;bottom:0;left:0}.power .needle{background:var(--ink);border-radius:3px;width:5px;position:absolute;top:-3px;bottom:-3px;left:0}.charge{background:var(--pink);color:#fff;touch-action:none;padding:14px;font-size:20px}.hint{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}#tunePanel{right:12px;top:calc(env(safe-area-inset-top,0px) + 12px);width:300px;max-height:calc(100% - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));z-index:30;padding:12px 14px;font-size:13px;position:fixed;overflow:auto}#tunePanel[hidden]{display:none}.tuneHead{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tuneHead b{font-size:16px;font-weight:900}.tuneLive{color:var(--ink-soft);font-variant-numeric:tabular-nums;min-height:1.4em;font-size:12px}#tunePanel h4{margin:12px 0 4px;font-size:14px;font-weight:900}.tuneRow{margin:6px 0 9px;display:block}.tuneRow span{justify-content:space-between;font-weight:700;display:flex}.tuneRow em{font-variant-numeric:tabular-nums;color:var(--pink);font-style:normal}.tuneRow input{accent-color:#ff3d8b;width:100%}.tuneRow small{color:var(--ink-soft);font-size:11.5px;line-height:1.4;display:block}.tuneBtns{gap:8px;margin-top:10px;display:flex}#tuneOut{-webkit-user-select:text;user-select:text;width:100%;height:70px;margin-top:8px;font:12px ui-monospace,monospace}.ghostMini{color:var(--paper);border-color:var(--paper);background:0 0}@media (width<=820px){#tunePanel{width:auto;top:auto;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);max-height:55vh}}#launch,#modal{pointer-events:none}.launchCard,.modalCard{pointer-events:auto}#flash{opacity:0;pointer-events:none;mix-blend-mode:screen;background:#fff6ea;position:fixed;inset:0}.ftxt{pointer-events:none;font-family:var(--shout);white-space:nowrap;-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink);line-height:1;animation:.85s cubic-bezier(.2,1.5,.4,1) forwards ft;position:fixed}.ftxt.cjk{font-family:var(--sans);font-weight:900}@keyframes ft{0%{transform:translate(-50%, -50%) scale(.3) rotate(var(--r));opacity:1}25%{transform:translate(-50%, -80%) scale(1.15) rotate(var(--r))}70%{opacity:1}to{transform:translate(-50%, -160%) scale(1) rotate(var(--r));opacity:0}}#shout{text-align:center;pointer-events:none;font-family:var(--shout);color:var(--bile);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink);opacity:0;font-size:clamp(40px,10vw,110px);line-height:.95;position:fixed;top:34%;left:0;right:0}#shout small{font-family:var(--sans);color:var(--paper);-webkit-text-stroke:2px var(--ink);text-shadow:3px 3px 0 var(--ink);margin-top:10px;font-size:clamp(18px,3.4vw,30px);font-weight:900;display:block}#shout.pop{animation:1.5s cubic-bezier(.2,1.6,.4,1) forwards pop}@keyframes pop{0%{opacity:0;transform:scale(.3)rotate(-8deg)}12%{opacity:1;transform:scale(1.08)rotate(-3deg)}22%{transform:scale(1)rotate(-3deg)}80%{opacity:1}to{opacity:0;transform:scale(1.04)rotate(-3deg)}}#shout.stay{animation:.45s cubic-bezier(.2,1.6,.4,1) forwards popin}@keyframes popin{0%{opacity:0;transform:scale(.3)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(-3deg)}}#modal{justify-content:center;align-items:center;height:100%;display:flex}.modalCard{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(620px,100%);max-height:calc(100% - 24px);padding:22px 24px;display:flex;overflow:auto}.modalCard h3{margin:0;font-size:28px;font-weight:900}.modalCard p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.6}.vs{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;display:grid}.vs .side{font-size:19px;font-weight:900;line-height:1.25}.vs .side small{color:var(--ink-soft);margin-top:3px;font-size:12px;font-weight:700;display:block}.vs .x{font-family:var(--shout);color:var(--pink);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;font-size:34px}.charts{text-align:left;grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.chart{border:2.5px solid var(--ink);background:#fff;border-radius:10px;padding:8px 10px;font-size:12.5px;line-height:1.5}.chartHead{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;margin-bottom:5px;padding-bottom:3px;display:flex}.chartHead b{font-size:14px}.chartHead span{color:var(--ink-soft);font-size:11px;font-weight:700}.chart dl{grid-template-columns:2.6em 1fr;gap:2px 6px;margin:0;display:grid}.chart dt{font-weight:900}.chart dd{color:var(--ink-soft);margin:0}@media (width<=620px){.charts{grid-template-columns:1fr}}.modalCard .btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (width<=820px){#build{grid-template-rows:50vh 1fr;grid-template-columns:1fr;gap:10px}#previewSlot{bottom:112px}#stage{grid-row:1;justify-content:flex-start;align-items:stretch}#statCard{width:auto;box-shadow:3px 3px 0 var(--ink);padding:8px 10px;position:absolute;bottom:0;left:0;right:0}#statCard .typeRow{margin-bottom:4px}#bars{grid-template-columns:1fr 1fr;column-gap:14px;display:grid}#statCard .combo{font-size:15px}#statCard .facts{display:none}.bar{grid-template-columns:2.8em 1fr 2em;margin:2px 0;font-size:12px}.bar b{height:9px}.actions{flex-direction:column;align-items:flex-start;position:absolute;top:0;left:0}#panel{grid-row:2;padding:12px 14px 92px}.logo{font-size:28px}.stickyGo{left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);justify-content:center;gap:10px;display:flex;position:fixed}.team .nm{font-size:14px}.hudTop{grid-template-columns:1fr 1fr;grid-template-areas:"a b""m m"}.team.you{grid-area:a}.team.cpu{grid-area:b}.mid{grid-area:m;padding-top:0}.mid .clock{font-size:24px}}@media (width>=821px){.stickyGo{gap:10px;display:flex}}@media (prefers-reduced-motion:reduce){#shout.pop,#shout.stay{animation-duration:10ms}.bar b u{transition:none}}.skillGroup{justify-content:center;align-items:flex-end;gap:22px;display:flex}.hudBottom.split{justify-content:space-between}.hudBottom.split .skillGroup{gap:12px}.hudBottom.split .skillGroup[data-team="1"]{flex-direction:row-reverse}@media (width<=820px){.hudBottom.split .skillBtn,.hudBottom.split .dashBtn{width:84px;height:84px;font-size:14px}.hudBottom.split .ringBtn{width:78px;height:78px;font-size:13px}}#launch.two{align-items:flex-end;gap:12px}#launch.two .launchCard{width:min(420px,49%)}@media (width<=820px){#launch.two{flex-direction:column;align-items:stretch}#launch.two .launchCard{gap:8px;width:auto;padding:10px 12px}#launch.two .hint{display:none}}.waitCard{text-align:center}.mid .rnd .ping{opacity:.75;font-weight:500}.versus{max-width:520px}.vsOpts{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.vsOpt{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.vsOpt b{font-size:17px;font-weight:900}.vsOpt span{color:var(--ink-soft);font-size:13.5px;line-height:1.5}.vsOpt.join{cursor:default}.codeRow{align-items:center;gap:10px;margin-top:4px;display:flex}.codeInput{min-width:0;font:900 26px / 1 var(--shout);letter-spacing:.18em;text-align:center;border:3px solid var(--ink);background:var(--paper);color:var(--ink);-webkit-user-select:text;user-select:text;border-radius:12px;flex:1;padding:8px 10px}.btn[disabled]{opacity:.55;cursor:default}.lobby{flex-direction:column;gap:10px;display:flex}.roomCode{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.roomCode .code{font:400 34px / 1 var(--shout);letter-spacing:.14em;color:var(--pink);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)}.seatList{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seat{border:2.5px solid var(--ink);background:#fff;border-radius:10px;min-width:0;padding:7px 9px;font-size:13px;line-height:1.45}.seat b{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;display:block;overflow:hidden}.seat.empty{color:var(--ink-soft);background:0 0;border-style:dashed}.seat .st{font-weight:900}.seat .st.ok{color:#1a8a5a}.lobbyNote{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.errorNote{color:#c0294f;margin:0;font-size:13.5px;font-weight:700}.seg{min-inline-size:0;margin:0;padding:0}@media (width<=820px){.stickyGo .btn{white-space:nowrap;flex:1 1 0;min-width:0;padding:11px 8px;font-size:16px}.stickyGo .btn.go{padding:12px 8px;font-size:19px}}@media (width<=420px){.codeInput{letter-spacing:.1em;font-size:22px}}.telNote{opacity:.85;font-size:11.5px}
