@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:scroll;scrollbar-gutter:stable}body{font-family:Inter,PingFang SC,HarmonyOS Sans SC,system-ui;line-height:1.4;color:#1a1f2b;background:#f4f7fb}.progressive-image{position:relative;display:block;overflow:hidden;background:linear-gradient(135deg,#d2dce88a,#eff4faeb);isolation:isolate}.progressive-image__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent),radial-gradient(circle at 42% 30%,rgba(255,255,255,.46),transparent 36%),linear-gradient(135deg,#d2dce8a3,#eff4faf0);background-size:220% 100%,auto,auto;opacity:1;transition:opacity .36s ease;animation:progressive-image-sheen 1.25s ease-in-out infinite}.progressive-image.is-loaded .progressive-image__placeholder{opacity:0;pointer-events:none}.progressive-image__img{position:relative;z-index:2;display:block;width:100%;height:100%;opacity:0;filter:blur(14px) saturate(.92);transform:scale(1.024);transition:opacity .36s ease,filter .64s cubic-bezier(.2,.82,.2,1),transform .64s cubic-bezier(.2,.82,.2,1)}.progressive-image.is-loaded .progressive-image__img{opacity:1;filter:blur(0) saturate(1);transform:scale(1)}.progressive-image__fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:8px;color:#7a8897;font-size:12px;text-align:center}@keyframes progressive-image-sheen{0%{background-position:140% 0,center,center}to{background-position:-80% 0,center,center}}@media (prefers-reduced-motion: reduce){.progressive-image__placeholder{animation:none}.progressive-image__img{transition:opacity .16s ease;filter:none;transform:none}}.skill-presentation-preview{--fx-a: #f97316;--fx-b: #fde68a;--fx-c: #ef4444;position:relative;height:116px;margin-top:14px;overflow:hidden;border:1px solid rgba(139,158,181,.22);border-radius:8px;background:linear-gradient(90deg,rgba(26,31,43,.06) 0 1px,transparent 1px 100%),linear-gradient(180deg,rgba(26,31,43,.04) 0 1px,transparent 1px 100%),linear-gradient(135deg,#f8fafc,#eef4f8);background-size:24px 24px,24px 24px,auto}.skill-presentation-preview[data-theme=water]{--fx-a: #0891b2;--fx-b: #67e8f9;--fx-c: #2563eb}.skill-presentation-preview[data-theme=ice]{--fx-a: #38bdf8;--fx-b: #e0f2fe;--fx-c: #60a5fa}.skill-presentation-preview[data-theme=electric]{--fx-a: #facc15;--fx-b: #fef08a;--fx-c: #22d3ee}.skill-presentation-preview[data-theme=poison]{--fx-a: #84cc16;--fx-b: #bef264;--fx-c: #7c3aed}.skill-presentation-preview[data-theme=light]{--fx-a: #f8fafc;--fx-b: #fde68a;--fx-c: #f59e0b}.skill-presentation-preview[data-theme=physical]{--fx-a: #64748b;--fx-b: #cbd5e1;--fx-c: #ef4444}.skill-presentation-preview[data-theme=neutral]{--fx-a: #8b5cf6;--fx-b: #ddd6fe;--fx-c: #06b6d4}.skill-presentation-preview__orb,.skill-presentation-preview__trail,.skill-presentation-preview__burst{position:absolute;display:block;pointer-events:none}.skill-presentation-preview__orb{top:44px;left:18px;width:26px;height:26px;border-radius:999px;background:radial-gradient(circle at 35% 32%,#fff 0 12%,var(--fx-b) 13% 38%,var(--fx-a) 42% 68%,rgba(239,68,68,.08) 72%);box-shadow:0 0 18px color-mix(in srgb,var(--fx-a),transparent 10%),0 0 34px color-mix(in srgb,var(--fx-b),transparent 18%);animation:skill-preview-projectile .82s cubic-bezier(.2,.8,.2,1) both}.skill-presentation-preview__trail{top:54px;left:28px;width:132px;height:8px;border-radius:999px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fx-a),transparent 35%),var(--fx-b));filter:blur(2px);transform-origin:left center;animation:skill-preview-trail .82s ease-out both}.skill-presentation-preview__burst{top:37px;right:32px;width:44px;height:44px;border-radius:999px;background:radial-gradient(circle,#fff 0 9%,var(--fx-b) 10% 28%,var(--fx-a) 31% 54%,transparent 66%),conic-gradient(from 20deg,transparent 0 10%,var(--fx-c) 12% 18%,transparent 20% 34%,var(--fx-b) 36% 43%,transparent 45% 100%);filter:drop-shadow(0 0 16px color-mix(in srgb,var(--fx-a),transparent 25%));opacity:0;animation:skill-preview-burst .82s ease-out both}.skill-presentation-preview--beam .skill-presentation-preview__orb{width:18px;height:18px;animation:skill-preview-beam-source .82s ease-out both}.skill-presentation-preview--beam .skill-presentation-preview__trail{top:48px;left:38px;width:calc(100% - 86px);height:18px;background:linear-gradient(90deg,var(--fx-b),var(--fx-a),color-mix(in srgb,var(--fx-c),transparent 15%)),repeating-linear-gradient(90deg,transparent 0 14px,rgba(255,255,255,.55) 15px 19px);box-shadow:0 0 18px color-mix(in srgb,var(--fx-a),transparent 30%);filter:blur(.4px);animation:skill-preview-beam .82s ease-out both}.skill-presentation-preview--area_burst .skill-presentation-preview__orb,.skill-presentation-preview--storm .skill-presentation-preview__orb,.skill-presentation-preview--aura .skill-presentation-preview__orb,.skill-presentation-preview--status_cloud .skill-presentation-preview__orb{left:calc(50% - 13px);animation:skill-preview-center-pulse .9s ease-out both}.skill-presentation-preview--area_burst .skill-presentation-preview__trail,.skill-presentation-preview--aura .skill-presentation-preview__trail,.skill-presentation-preview--status_cloud .skill-presentation-preview__trail{left:calc(50% - 38px);top:22px;width:76px;height:76px;border:2px solid color-mix(in srgb,var(--fx-a),transparent 28%);border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--fx-b),transparent 62%),transparent 66%);filter:none;animation:skill-preview-ring .9s ease-out both}.skill-presentation-preview--storm .skill-presentation-preview__trail{left:calc(50% - 46px);top:14px;width:92px;height:92px;border:3px solid transparent;border-top-color:var(--fx-b);border-right-color:var(--fx-a);border-radius:999px;background:radial-gradient(circle,transparent 35%,color-mix(in srgb,var(--fx-a),transparent 72%) 36% 66%,transparent 68%);filter:drop-shadow(0 0 14px color-mix(in srgb,var(--fx-a),transparent 40%));animation:skill-preview-storm 1s cubic-bezier(.18,.7,.25,1) both}.skill-presentation-preview--slash .skill-presentation-preview__orb{left:40px;top:52px;width:18px;height:18px;animation:skill-preview-slash-hit .76s ease-out both}.skill-presentation-preview--slash .skill-presentation-preview__trail{left:42px;top:46px;width:160px;height:14px;border-radius:999px 6px;background:linear-gradient(90deg,transparent,var(--fx-b),var(--fx-a),transparent);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--fx-a),transparent 30%));transform:rotate(-17deg);animation:skill-preview-slash .76s ease-out both}@keyframes skill-preview-projectile{0%{opacity:0;transform:translate(0) scale(.6)}18%{opacity:1}72%{opacity:1;transform:translate(18vw) scale(1.08)}to{opacity:0;transform:translate(22vw) scale(.5)}}@keyframes skill-preview-trail{0%{opacity:0;transform:translate(-20px) scaleX(.15)}24%{opacity:.85}to{opacity:0;transform:translate(72px) scaleX(1.1)}}@keyframes skill-preview-burst{0%,58%{opacity:0;transform:scale(.25) rotate(0)}76%{opacity:1;transform:scale(1.22) rotate(24deg)}to{opacity:0;transform:scale(1.8) rotate(58deg)}}@keyframes skill-preview-beam-source{0%{opacity:0;transform:scale(.6)}12%,80%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(.72)}}@keyframes skill-preview-beam{0%{opacity:0;transform:scaleX(.02)}18%{opacity:1;transform:scaleX(1)}72%{opacity:.9;transform:scaleX(1) skew(-8deg)}to{opacity:0;transform:scaleX(.92) skew(5deg)}}@keyframes skill-preview-center-pulse{0%{opacity:0;transform:scale(.55)}36%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(.8)}}@keyframes skill-preview-ring{0%{opacity:0;transform:scale(.15)}30%{opacity:.95}to{opacity:0;transform:scale(1.65)}}@keyframes skill-preview-storm{0%{opacity:0;transform:rotate(0) scale(.4)}22%{opacity:1}82%{opacity:.95;transform:rotate(420deg) scale(1.16)}to{opacity:0;transform:rotate(620deg) scale(.82)}}@keyframes skill-preview-slash{0%{opacity:0;transform:translate(-18px) rotate(-17deg) scaleX(.15)}30%{opacity:1;transform:translate(36px) rotate(-17deg) scaleX(1)}to{opacity:0;transform:translate(96px) rotate(-17deg) scaleX(.3)}}@keyframes skill-preview-slash-hit{0%,36%{opacity:0;transform:translate(122px) scale(.4)}56%{opacity:1;transform:translate(150px) scale(1.35)}to{opacity:0;transform:translate(166px) scale(.6)}}.battle-sim{height:100%;min-height:0;overflow:hidden;padding:clamp(8px,1.2vw,16px);background:radial-gradient(circle at 18% 12%,rgba(76,180,218,.16),transparent 32%),radial-gradient(circle at 82% 20%,rgba(255,151,92,.12),transparent 28%),linear-gradient(180deg,#f7fbff,#eef5f8)}.battle-sim__portrait-guard{display:none}.battle-sim__stage{position:relative;display:grid;grid-template-rows:minmax(52px,8dvh) minmax(0,1fr) minmax(152px,25.6dvh);gap:clamp(6px,1dvh,12px);height:100%;min-height:0;overflow:visible;border:1px solid rgba(139,158,181,.34);border-radius:clamp(14px,1.4vw,24px);background:#ffffffc2;box-shadow:0 22px 60px #263c5a24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.battle-sim__topbar{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,1fr) minmax(150px,1fr);align-items:center;gap:clamp(8px,1.6vw,22px);min-height:0;overflow:hidden;padding:8px clamp(14px,2vw,28px);border-bottom:1px solid rgba(139,158,181,.24);background:linear-gradient(180deg,#ffffffeb,#f9fcffbd)}.battle-sim__brand,.battle-sim__turn,.battle-sim__intent{min-width:0;overflow:hidden}.battle-sim__turn{display:flex;flex-direction:column;gap:2px}.battle-sim__turn-headline{display:flex;align-items:center;gap:clamp(6px,.8vw,12px)}.battle-sim__ap{display:flex;gap:clamp(4px,.55vw,8px)}.battle-sim__brand strong{display:block;color:#16324f;font-size:clamp(16px,1.55vw,23px);line-height:1;letter-spacing:-.05em}.battle-sim__brand span{display:block;margin-top:3px;color:#7a8ba3;font-size:clamp(9px,.72vw,11px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.battle-sim__turn strong{display:block;color:#182337;font-size:clamp(18px,1.65vw,26px);line-height:1.05;letter-spacing:-.03em}.battle-sim__turn span,.battle-sim__intent span,.battle-sim__ap span{display:block;color:#708099;font-size:clamp(11px,.95vw,14px);white-space:nowrap}.battle-sim__intent strong{display:block;overflow:hidden;color:#203047;font-size:clamp(12px,1vw,15px);text-overflow:ellipsis;white-space:nowrap}.battle-sim__ap i{width:clamp(13px,1.6vw,22px);height:clamp(13px,1.6vw,22px);border-radius:999px;background:#d7e8ef;box-shadow:inset 0 0 0 1px #43607a14}.battle-sim__ap i.is-active{background:#37d1d2;box-shadow:0 0 0 4px #37d1d229}.battle-sim__empty{display:grid;place-items:center;grid-row:2 / 4;color:#66758c;font-size:15px}.battle-sim__empty--error{color:#d64b42}.battle-sim__main{position:relative;z-index:1;display:grid;grid-template-columns:clamp(210px,18vw,270px) minmax(0,1fr) clamp(250px,20vw,330px);gap:clamp(8px,1.2vw,16px);min-height:0;overflow:hidden;padding:0 clamp(10px,1.4vw,20px)}.battle-sim__left-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(6px,.8vw,10px);min-height:0;min-width:0;overflow:hidden}.battle-sim__game-nav,.battle-sim__team-panel{border:1px solid rgba(148,172,196,.22);border-radius:18px;background:#ffffffad}.battle-sim__game-nav{display:grid;align-content:start;gap:8px;min-height:0;overflow:hidden;padding:10px 7px}.battle-sim__game-nav span{display:grid;place-items:center;min-height:34px;border-radius:12px;color:#53657c;font-size:9px;font-weight:800;letter-spacing:-.02em}.battle-sim__game-nav span.is-active{color:#12324f;background:#35b4cb2e}.battle-sim__team-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-height:0;overflow:hidden;padding:9px}.battle-sim__team-panel header strong,.battle-sim__bench strong{color:#53657c;font-size:10px;font-weight:800;letter-spacing:.04em}.battle-sim__team-slots{display:grid;grid-template-rows:auto repeat(4,minmax(34px,1fr));gap:6px;min-height:0;overflow:hidden}.battle-sim__team-empty{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:1fr 1fr;gap:0 7px;align-items:center;min-height:0;padding:5px 7px;border:1px dashed rgba(139,158,181,.34);border-radius:12px;color:#8a9aaf;background:#eef6fc8a}.battle-sim__team-empty span{display:grid;place-items:center;grid-row:1 / -1;width:22px;height:22px;border-radius:999px;color:#fff;background:#9fb1c5;font-size:10px;font-weight:800}.battle-sim__team-empty strong,.battle-sim__team-empty small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-sim__team-empty strong{color:#6c7d93;font-size:9px;line-height:1}.battle-sim__team-empty small{color:#9aa8b8;font-size:8px;line-height:1}.battle-sim__field-zone{position:relative;display:grid;align-items:stretch;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:18px;background:radial-gradient(circle at 50% 46%,#ffffff1a,#ffffff03 58%),linear-gradient(90deg,#28d6e629,#28d6e612 35%,#ffffff05 49%,#f1594c12 65%,#f1594c26),url(/battle-bg.png) center 53% / 110% auto no-repeat;box-shadow:inset 0 0 0 1px #ffffff52,inset 0 -38px 70px #192d3e1a,0 18px 46px #21364c1f}.battle-sim__field-zone:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 24%,transparent 76%,rgba(16,33,48,.08)),radial-gradient(circle at 50% 52%,transparent 0 50%,rgba(11,24,36,.07) 100%);content:"";z-index:0}.battle-sim__unit-strip{display:grid;grid-template-columns:clamp(42px,4vw,52px) minmax(0,1fr);gap:8px;align-content:center;align-items:center;min-width:0;min-height:58px;padding:6px;border:1px solid rgba(139,158,181,.2);border-radius:13px;background:#ffffffb8;box-shadow:0 8px 24px #324e6e14;color:inherit;cursor:pointer;font:inherit;text-align:left}.battle-sim__unit-strip.is-active{border-color:#2f89a7b8;background:#edf9fceb;box-shadow:0 0 0 4px #37d1d224,0 10px 28px #324e6e1a}.battle-sim__unit-strip--enemy{direction:ltr}.battle-sim__unit-avatar{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border-radius:10px;background:#eaf1f6}.battle-sim__unit-avatar img{width:100%;height:100%;object-fit:cover}.battle-sim__unit-avatar span{color:#8794a8;font-size:11px}.battle-sim__unit-body,.battle-sim__unit-heading{min-width:0}.battle-sim__unit-heading{display:block}.battle-sim__unit-heading h3{overflow:hidden;color:#182337;font-size:clamp(12px,.95vw,14px);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.battle-sim__unit-heading p{overflow:hidden;margin-top:2px;color:#708099;font-size:clamp(9px,.72vw,11px);text-overflow:ellipsis;white-space:nowrap}.battle-sim__unit-heading strong{display:block;color:#55647a;font-size:11px;font-weight:600}.battle-sim__unit-heading strong:after{display:block;width:100%;height:5px;margin-top:4px;border-radius:999px;background:linear-gradient(90deg,#41c26f,#9ee7b3);content:""}.battle-sim__unit-meta{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:3px;overflow:hidden;max-height:22px}.battle-sim__unit-meta>span:not([class]){color:#8794a8;font-size:10px;white-space:nowrap}.battle-sim__unit-chips{display:none}.battle-sim__bench{display:grid;gap:6px;align-content:start;min-height:0;overflow:hidden}.battle-sim__bench div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.battle-sim__bench span{display:grid;place-items:center;min-height:24px;border:1px dashed rgba(139,158,181,.38);border-radius:9px;color:#8a9aaf;background:#eef6fc9e;font-size:8px;font-weight:800}.battle-sim__board-shell{position:relative;z-index:1;display:grid;place-items:center;min-height:0;overflow:hidden;padding:clamp(6px,.8vw,12px)}.battle-sim__board{--hex-w: clamp(48px, min(7.35vw, 12.8dvh), 96px);--hex-h: calc(var(--hex-w) * .88);--hex-step-x: calc(var(--hex-w) * .8);--hex-step-y: calc(var(--hex-h) * .95);--hex-offset-y: calc(var(--hex-h) * .5);position:relative;width:calc(var(--hex-w) + var(--hex-step-x) * 7);height:calc(var(--hex-h) + var(--hex-step-y) * 3 + var(--hex-offset-y));transform:translateY(20px)}.battle-sim__hex{--hex-fill: rgba(255,255,255,.03);--hex-line: rgba(255,255,255,.74);--hex-glow: rgba(255,255,255,.2);--hex-state-border: 0 solid transparent;--hex-state-shadow: none;--hex-state-opacity: 0;position:absolute;width:var(--hex-w);height:var(--hex-h);overflow:visible;padding:0;border:0;cursor:default;background:transparent;box-shadow:none;-webkit-backdrop-filter:saturate(1.04);backdrop-filter:saturate(1.04)}.battle-sim__hex:before,.battle-sim__hex:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;content:""}.battle-sim__hex:before{background:var(--hex-fill);clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);box-shadow:inset 0 0 0 3px var(--hex-line),inset 0 0 18px var(--hex-glow);filter:drop-shadow(0 0 5px var(--hex-glow))}.battle-sim__hex:after{top:2%;right:2%;bottom:2%;left:2%;z-index:6;border:var(--hex-state-border);clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);box-shadow:var(--hex-state-shadow);opacity:var(--hex-state-opacity)}.battle-sim__hex--player{--hex-fill: rgba(56, 210, 225, .12);--hex-line: rgba(113, 237, 255, .82);--hex-glow: rgba(70, 220, 242, .38)}.battle-sim__hex--enemy{--hex-fill: rgba(241, 99, 87, .11);--hex-line: rgba(255, 136, 124, .78);--hex-glow: rgba(255, 113, 102, .34)}.battle-sim__hex--occupied{cursor:pointer;background:transparent}.battle-sim__hex--player-unit{--hex-fill: rgba(56, 210, 225, .08);--hex-line: rgba(113, 237, 255, .9);--hex-glow: rgba(70, 220, 242, .46)}.battle-sim__hex--enemy-unit{--hex-fill: rgba(241, 99, 87, .075);--hex-line: rgba(255, 136, 124, .86);--hex-glow: rgba(255, 113, 102, .42)}.battle-sim__hex.is-inspected{--hex-state-border: 3px solid #38bdf8;--hex-state-shadow: inset 0 0 18px rgba(56, 189, 248, .34), 0 0 24px rgba(56, 189, 248, .28);--hex-state-opacity: 1}.battle-sim__hex--selected-mover{--hex-state-border: 3px solid rgba(14, 165, 233, .82);--hex-state-shadow: inset 0 0 18px rgba(14, 165, 233, .28), 0 0 24px rgba(14, 165, 233, .24);--hex-state-opacity: 1}.battle-sim__hex--targetable{cursor:pointer;z-index:8;--hex-state-border: 4px solid rgba(255, 209, 102, .82);--hex-state-shadow: inset 0 0 18px rgba(255, 209, 102, .44), 0 0 30px rgba(255, 175, 64, .34);--hex-state-opacity: 1;animation:target-breathe 1.15s ease-in-out infinite}.battle-sim__hex--caster-selectable{cursor:copy;z-index:7;border:0;--hex-fill: radial-gradient(circle at 50% 48%, rgba(143, 234, 255, .34), rgba(72, 202, 228, .1) 58%, transparent 72%), transparent;background:transparent;box-shadow:none;filter:drop-shadow(0 0 14px rgba(72,202,228,.58)) drop-shadow(0 0 28px rgba(255,209,102,.22));transform-origin:center center;animation:caster-drop-breathe .85s ease-in-out infinite}.battle-sim__hex--caster-selectable:before{z-index:5;background:radial-gradient(circle at 50% 48%,rgba(255,246,180,.58) 0 20%,rgba(72,202,228,.34) 48%,transparent 70%);opacity:.78;mix-blend-mode:screen}.battle-sim__hex--caster-selectable:after{top:6%;right:6%;bottom:6%;left:6%;z-index:6;border:4px solid rgba(255,224,104,.86);clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);box-shadow:inset 0 0 18px #ffd16680,0 0 18px #ffd16673;opacity:.9}.battle-sim__hex--caster-active{z-index:9;--hex-state-border: 4px solid rgba(108, 226, 255, .96);--hex-state-shadow: inset 0 0 18px rgba(100, 200, 255, .34), 0 0 34px rgba(72, 202, 228, .44);--hex-state-opacity: 1;animation:caster-ready-breathe 1.2s ease-in-out infinite}.battle-sim__hex--card-drop-target{cursor:copy;z-index:7}.battle-sim__hex--card-drag-over{--hex-fill: radial-gradient(circle at 50% 50%, rgba(255, 241, 176, .42), rgba(255, 209, 102, .18) 55%, rgba(72, 202, 228, .14) 75%), transparent;background:transparent;--hex-state-border: 4px solid rgba(255, 209, 102, .96);--hex-state-shadow: inset 0 0 20px rgba(255, 209, 102, .44), 0 0 42px rgba(255, 209, 102, .42);--hex-state-opacity: 1;animation:card-drop-confirm .7s ease-in-out infinite alternate}@keyframes caster-drop-breathe{0%,to{transform:scale(1);filter:drop-shadow(0 0 14px rgba(72,202,228,.58)) drop-shadow(0 0 28px rgba(255,209,102,.22))}50%{transform:scale(1.09);filter:drop-shadow(0 0 24px rgba(72,202,228,.8)) drop-shadow(0 0 42px rgba(255,209,102,.5))}}@keyframes caster-ready-breathe{0%,to{filter:drop-shadow(0 0 16px rgba(72,202,228,.48))}50%{filter:drop-shadow(0 0 28px rgba(72,202,228,.68)) drop-shadow(0 0 18px rgba(255,209,102,.28))}}@keyframes target-breathe{0%,to{filter:drop-shadow(0 0 14px rgba(255,175,64,.28))}50%{filter:drop-shadow(0 0 26px rgba(255,175,64,.48))}}@keyframes card-drop-confirm{0%{filter:saturate(1)}to{filter:saturate(1.2) brightness(1.04)}}@keyframes unit-hit-recoil-enemy{0%,to{transform:translate(-50%) scale(1)}18%{transform:translate(calc(-50% + 11px)) scale(.94,1.04)}34%{transform:translate(calc(-50% - 2px)) scale(1.03,.98)}50%{transform:translate(calc(-50% + 8px)) scale(.97,1.02)}68%{transform:translate(calc(-50% - 1px)) scale(1.02,.99)}84%{transform:translate(calc(-50% + 4px)) scale(.99,1.01)}}@keyframes unit-hit-recoil-player{0%,to{transform:translate(-50%) scale(1)}18%{transform:translate(calc(-50% - 11px)) scale(.94,1.04)}34%{transform:translate(calc(-50% + 2px)) scale(1.03,.98)}50%{transform:translate(calc(-50% - 8px)) scale(.97,1.02)}68%{transform:translate(calc(-50% + 1px)) scale(1.02,.99)}84%{transform:translate(calc(-50% - 4px)) scale(.99,1.01)}}.battle-sim__guide-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:12}.battle-sim__fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:11;overflow:visible;pointer-events:none}.battle-sim__fx-canvas{display:block;width:100%;height:100%;pointer-events:none}.battle-sim__aim-arrow{opacity:.94;filter:drop-shadow(0 14px 10px rgba(7,18,33,.18));transition:opacity .14s ease,filter .14s ease}.battle-sim__aim-arrow--locked{opacity:1;filter:drop-shadow(0 14px 10px rgba(7,18,33,.22)) drop-shadow(0 0 16px rgba(255,48,48,.28))}.battle-sim__aim-arrow-shadow,.battle-sim__aim-arrow-body,.battle-sim__aim-arrow-highlight{fill:none;stroke-linecap:round;stroke-linejoin:round}.battle-sim__aim-arrow-shadow{stroke:#1f2630b8;stroke-width:24}.battle-sim__aim-arrow-body{stroke:url(#guide-neutral-gradient);stroke-width:17}.battle-sim__aim-arrow-highlight{stroke:#ffffff6b;stroke-width:5;stroke-dasharray:42 24;stroke-dashoffset:14}.battle-sim__aim-arrow--locked .battle-sim__aim-arrow-shadow{stroke:#370508bd;stroke-width:26}.battle-sim__aim-arrow--locked .battle-sim__aim-arrow-body{stroke:url(#guide-red-gradient);stroke-width:19}.battle-sim__aim-arrow--locked .battle-sim__aim-arrow-highlight{stroke:#ffb8ae80;stroke-width:6;stroke-dasharray:34 18}.battle-sim__hex--zoc{--hex-state-border: 2px solid rgba(241, 99, 87, .48);--hex-state-shadow: inset 0 0 16px rgba(241, 99, 87, .18);--hex-state-opacity: 1}.battle-sim__hex--movable{cursor:pointer;--hex-fill: radial-gradient(circle at 50% 50%, rgba(56, 189, 248, .28), rgba(56, 189, 248, .08) 58%, transparent 76%);background:transparent;--hex-state-border: 2px solid rgba(83, 205, 255, .72);--hex-state-shadow: inset 0 0 16px rgba(83, 205, 255, .2), 0 0 18px rgba(56, 189, 248, .2);--hex-state-opacity: 1}.battle-sim__hex-coord{position:absolute;z-index:3;top:8%;left:12%;display:none;padding:1px 6px;border-radius:999px;color:#2d3748;background:#ffffffb8;font-size:clamp(8px,.75vw,11px);line-height:1.4}.battle-sim__hex-sprite{position:absolute;z-index:4;left:50%;bottom:6%;width:116%;height:116%;pointer-events:none;transform:translate(-50%);transform-origin:center bottom;filter:drop-shadow(0 8px 6px rgba(8,15,25,.22))}.battle-sim__hex-sprite--fallback{bottom:12%;width:82%;height:76%}.battle-sim__hex-sprite--impact.battle-sim__hex-sprite--enemy{animation:unit-hit-recoil-enemy .36s cubic-bezier(.2,.86,.32,1.12) both}.battle-sim__hex-sprite--impact.battle-sim__hex-sprite--player{animation:unit-hit-recoil-player .36s cubic-bezier(.2,.86,.32,1.12) both}.battle-sim__hex-img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.battle-sim__hex-fallback{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;color:#1f2937;font-size:12px}.battle-sim__hex-hud{position:absolute;z-index:8;right:8%;bottom:-2%;left:8%;pointer-events:none}.battle-sim__hp-plate{position:relative;display:grid;align-items:center;min-height:clamp(13px,1.25vw,17px);padding:2px 4px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:6px;background:linear-gradient(180deg,#ffffff2e,#ffffff08 38%),#171f2ad1;box-shadow:0 1px #ffffff6b inset,0 -1px #00000047 inset,0 3px 8px #080f1952}.battle-sim__hp-track{position:relative;display:block;height:clamp(5px,.62vw,8px);overflow:hidden;border:1px solid rgba(5,11,19,.72);border-radius:999px;background:linear-gradient(180deg,#04080ee6,#121b26e6);box-shadow:0 1px 2px #0000007a inset,0 1px #ffffff29}.battle-sim__hp-track i{display:block;height:100%;border-radius:inherit;box-shadow:0 1px #ffffff80 inset,0 -1px #00000038 inset}.battle-sim__hp-fill--player{background:linear-gradient(90deg,#36c96a,#99e95d)}.battle-sim__hp-fill--enemy{background:linear-gradient(90deg,#d81f2e,#ff6654)}.battle-sim__hp-plate b{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff7ef;font-size:clamp(8px,.78vw,11px);font-weight:800;line-height:1;text-shadow:0 1px 1px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.72)}.battle-sim__inspector{display:grid;grid-template-rows:minmax(0,1fr);gap:7px;min-height:0;overflow:hidden;padding:7px;border:1px solid rgba(139,158,181,.28);border-radius:18px;background:#ffffffc7;box-shadow:0 14px 34px #22375214}.battle-sim__inspector-head{display:flex;justify-content:space-between;gap:10px;min-width:0}.battle-sim__inspector-head div{min-width:0}.battle-sim__inspector-head span,.battle-sim__inspector-head p{display:block;overflow:hidden;color:#708099;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.battle-sim__inspector-head h2{overflow:hidden;margin:2px 0;color:#17304c;font-size:clamp(14px,1.12vw,17px);line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.battle-sim__inspector-head strong{align-self:start;padding:2px 7px;border-radius:999px;color:#6f3bd4;background:#7c52d61f;font-size:10px}.battle-sim__inspector-hero{display:grid;place-items:center;min-height:0;height:100%;overflow:hidden;border-radius:8px;background:transparent}.battle-sim__inspector-hero img{width:100%;height:100%;object-fit:contain;border-radius:8px;filter:drop-shadow(0 10px 16px rgba(32,50,74,.16))}.battle-sim__inspector-hero span{color:#8794a8;font-size:12px}.battle-sim__inspector-stats,.battle-sim__inspector-block{min-height:0;overflow:hidden;padding:5px 7px;border:1px solid rgba(139,158,181,.2);border-radius:12px;background:#f9fcffc7}.battle-sim__hp-line{display:grid;grid-template-columns:auto 1fr;gap:4px 7px;align-items:center}.battle-sim__hp-line span,.battle-sim__inspector-block h3{color:#5c6b80;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.battle-sim__hp-line strong{justify-self:end;color:#223149;font-size:12px}.battle-sim__hp-line i{grid-column:1 / -1;height:6px;overflow:hidden;border-radius:999px;background:#d9e6ef}.battle-sim__hp-line b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#43c36f,#9ee7b3)}.battle-sim__inspector-stats dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:5px 0 0}.battle-sim__inspector-stats dl div{display:grid;gap:2px;min-width:0;padding:3px;border-radius:10px;background:#e6eff7b8}.battle-sim__inspector-stats dt,.battle-sim__inspector-stats dd{margin:0;text-align:center}.battle-sim__inspector-stats dt{color:#748399;font-size:9px}.battle-sim__inspector-stats dd{color:#1d2a3d;font-size:12px;font-weight:800}.battle-sim__attribute-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:4px}.battle-sim__section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.battle-sim__section-heading button,.battle-sim__log-drawer button{border:0;color:#2f6cad;background:transparent;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.battle-sim__log-preview>div:last-child,.battle-sim__log-drawer section{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:hidden}.battle-sim__log-line{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;align-items:start;min-width:0}.battle-sim__log-line>span{width:8px;height:8px;margin-top:5px;border-radius:999px}.battle-sim__log-line p{display:block;overflow:hidden;color:#27364d;font-size:clamp(11px,.85vw,13px);line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.battle-sim__bottom-bar{position:relative;z-index:50;display:grid;grid-template-columns:clamp(116px,10vw,160px) minmax(0,1fr) clamp(148px,13vw,210px);gap:clamp(8px,1vw,14px);min-height:0;overflow:visible;padding:0 clamp(10px,1.4vw,20px) clamp(8px,1.1dvh,16px)}.battle-sim__player-dock,.battle-sim__action-dock{min-height:0;overflow:hidden;border:1px solid rgba(139,158,181,.24);border-radius:16px;background:#ffffffc7;box-shadow:0 10px 26px #22375214}.battle-sim__player-dock{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:8px;align-content:center;padding:10px}.battle-sim__player-avatar{display:grid;place-items:center;grid-row:span 2;width:42px;height:42px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#23496f,#49b8c7);font-weight:800}.battle-sim__player-dock strong,.battle-sim__deck-dock strong{display:block;overflow:hidden;color:#172337;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.battle-sim__player-dock span,.battle-sim__player-dock p,.battle-sim__deck-dock span{color:#77869a;font-size:11px}.battle-sim__player-dock p{grid-column:2;margin:0;padding-top:5px;border-top:1px solid rgba(139,158,181,.18)}.battle-sim__deck-counts{display:flex;gap:8px;padding-top:5px;border-top:1px solid rgba(139,158,181,.18);color:#77869a;font-size:11px}.battle-sim__deck-counts strong{color:#172337;font-weight:700}.battle-sim__action-dock{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;padding:10px}.battle-sim__action-dock>button{width:100%;min-height:44px;border-radius:14px!important;font-size:16px!important}.battle-sim__action-dock>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.battle-sim__action-dock ol{display:grid;gap:4px;margin:0;padding:0;list-style:none;color:#718097;font-size:11px}.battle-sim__action-dock li{overflow:hidden;padding:4px 8px;border-radius:999px;text-overflow:ellipsis;white-space:nowrap}.battle-sim__action-dock li.is-active{color:#fff;background:linear-gradient(90deg,#297d94,#55bfc5)}.battle-sim__hand{position:relative;z-index:60;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(5px,.8dvh,9px);min-height:0;min-width:0;overflow:visible;padding:0}.battle-sim__hand-head{display:flex;justify-content:space-between;gap:12px;min-height:0;color:#182337}.battle-sim__hand-head div{display:flex;gap:10px;align-items:baseline;min-width:0}.battle-sim__hand-head strong{font-size:clamp(14px,1.2vw,18px);white-space:nowrap}.battle-sim__hand-head span{overflow:hidden;color:#7b8799;font-size:clamp(11px,.9vw,13px);text-overflow:ellipsis;white-space:nowrap}.battle-sim__hand-grid{--hand-count: 5;position:relative;z-index:60;display:flex;justify-content:center;align-items:end;gap:clamp(6px,1vw,14px);max-width:100%;min-height:0;overflow:visible;padding-top:clamp(8px,1.2dvh,14px);scrollbar-width:thin}.battle-sim__hand-grid--compressed{gap:0;padding-right:0;padding-left:clamp(4px,.6vw,8px)}.battle-sim__hand-grid::-webkit-scrollbar{height:6px}.battle-sim__hand-grid::-webkit-scrollbar-thumb{border-radius:999px;background:#5a728e47}.battle-sim__hand-card{position:relative;display:block;flex:1 1 0;max-width:clamp(120px,10.8vw,152px);min-width:0;min-height:0;overflow:hidden;padding:0;border:1px solid rgba(111,132,154,.28);border-radius:clamp(10px,1vw,16px);background:#fff;box-shadow:0 10px 24px #2237521f;text-align:left;transform-origin:center bottom;transform:translateY(calc(var(--card-arc-y, 0px) + 30px)) rotate(var(--card-rot, 0deg));transition:flex-basis .22s cubic-bezier(.25,.46,.45,.94),margin .22s cubic-bezier(.25,.46,.45,.94),transform .22s cubic-bezier(.25,.46,.45,.94),box-shadow .22s cubic-bezier(.25,.46,.45,.94),opacity .22s ease}.battle-sim__hand-card.is-compressed{z-index:calc(1 + var(--hand-card-index));flex:0 0 clamp(120px,10.8vw,152px);margin-left:calc(clamp(44px,5vw,76px)*-1)}.battle-sim__hand-card.is-compressed:first-child{margin-left:0}.battle-sim__hand-card.is-compressed:hover,.battle-sim__hand-card.is-compressed:focus-visible,.battle-sim__hand-card.is-compressed.is-active{z-index:200;transform:translateY(calc(-40px - var(--card-arc-y, 0px) - 30px)) scale(1.06) rotate(0);box-shadow:0 28px 56px #22375247,0 0 0 2px #ffdc648c}.battle-sim__hand-card.is-playable{cursor:pointer}.battle-sim__hand-card.is-action-card.is-playable{cursor:grab}.battle-sim__hand-card.is-action-card.is-playable:active{cursor:grabbing}.battle-sim__hand-card.is-disabled{cursor:default;filter:grayscale(.28);opacity:.62}.battle-sim__hand-card.is-active{border-color:#ffd166;box-shadow:0 0 0 4px #ffd16633,0 14px 28px #22375224}.battle-sim__hand-card.is-kept{border-color:#37d1d2;box-shadow:0 0 0 3px #37d1d240,0 10px 24px #2237521f}.battle-sim__hand-card.is-discarding{opacity:.45;filter:grayscale(.4)}.battle-sim__discard-hint{padding:4px 0 6px;color:#37d1d2;font-size:12px;font-weight:700;text-align:center}.battle-sim__card-art{position:relative;display:block;width:100%;height:100%;min-height:0;overflow:hidden;background:#dcebf5}.battle-sim__card-art img{width:100%;height:100%;object-fit:cover;object-position:center 5%}.battle-sim__hand-card.is-compressed .battle-sim__card-art img{width:100%;max-width:100%;object-fit:cover;object-position:center top}.battle-sim__hand-card.is-compressed:hover .battle-sim__card-art img,.battle-sim__hand-card.is-compressed:focus-visible .battle-sim__card-art img,.battle-sim__hand-card.is-compressed.is-active .battle-sim__card-art img{width:100%;max-width:100%;object-fit:contain;object-position:center center}.battle-sim__card-art em{display:grid;place-items:center;width:100%;height:100%;color:#8794a8;font-size:12px;font-style:normal}.battle-sim__card-art b,.battle-sim__card-art i{position:absolute;top:8px;padding:4px 8px;border-radius:999px;font-size:clamp(10px,.85vw,12px);line-height:1}.battle-sim__card-art b{left:8px;color:#55f2ef;background:#13263b}.battle-sim__card-art i{right:8px;color:#2e3b51;background:#ffffffd1;font-style:normal}.battle-sim__card-info{position:absolute;right:0;bottom:0;left:0;display:grid;gap:2px;padding:clamp(9px,1vw,13px);background:linear-gradient(180deg,transparent 0%,rgba(7,18,33,.72) 30%,rgba(7,18,33,.92) 100%);text-shadow:0 1px 4px rgba(0,0,0,.35)}.battle-sim__hand-card.is-compressed .battle-sim__card-info,.battle-sim__hand-card.is-compressed .battle-sim__card-info span,.battle-sim__hand-card.is-compressed .battle-sim__card-art i{display:none}.battle-sim__hand-card.is-compressed:hover .battle-sim__card-info span,.battle-sim__hand-card.is-compressed:focus-visible .battle-sim__card-info span,.battle-sim__hand-card.is-compressed.is-active .battle-sim__card-info span,.battle-sim__hand-card.is-compressed:hover .battle-sim__card-art i,.battle-sim__hand-card.is-compressed:focus-visible .battle-sim__card-art i,.battle-sim__hand-card.is-compressed.is-active .battle-sim__card-art i{display:block}.battle-sim__hand-card.is-compressed.is-action-card:hover .battle-sim__card-info,.battle-sim__hand-card.is-compressed.is-action-card:focus-visible .battle-sim__card-info,.battle-sim__hand-card.is-compressed.is-action-card.is-active .battle-sim__card-info{opacity:0}.battle-sim__drag-preview{position:fixed;top:-9999px;left:-9999px;width:86px;height:118px;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:12px;background:#fff;box-shadow:0 18px 36px #0f172a57,0 0 0 5px #48cae429;transform:rotate(-4deg)}.battle-sim__drag-preview-art{width:100%;height:100%;background:#dcebf5}.battle-sim__drag-preview-art img{width:100%;height:100%;object-fit:cover;object-position:center top}.battle-sim__drag-preview-art span{display:grid;place-items:center;width:100%;height:100%;color:#6b7a90;font-size:16px;font-weight:800}.battle-sim__drag-preview strong{position:absolute;right:0;bottom:0;left:0;overflow:hidden;padding:18px 7px 7px;color:#fff;background:linear-gradient(180deg,transparent,rgba(7,18,33,.9));font-size:10px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.battle-sim__card-info strong,.battle-sim__card-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-sim__card-info strong{color:#fff;font-size:clamp(12px,1vw,15px);line-height:1.2}.battle-sim__card-info span{color:#ffffffc7;font-size:clamp(10px,.8vw,12px)}.battle-sim__log-drawer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:clamp(16px,3vw,42px);background:#17233447;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.battle-sim__log-drawer>div{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(620px,92vw);max-height:min(620px,82dvh);overflow:hidden;border:1px solid rgba(139,158,181,.3);border-radius:20px;background:#fffffff5;box-shadow:0 30px 80px #1622323d}.battle-sim__log-drawer header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(139,158,181,.2);color:#182337}.battle-sim__log-drawer section{overflow-y:auto;padding:16px 18px}@media (max-width: 1180px) and (orientation: landscape){.battle-sim__stage{grid-template-rows:minmax(46px,8dvh) minmax(0,1fr) minmax(140px,28dvh)}.battle-sim__hand-card.is-compressed:hover,.battle-sim__hand-card.is-compressed:focus-visible,.battle-sim__hand-card.is-compressed.is-active{transform:translateY(calc(-30px - var(--card-arc-y, 0px) - 30px)) scale(1.04) rotate(0)}.battle-sim__main{grid-template-columns:clamp(170px,21vw,220px) minmax(0,1fr) clamp(190px,24vw,250px)}.battle-sim__unit-chips,.battle-sim__matchup-line{display:none}.battle-sim__inspector{grid-template-rows:minmax(0,1fr)}.battle-sim__unit-meta{max-height:18px}.battle-sim__bottom-bar{grid-template-columns:86px minmax(0,1fr) 132px}.battle-sim__player-dock{grid-template-columns:1fr;gap:5px;padding:7px}.battle-sim__player-avatar,.battle-sim__player-dock span,.battle-sim__player-dock p{display:none}.battle-sim__action-dock{padding:7px}.battle-sim__action-dock ol{display:none}}@media (max-height: 520px) and (orientation: landscape){.battle-sim{padding:5px}.battle-sim__stage{grid-template-rows:44px minmax(0,1fr) 112px;gap:5px;border-radius:14px}.battle-sim__topbar{grid-template-columns:minmax(120px,1fr) minmax(120px,.8fr) minmax(110px,.7fr);padding:5px 10px}.battle-sim__turn strong{font-size:16px}.battle-sim__turn span,.battle-sim__intent span{display:none}.battle-sim__main{grid-template-columns:86px minmax(0,1fr) 150px;gap:6px;padding:0 6px}.battle-sim__left-shell{grid-template-columns:1fr}.battle-sim__game-nav,.battle-sim__bench,.battle-sim__team-panel header,.battle-sim__team-empty{display:none}.battle-sim__team-slots{display:grid;place-items:center}.battle-sim__team-panel{padding:5px;border-radius:11px}.battle-sim__unit-strip{grid-template-columns:32px;justify-content:center;gap:5px;padding:4px;border-radius:10px}.battle-sim__unit-body,.battle-sim__unit-heading p,.battle-sim__unit-meta{display:none}.battle-sim__unit-heading strong{font-size:10px}.battle-sim__board-shell{padding:2px}.battle-sim__board{--hex-w: clamp(36px, min(7.5vw, 13dvh), 54px)}.battle-sim__hex-coord{display:none}.battle-sim__inspector{grid-template-rows:minmax(42px,1fr);gap:5px;padding:6px}.battle-sim__inspector-head h2{font-size:13px}.battle-sim__inspector-head p,.battle-sim__inspector-head strong,.battle-sim__inspector-block{display:none}.battle-sim__inspector-stats{padding:6px;border-radius:10px}.battle-sim__inspector-stats dl{gap:4px;margin-top:5px}.battle-sim__inspector-stats dl div{padding:4px 2px}.battle-sim__hand{gap:4px}.battle-sim__hand-head{display:none}.battle-sim__bottom-bar{grid-template-columns:50px minmax(0,1fr) 96px;gap:6px;padding:0 6px 6px}.battle-sim__player-dock{display:none}.battle-sim__action-dock{padding:5px}.battle-sim__action-dock>button{min-height:34px;font-size:12px!important}.battle-sim__action-dock>div,.battle-sim__action-dock ol{display:none}.battle-sim__hand-grid{gap:6px}.battle-sim__card-art b,.battle-sim__card-art i{top:5px;padding:3px 6px}.battle-sim__card-art b{left:5px}.battle-sim__card-art i{right:5px}.battle-sim__card-info{padding:5px 7px}.battle-sim__card-info span{display:none}}@media (orientation: portrait){.battle-sim{display:grid;place-items:center;padding:18px}.battle-sim__stage{display:none}.battle-sim__portrait-guard{display:block;max-width:420px;padding:28px;border:1px solid rgba(139,158,181,.28);border-radius:22px;background:#ffffffdb;box-shadow:0 22px 60px #263c5a24;text-align:center}.battle-sim__portrait-guard h1{margin-bottom:10px;color:#182337;font-size:22px}.battle-sim__portrait-guard p{color:#66758c;font-size:14px;line-height:1.7}}.battle-sim__add-unit-btn{position:absolute;top:clamp(8px,1dvh,14px);right:clamp(8px,1vw,14px);z-index:60;padding:5px 12px;border:1px solid rgba(76,180,218,.5);border-radius:8px;background:#f0faffe6;color:#1a80b0;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.battle-sim__add-unit-btn:hover{background:#4cb4da2e;box-shadow:0 2px 8px #4cb4da40}.bsim-picker{position:absolute;top:clamp(40px,6dvh,70px);right:clamp(8px,1vw,14px);z-index:200;width:clamp(220px,22vw,300px);max-height:70dvh;display:flex;flex-direction:column;border:1px solid rgba(139,158,181,.36);border-radius:14px;background:#fffffff5;box-shadow:0 12px 40px #263c5a2e;overflow:hidden}.bsim-picker__header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(139,158,181,.22);background:#f0f8ffe6;flex-shrink:0}.bsim-picker__header strong{flex:1;font-size:13px;color:#1a2e42}.bsim-picker__side-toggle{display:flex;gap:4px}.bsim-picker__side-toggle button{padding:3px 10px;border:1px solid rgba(139,158,181,.4);border-radius:6px;background:transparent;color:#66788a;font-size:11px;cursor:pointer;transition:background .12s,color .12s}.bsim-picker__side-toggle button.is-active{background:#4cb4da2e;border-color:#4cb4da99;color:#1a80b0;font-weight:600}.bsim-picker__close{padding:2px 6px;border:none;background:transparent;color:#8a9aac;font-size:14px;cursor:pointer;border-radius:4px;transition:background .12s}.bsim-picker__close:hover{background:#c8503c1a;color:#c04040}.bsim-picker__hint{padding:6px 12px;font-size:11px;color:#8a9aac;flex-shrink:0;border-bottom:1px solid rgba(139,158,181,.14)}.bsim-picker__grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}.bsim-picker__empty{grid-column:1 / -1;text-align:center;color:#9aabb8;font-size:12px;padding:16px 0}.bsim-picker__card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:1px solid rgba(139,158,181,.28);border-radius:8px;background:#f5faffcc;cursor:grab;transition:background .12s,box-shadow .12s,transform .1s;-webkit-user-select:none;user-select:none}.bsim-picker__card:hover{background:#d2ecf8b3;box-shadow:0 2px 8px #4cb4da33;transform:translateY(-1px)}.bsim-picker__card:active{cursor:grabbing}.bsim-picker__card-img{width:52px;height:52px;border-radius:6px;overflow:hidden;background:#c8d7e666;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bsim-picker__card-img img{width:100%;height:100%;object-fit:cover}.bsim-picker__card-img>span:not(.progressive-image){font-size:16px;font-weight:700;color:#4a7fa0}.bsim-picker__card p{font-size:10px;color:#3a5060;text-align:center;line-height:1.3;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
