:root{--bg:#080a0e;--s1:#0f1318;--s2:#161b22;--s3:#1f262f;--s4:#2a323d;--line:#ffffff14;--line2:#ffffff24;--text:#eef2f7;--dim:#939dab;--accent:#ff8a1f;--accent-hi:#ffb35c;--cyan:#35d6e8;--me:#3d8bff;--ai:#ff4655;--win:#ffc233;--ok:#3ddc84;--warn:#ffb020;--danger:#ff4655;--r-sm:6px;--r-md:10px;--shadow:0 8px 24px #00000073;--st:env(safe-area-inset-top,0px);--sl:env(safe-area-inset-left,0px);--sr:env(safe-area-inset-right,0px);--sb:env(safe-area-inset-bottom,0px);--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;font:16px/1.3 system-ui,-apple-system,SF Pro Text,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{position:fixed;inset:0}.mono{font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;border-radius:var(--r-sm);border:1px solid var(--line2);background:linear-gradient(180deg, var(--s4), var(--s3));cursor:pointer;touch-action:manipulation;min-width:44px;min-height:44px;padding:0 16px;transition:transform 80ms,background-color .12s,border-color .12s,box-shadow .12s;box-shadow:inset 0 1px #ffffff14,0 2px #0006}button:active{transform:translateY(1px)scale(.98)}button:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}button.primary{background:linear-gradient(180deg, var(--accent-hi), var(--accent) 55%, #e8700a);color:#1a0c00;letter-spacing:.02em;border-color:#ffc27a;font-weight:800;box-shadow:inset 0 1px #ffffff73,0 3px #8a3f00,0 8px 20px #ff8a1f38}button.primary:active{box-shadow:inset 0 1px #ffffff4d,0 1px #8a3f00}button.ghost{box-shadow:none;background:#ffffff08}button.big{min-width:176px;min-height:56px;font-size:1.125rem}.screen{height:100%;padding:calc(16px + var(--st)) calc(16px + var(--sr)) calc(16px + var(--sb)) calc(16px + var(--sl));background:radial-gradient(120% 90% at 50% -10%, #ff8a1f12, transparent 60%), linear-gradient(180deg, #0c1015, var(--bg));animation:screen-in .28s var(--ease) both;flex-direction:column;gap:8px;display:flex;position:relative}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}}.bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.bar h2{letter-spacing:.01em;align-items:baseline;gap:8px;margin:0;font-size:1.25rem;font-weight:800;display:flex}.step{color:var(--accent);border:1px solid #ff8a1f59;border-radius:4px;padding:2px 8px;font-size:.875rem;font-weight:700}.menu{justify-content:center;align-items:center;gap:8px;overflow:hidden}.menu>button.sound-toggle{top:calc(12px + var(--st));right:calc(12px + var(--sr));min-height:44px;padding:0 14px;font-size:13px;position:absolute}.menu>:not(.menu-bg){position:relative}.menu>div.menu-toggles{top:calc(12px + var(--st));right:calc(12px + var(--sr));gap:8px;display:flex;position:absolute}.menu-toggles>button.sound-toggle{min-height:44px;padding:0 14px;font-size:13px}.replay-tag{left:50%;bottom:calc(18px + var(--sb));color:#ffd25c;letter-spacing:.12em;pointer-events:none;background:#0a0c10b8;border:1px solid #ffd25c99;border-radius:999px;padding:6px 16px;font-weight:900;position:absolute;transform:translate(-50%)}.battle.lefty .controls{flex-direction:row-reverse}.menu-bg{pointer-events:none;background:radial-gradient(60% 55% at 50% 0,#ffbe7829,#0000 70%),repeating-linear-gradient(#ffffff06 0 2px,#0000 2px 24px),radial-gradient(90% 90% at 50% 45%,#0000 55%,#000000b3),linear-gradient(#11151b,#07090c);position:absolute;inset:0}.menu-bg:after{content:"";opacity:.85;background:repeating-linear-gradient(-45deg,#d9a21b 0 12px,#15161a 12px 24px);height:8px;position:absolute;bottom:0;left:0;right:0}.kicker{letter-spacing:.32em;color:var(--cyan);animation:rise .42s var(--ease) both;margin:0;font-size:.875rem;font-weight:700}.logo{letter-spacing:.04em;animation:logo-in .52s var(--ease) 60ms both;gap:16px;margin:0;font-size:4rem;font-style:italic;font-weight:900;line-height:1;display:flex}.logo-a{color:var(--accent);text-shadow:0 0 24px #ff8a1f66,0 3px #7a3600}.logo-b{background:linear-gradient(100deg,#cfd6df 0 38%,#fff 46%,#cfd6df 54% 100%) 100% 0/260% 100%;color:#0000;filter:drop-shadow(0 3px #2b3038);-webkit-background-clip:text;background-clip:text;animation:3.2s ease-in-out .7s infinite sheen}@keyframes sheen{0%,60%{background-position:100% 0}to{background-position:-60% 0}}@keyframes logo-in{0%{opacity:0;filter:blur(4px);transform:translateY(-8px)scale(1.06)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.logo-rule{width:200px;height:6px;animation:rise .42s var(--ease) .14s both;background:repeating-linear-gradient(-45deg,#d9a21b 0 8px,#15161a 8px 16px);border-radius:2px;margin:8px 0 0}.tagline{color:var(--dim);animation:rise .42s var(--ease) .18s both;margin:8px 0 16px}.menu .primary{animation:rise .42s var(--ease) .24s both}.menu>.footnote{bottom:calc(16px + var(--sb));color:var(--dim);letter-spacing:.04em;margin:0;font-size:.875rem;position:absolute}.cards{flex:1;grid-template-columns:repeat(3,1fr);gap:8px;min-height:0;display:grid}.card{text-align:left;border-radius:var(--r-md);border:1px solid var(--line2);background:linear-gradient(180deg, #ffffff0a, transparent 40%), var(--s2);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;padding:8px 16px 12px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.card:before{content:"";pointer-events:none;background:linear-gradient(#35d6e80f 1px,#0000 1px) 0 0/12px 12px,linear-gradient(90deg,#35d6e80f 1px,#0000 1px) 0 0/12px 12px;height:88px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 40%,#0000);mask-image:linear-gradient(#000 40%,#0000)}.card[aria-pressed=true]{border-color:var(--accent);background:linear-gradient(180deg, #ff8a1f1f, transparent 55%), var(--s3);box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 3px #ff8a1f24, var(--shadow)}.card-art{justify-content:center;height:104px;margin-bottom:4px;display:flex;position:relative}.glyph{filter:drop-shadow(0 4px 6px #0000008c);width:auto;height:100%}.glyph-ring{fill:none;stroke:#ffffff1a;stroke-width:.05px;stroke-dasharray:.2 .14}.glyph-fwd{fill:var(--accent)}.card-check{color:#1a0c00;background:var(--accent);opacity:0;transition:opacity .14s ease, transform .14s var(--ease);border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:800;position:absolute;top:8px;right:8px;transform:scale(.8)}.card[aria-pressed=true] .card-check{opacity:1;transform:none}.card-name{font-size:1.25rem;font-weight:800}.card-role{color:var(--dim);font-size:.875rem}.stats{grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;margin:8px 0 0;font-size:.875rem;line-height:1.1;display:grid}.stats dt{color:var(--dim)}.stats dd{margin:0}.meter{background:#ffffff12;border-radius:2px;height:8px;display:block;position:relative;overflow:hidden}.meter i{transform-origin:0;transform:scaleX(var(--v));background:linear-gradient(90deg, #d9670a, var(--accent-hi));transition:transform .26s var(--ease);position:absolute;inset:0}.meter:after{content:"";background:repeating-linear-gradient(90deg, transparent 0 calc(10% - 2px), var(--s2) calc(10% - 2px) 10%);position:absolute;inset:0}.card[aria-pressed=true] .meter:after{background:repeating-linear-gradient(90deg, transparent 0 calc(10% - 2px), var(--s3) calc(10% - 2px) 10%)}.opp-body{flex:1;grid-template-columns:1fr 184px;gap:8px;min-height:0;display:grid}.opp-body .card-art{height:84px}.robot-3d{object-fit:contain;filter:drop-shadow(0 6px 10px #0000008c);-webkit-user-select:none;user-select:none;width:auto;height:100%}.opp-body .card{padding-inline:12px}.diffs{flex-direction:column;gap:4px;min-height:0;display:flex}.diffs-title{color:var(--dim);letter-spacing:.04em;font-size:.875rem;font-weight:700}.diff{text-align:left;border-radius:var(--r-sm);background:var(--s2);box-shadow:none;flex:1;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-content:center;gap:0 8px;padding:4px 12px;display:grid}.diff-name{font-weight:800}.diff-desc{color:var(--dim);white-space:nowrap;grid-column:1/-1;font-size:.875rem}.pips{align-self:center;gap:3px;display:flex}.pips i{background:#ffffff1f;border-radius:1px;width:6px;height:12px;transform:skew(-12deg)}:where(.diff[data-level="1"]) .pips i:nth-child(-n+1),:where(.diff[data-level="2"]) .pips i:nth-child(-n+2),:where(.diff[data-level="3"]) .pips i:nth-child(-n+3),:where(.diff[data-level="4"]) .pips i{background:var(--accent)}:where(.diff[data-level="4"]) .pips i{background:var(--danger)}.diff[aria-checked=true]{border-color:var(--accent);background:linear-gradient(90deg, #ff8a1f2e, transparent), var(--s3);box-shadow:inset 3px 0 0 var(--accent)}.battle{touch-action:none;animation:.32s both fade-in;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}}.arena{width:100%;height:100%;display:block;position:absolute;inset:0}.fx-layer{pointer-events:none;position:absolute;inset:0}.vignette{background:radial-gradient(120% 110% at 50% 55%,#0000 58%,#0000008c);position:absolute;inset:0}.fx-hit{opacity:0;background:radial-gradient(110% 100%,#0000 45%,#ff283cbf);position:absolute;inset:0}.fx-flash{opacity:0;background:#fff6e8;position:absolute;inset:0}.callout{letter-spacing:.06em;color:var(--accent-hi);text-shadow:0 3px #7a3600,0 0 32px #ff8a1f80;animation:call-out .9s var(--ease) .15s both;place-items:center;font-size:3.5rem;font-style:italic;font-weight:900;display:grid;position:absolute;inset:0}.callout.end{color:#fff;text-shadow:0 4px #7a1020,0 0 40px #ff465599;animation:call-in .42s var(--ease) both;font-size:4rem}.callout.still{animation-duration:1ms}@keyframes call-out{0%{opacity:0;transform:scale(1.6)}25%{opacity:1;transform:scale(1)}70%{opacity:1}to{opacity:0;transform:scale(.96)}}@keyframes call-in{0%{opacity:0;letter-spacing:.3em;transform:scale(1.8)}}.hud{top:calc(8px + var(--st));left:calc(8px + var(--sl));right:calc(8px + var(--sr));pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;font-size:.875rem;display:grid;position:absolute}.plate{border-radius:var(--r-sm);border:1px solid var(--line);background:linear-gradient(#161b22e0,#0c0f14d1);flex-direction:column;gap:4px;width:min(280px,100%);padding:6px 12px 8px;display:flex;box-shadow:0 4px 16px #00000059}.plate.me{border-left:3px solid var(--me)}.plate.ai{border-right:3px solid var(--ai);justify-self:end}.plate-head{align-items:center;gap:8px;display:flex}.plate.ai .plate-head{text-align:right;justify-content:flex-end}.badge{color:#fff;border-radius:4px;place-items:center;width:20px;height:20px;font-size:.75rem;line-height:1;display:inline-grid}.badge.me{background:var(--me)}.badge.ai{background:var(--ai);transform:rotate(0)}.who{flex-direction:column;flex:1;font-size:.9375rem;font-weight:800;line-height:1.1;display:flex}.who small{color:var(--dim);letter-spacing:.06em;font-size:.6875rem;font-weight:700}.hp-num{font-size:1.125rem;font-weight:800}.hp-meter{background:#0000008c;border-radius:2px;height:12px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.hp-meter i{transform-origin:0;position:absolute;inset:0}.hp-meter.ai i{transform-origin:100%}.hp-meter .ghost{opacity:.85;background:#fff1d6}.hp-meter .fill{background:linear-gradient(180deg, #7dffb7, var(--ok) 50%, #1fa35d)}.hp-meter[data-level=warn] .fill{background:linear-gradient(180deg, #ffe08a, var(--warn) 50%, #c77d00)}.hp-meter[data-level=crit] .fill{background:linear-gradient(180deg, #ff9aa3, var(--danger) 50%, #b3142a)}.hp-meter .segs{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 2px),#000000a6 calc(10% - 2px) 10%)}.plate-sub{align-items:center;gap:8px;display:flex}.en-label{color:var(--cyan);letter-spacing:.06em;font-size:.6875rem;font-weight:800}.en-meter{background:#0000008c;border-radius:2px;flex:0 0 96px;height:6px;display:block;position:relative;overflow:hidden}:where(.en-meter) i{transform-origin:0;background:linear-gradient(90deg, #1d9fb0, var(--cyan));position:absolute;inset:0;box-shadow:0 0 8px #35d6e899}:where(.en-meter[data-low=true]) i{background:var(--danger);box-shadow:none}.wstate{color:var(--dim);white-space:nowrap;font-size:.875rem;font-weight:700}.wstate[data-phase=strike],.wstate[data-phase=spinning]{color:var(--accent-hi)}.wstate[data-phase=low]{color:var(--danger)}.clock{border-radius:0 0 var(--r-md) var(--r-md);min-width:80px;margin-top:calc(-8px - var(--st));padding:4px 16px 6px;padding-top:calc(4px + var(--st));border:1px solid var(--line);background:linear-gradient(#0c0f14eb,#161b22e0);border-top:0;flex-direction:column;align-items:center;display:flex;box-shadow:0 4px 16px #00000059}.clock small{color:var(--dim);letter-spacing:.08em;font-size:.6875rem;font-weight:700}.timer{font-size:1.75rem;font-weight:900;line-height:1.05}.timer[data-low=true]{color:var(--accent);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.08)}}.controls{left:calc(16px + var(--sl));right:calc(16px + var(--sr));bottom:calc(16px + var(--sb));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.stick{pointer-events:auto;touch-action:none;width:144px;height:144px;position:relative}.stick-base{background:radial-gradient(circle,#0a0d1240 0 42%,#0a0d128c 43%);border:2px solid #ffffff24;border-radius:50%;transition:border-color .12s;position:absolute;inset:0;box-shadow:inset 0 0 24px #00000080}.stick-base:before{content:"";background:repeating-conic-gradient(from -1.5deg, #ffffff59 0 3deg, transparent 3deg 45deg);border-radius:50%;position:absolute;inset:6px;-webkit-mask:radial-gradient(closest-side,#0000 0 84%,#000 85% 100%);mask:radial-gradient(closest-side,#0000 0 84%,#000 85% 100%)}.stick.held .stick-base{border-color:var(--cyan);box-shadow:inset 0 0 24px #00000080,0 0 16px #35d6e859}.knob{pointer-events:none;background:radial-gradient(circle,#1b2027 0 18%,#0000 19%),radial-gradient(circle at 38% 30%,#f3f6fa,#aab4c0 55%,#6b7582);border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;position:absolute;top:50%;left:50%;box-shadow:0 6px 12px #0000008c,inset 0 -3px 6px #0000004d}.stick.held .knob{background:radial-gradient(circle at 50% 50%, var(--cyan) 0 18%, transparent 19%), radial-gradient(circle at 38% 30%, #fff, #b9c3cf 55%, #7a8491)}.stick-label{text-align:center;letter-spacing:.06em;color:var(--dim);pointer-events:none;font-size:.75rem;font-weight:700;position:absolute;bottom:10px;left:0;right:0}.fire{pointer-events:auto;touch-action:none;background:radial-gradient(circle at 40% 30%, #ffb35c, var(--accent) 50%, #b95300);color:#1a0c00;border:2px solid #ffc27a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;width:104px;height:104px;margin:8px;padding:0;font-size:1.125rem;font-weight:900;transition:transform 60ms,box-shadow 60ms,filter .12s;display:flex;position:relative;box-shadow:inset 0 2px #ffffff73,inset 0 -6px 12px #00000040,0 6px #6a2e00,0 10px 20px #00000073}.fire:before{content:"";background:conic-gradient(var(--cyan) calc(var(--ring,0) * 360deg), #ffffff1a 0);pointer-events:none;border-radius:50%;position:absolute;inset:-9px;-webkit-mask:radial-gradient(closest-side,#0000 0 calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(closest-side,#0000 0 calc(100% - 6px),#000 calc(100% - 5px))}.fire[data-ready=true][data-kind=cycle]:before{background:#ffb35c8c}.fire-sub{opacity:.75;font-size:.75rem;font-weight:800}.fire.held{filter:brightness(1.12);transform:translateY(4px)scale(.96);box-shadow:inset 0 2px #ffffff59,inset 0 -2px 8px #00000040,0 2px #6a2e00,0 0 24px #ff8a1fa6}.fire[data-low=true]{filter:grayscale(.7)brightness(.75)}.kbd-hint{bottom:calc(8px + var(--sb));color:var(--dim);pointer-events:none;background:#0006;border-radius:4px;padding:2px 8px;font-size:.75rem;position:absolute;left:50%;transform:translate(-50%)}@media (hover:none){.kbd-hint{display:none}}.result{--tone:var(--win);justify-content:center;align-items:center;gap:16px;overflow:hidden}.result.lose{--tone:var(--danger)}.result.draw{--tone:var(--cyan)}.result>:not(.result-bg){position:relative}.result-bg{background:radial-gradient(70% 60% at 50% 28%, color-mix(in srgb, var(--tone) 22%, transparent), transparent 70%), radial-gradient(90% 90% at 50% 50%, transparent 55%, #000000a6);position:absolute;inset:0}.banner{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--tone) 16%, #0b0e12) 25% 75%, transparent);border-block:1px solid color-mix(in srgb, var(--tone) 45%, transparent);width:calc(100% + 32px);animation:banner-in .42s var(--ease) both;flex-direction:column;align-items:center;padding:8px 0 12px;display:flex}@keyframes banner-in{0%{opacity:0;transform:scaleX(.4)}}.reason{letter-spacing:.16em;color:var(--dim);margin:0;font-size:.875rem;font-weight:800}.outcome{letter-spacing:.12em;color:var(--tone);text-shadow:0 3px 0 #0009, 0 0 32px color-mix(in srgb, var(--tone) 45%, transparent);animation:stamp .52s var(--ease) .12s both;margin:0;font-size:3.5rem;font-style:italic;font-weight:900;line-height:1.05}@keyframes stamp{0%{opacity:0;transform:scale(1.7)}}.matchup{animation:rise .42s var(--ease) .22s both;align-items:center;gap:16px;display:flex}.fighter{align-items:center;gap:8px;font-weight:800;display:flex}.fighter.s1{text-align:right;flex-direction:row-reverse}.fighter .glyph,.fighter .robot-3d{height:64px}.fighter>span{flex-direction:column;display:flex}.fighter small{color:var(--dim);align-items:center;gap:4px;font-size:.75rem;display:flex}.fighter.s1 small{flex-direction:row-reverse}.fighter .badge{width:16px;height:16px;font-size:.625rem}.vs{color:var(--accent);font-style:italic;font-weight:900}.summary{animation:rise .42s var(--ease) .3s both;grid-template-columns:repeat(4,112px);gap:8px;display:grid}.stat{border-radius:var(--r-sm);background:var(--s2);border:1px solid var(--line);flex-direction:column;align-items:center;gap:2px;padding:8px;display:flex}.stat span{color:var(--dim);font-size:.75rem;font-weight:700}.stat b{font-size:1.25rem;font-weight:900}.row{animation:rise .42s var(--ease) .38s both;gap:16px;display:flex}.menu .row{gap:10px;max-width:100%}.menu .row>button.big{white-space:nowrap;flex:0 auto;min-width:min(176px,21vw);padding:0 clamp(12px,2.6vw,28px)}.rotate-hint{display:none}@media (orientation:portrait) and (max-width:700px){.rotate-hint{background:var(--bg);z-index:10;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:fixed;inset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.logo-b{animation:none}}.stars{gap:3px;display:inline-flex}.stars i,.goals li>i{background:var(--s4);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);flex:none;width:14px;height:14px}.stars i.on,.goals li>i.on{background:var(--win);filter:drop-shadow(0 0 4px #ffc23399)}.career .bar h2{flex:1}.stars-total{color:var(--win);font-weight:800}.career-body{flex:1;grid-template-columns:minmax(170px,230px) 1fr;gap:12px;min-height:0;display:grid}.ladder{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rung{border-radius:var(--r-md);border:1px solid var(--line2);background:var(--s2);width:100%;min-height:44px;color:var(--text);text-align:left;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:6px 10px;font-weight:700;display:grid}.rung.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rung.cleared .rung-no{color:var(--win)}.rung:disabled{opacity:.45}.rung-no{color:var(--dim)}.rung-lock{opacity:.7}.rival-detail{border-radius:var(--r-md);border:1px solid var(--line2);background:radial-gradient(90% 90% at 25% 50%, #ff46551f, transparent 70%), var(--s1);min-height:0;animation:rise .32s var(--ease) both;grid-template-columns:minmax(150px,38%) 1fr;align-items:center;gap:12px;padding:12px;display:grid}.rival-art{justify-content:center;height:100%;max-height:200px;display:flex}.rival-art .robot-3d,.rival-art .glyph{height:100%;max-height:200px}.rival-info{flex-direction:column;gap:4px;min-width:0;display:flex}.rival-title{color:var(--ai);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.rival-name{margin:0;font-size:28px;font-style:italic;font-weight:900}.rival-diff,.rival-best,.rival-reward{color:var(--dim);margin:0;font-size:13px}.rival-reward b,.rival-lesson b{color:var(--accent)}.rival-lesson{margin:2px 0;font-size:13px;line-height:1.45}.goals{color:var(--dim);flex-direction:column;gap:4px;margin:4px 0;padding:0;font-size:13px;list-style:none;display:flex}.goals li{align-items:center;gap:6px;display:flex}.goals li.done{color:var(--text)}.goals.inline{flex-direction:row;justify-content:center;gap:16px}.rival-info .row{justify-content:flex-start;margin-top:4px}@media (max-height:430px){.ladder{gap:4px}.rung{min-height:44px;padding:4px 10px}.rival-detail{align-items:start;overflow-y:auto}.rival-art,.rival-art .robot-3d,.rival-art .glyph{max-height:150px}.goals{flex-flow:wrap;gap:2px 12px;margin:2px 0}}.career-result{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;display:flex}.new-best{color:var(--win);font-weight:900}.unlock-banner{color:var(--text);animation:stamp .52s var(--ease) .4s both;background:#ffc2331f;border:1px solid #ffc23373;border-radius:999px;margin:0;padding:6px 12px;font-size:13px}.unlock-banner b{color:var(--win)}.asm-versus{color:var(--ai);white-space:nowrap;align-self:center;padding:0 10px;font-style:italic;font-weight:900}.diff:disabled{opacity:.4}.rival-note,.rival-learn{color:var(--dim);margin:0;font-size:12px;line-height:1.4}.rival-note{text-align:center;border-left:3px solid var(--ai);max-width:640px;color:var(--text);animation:rise .42s var(--ease) .6s both;background:#ff465514;border-radius:6px;align-self:center;padding:6px 12px}.rival-note b,.rival-learn{color:var(--ai)}.adapt-toggle[aria-pressed=false]{opacity:.6}.career .bar button{min-height:44px;font-size:13px}.coach{left:50%;top:calc(96px + var(--st));max-width:min(80vw,460px);color:var(--text);text-align:center;pointer-events:none;z-index:5;animation:rise .36s var(--ease) both;background:#080a0ed1;border:1px solid #ff8a1f99;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:800;position:absolute;transform:translate(-50%);box-shadow:0 0 24px #ff8a1f40}.coach[data-step="3"]{color:var(--win);border-color:#ffc233b3}.pause-btn{top:calc(8px + var(--st));border:1px solid var(--line2);z-index:6;background:#080a0eb3;border-radius:12px;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:flex;position:absolute;left:50%;transform:translate(calc(76px - 50%))}.pause-btn i{background:var(--text);border-radius:2px;width:4px;height:16px}.pause-menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#040609b8;place-items:center;display:grid;position:absolute;inset:0}.pause-menu[hidden]{display:none}.pause-card{border:1px solid var(--line2);background:var(--s1);min-width:240px;box-shadow:var(--shadow);animation:rise .24s var(--ease) both;border-radius:16px;flex-direction:column;gap:10px;padding:18px 22px;display:flex}.pause-card h2{text-align:center;margin:0 0 4px}.toasts{top:calc(64px + var(--st));pointer-events:none;z-index:7;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line2);color:var(--text);white-space:nowrap;animation:toast-in 1.4s var(--ease) both;background:#080a0ecc;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800}.toast.t-crit{color:#fff1c2;letter-spacing:.04em;border-color:#ffc233b3;font-size:15px}.toast.t-repair{border-color:#3ddc84b3}.toast.t-overcharge{border-color:#ff8a1fb3}.toast.t-shield{border-color:#35d6e8b3}.toast.t-arena{color:var(--cyan);letter-spacing:.12em}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)scale(.9)}12%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.challenge .sub{color:var(--dim);margin:0}.cards.two{grid-template-columns:1fr 1fr}.cards.three{grid-template-columns:1fr 1fr 1fr}.cards.four{grid-template-columns:1fr 1fr 1fr 1fr}.cards.four .mode-card .card-name{font-size:18px}.mode-card.m-ghost{background:radial-gradient(90% 90% at 80% 20%, #be8cff29, transparent 70%), var(--s2)}.mode-card{justify-content:center;gap:8px;min-height:150px}.mode-card .card-name{font-size:22px;font-style:italic}.mode-card.m-daily{background:radial-gradient(90% 90% at 80% 20%, #35d6e824, transparent 70%), var(--s2)}.mode-card.m-mirror{background:radial-gradient(90% 90% at 80% 20%, #78a0ff24, transparent 70%), var(--s2)}.mode-card.m-endless{background:radial-gradient(90% 90% at 80% 20%, #ff8a1f24, transparent 70%), var(--s2)}.rival-reads{color:#b9c6d6;margin:0;font-size:13px}.rival-reads b{color:#7fe3ef}.daily-rule{color:#7fe3ef;flex-direction:column;gap:2px;font-weight:800;display:flex}.daily-rule.broken{color:#ff8a5c}.daily-rule small{font-size:12px;font-weight:600}.mode-rec{color:var(--win);font-weight:800}.share-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.share-btn{min-height:44px;padding:4px 14px}a.store-btn{border:1px solid var(--accent);border-radius:var(--r-md);color:var(--accent);align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.streak-banner{text-align:center;color:var(--win);margin:0;font-weight:900}.paint-dot{border:2px solid #ffffffb3;border-radius:50%;flex:none;width:14px;height:14px}.shared-body{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:24px;display:grid}.shared-info{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.screen,.asm,.battle .hud,.battle .controls{zoom:var(--ui-zoom,1)}.asm{--a-panel:var(--s2,#161b22);--a-panel2:var(--s3,#1f262f);--a-line:var(--line2,#424a55);--a-text:var(--text,#e8eefc);--a-dim:var(--dim,#8b9abb);--a-accent:var(--accent,#ff8a1f);--a-ok:var(--ok,#2fd27a);--a-danger:var(--danger,#ff3b4e);--a-warn:var(--warn,#ffb020);--a-gap:8px;gap:var(--a-gap);padding:8px calc(12px + var(--sr,0px)) calc(8px + var(--sb,0px)) calc(12px + var(--sl,0px));color:var(--a-text);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;inset:0}.asm .ico{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.asm .ico.sm{width:16px;height:16px}.asm .ico.xs{width:12px;height:12px}.asm button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.asm button:disabled{cursor:not-allowed}.asm-head{align-items:center;gap:var(--a-gap);min-width:0;display:flex}.asm-icon-btn{background:0 0;width:44px;padding:0}.asm-title{letter-spacing:.04em;margin:0 4px 0 0;font-size:1.1rem}.asm-name{border:1px solid var(--a-line);background:var(--a-panel);width:200px;min-height:44px;color:var(--a-text);font:inherit;-webkit-user-select:text;user-select:text;border-radius:10px;padding:0 12px;font-weight:600}.asm-name:focus-visible,.asm-code-input:focus-visible,.asm-select:focus-visible{outline:3px solid var(--a-accent);outline-offset:1px}.asm-spacer{flex:1}.asm-code{border:1px dashed var(--a-line);color:var(--a-dim);letter-spacing:.06em;border-radius:8px;padding:6px 10px;font-size:.9rem}.asm-tool{background:var(--a-panel);padding:0 12px;font-size:.9rem}.asm-body{gap:var(--a-gap);grid-template-columns:354px minmax(0,1fr) 208px;min-height:0;display:grid}.asm-left{grid-template-columns:86px minmax(0,1fr);gap:6px;min-height:0;display:grid}.asm-rail{flex-direction:column;gap:3px;display:flex}.asm-tab{color:var(--a-dim);background:0 0;border-color:#0000;justify-content:flex-start;padding:0 8px;font-size:.875rem;font-weight:600;position:relative}.asm-tab[aria-selected=true]{background:var(--a-panel2);border-color:var(--a-line);color:var(--a-text);box-shadow:inset 3px 0 0 var(--a-accent)}.asm-badge{background:var(--a-warn);color:#1a1200;border-radius:50%;place-items:center;width:16px;height:16px;font-size:11px;font-weight:800;line-height:1;display:grid;position:absolute;top:4px;left:20px}.asm-badge[hidden]{display:none}.asm-panel{overscroll-behavior:contain;background:var(--a-panel);border:1px solid var(--a-line);scrollbar-width:thin;border-radius:12px;flex-direction:column;gap:6px;min-height:0;padding:8px;display:flex;overflow-y:auto}.asm-issue{color:var(--a-warn);background:#ffb0201f;border:1px solid #ffb02073;border-radius:8px;align-items:flex-start;gap:6px;margin:0;padding:6px 8px;font-size:.8rem;line-height:1.35;display:flex}.asm-issue[hidden]{display:none}.asm-groups{flex-direction:column;gap:6px;display:flex}.asm-group-title{color:var(--a-dim);letter-spacing:.04em;margin:0 0 3px 2px;font-size:.75rem;font-weight:600}.asm-cards{gap:5px;display:grid}.asm-cards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.asm-cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.asm-card{text-align:left;background:var(--a-panel2);border-color:var(--a-line);justify-content:flex-start;min-height:52px;padding:6px 8px;position:relative}.cols-3>.asm-card{flex-direction:column;align-items:flex-start;gap:3px;min-height:66px}.asm-card-ico{width:28px;height:28px;color:var(--a-dim);background:#ffffff0d;border-radius:8px;flex:none;place-items:center;display:grid}.asm-card-text{flex-direction:column;min-width:0;max-width:100%;display:flex}.asm-card-text b{font-size:.9rem;line-height:1.2}.asm-card-text small{color:var(--a-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;line-height:1.25;overflow:hidden}.asm-card-state{width:16px;height:16px;color:var(--a-dim);border-radius:50%;place-items:center;display:grid;position:absolute;top:5px;right:5px}.asm-card[data-toggle] .asm-card-state{border:1.5px solid var(--a-line)}.asm-card[data-toggle][aria-pressed=true] .asm-card-state{border-color:var(--a-ok);background:var(--a-ok);color:#06210f}.asm-card-state>.ico{stroke-width:3px}.asm-card[aria-pressed=true]{border-color:var(--a-accent);box-shadow:inset 0 0 0 1px var(--a-accent);background:#3d8bff29}.asm-card[aria-pressed=true] .asm-card-ico{background:var(--a-accent);color:#fff}.asm-card:disabled{opacity:.5}.asm-stage{border:1px solid var(--a-line);background:radial-gradient(at 50% 60%,#3d8bff29,#0000 65%),linear-gradient(#0f1728,#0a0f1a);border-radius:14px;min-width:0;min-height:0;position:relative;overflow:hidden}.asm-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.asm-canvas[data-dragging]{cursor:grabbing}.asm-drag-hint{color:var(--a-dim);white-space:nowrap;pointer-events:none;background:#0a0f1ab3;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;display:inline-flex;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.asm-side{background:var(--a-panel);border:1px solid var(--a-line);border-radius:12px;flex-direction:column;gap:6px;min-height:0;padding:8px 10px;display:flex}.asm-side-title{justify-content:space-between;align-items:baseline;margin:0;font-size:.85rem;display:flex}.asm-side-title small{color:var(--a-dim);font-size:.66rem;font-weight:400}.asm-stats{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.asm-stat,.asm-mass{grid-template-columns:auto 1fr auto;grid-template-areas:"name val delta""track track track";align-items:baseline;gap:3px 6px;font-size:.8rem;display:grid}.asm-stat-name{color:var(--a-dim);grid-area:name}.asm-stat-val,.asm-mass>.mono:not(.asm-delta){text-align:right;grid-area:val}.asm-delta{text-align:right;grid-area:delta;min-width:46px;font-size:.72rem;font-weight:700}.asm-track{background:var(--a-line);border-radius:3px;grid-area:track;height:6px;position:relative;overflow:hidden}.asm-fill{background:var(--a-accent);border-radius:3px;position:absolute;inset:0 auto 0 0}.asm-fill.mass{background:var(--a-dim)}.asm-mark{background:var(--a-text);opacity:.85;width:2px;margin-left:-1px;position:absolute;top:-1px;bottom:-1px}.asm-mark[hidden]{display:none}[data-trend=up]>.asm-delta{color:var(--a-ok)}[data-trend=down]>.asm-delta{color:var(--a-danger)}.asm-stat[data-trend=up] .asm-fill{background:var(--a-ok)}.asm-stat[data-trend=down] .asm-fill{background:var(--a-danger)}.asm-mass{border-top:1px solid var(--a-line);margin-top:auto;padding-top:6px}.asm-foot{align-items:center;gap:var(--a-gap);min-width:0;display:flex}.asm-status{min-width:0;color:var(--a-warn);background:#ffb0201a;border-color:#ffb02066;flex:1;justify-content:flex-start;padding:0 12px;font-size:.85rem}.asm-status>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.asm-status[data-ok=true]{color:var(--a-ok);opacity:1;cursor:default;background:#2fd27a1a;border-color:#2fd27a66}.asm-field{color:var(--a-dim);align-items:center;gap:6px;font-size:.8rem;display:flex}.asm-select{border:1px solid var(--a-line);background:var(--a-panel2);min-height:44px;color:var(--a-text);font:inherit;border-radius:10px;padding:0 8px;font-size:.9rem}.asm-sortie{letter-spacing:.04em;min-width:132px;min-height:48px;font-size:1.05rem}.asm-sortie .ico{fill:currentColor;stroke:none}.asm-sortie:disabled{background:var(--a-panel2);border-color:var(--a-line);color:var(--a-dim)}.asm-sheet-host:empty{display:none}.asm-scrim{z-index:20;background:#04070eb8;position:absolute;inset:0}.asm-sheet{z-index:21;border:1px solid var(--a-line);background:var(--a-panel);border-radius:16px;width:min(460px,100% - 32px);max-height:calc(100% - 24px);padding:10px 14px 14px;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000080}.asm-sheet-head{justify-content:space-between;align-items:center;display:flex}.asm-sheet-head h3{margin:0;font-size:1rem}.asm-sheet-body{flex-direction:column;gap:8px;display:flex}.asm-slots{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.asm-slot{background:var(--a-panel2);border-radius:10px;align-items:center;gap:8px;padding:4px 4px 4px 10px;display:flex}.asm-slot-text{flex-direction:column;flex:1;min-width:0;display:flex}.asm-slot-text small{color:var(--a-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.asm-starts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.asm-starts .asm-group-title{width:100%;margin-top:4px}.asm-chip{border-radius:999px;font-size:.9rem}.asm-share-row{align-items:center;gap:8px;display:flex}.asm-code-big{background:var(--a-panel2);letter-spacing:.12em;-webkit-user-select:all;user-select:all;border-radius:10px;flex:1;padding:8px 12px;font-size:1.4rem;font-weight:800}.asm-code-input{border:1px solid var(--a-line);background:var(--a-panel2);min-width:0;min-height:44px;color:var(--a-text);font:inherit;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:text;user-select:text;border-radius:10px;flex:1;padding:0 12px;font-size:1.05rem}.asm-code-input[aria-invalid=true]{border-color:var(--a-danger)}.asm-hint{color:var(--a-dim);font-size:.75rem}.asm-toast{z-index:30;background:var(--a-panel2);border:1px solid var(--a-line);visibility:hidden;pointer-events:none;border-radius:999px;padding:8px 14px;font-size:.85rem;position:absolute;top:60px;left:50%;transform:translate(-50%)}.asm-toast[data-show=true]{visibility:visible}@media (max-width:920px){.asm-head .asm-tool>span{display:none}.asm-head .asm-tool{justify-content:center;min-width:44px;padding:0 10px}}.blueprint{padding-top:calc(8px + var(--st));padding-bottom:calc(8px + var(--sb));gap:6px}.bp-head,.bp-foot{align-items:center;gap:6px;min-height:44px;display:flex}.bp-head h2{margin:0;font-size:16px}.bp-head .asm-name{max-width:180px}.bp-head .spacer{flex:1}.bp-head button,.bp-foot .asm-select{min-height:44px;padding:0 10px;font-size:13px}.icon-btn{min-width:44px;font-size:22px}.bp-body{flex:1;grid-template-columns:168px auto 1fr;gap:10px;min-height:0;display:grid}.bp-tools{flex-direction:column;gap:3px;display:flex;overflow-y:auto}.bp-h{color:var(--dim);letter-spacing:.08em;margin:4px 0 0;font-size:11px;font-weight:800}.bp-row3,.bp-row2{gap:4px;display:grid}.bp-row3{grid-template-columns:repeat(3,1fr)}.bp-row2{grid-template-columns:repeat(2,1fr)}.bp-tool,.bp-mat{border-radius:var(--r-sm);border:1px solid var(--line2);background:var(--s2);min-height:44px;color:var(--text);white-space:nowrap;align-items:center;gap:5px;padding:0 6px;font-size:11px;font-weight:700;display:flex}.bp-mat{justify-content:center}.bp-tool[aria-pressed=true],.bp-mat[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#ff8a1f1f}.bp-tool:disabled,.bp-mat:disabled{opacity:.4}.bp-tool .sw{background:var(--c);border-radius:3px;flex:none;width:10px;height:10px}.bp-grid-wrap{flex-direction:column;align-items:center;height:100%;min-height:0;display:flex;position:relative}.bp-front{color:var(--accent);letter-spacing:.1em;font-size:11px;font-weight:800}.bp-grid{aspect-ratio:10/12;touch-action:none;border-radius:var(--r-md);background:linear-gradient(#ffffff0a 1px, transparent 1px) 0 0 / calc(100% / 10) calc(100% / 12), linear-gradient(90deg, #ffffff0a 1px, transparent 1px) 0 0 / calc(100% / 10) calc(100% / 12), var(--s1);border:1px solid var(--line2);cursor:crosshair;flex:1;height:100%;min-height:0}.bp-grid .cell.c0{fill:#0000}.bp-grid .cell.c2.alloy{fill:#2f9fb8}.bp-grid .cell.c1.alloy{fill:#2f9fb859;stroke:#2f9fb8;stroke-width:.05px}.bp-grid .cell.c2.steel{fill:#6c7a8f}.bp-grid .cell.c1.steel{fill:#6c7a8f59;stroke:#6c7a8f;stroke-width:.05px}.bp-grid .part rect{stroke:#0000008c;stroke-width:.06px}.bp-grid .part.sel rect{stroke:#fff;stroke-width:.1px}.bp-grid .pl{fill:#0b0e13;text-anchor:middle;pointer-events:none;font-size:.5px;font-weight:900}.bp-grid .p-wheel .pl{fill:#e6ebf3}.bp-grid .tip{fill:#fff}.bp-grid .bad{fill:none;stroke:var(--danger);stroke-width:.1px;pointer-events:none}.bp-side{flex-direction:column;gap:4px;min-width:0;min-height:0;display:flex}.bp-stage{border-radius:var(--r-md);background:radial-gradient(80% 80% at 50% 60%, #35d6e81a, transparent 70%), var(--s1);border:1px solid var(--line);flex:1;min-height:80px;position:relative;overflow:hidden}.bp-stage canvas{width:100%;height:100%;position:absolute;inset:0}.bp-stats{grid-template-columns:1fr 1fr;gap:2px 10px;display:grid}.bp-stat{color:var(--dim);grid-template-columns:34px 1fr 36px;align-items:center;gap:4px;font-size:10px;display:grid}.bp-stat .bar{background:var(--s3);border-radius:3px;height:5px;overflow:hidden}.bp-stat .bar i{background:linear-gradient(90deg, var(--accent), var(--accent-hi));height:100%;display:block}.bp-stat b{color:var(--text);text-align:right}.bp-mass{color:var(--dim);margin:0;font-size:11px}.bp-mass[data-over=true]{color:var(--danger)}.bp-issue{min-height:30px;color:var(--text);margin:0;font-size:12px;line-height:1.3}.bp-issue[data-code]{color:var(--warn)}.bp-sel{gap:4px;display:flex}.bp-sel button{flex:1;min-height:44px;font-size:12px}.bp-status{color:var(--warn);flex:1;margin:0;font-size:13px;font-weight:700}.bp-status[data-ok=true]{color:var(--ok)}
