@font-face{font-family:GearFont;src:url('/assets/font.otf') format('opentype');font-display:swap}
:root{color-scheme:dark;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;color:#f5f9ff;background:#080d18;--cyan:#25dcff;--muted:#a6b6ce}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}#app{position:relative;height:100dvh;min-height:360px;overflow:hidden}#viewport{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;top:0;left:0;right:0;padding:max(18px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;pointer-events:none;background:linear-gradient(#080d18d9,transparent)}header button{pointer-events:auto;background:#182338bf;border:1px solid #39475d;border-radius:9px;padding:8px 11px;font-size:14px;min-height:40px}.brand{font-weight:900;font-size:20px;letter-spacing:.02em}.brand small{display:block;color:var(--cyan);font-size:12px;letter-spacing:.17em;margin-top:3px}.panel{position:absolute;right:5vw;top:50%;transform:translateY(-44%);width:min(340px,90vw);background:linear-gradient(145deg,#142039f0,#0b1426f0);border:1px solid #55658470;border-top:2px solid var(--cyan);box-shadow:0 20px 80px #0009;border-radius:18px;padding:26px;backdrop-filter:blur(18px)}.eyebrow{font-weight:800;font-size:14px;color:var(--cyan);letter-spacing:.08em}h1{font-size:25px;line-height:1.4;margin:10px 0 24px;font-weight:900}label{font-size:14px;color:#dde9fa;font-weight:650}label span{float:right;font-size:14px;color:var(--muted);font-weight:400}.input-row{display:flex;gap:8px;margin:10px 0}input{width:100%;min-width:0;background:#071020;border:1px solid #526179;color:#fff;font-size:28px;line-height:1.5;padding:5px 14px;border-radius:8px;letter-spacing:.04em}.input-row button{background:#2c3c57;border-radius:8px;min-width:60px;font-size:14px}.examples{display:flex;gap:8px;margin-bottom:20px}.examples button{background:#24334d;border:1px solid #41516b;border-radius:8px;min-width:45px;padding:8px 12px;font-size:16px}.examples button:hover{border-color:var(--cyan)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px}select{color:#fff;background:#18263f;border:1px solid #465671;padding:9px;border-radius:8px;font-size:14px}#error{font-size:14px;color:#ffadba;min-height:18px;margin:8px 0}.primary{width:100%;background:linear-gradient(125deg,#67edff,#19b9ff);color:#031626;font-weight:900;font-size:17px;border-radius:10px;padding:15px 14px;box-shadow:0 5px 24px #00b9ff25}.primary:active{transform:translateY(2px)}.secondary{width:100%;margin-top:10px;background:#22314b;border:1px solid #4b5b73;border-radius:10px;padding:13px;font-size:15px}.instructions{margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.8}#match-hud{position:absolute;top:max(80px,calc(env(safe-area-inset-top) + 58px));left:50%;transform:translateX(-50%);width:min(460px,90vw);display:flex;justify-content:space-between;align-items:center;padding:8px 18px;border:1px solid #60708755;border-radius:12px;background:#0a1428bd;pointer-events:none}.fighter{display:flex;flex-direction:column;gap:3px;min-width:60px}.fighter small{font-size:12px;letter-spacing:.12em}.fighter b{font-size:24px;line-height:1.3;max-width:100px;overflow:hidden;white-space:nowrap}.player{color:#5ee8ff}.enemy{color:#ff738c;text-align:right}.clock{text-align:center}.clock b{font-size:26px;font-variant-numeric:tabular-nums;display:block}.clock small{font-size:12px;color:#ced9ea}#toast{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);font-size:clamp(35px,8vw,68px);font-weight:950;color:#fff;text-align:center;pointer-events:none;white-space:nowrap;text-shadow:0 4px 25px #000b,0 0 40px #1dd8ff88}#result{right:auto;left:50%;transform:translate(-50%,-50%);text-align:center}h2{font-size:36px;margin:15px 0}#result-reason{color:#c5d4e8;font-size:16px;margin-bottom:25px}#controls{position:absolute;inset:0;pointer-events:none}#stick{position:absolute;left:max(26px,env(safe-area-inset-left));bottom:max(35px,env(safe-area-inset-bottom));height:138px;width:138px;pointer-events:auto;touch-action:none;user-select:none}.stick-ring{position:absolute;inset:0;border:2px solid #78cff560;background:radial-gradient(#08375599,#0c1f39a3);border-radius:50%;box-shadow:inset 0 0 30px #00b9ff22}.stick-ring:after{content:'';position:absolute;inset:22px;border:1px solid #79b6d639;border-radius:50%}#knob{position:absolute;left:45px;top:45px;width:48px;height:48px;border-radius:50%;border:2px solid #b9f4ffcc;background:linear-gradient(145deg,#59c7e9,#1c456c);box-shadow:0 5px 16px #0007;pointer-events:none}#stick span{position:absolute;bottom:-23px;width:100%;text-align:center;font-size:14px;color:#b8d8ec;pointer-events:none}#boost{position:absolute;right:max(32px,env(safe-area-inset-right));bottom:max(46px,env(safe-area-inset-bottom));width:114px;height:114px;border-radius:50%;pointer-events:auto;touch-action:none;border:2px solid #80ebff;background:radial-gradient(at 40% 30%,#178fc4,#09334e);box-shadow:0 0 25px #00b9ff35,inset 0 0 15px #68e0ff22;color:#e6fcff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}#boost b{font-size:17px}#boost span{font-size:12px;letter-spacing:.08em}#boost.cooldown{border-color:#506b85;color:#a3b7cd;background:#142237}#boost:active:not(.cooldown){transform:scale(.96);box-shadow:0 0 40px #00b9ff85}#keyboard{position:absolute;left:24px;bottom:12px;font-size:12px;color:#8fa4bb;pointer-events:none}#loading,#fatal{position:absolute;inset:0;background:#080d18;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:26px}#loading b{font-size:17px}#loading small{font-size:14px;color:var(--muted)}.loader{width:45px;height:45px;border:3px solid #28425c;border-top-color:var(--cyan);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#fatal h2{font-size:24px}#fatal p{color:#b7c9df;max-width:440px;line-height:1.7}#fatal button{padding:14px 24px;background:#21cafa;color:#081a29;border-radius:9px}body.playing #keyboard{bottom:8px}
@media(max-width:700px){.brand{font-size:17px}header{padding-left:18px;padding-right:18px}.panel{top:auto;bottom:max(20px,env(safe-area-inset-bottom));right:50%;transform:translateX(50%);width:min(360px,calc(100vw - 32px));padding:20px 22px}h1{font-size:23px;margin:7px 0 15px}.examples{margin-bottom:14px}.instructions{margin-top:12px;font-size:14px}#keyboard{display:none}#result{top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%)}#stick{width:124px;height:124px;left:23px;bottom:max(36px,env(safe-area-inset-bottom))}#knob{left:38px;top:38px}#boost{width:106px;height:106px;right:25px;bottom:max(43px,env(safe-area-inset-bottom))}#match-hud{top:max(74px,calc(env(safe-area-inset-top) + 56px))}}
@media(max-height:570px) and (min-width:600px){.panel{padding:16px 22px;top:54%;width:320px}h1{font-size:22px;margin:4px 0 10px}.examples{margin-bottom:10px}.instructions{margin-top:8px;font-size:13px}.input-row{margin:6px 0}.primary{padding:12px}#error{margin:4px 0}#match-hud{top:14px;width:340px}.brand small{display:none}#toast{top:40%}#stick{width:110px;height:110px;bottom:27px}#knob{left:31px;top:31px}#boost{width:94px;height:94px;bottom:32px}#keyboard{display:none}}

.loadout{font-size:14px;color:#ffd482;margin:12px 0 8px}.spec-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:14px}.spec-stats span{font-size:13px;display:flex;flex-direction:column;padding:7px 4px;background:#ffffff09;border-radius:6px;color:#aebdd0}.spec-stats b{font-size:19px;color:white;margin-top:3px}.fighter span{display:block;font-size:12px;line-height:1.5;color:#d0deea}.fighter progress{display:block;width:100%;height:6px;border:0;margin:4px 0;accent-color:#39e2ff}.fighter.enemy progress{accent-color:#ff5776}#parts-p,#parts-c{font-size:12px;max-width:210px;white-space:normal}#match-hud{align-items:flex-start}.clock small{max-width:120px;white-space:normal;text-align:center} @media(max-width:600px){.fighter{min-width:0;max-width:36vw}#parts-p,#parts-c{font-size:12px}.spec-stats{margin-bottom:8px}.loadout{margin-top:8px}.instructions{font-size:14px}#setup h1{margin-bottom:14px}.clock small{font-size:12px}}
.part-spec{font-size:14px;color:#bcc8d8;margin:0 0 12px}.fighter{flex:1}.clock{flex:0 0 auto}

#match-hud{width:min(620px,94vw);gap:14px}#toast{font-size:clamp(24px,5vw,60px)}.panel{max-height:calc(100dvh - 90px);overflow:auto}@media(max-width:700px){.panel{max-height:calc(100dvh - 115px)}#setup .examples{margin-bottom:10px}#setup .instructions{line-height:1.55}#match-hud{gap:8px;padding:8px 10px}.clock{width:90px}.fighter b{font-size:20px}.fighter span{font-size:12px}}

#boost.firing{background:radial-gradient(at 40% 30%,#ffec8b,#ea7926);color:#251200;border-color:#fff0b5;box-shadow:0 0 45px #ffb33c66}#clash{position:absolute;inset:0;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding-bottom:180px;background:linear-gradient(transparent 30%,#080d1888)}.clash-card{width:min(430px,90vw);padding:18px 22px;background:#141d31ed;border:2px solid #ffd47b;border-radius:16px;box-shadow:0 0 60px #ffb43425;text-align:center}.clash-card h2{font-size:27px;color:#ffe19e;margin:0 0 8px}.clash-card p{font-size:16px;margin:0 0 14px}.clash-card p b{display:block;margin-top:6px}.clash-gauges{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}.clash-gauges progress{display:block;width:100%;height:18px;margin-top:8px;accent-color:#48dcff}.clash-gauges label:last-child progress{accent-color:#ff4c73}#clash-tap{position:absolute;right:max(32px,env(safe-area-inset-right));bottom:max(42px,env(safe-area-inset-bottom));width:130px;height:130px;border-radius:50%;background:radial-gradient(at 40% 30%,#fff0b4,#ff922d);border:3px solid #ffe8a4;color:#301500;font-size:27px;font-weight:900;box-shadow:0 0 35px #ffb53666;pointer-events:auto;touch-action:none;user-select:none}#clash-tap:active{transform:scale(.93)}@media(max-height:570px){#clash{padding-bottom:70px}.clash-card{padding:10px 18px;width:min(400px,65vw)}.clash-card h2{font-size:22px}#clash-tap{width:100px;height:100px;right:25px;bottom:26px}}

/* Game controls must not select text, show iOS callouts, or turn repeated taps into zoom. */
#viewport,#controls,#clash,button,button *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
#controls,#clash,button,button *{touch-action:none}
#spin{position:absolute;right:max(39px,env(safe-area-inset-right));bottom:calc(max(46px,env(safe-area-inset-bottom)) + 128px);width:100px;height:100px;border-radius:50%;pointer-events:auto;background:radial-gradient(at 40% 30%,#583fa6,#211a42);border:2px solid #8f7bc3;color:#d6c8ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}
#spin b{font-size:16px}#spin span{font-size:12px}#spin progress{width:64px;height:8px;accent-color:#d6a0ff}#spin:disabled{opacity:.8;cursor:default}#spin.ready{border-color:#efbfff;box-shadow:0 0 27px #bb52ff77;background:radial-gradient(at 40% 30%,#b766e9,#52248e);color:white}#spin.spinning{border-color:#fff5ff;background:radial-gradient(at 40% 30%,#f4beff,#8137da);color:#270342;box-shadow:0 0 38px #d35cff88}#spin.ready:active{transform:scale(.95)}
@media(max-width:700px){#spin{width:88px;height:88px;right:34px;bottom:calc(max(43px,env(safe-area-inset-bottom)) + 119px)}}
@media(max-height:570px) and (min-width:600px){#spin{width:90px;height:90px;right:calc(max(32px,env(safe-area-inset-right)) + 111px);bottom:32px}}

@media(max-height:570px) and (min-width:600px){#match-hud{top:10px;width:min(560px,calc(100vw - 340px));gap:8px;padding:6px 9px}.fighter b{font-size:18px}.clock{width:72px}.clock small{font-size:12px}.brand{font-size:17px}}

#viewport{z-index:0}header,#match-hud,#controls,#clash{z-index:4}.panel,#toast{z-index:5}
#jet-lines{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;--focus-x:50%;--focus-y:50%;background:repeating-conic-gradient(from 7deg at var(--focus-x) var(--focus-y),transparent 0deg 10deg,#d4faff88 10.15deg 10.6deg,transparent 10.8deg 18deg,#37d8ff55 18.1deg 18.35deg,transparent 18.6deg 23deg);mask-image:radial-gradient(ellipse at var(--focus-x) var(--focus-y),transparent 0% 24%,#0003 38%,#000 78%);-webkit-mask-image:radial-gradient(ellipse at var(--focus-x) var(--focus-y),transparent 0% 24%,#0003 38%,#000 78%);animation:jet-lines .24s linear infinite}
@keyframes jet-lines{0%{opacity:.45;filter:brightness(1)}45%{opacity:.9;filter:brightness(1.5)}100%{opacity:.35;filter:brightness(1)}}
#special{position:absolute;right:max(45px,env(safe-area-inset-right));bottom:calc(max(46px,env(safe-area-inset-bottom)) + 239px);width:88px;height:88px;pointer-events:auto;border:2px solid #ad7652;border-radius:50%;background:radial-gradient(at 40% 30%,#714019,#302216);color:#ffe1b0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-weight:800}#special b{font-size:19px}#special span{font-size:13px}#special:disabled{cursor:default;opacity:.75}#special.ready{border-color:#fff0b0;background:radial-gradient(at 40% 30%,#ffd477,#df6b20);color:#251000;box-shadow:0 0 30px #ffa32f77}#special.ready:active{transform:scale(.95)}#special-spec{color:#ffe2a7;line-height:1.5}.examples{flex-wrap:wrap;gap:6px}.examples button{padding:7px 10px;min-width:40px}
@media(max-width:700px){#special{width:78px;height:78px;right:39px;bottom:calc(max(43px,env(safe-area-inset-bottom)) + 218px)}}
@media(max-height:570px) and (min-width:600px){#special{width:86px;height:86px;right:calc(max(32px,env(safe-area-inset-right)) + 213px);bottom:34px}}
@media(prefers-reduced-motion:reduce){#jet-lines{animation:none;opacity:.4}}

#loading,#fatal{z-index:10}

#special{gap:4px}#special progress{width:54px;height:8px;accent-color:#ffd077}#special[aria-disabled="true"],#spin[aria-disabled="true"]{opacity:.8}#special-spec{white-space:pre-line}@media(pointer:coarse){.panel{backdrop-filter:none}#jet-lines{animation:none;opacity:.55}}

.quality-row{margin-bottom:12px}

/* A brief skill callout stays clear of the touch controls and never blocks input. */
#skill-banner{position:absolute;z-index:3;pointer-events:none;top:35%;left:5%;right:5%;padding:12px 8px;text-align:center;font-size:clamp(21px,5vw,38px);font-weight:950;letter-spacing:.04em;line-height:1.3;color:#fff;transform:rotate(-4deg);text-shadow:2px 3px 0 #0b0e16,0 0 16px var(--skill-color);border-top:2px solid var(--skill-color);border-bottom:2px solid var(--skill-color);background:linear-gradient(90deg,transparent,#080d18df 20% 80%,transparent)}
#skill-flash{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse,#fff 0%,var(--skill-color) 45%,transparent 78%),repeating-conic-gradient(from 12deg at 50% 45%,transparent 0deg 9deg,var(--skill-color) 9deg 10deg,transparent 10deg 18deg)}
#skill-banner[hidden],#skill-flash[hidden]{display:none}

/* Keep the vehicle preview separate from the scrollable setup form. */
#app.setup-view #viewport{top:76px;bottom:0;left:0;right:410px}
#app.setup-view #setup{top:80px;bottom:16px;right:16px;width:380px;max-height:none;transform:none;padding:0;display:flex;flex-direction:column;overflow:hidden}
.setup-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px;flex:1}
.setup-actions{display:flex;flex-direction:column;gap:12px;flex:none;max-height:100%;overflow-y:auto;padding:10px 20px 16px;background:#101b2d;border-top:1px solid #52617955}
#setup .setup-actions>button,#setup .setup-actions>.start-notice{flex:none;margin:0}
#setup #error{min-height:0;margin:8px 0 0;line-height:1.4}#setup #error:empty{display:none}
.rules{margin-top:16px;color:#b9c8dc;font-size:14px}.rules summary{cursor:pointer;color:#79ddf7}.rules .instructions{margin-top:8px}
@media(max-width:700px) and (orientation:portrait){
 #app.setup-view{--preview-height:clamp(170px,30dvh,260px)}
 #app.setup-view #viewport{top:74px;bottom:auto;left:0;right:0;height:var(--preview-height)}
 #app.setup-view #setup{top:calc(82px + var(--preview-height));bottom:max(8px,env(safe-area-inset-bottom));left:16px;right:16px;width:auto;transform:none}
 .setup-content{padding:16px 18px}.setup-actions{padding:10px 18px 12px}
 #setup h1{font-size:21px;margin:6px 0 14px}#setup .eyebrow{font-size:12px}
}
@media(orientation:landscape) and (max-height:570px){
 #app.setup-view #viewport{top:60px;right:calc(min(320px,55vw) + 24px)}
 #app.setup-view #setup{top:60px;bottom:8px;right:8px;width:min(320px,55vw)}
 .setup-content{padding:12px 16px}.setup-actions{padding:8px 16px}#setup h1{font-size:20px}
}

#clash.special-clash .clash-card{border-color:#ff9b46;box-shadow:0 0 55px #ff592b66;background:#241728ed}#clash.special-clash .clash-card h2{color:#fff0b9;text-shadow:0 0 20px #ff681b}#clash.special-clash #clash-tap{box-shadow:0 0 50px #ff6e3566}

/* Each native picker gets its own full-width touch row, including iOS text scaling. */
#setup .setting-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;margin:0 0 20px;padding:0;min-width:0}
#setup .setting-row label{display:block;font-size:16px;line-height:1.5}
#setup .setting-row select{display:block;width:100%;min-width:0;min-height:48px;padding:12px 16px;font-size:16px;line-height:1.4;touch-action:manipulation}

.player-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.7fr);gap:10px;margin:0 0 12px}.player-tools button{min-height:48px;padding:10px;background:#21334c;border:1px solid #425d7b;border-radius:10px;font-size:16px;overflow-wrap:anywhere}.player-tools small{display:block;font-size:12px;color:#a9d7e9;margin-top:3px}.record-status{font-size:14px;line-height:1.5;color:#c4e8f7;overflow-wrap:anywhere}.record-status:empty,.record-error:empty{display:none}
.record-dialog{width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:1px solid #61748c;border-top:3px solid #38dfff;border-radius:18px;background:#101d30;color:#f4f8ff;padding:22px;box-shadow:0 20px 80px #000a}.record-dialog::backdrop{background:#020712c9}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.dialog-heading h2{font-size:23px;line-height:1.4;margin:0}.dialog-heading button{flex:none;padding:12px;min-height:44px;border-radius:8px;background:#2b3c54;font-size:14px}.record-dialog p{font-size:15px;line-height:1.65}.record-dialog input{font-size:20px;min-height:48px;margin-bottom:16px}.record-dialog label{display:block;font-size:16px;line-height:1.5;margin:14px 0 8px}.record-dialog select{display:block;width:100%;min-height:48px;font-size:16px;padding:12px;touch-action:manipulation}.record-error{color:#ffb3be;margin:8px 0;font-size:15px}.signin-link{display:block;color:white;text-align:center;text-decoration:none;margin:0 0 16px}.rank-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rank-tabs button{min-height:48px;border:1px solid #435a75;border-radius:9px;background:#1d2e47;font-size:16px}.rank-tabs button[aria-pressed="true"]{background:#27c7ec;color:#08192c;font-weight:800;border-color:#70efff}.self-rank{background:#233956;border-radius:9px;padding:10px 12px;color:#88ecff}.rank-table-scroll{overflow-x:auto}.record-dialog table{border-collapse:collapse;width:100%;font-size:15px;table-layout:fixed}.record-dialog th,.record-dialog td{padding:12px 6px;border-bottom:1px solid #384b62;text-align:left;overflow-wrap:anywhere;vertical-align:top}.record-dialog th:first-child{width:65px}.record-dialog th:last-child{width:85px}.record-dialog tr.own{background:#1c435b}.rank-rules{color:#b6c6d8;font-size:14px!important}#ranking-empty{color:#bbcddf;text-align:center;padding:15px 4px}

.setup-actions .start-notice{margin:0 0 10px;color:#ffe0a3;font-size:15px;line-height:1.45;max-height:6em;overflow-y:auto}.name-action{display:block;width:100%;min-height:44px;padding:10px 12px;margin:0 0 10px;background:#20334c;border:1px solid #547794;border-radius:9px;color:#a3efff;font-size:16px;font-weight:700;touch-action:manipulation}#start[aria-busy="true"]{opacity:.8}
.bgm-status{display:block;max-width:240px;font-size:11px;font-weight:500;line-height:1.4;margin-top:5px;color:#c9e4f5}

#result{display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 100px);overflow:auto}#result>*{margin:0}#result button{margin:0;flex:none;min-height:48px}
#replay-label{position:absolute;top:max(82px,calc(env(safe-area-inset-top) + 62px));left:50%;transform:translateX(-50%);padding:8px 16px;border:1px solid #71e8ff;border-radius:8px;color:#b6f6ff;background:#081829df;font-size:14px;font-weight:800;white-space:nowrap;pointer-events:none}body.replaying #result{top:auto;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(640px,calc(100vw - 28px));padding:12px 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}body.replaying #result-label,body.replaying #carry-gauge,body.replaying #result-record,body.replaying #result-ranking,body.replaying #edit{display:none}body.replaying #result-title{font-size:24px;line-height:1.2;margin:0}body.replaying #result-reason{font-size:14px;margin:0;align-self:center}body.replaying #result button{margin:0;padding:10px;font-size:15px;min-height:48px}

#cpu-level{font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}

.body-traits{white-space:pre-line;font-size:14px;line-height:1.65;color:#bcecff;background:#16334a;border:1px solid #3c6275;border-radius:10px;padding:12px;margin:12px 0}

#launch-choice{position:absolute;left:50%;top:37%;transform:translateX(-50%);width:min(90%,420px);padding:10px 14px;text-align:center;font-size:14px;color:#d5faff;background:#0b192ee8;border:1px solid #47d6ef;border-radius:14px;pointer-events:none;z-index:7}
#daily-boss{margin:0 0 10px;min-height:48px;font-size:16px;border-color:#bd9853;color:#ffe4a4;background:#302c27}.rank-tabs #rank-boss{grid-column:1/-1}.record-dialog th:last-child{width:115px}

#launch-guide{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(196px,calc(env(safe-area-inset-bottom) + 170px));width:166px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;background:#09182de8;border:1px solid #56d8f077;border-radius:12px;pointer-events:none;color:#d6edf7;box-shadow:0 4px 16px #0005}#launch-guide span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;border-radius:7px;font-size:14px;line-height:1.15;border:1px solid transparent}#launch-guide b{font-size:23px;line-height:1}#launch-guide small{display:flex;align-items:center;justify-content:center;font-size:12px;color:#98bfd3;text-align:center}#launch-guide[data-launch="wallLeft"] [data-mode="wallLeft"],#launch-guide[data-launch="wallRight"] [data-mode="wallRight"],#launch-guide[data-launch="spinLeft"] [data-mode="spinLeft"],#launch-guide[data-launch="spinRight"] [data-mode="spinRight"],#launch-guide[data-launch="normal"] [data-mode="normal"]{background:#28d7ff;color:#071b29;border-color:#b9f8ff;box-shadow:0 0 12px #22d9ff55}@media(max-height:570px) and (min-width:600px){#launch-guide{bottom:154px;width:154px;padding:4px}#launch-guide span{padding:3px 2px}#launch-guide b{font-size:18px}}

.flight-tag{position:absolute;z-index:2;transform:translate(-50%,-115%);padding:5px 9px;border:1px solid #72e7ff;background:#081a2de8;border-radius:8px;color:#c6f5ff;font-size:14px;font-weight:800;line-height:1.2;white-space:nowrap;pointer-events:none;box-shadow:0 3px 12px #0006}.flight-tag.enemy{border-color:#ff7d99;color:#ffd2dd}


.ground-locator{opacity:.35;position:absolute;transform:translate(-50%,-50%);width:44px;height:20px;pointer-events:none;z-index:2;color:#78e5ff;text-align:center}.ground-locator i{display:block;width:100%;height:100%;border:2px solid #4bd9ff;border-radius:50%;background:transparent;box-shadow:none}.ground-locator.enemy{color:#ffa5b8}.ground-locator.enemy i{border-color:#ff728f;box-shadow:none}

.online-start{background:linear-gradient(115deg,#a487ff,#7464eb);color:#fff}.online-leave{position:absolute;right:14px;top:84px;z-index:12;font-size:14px;padding:6px 12px;background:#111b2dcc;border:1px solid #41506b}.rank-tabs{flex-wrap:wrap}.rank-tabs button{flex:1 0 28%;min-height:44px}#online-dialog::backdrop{background:#030813b3}.online-start:disabled{opacity:.5}

#online-connection{position:absolute;top:118px;right:14px;z-index:12;margin:0;max-width:75%;font-size:12px;padding:5px 8px;background:#111b2de8;color:#ffde90;border-radius:6px;pointer-events:none}
