:root{color-scheme:dark;font-family:Share Tech Mono,Cascadia Code,SFMono-Regular,Consolas,monospace;color:#f8fafc;background:#bfe3ff;font-synthesis:none;--violet: #8b5cf6;--violet-bright: #c4b5fd;--rose: #fb3f72;--cyan: #54e9ff;--amber: #ffb454;--green: #65f6ad;--panel: rgba(11, 11, 29, .78);--border: rgba(196, 181, 253, .22)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#bfe3ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{font:inherit}button,[role=application]{touch-action:none}#app{position:relative;isolation:isolate;background:linear-gradient(180deg,#c9ebff,#e9f7ff 46%,#83ac68)}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#game-canvas.launch-preview{cursor:grab;touch-action:none}#game-canvas.launch-preview.is-preview-dragging{cursor:grabbing}#game-canvas.arena-orbit{cursor:grab;touch-action:none}#game-canvas.arena-orbit.is-camera-dragging{cursor:grabbing}.scanlines,.vignette{position:absolute;inset:0;pointer-events:none}.scanlines{z-index:4;opacity:.025;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(65,84,110,.12) 5px);mix-blend-mode:multiply}.vignette{z-index:3;background:radial-gradient(circle,transparent 62%,rgba(43,67,48,.2) 100%)}.hud-panel{background:linear-gradient(135deg,#181533cc,#080815bd);border:1px solid var(--border);box-shadow:0 12px 40px #00000040,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar{position:absolute;z-index:12;top:max(18px,env(safe-area-inset-top));left:18px;width:44px;height:44px;pointer-events:none}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 1.5s ease-in-out infinite}.icon-button{width:44px;height:44px;border:1px solid rgba(196,181,253,.28);color:#d7d2eb;background:#121028b8;box-shadow:0 8px 28px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;pointer-events:auto;transition:.2s ease}.icon-button:hover{color:#fff;background:#8b5cf62e;border-color:#c4b5fd73}.icon-button:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.icon-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sound-off,.is-muted .sound-on{display:none}.is-muted .sound-off{display:block}.fighter-card{position:absolute;z-index:8;width:min(300px,calc(50vw - 28px));padding:14px 16px}.player-card{left:18px;bottom:max(18px,env(safe-area-inset-bottom));border-left:3px solid var(--violet)}.enemy-card{top:18px;right:18px;border-right:3px solid var(--rose);text-align:right}.offscreen-indicator{--indicator-color: var(--cyan);--indicator-angle: 0rad;position:absolute;z-index:18;left:50%;top:50%;width:70px;display:grid;justify-items:center;gap:3px;color:#fff;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-50%) scale(.82);transition:opacity .16s ease,transform .16s ease,visibility .16s}.offscreen-indicator.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.offscreen-arrow{width:30px;height:30px;display:grid;place-items:center;transform:rotate(var(--indicator-angle));transform-origin:50% 50%;filter:drop-shadow(0 3px 5px rgba(8,15,20,.48))}.offscreen-arrow svg{width:100%;height:100%;overflow:visible;fill:var(--indicator-color);stroke:#ffffffeb;stroke-width:1.2;stroke-linejoin:round}.offscreen-indicator b{max-width:70px;padding:3px 7px;overflow:hidden;border:1px solid color-mix(in srgb,var(--indicator-color) 72%,white);color:#fff;background:#0c131bd1;box-shadow:0 4px 14px #080f1447;font-size:8px;line-height:1;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap}.player-offscreen{--indicator-color: var(--cyan)}.enemy-offscreen{--indicator-color: var(--rose)}.fighter-heading{display:flex;align-items:center;gap:9px;margin-bottom:11px}.fighter-heading>strong{margin-right:auto;font-size:17px;letter-spacing:.16em;color:var(--violet-bright);text-shadow:0 0 14px rgba(139,92,246,.6)}.enemy-card .fighter-heading>strong{margin:0 0 0 auto;color:#ff91ae;text-shadow:0 0 14px rgba(251,63,114,.6)}.fighter-heading>span{color:#9d97b8;font-size:9px;letter-spacing:.2em}.type-chip{padding:3px 6px;border:1px solid currentColor;font-size:8px;font-style:normal;letter-spacing:.1em}.type-chip.attack{color:var(--rose)}.type-chip.defense{color:var(--cyan)}.type-chip.endurance{color:var(--green)}.type-chip.balance{color:var(--amber)}.meter-row{display:flex;justify-content:space-between;margin-bottom:5px;color:#a8a4bc;font-size:9px;letter-spacing:.14em}.meter-row b{color:#fff;font-size:10px}.meter-row.small{margin-top:9px}.meter{height:5px;overflow:hidden;background:#ffffff14}.meter i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#5b21b6,var(--violet-bright));box-shadow:0 0 12px var(--violet);transition:transform .1s linear}.enemy-meter i{transform-origin:right;background:linear-gradient(90deg,#ff91ae,#be123c);box-shadow:0 0 12px var(--rose)}.integrity-meter i{transform:scaleX(1);background:linear-gradient(90deg,#7f1d1d,var(--amber));box-shadow:0 0 10px #ffb4548c}.enemy-meter.integrity-meter i{background:linear-gradient(90deg,var(--rose),#7f1d1d);box-shadow:0 0 10px #fb3f7280}.meter-row.launch-row{margin-top:8px}.launch-row b{color:var(--cyan);text-shadow:0 0 9px rgba(84,233,255,.42)}.enemy-card .launch-row b{color:#ff91ae;text-shadow:0 0 9px rgba(251,63,114,.42)}.launch-meter{height:4px}.launch-meter i{background:linear-gradient(90deg,var(--cyan),var(--amber),var(--rose));box-shadow:0 0 12px #ffb4549e}.enemy-meter.launch-meter i{background:linear-gradient(90deg,var(--rose),var(--amber),var(--cyan));box-shadow:0 0 12px #fb3f7280}.ai-state{display:flex;flex-direction:row-reverse;align-items:center;gap:8px;margin-top:12px;font-size:9px;letter-spacing:.16em;color:#c3bed6}.ai-state .live-dot{background:var(--rose);box-shadow:0 0 10px var(--rose)}.launch-overlay{position:absolute;z-index:25;inset:0;display:grid;place-items:end center;padding:0 18px max(22px,calc(env(safe-area-inset-bottom) + 16px));pointer-events:none;opacity:0;visibility:hidden;transition:.25s ease;background:linear-gradient(transparent 52%,#141f2666)}.launch-overlay.visible{opacity:1;visibility:visible}.preview-hint{position:absolute;z-index:1;top:max(68px,9vh);left:50%;width:min(420px,calc(100% - 120px));padding:9px 14px;transform:translate(-50%);display:grid;justify-items:center;gap:3px;border:1px solid rgba(84,233,255,.28);color:#dffbff;background:#0a0d1fa8;box-shadow:0 10px 34px #00000042,inset 0 0 22px #54e9ff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;pointer-events:none}.preview-hint span{color:var(--cyan);font-size:8px;letter-spacing:.2em}.preview-hint strong{font-size:10px;font-weight:500;letter-spacing:.1em}.preview-hint.is-spinning{border-color:#fb3f727a;box-shadow:0 10px 34px #00000042,inset 0 0 28px #fb3f721a}.preview-hint.is-spinning span{color:#ff91ae}.launch-card{position:relative;z-index:2;width:min(980px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:13px;pointer-events:auto;border-color:#54e9ff52;box-shadow:0 0 60px #54e9ff1a}.eyebrow{display:block;font-size:9px;letter-spacing:.25em;color:#9d97b8;text-align:center}.type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.type-option{min-height:66px;padding:9px 10px;display:grid;text-align:left;border:1px solid rgba(255,255,255,.12);color:#c8c4d9;background:#ffffff09;cursor:pointer;transition:background .2s,border-color .2s}.type-option:hover{background:#8b5cf61f;border-color:#c4b5fd59}.type-option.selected{color:#fff;border-color:var(--cyan);background:#54e9ff1a;box-shadow:inset 0 0 18px #54e9ff14}.type-option strong{font-size:11px;letter-spacing:.13em}.type-option span{color:#8f8aa7;font-size:8px}.type-option i{height:2px;margin-top:5px;background:#ffffff12}.type-option i b{display:block;height:100%;background:currentColor}.charge-readout>div:first-child{display:flex;justify-content:space-between;color:#a29db7;font-size:9px;letter-spacing:.13em}.charge-readout strong{color:#fff}.charge-track{height:10px;margin:6px 0 12px;background:#ffffff14;position:relative;overflow:hidden}.charge-track>i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#2563eb,var(--cyan),#fff,var(--rose));box-shadow:0 0 15px var(--cyan)}.sweet-zone{position:absolute;top:0;bottom:0;left:82%;width:12%;border-left:1px solid #fff;border-right:1px solid #fff;background:#ffffff24}.launch-button{width:100%;min-height:54px;border:1px solid var(--cyan);color:#fff;background:linear-gradient(135deg,#185882e6,#4d228de6);display:flex;align-items:center;justify-content:center;gap:13px;cursor:pointer;transition:filter .2s,box-shadow .2s}.launch-button:hover,.launch-button.charging{filter:brightness(1.18);box-shadow:0 0 30px #54e9ff40}.launch-button svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.launch-button span{display:grid;text-align:left;gap:2px}.launch-button strong{font-size:12px;letter-spacing:.15em}.launch-button small{color:#b4c5d7;font-size:8px}.launch-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(210px,.62fr);gap:11px;margin-top:9px}.build-analyzer{min-height:304px;padding:10px 12px;display:grid;grid-template-rows:auto auto 1fr;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,#54e9ff09,#8b5cf60e)}.build-analyzer-header{min-height:34px;display:block}.build-analyzer-header>div{display:grid;gap:2px}.build-analyzer-header span{color:#777c96;font-size:8px;letter-spacing:.2em}.build-analyzer-header strong{font-size:13px;letter-spacing:.12em}.build-type-badge{min-width:104px;min-height:34px;padding:0 12px;display:grid;place-items:center;border:1px solid currentColor;background:#ffffff09;font-size:11px;letter-spacing:.14em;box-shadow:inset 0 0 20px color-mix(in srgb,currentColor 10%,transparent)}.build-type-badge.attack{color:#ff8cac}.build-type-badge.defense{color:var(--cyan)}.build-type-badge.endurance{color:var(--green)}.build-type-badge.balance{color:var(--amber)}.build-analyzer>.build-type-badge{width:max-content;min-width:118px;min-height:28px;margin:5px 0 2px;padding:0 10px}.build-analyzer-layout{min-height:0;display:grid;grid-template-columns:minmax(330px,1.34fr) minmax(190px,.72fr);align-items:center;gap:10px}.radar-chart{min-width:0;height:190px;display:grid;place-items:center}.radar-chart svg{width:min(100%,300px);height:100%;overflow:visible}.radar-ring{fill:#07081552;stroke:#c4b5fd29;stroke-width:1}.radar-grid{fill:none;stroke:#54e9ff42;stroke-width:1}.radar-grid.inner{stroke:#ffffff1c;stroke-dasharray:3 4}.radar-axis{stroke:#ffffff1a;stroke-width:1}.radar-shape{fill:#8b5cf652;stroke:#d8c9ff;stroke-width:2;filter:drop-shadow(0 0 7px rgba(139,92,246,.75));transition:points .32s ease}.radar-point{stroke:#fff;stroke-width:1.5;transition:cx .32s ease,cy .32s ease}.radar-point.attack{fill:var(--rose)}.radar-point.defense{fill:var(--cyan)}.radar-point.endurance{fill:var(--green)}.radar-label{font-size:10px;font-weight:700;letter-spacing:.08em}.radar-label.attack{fill:#ff8cac}.radar-label.defense{fill:var(--cyan)}.radar-label.endurance{fill:var(--green)}.radar-center-label{fill:#827d94;font-size:8px;letter-spacing:.08em}.build-roll-panel{min-width:0;display:grid;grid-column:1;grid-row:1;align-content:center;gap:12px}.build-analyzer-layout>.radar-chart{grid-column:2;grid-row:1}.blade-editor-inline{min-width:0;padding:8px;border:1px solid rgba(255,180,84,.42);background:linear-gradient(145deg,#aa601b24,#54e9ff0b);box-shadow:inset 0 0 24px #ffb4540d}.randomize-build{min-height:68px;padding:8px 11px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,180,84,.5);color:#fff;background:linear-gradient(135deg,#6130136b,#4721709e);cursor:pointer;transition:border-color .2s,filter .2s,box-shadow .2s}.randomize-build:hover{border-color:var(--amber);filter:brightness(1.14);box-shadow:0 0 24px #ffb45429}.randomize-build:disabled{cursor:wait}.randomize-build>span:last-child{min-width:0;display:grid;gap:3px;text-align:left}.randomize-build strong{font-size:12px;letter-spacing:.08em}.randomize-build small{color:#aaa4b8;font-size:8px}.dice-stage{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;transform-origin:50% 100%}.dice-face{position:relative;width:42px;height:42px;display:block;border:2px solid #fff3d5;border-radius:8px;background:linear-gradient(145deg,#fff7df,#c6b8ff);box-shadow:0 7px #67577e,0 10px 18px #00000052}.dice-face b{position:absolute;width:7px;height:7px;border-radius:50%;background:#311c4d;box-shadow:inset 0 1px 1px #ffffff47}.dice-face b:nth-child(1){left:7px;top:7px}.dice-face b:nth-child(2){right:7px;top:7px}.dice-face b:nth-child(3){left:50%;top:50%;transform:translate(-50%,-50%)}.dice-face b:nth-child(4){left:7px;bottom:7px}.dice-face b:nth-child(5){right:7px;bottom:7px}.randomize-build.rolling .dice-stage{animation:diceRoll .82s cubic-bezier(.2,.76,.32,1)}.blade-editor-header{min-height:28px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.blade-editor-header>div{display:grid;gap:4px}.blade-editor-header span{display:none}.blade-editor-header strong{color:#fff;font-size:11px;letter-spacing:.1em}.blade-editor-layout{display:grid;gap:7px;padding-top:7px}.blade-editor-canvas{min-width:0;padding:7px 10px 8px;border:1px solid rgba(84,233,255,.16);background:linear-gradient(180deg,#54e9ff14,#ffffff05)}.blade-editor-canvas{position:relative;overflow:hidden}.blade-editor-curve{position:absolute;z-index:3;top:7px;left:10px;width:calc(100% - 20px);height:202px;overflow:visible;touch-action:none;cursor:crosshair;pointer-events:auto}.blade-editor-curve-baseline{display:none}.blade-editor-curve-fill{fill:#ffb4542e;stroke:none;pointer-events:none}.blade-editor-curve-guide{fill:none;stroke:#ffffff1f;stroke-width:8;stroke-linecap:round}.blade-editor-curve-path{fill:none;stroke:var(--amber);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(255,180,84,.62));pointer-events:stroke}.blade-editor-curve-inner{fill:none;stroke:#54e9ffd1;stroke-width:2;stroke-dasharray:4 4;stroke-linecap:round;pointer-events:none}.blade-editor-curve-endpoint{fill:var(--cyan);stroke:#fff;stroke-width:2;cursor:ew-resize;filter:drop-shadow(0 0 5px rgba(84,233,255,.7));pointer-events:all}.blade-editor-curve-label{fill:#fff4d4;font-size:10px;font-weight:700;letter-spacing:.08em;paint-order:stroke;stroke:#070a18e6;stroke-width:3px;pointer-events:none}.blade-editor-curve-temp{fill:var(--rose);stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 7px rgba(255,63,114,.85));pointer-events:none}.blade-editor-3d{display:block;width:100%;height:202px;min-height:176px;margin-top:0;border-radius:5px;background:radial-gradient(circle at 50% 42%,#54e9ff21,#0d1020f0 72%);pointer-events:none}.parts-selector{display:grid;gap:6px}.part-cycle{min-height:54px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;border:1px solid rgba(255,255,255,.1);background:#ffffff06}.part-cycle:first-child{min-height:62px}.part-arrow{min-width:44px;border:0;color:var(--cyan);background:#54e9ff09;cursor:pointer;font-size:20px;transition:color .2s,background .2s}.part-arrow:hover{color:#fff;background:#54e9ff24}.part-viewport{min-width:0;padding:4px 8px;display:grid;grid-template-columns:74px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:center;column-gap:8px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}.part-index{grid-column:1 / -1;color:#77718c;font-size:7px;letter-spacing:.2em}.part-viewport>div:last-child{min-width:0;display:grid;gap:2px}.part-viewport strong{color:#fff;font-size:11px;letter-spacing:.1em}.part-viewport small{color:#8f8aa7;font-size:8px}.part-preview{position:relative;width:70px;height:30px;display:grid;place-items:center;perspective:100px;transform:scale(.86)}.part-preview i,.part-preview:before,.part-preview:after{content:"";display:block;position:absolute}.part-preview.blade{width:70px;height:44px;transform:scale(.82)}.part-preview.blade i{width:42px;height:42px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(135deg,#d7d9e2,currentColor 48%,#151625 76%);box-shadow:0 0 14px currentColor;clip-path:polygon(50% 0,63% 15%,81% 8%,82% 29%,100% 40%,84% 54%,91% 75%,69% 76%,56% 100%,42% 82%,20% 91%,20% 69%,0 56%,16% 40%,8% 19%,31% 19%);transform:rotate(10deg)}.part-preview.blade:before{width:24px;height:24px;z-index:1;border:3px solid rgba(7,7,17,.8);border-radius:50%;box-shadow:inset 0 0 0 2px currentColor}.part-preview.blade:after{width:10px;height:10px;z-index:2;border:2px solid #eef0f5;border-radius:35%;background:currentColor;transform:rotate(45deg)}.part-preview.blade.attack{color:var(--rose)}.part-preview.blade.defense{color:var(--cyan)}.part-preview.blade.defense i{border-radius:42%;clip-path:polygon(50% 0,64% 12%,78% 7%,90% 21%,86% 37%,100% 50%,87% 64%,92% 79%,77% 91%,62% 86%,50% 100%,36% 87%,21% 92%,9% 77%,14% 62%,0 50%,13% 36%,8% 21%,23% 9%,38% 14%);transform:rotate(4deg)}.part-preview.blade.endurance{color:var(--green)}.part-preview.blade.endurance i{clip-path:polygon(50% 0,64% 19%,87% 13%,82% 37%,100% 50%,81% 64%,87% 87%,63% 81%,50% 100%,36% 81%,13% 87%,19% 63%,0 50%,19% 36%,13% 13%,37% 19%);transform:rotate(-7deg)}.part-preview.lock{height:34px}.part-preview.lock i{top:2px;left:50%;width:66px;height:11px;border:1px solid currentColor;background:linear-gradient(180deg,#eef0f5 0,currentColor 42%,#343044 100%);box-shadow:0 0 12px currentColor;clip-path:polygon(0 32%,12% 15%,20% 15%,20% 0,80% 0,80% 15%,88% 15%,100% 32%,100% 68%,88% 85%,80% 85%,80% 100%,20% 100%,20% 85%,12% 85%,0 68%);transform:translate(-50%)}.part-preview.lock:before{top:14px;left:50%;width:42px;height:9px;background:linear-gradient(180deg,currentColor,#242333);opacity:.78;clip-path:polygon(0 0,100% 0,72% 100%,28% 100%);transform:translate(-50%)}.part-preview.lock:after{top:24px;left:50%;width:24px;height:8px;background:linear-gradient(180deg,currentColor,#10111a);opacity:.55;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translate(-50%)}.part-preview.lock.attack{color:#b8b5c8;transform:scale(.92)}.part-preview.lock.defense{color:var(--cyan);transform:scale(1.06)}.part-preview.lock.endurance{color:var(--green)}.part-preview.driver i{top:6px;width:16px;height:24px;border:1px solid currentColor;background:linear-gradient(135deg,currentColor,#10101c);box-shadow:0 0 12px currentColor}.part-preview.driver.attack{color:var(--rose)}.part-preview.driver.attack i{width:16px;height:22px;top:7px;clip-path:polygon(0 0,100% 0,72% 100%,28% 100%)}.part-preview.driver.defense{color:var(--cyan)}.part-preview.driver.defense i{width:16px;height:16px;top:10px;border-radius:50%}.part-preview.driver.endurance{color:var(--green)}.part-preview.driver.endurance i{width:13px;height:25px;top:5px;border-radius:4px 4px 7px 7px/3px 3px 10px 10px}.charge-panel{min-height:182px;padding:10px;display:grid;grid-template-rows:auto 1fr auto;gap:8px;border-left:1px solid rgba(84,233,255,.28);background:linear-gradient(160deg,#54e9ff0a,#8b5cf612)}.charge-heading{display:flex;justify-content:space-between;color:#a29db7;font-size:9px;letter-spacing:.13em}.charge-heading strong{color:#fff;font-size:15px}.vertical-charge{min-height:135px;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;gap:5px;color:#77718c;font-size:7px;letter-spacing:.2em}.charge-panel .charge-track{width:30px;height:100%;min-height:112px;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#ffffff0f}.charge-panel .charge-track>i{position:absolute;inset:0;width:100%;height:100%;transform:scaleY(0);transform-origin:bottom;background:linear-gradient(0deg,#2563eb,var(--cyan),#fff,var(--rose));box-shadow:0 0 16px var(--cyan)}.charge-panel .sweet-zone{position:absolute;inset:7% 0 auto;width:auto;height:12%;border:0;border-top:1px solid #fff;border-bottom:1px solid #fff;background:#ffffff24}.charge-panel .launch-button{min-height:56px;padding:7px}.fighter-card.damage-pulse{animation:damagePulse .46s ease-out}.mobile-controls{display:none}.result-overlay{position:absolute;z-index:30;inset:0;display:grid;place-items:center;background:#04040d7a;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}.result-overlay.visible{opacity:1;visibility:visible}.result-card{position:relative;width:min(440px,calc(100% - 36px));padding:38px;text-align:center;border-color:#c4b5fd66;box-shadow:0 0 90px #8b5cf633}.result-card:before,.result-card:after{content:"";position:absolute;width:26px;height:26px;border-color:var(--violet-bright)}.result-card:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.result-card:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}.result-card h1{margin:12px 0 4px;font-size:clamp(42px,9vw,76px);line-height:.95;letter-spacing:.08em;color:#fff;text-shadow:0 0 30px rgba(139,92,246,.7)}.result-card p{margin:10px 0 25px;color:#b8b3cc;font-size:12px}.result-card button{min-width:190px;min-height:48px;padding:0 22px;border:1px solid var(--violet-bright);color:#fff;background:linear-gradient(135deg,#6d28d9,#9f2d70);cursor:pointer;transition:filter .2s,box-shadow .2s;letter-spacing:.1em}.result-card button:hover{filter:brightness(1.16);box-shadow:0 0 30px #8b5cf66b}.result-card button svg{width:16px;vertical-align:-3px;margin-right:6px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.key-tip{display:block;margin-top:14px;color:#77718c;font-size:9px}.burst-flash{position:absolute;z-index:29;inset:0;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.88),rgba(251,63,114,.25) 25%,transparent 58%);opacity:0;visibility:hidden}.burst-flash strong{font-size:clamp(34px,8vw,92px);letter-spacing:.16em;color:#fff;text-shadow:0 0 30px var(--rose)}.burst-flash.active{visibility:visible;animation:burstFlash .9s ease-out}.loading-screen{position:absolute;z-index:50;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;background:#080812;transition:opacity .6s ease,visibility .6s}.loading-screen.hidden{opacity:0;visibility:hidden}.loading-screen strong{font-size:12px;letter-spacing:.22em}.loading-screen span{color:#706b85;font-size:9px;letter-spacing:.18em}.loader-mark{position:relative;width:54px;height:54px;animation:spin 1.4s linear infinite}.loader-mark i{position:absolute;inset:calc(var(--i, 0) * 7px);border:1px solid var(--violet);transform:rotate(45deg)}.loader-mark i:nth-child(2){--i: 1;border-color:var(--rose);animation:reverseSpin 1s linear infinite}.loader-mark i:nth-child(3){--i: 2;border-color:var(--cyan)}.tuning-toggle{position:absolute;z-index:42;right:18px;bottom:max(18px,env(safe-area-inset-bottom));min-width:112px;min-height:48px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(84,233,255,.46);color:#e8fcff;background:linear-gradient(135deg,#091427eb,#2d1958e6);box-shadow:0 10px 34px #00000052,inset 0 0 18px #54e9ff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.tuning-toggle:hover,.tuning-toggle[aria-expanded=true]{border-color:var(--cyan);background:linear-gradient(135deg,#0e3448f5,#44207bf0);box-shadow:0 0 26px #54e9ff33}.tuning-toggle svg,.tuning-header svg,.tuning-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tuning-toggle span{font-size:10px;letter-spacing:.18em}.tuning-panel{position:absolute;z-index:41;right:18px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 76px));width:min(420px,calc(100vw - 36px));max-height:min(76dvh,760px);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden;border-color:#54e9ff66;background:linear-gradient(150deg,#070c1df5,#140d2df0);box-shadow:0 18px 70px #00000075,0 0 44px #54e9ff14;opacity:0;visibility:hidden;transform:translateY(12px) scale(.985);transform-origin:bottom right;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}.tuning-panel.visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}.tuning-header{min-height:66px;padding:12px 12px 12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(84,233,255,.18);background:linear-gradient(90deg,rgba(84,233,255,.06),transparent)}.tuning-header>div{display:grid;gap:4px}.tuning-header span{color:var(--cyan);font-size:8px;letter-spacing:.22em}.tuning-header strong{font-size:16px;letter-spacing:.14em}.tuning-header button{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);color:#aaa5be;background:#ffffff09;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.tuning-header button:hover{color:#fff;border-color:#54e9ff80;background:#54e9ff1a}.tuning-toolbar{padding:10px 12px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.tuning-search{min-width:0;min-height:44px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);color:#777b95;background:#ffffff09}.tuning-search:focus-within{border-color:var(--cyan);box-shadow:0 0 0 2px #54e9ff1a}.tuning-search svg{width:17px;flex:0 0 auto}.tuning-search input{min-width:0;width:100%;border:0;outline:0;color:#fff;background:transparent;font:inherit;font-size:10px;letter-spacing:.08em}.tuning-search input::placeholder{color:#68657d;opacity:1}.tuning-toolbar>button{min-height:44px;padding:0 12px;border:1px solid rgba(251,63,114,.36);color:#ff9bb5;background:#fb3f720f;cursor:pointer;font-size:8px;letter-spacing:.12em;transition:color .2s,border-color .2s,background .2s}.tuning-toolbar>button:hover{color:#fff;border-color:var(--rose);background:#fb3f7226}.tuning-status{margin:0;padding:0 14px 9px;color:#76748c;font-size:8px;letter-spacing:.12em}.tuning-content{min-height:0;padding:0 10px 12px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(84,233,255,.35) rgba(255,255,255,.03)}.tuning-group{margin-top:7px;border:1px solid rgba(255,255,255,.09);background:#ffffff06}.tuning-group[hidden],.tuning-row[hidden]{display:none}.tuning-group summary{min-height:52px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s,border-color .2s}.tuning-group summary::-webkit-details-marker{display:none}.tuning-group summary:hover{background:#54e9ff0e}.tuning-group summary>span{display:grid;gap:3px}.tuning-group summary b{color:#eceafa;font-size:10px;letter-spacing:.13em}.tuning-group summary small{color:#77748d;font-size:8px;letter-spacing:.03em}.tuning-group summary em{min-width:28px;height:24px;display:grid;place-items:center;border:1px solid rgba(84,233,255,.24);color:var(--cyan);font-size:8px;font-style:normal}.tuning-group[open] summary{border-bottom:1px solid rgba(84,233,255,.12);background:#54e9ff09}.tuning-group-body{padding:4px 10px 9px}.tuning-row{position:relative;min-height:68px;padding:10px 0;display:grid;grid-template-columns:minmax(128px,1fr) minmax(100px,.82fr) 94px;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.055)}.tuning-row:last-child{border-bottom:0}.tuning-row:before{content:"";position:absolute;left:-10px;top:10px;bottom:10px;width:2px;background:var(--amber);opacity:0;box-shadow:0 0 9px var(--amber)}.tuning-row.is-modified:before{opacity:1}.tuning-row label{min-width:0;display:grid;gap:3px;cursor:pointer}.tuning-row label span{color:#e6e3f0;font-size:12px;line-height:1.45}.tuning-row input[type=range]{width:100%;height:28px;margin:0;accent-color:var(--cyan);cursor:pointer}.tuning-number{min-height:38px;padding:0 8px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.1);background:#0000002e}.tuning-number:focus-within{border-color:var(--cyan)}.tuning-number input{min-width:0;width:100%;border:0;outline:0;color:#fff;background:transparent;font:inherit;font-size:10px;text-align:right}.tuning-number span{flex:0 0 auto;margin-left:4px;color:#77748d;font-size:7px}.tuning-row input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}@keyframes pulse{50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes reverseSpin{to{transform:rotate(-360deg)}}@keyframes damagePulse{0%,to{filter:none}35%{filter:brightness(1.7);box-shadow:0 0 38px #fb3f727a}}@keyframes burstFlash{0%{opacity:1;transform:scale(.65)}35%{opacity:.92;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@keyframes diceRoll{0%{transform:translateY(0) rotate(0) scale(1)}28%{transform:translateY(-48px) rotate(185deg) scale(1.08)}58%{transform:translateY(-25px) rotate(410deg) scale(.96)}78%{transform:translateY(-7px) rotate(650deg) scale(1.04)}to{transform:translateY(0) rotate(720deg) scale(1)}}@media(max-width:700px),(pointer:coarse){.topbar{top:max(10px,env(safe-area-inset-top));left:10px;width:42px;height:42px}.icon-button{width:42px;height:42px}.fighter-card{width:calc(50% - 15px);padding:9px}.player-card{left:10px;bottom:max(10px,env(safe-area-inset-bottom))}.enemy-card{top:10px;right:10px}.fighter-heading{gap:5px;margin-bottom:7px}.fighter-heading>strong{font-size:12px}.type-chip{font-size:6px;padding:2px 3px}.ai-state{display:none}.mobile-controls{position:absolute;z-index:15;inset:auto 0 max(20px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:flex-end;padding:0 22px;pointer-events:none}.joystick{position:relative;width:106px;height:106px;border:1px solid rgba(196,181,253,.28);border-radius:50%;background:radial-gradient(circle,#8b5cf624,#0c0b1b80);box-shadow:inset 0 0 25px #8b5cf61f;pointer-events:auto}.joystick:before,.joystick:after{content:"";position:absolute;background:#c4b5fd1f}.joystick:before{left:50%;top:12px;bottom:12px;width:1px}.joystick:after{top:50%;left:12px;right:12px;height:1px}.joystick-knob{position:absolute;z-index:1;left:50%;top:50%;width:46px;height:46px;margin:-23px;border:1px solid var(--violet-bright);border-radius:50%;background:#5c3cb49e;box-shadow:0 0 22px #8b5cf673}.boost-button{width:88px;height:88px;border-radius:50%;border:1px solid #ff8dac;color:#fff;background:radial-gradient(circle,#fb3f7294,#5e0f2bb8);box-shadow:0 0 28px #fb3f7247;display:grid;place-content:center;gap:3px;pointer-events:auto;cursor:pointer}.boost-button:disabled{filter:grayscale(.8);opacity:.45}.boost-button svg{width:23px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.6}.boost-button span{font-size:9px;letter-spacing:.12em}.launch-overlay{padding:0 10px max(16px,env(safe-area-inset-bottom));place-items:end center}.preview-hint{top:max(112px,14vh);width:min(360px,calc(100% - 72px));padding:8px 10px}.preview-hint strong{font-size:9px}.launch-card{padding:12px}.launch-layout{grid-template-columns:1fr;gap:8px}.build-analyzer{min-height:218px;padding:8px}.build-analyzer-layout{grid-template-columns:minmax(190px,1fr) minmax(130px,.55fr)}.radar-chart{height:168px}.build-type-badge{min-width:88px;font-size:9px}.randomize-build{min-height:60px;padding:6px 8px;gap:8px}.dice-stage{width:40px;height:44px;transform:scale(.86)}.blade-editor-inline,.blade-editor-canvas{padding:6px}.blade-editor-curve{height:145px}.blade-editor-3d{height:145px;min-height:125px}.part-cycle{min-height:48px;grid-template-columns:42px minmax(0,1fr) 42px}.part-viewport{padding:5px 7px;grid-template-columns:68px minmax(0,1fr);column-gap:7px}.part-preview{width:62px;transform:scale(.82)}.part-preview.lock.attack,.part-preview.lock.defense,.part-preview.lock.endurance{transform:scale(.78)}.charge-panel{min-height:142px;grid-template-columns:1fr 76px;grid-template-rows:auto 1fr}.charge-heading{grid-column:1}.vertical-charge{grid-column:2;grid-row:1 / 3;min-height:130px}.charge-panel .launch-button{grid-column:1;grid-row:2;align-self:stretch}.type-selector{gap:5px;margin:9px 0}.type-option{min-height:59px;padding:7px 6px}.type-option strong{font-size:9px}.type-option span{font-size:6px}.launch-button{min-height:50px}.result-card{padding:32px 20px}.tuning-toggle{right:10px;bottom:max(10px,env(safe-area-inset-bottom));min-width:48px;width:48px;min-height:48px;padding:0}.tuning-toggle span{display:none}.tuning-panel{position:fixed;right:8px;bottom:max(66px,calc(env(safe-area-inset-bottom) + 66px));width:calc(100vw - 16px);max-height:min(78dvh,680px);transform-origin:bottom center}.tuning-row{grid-template-columns:minmax(112px,1fr) minmax(92px,.72fr) 88px;gap:7px}}@media(max-height:600px)and (orientation:landscape){.player-card{top:auto;bottom:8px}.enemy-card{top:8px}.launch-overlay{place-items:center;padding:80px 140px 10px}.launch-card{padding:10px}.launch-layout{grid-template-columns:minmax(0,1.6fr) minmax(180px,.7fr)}.build-analyzer{min-height:188px}.radar-chart{height:148px}.part-cycle{min-height:55px}.part-viewport{grid-template-columns:68px minmax(0,1fr);padding-block:3px}.part-preview{transform:scale(.8)}.charge-panel{min-height:179px}.type-option{min-height:48px}.charge-track{margin-bottom:7px}.launch-button{min-height:44px}.mobile-controls{bottom:8px;padding:0 16px}.joystick{width:82px;height:82px}.boost-button{width:72px;height:72px}.tuning-panel{right:8px;bottom:64px;width:min(420px,calc(100vw - 16px));max-height:calc(100dvh - 74px)}.tuning-toggle{right:8px;bottom:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
