.duel-mode #app{max-width:1160px;margin:0 auto;padding:18px 24px 24px}.duel-mode .topbar{height:64px}.duel-mode .brand small{letter-spacing:3px}.duel-mode .run-status{font:10px var(--font);color:#9ab8c8}.duel-home{min-height:calc(100dvh - 130px);display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;padding:30px}.duel-title small{color:#76b9c8;font:10px var(--font);letter-spacing:3px}.duel-title h1{font:clamp(54px,8vw,100px)/.99 var(--font);letter-spacing:-3px;margin:24px 0;color:#e7ffff;text-shadow:0 0 42px #5bd6ff33}.duel-title em{font-style:normal;color:#73ddf3}.duel-title p{font-size:12px;color:#9bb0bc;line-height:1.9;max-width:290px}.duel-launch{display:grid;gap:14px}.duel-sectors{display:grid;gap:8px}.duel-sectors button{display:flex;align-items:center;gap:16px;text-align:left;background:#09131d;border:1px solid #254050;padding:18px;font:22px var(--font);color:#8db8ca}.duel-sectors span{font-size:11px;letter-spacing:1px}.duel-sectors button.selected{border-color:#6cdbed;background:#12303c}.duel-decks{display:flex;gap:8px}.duel-decks button{flex:1;min-width:0;background:#0b1520;border:1px solid #283947;padding:14px 6px;color:var(--accent);font:10px var(--font);letter-spacing:1px}.duel-decks span{display:block;font:11px var(--ko);margin-top:8px;color:#91a7b7}.duel-decks .selected{border-color:var(--accent);box-shadow:inset 0 -2px var(--accent),0 0 20px #0005}.launch-duel{height:60px;font-size:18px}.duel-version{font:9px var(--font);text-align:center;color:#496271;letter-spacing:3px}.duel-match-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.turn-indicator{font:11px var(--font);color:#eaaa82;letter-spacing:2px}.turn-indicator.ours{color:#6fe4f4}.battle-layout{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.25fr) minmax(240px,1.3fr);gap:22px;align-items:center}.opponent-panel{max-width:260px}.pilot-panel{max-width:330px;width:100%}.pilot-health{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;color:#8ae5f0;font:12px var(--font);margin-bottom:10px}.pilot-health>span{font-size:11px;letter-spacing:1px;align-self:center}.pilot-health b{font-weight:500}.pilot-health small{font-size:9px;color:#638393}.pilot-health.hostile{color:#ffae85}.duel-hp{grid-column:1/-1;height:4px;background:#22303a}.duel-hp i{display:block;height:100%;background:currentColor;box-shadow:0 0 12px currentColor;transition:width .25s}.pilot-health em{position:absolute;right:0;top:36px;color:#60dfff;font-style:normal;font-size:10px}.own-power,.enemy-power{display:flex;justify-content:space-between;margin:15px 0 10px;font:12px var(--font);color:#80e2f0}.own-power>span:last-child,.enemy-power>span{color:#829eab;font:10px var(--ko)}.enemy-power{padding-right:40px}.duel-board{position:relative;aspect-ratio:1;background:#08111a;border:1px solid #344956;border-radius:5px;box-shadow:0 0 35px #6dd8f007,inset 0 0 40px #03070b;isolation:isolate;touch-action:manipulation}.duel-cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}.duel-cell{background:transparent;border:1px solid #293a4660;min-width:0;min-height:0;padding:0;border-radius:0;z-index:1}.duel-cell:hover{background:#60dfff12}.duel-cell.valid{background:#74edba32;border-color:#9bedc7}.duel-cell.invalid{background:#ed6a8430;border-color:#d1697c}.duel-pieces{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.duel-piece rect{fill:var(--accent);fill-opacity:.11;stroke:var(--accent);stroke-width:1;filter:drop-shadow(0 0 2px var(--accent))}.duel-piece path{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.duel-piece text{fill:white;font:9px var(--font)}.duel-piece.retained rect{stroke-width:1.8}.duel-piece .retain-mark{stroke-width:2.5}.duel-piece.lit rect{fill-opacity:.3;stroke:#efffff;stroke-width:1.6}.duel-wire{fill:none;stroke:#5d8d9c;stroke-width:2;stroke-linecap:round;stroke-dasharray:2 5}.duel-wire.live{stroke:#b5faff;filter:drop-shadow(0 0 3px #71dff3)}.empty-circuit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#5d7a8a;pointer-events:none}.opponent-board{opacity:.88}.hull-target{width:100%;background:#111820;border:1px solid #554338;color:#cfa087;font-size:10px;padding:9px;margin-top:10px}.hull-target.selected{border-color:#ffc29a;color:#ffe2c8}.duel-stage{height:340px;position:relative;min-width:0}.duel-stage canvas{width:100%;height:100%;display:block}.duel-impact{position:absolute;left:0;right:0;top:48%;text-align:center;font:20px var(--font);color:#d5fbff;letter-spacing:2px;text-shadow:0 0 20px #6bddff}.duel-hand{margin-top:20px;border-top:1px solid #293c48;padding-top:12px}.hand-caption{display:flex;justify-content:space-between;align-items:center;font:9px var(--font);color:#6e8fa0;letter-spacing:1px;margin-bottom:9px}.hand-caption b{font-size:13px;color:#b7eaf1;margin-left:8px}.hand-cards{display:flex;gap:8px;overflow-x:auto;padding:4px 3px 9px;scrollbar-width:thin;scrollbar-color:#36505e transparent;min-height:114px}.duel-card{position:relative;flex:0 0 106px;min-height:104px;background:linear-gradient(150deg,#13202c,#08121a);border:1px solid #314651;border-radius:4px;padding:12px 6px 6px;text-align:center;color:var(--accent);box-shadow:inset 0 -2px #ffffff06}.duel-card:hover{border-color:var(--accent)}.duel-card.selected,.bonus-choices .chosen .duel-card{border-color:var(--accent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 -3px var(--accent);background:#19303d;transform:translateY(-3px)}.duel-card>svg:not(.piece-shape){width:27px;height:27px;display:block;margin:0 auto 8px;filter:drop-shadow(0 0 4px var(--accent))}.duel-card>span{display:block;font:10px var(--ko);white-space:nowrap;color:#dbeaf0}.duel-card>small{font-size:8px;color:#8babbc;position:absolute;right:6px;top:7px}.card-cost{position:absolute;left:7px;top:6px;font:11px var(--font);color:#c7f6ff}.piece-shape{width:37px!important;height:23px!important;margin-top:4px;fill:var(--accent);fill-opacity:.16;stroke:var(--accent);stroke-width:1}.hand-empty{padding:28px 10px;color:#7f9cad;font-size:11px}.duel-inspector{display:flex;align-items:center;gap:14px;min-height:45px;padding:10px 0;color:#b4cbd6;font-size:11px}.duel-inspector strong{font-weight:400;white-space:nowrap}.duel-inspector>span{font-size:10px;color:#91a9b8}.duel-preview{margin-left:auto;color:#b9f1ed!important;white-space:nowrap}.duel-preview small{display:block;font-size:8px;color:#809cac;margin-top:4px}.duel-controls{display:flex;gap:8px;padding:10px 0 4px;border-top:1px solid #283e4a;position:sticky;bottom:0;background:#060e16ee;z-index:5;backdrop-filter:blur(12px)}.duel-controls button{min-height:46px;white-space:nowrap;font-size:12px}.duel-controls small{font:10px var(--font);opacity:.65;margin-left:4px}.fire-action{flex:1}.pass-action{background:none;border:1px solid #2d4553;color:#92afc1;padding:10px 18px;margin-left:auto}.duel-guide{display:flex;gap:12px;align-items:center;padding:10px 12px;margin-bottom:14px;background:#0b252f;border-left:2px solid #7df0f0;font-size:11px;line-height:1.7;color:#b3e3e7}.duel-guide b{font:10px var(--font);white-space:nowrap}.duel-guide button{margin-left:auto;background:none;padding:2px 6px;color:#9ec7cf}.duel-end,.supply-overlay{position:fixed;inset:64px 0 0;z-index:12;display:flex;justify-content:center;align-items:center;background:#02070ad9;backdrop-filter:blur(8px);padding:18px;overflow:auto}.duel-end>div{max-width:440px;width:100%;text-align:center;background:#08151f;border:1px solid #345160;padding:36px 26px}.duel-end h2{font-size:32px;color:#baf3ff;margin:18px 0}.duel-end p{font-size:11px;color:#9ab3c3;line-height:1.9;margin-bottom:24px}.duel-end .duel-decks{margin-bottom:25px}.duel-end .secondary{margin-left:8px}.supply-machine{position:relative;width:min(600px,100%);padding:20px 46px 24px;border:1px solid #528192;border-radius:18px;background:radial-gradient(ellipse at 50% 0,#19465244,transparent 65%),#07121b;box-shadow:0 0 0 6px #07121b,0 0 0 7px #203746,0 0 70px #55cee41a,inset 0 0 32px #000}.cabinet-crown{display:flex;align-items:center;gap:18px;margin:4px 0 22px}.cabinet-crown h2{font:23px var(--font);letter-spacing:7px;color:#d6ffff;text-shadow:0 0 18px #50e5fb}.cabinet-crown i{height:2px;flex:1;background:linear-gradient(90deg,#60dfff,#b398ff,#ffba79);box-shadow:0 0 12px #84dfff;animation:cabinet-light 5s linear infinite}.cabinet-reels{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:3px;border:1px solid #65bfd0;background:#03090e;padding:8px;position:relative;overflow:hidden;box-shadow:0 0 22px #60dfff16,inset 0 0 25px #000}.supply-symbol{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(#0c1d27,#15364455,#0b141f);color:var(--accent);border:1px solid #29424e60}.supply-symbol svg{width:55%;height:55%;fill:none;stroke:currentColor;stroke-width:1.3;filter:drop-shadow(0 0 5px currentColor)}.supply-symbol.win{border-color:#ecffff;box-shadow:inset 0 0 20px #8af3ff55;animation:matched-cell .5s ease-out both;animation-delay:var(--delay)}.reel-glass{pointer-events:none;position:absolute;inset:0;background:linear-gradient(#0007,transparent 25%,transparent 75%,#0007)}.cabinet-handle{position:absolute;right:14px;top:95px;width:18px;height:90px}.cabinet-handle i{height:69px;width:3px;background:#afdff0;box-shadow:0 0 8px #51cfff;display:block;margin:auto;transform-origin:50% 100%}.cabinet-handle b{position:absolute;top:-5px;left:1px;width:16px;height:16px;border:2px solid #d9fffc;transform:rotate(45deg);background:#28687a;box-shadow:0 0 10px #65dcff}.spinning .cabinet-handle{animation:pull-handle .62s ease-in-out}.spinning .supply-symbol{animation:reel-flutter .07s infinite alternate}.supply-spin{display:block;position:relative;width:70%;min-height:75px;margin:14px auto 0;border-radius:12px;border:2px solid #c2fbff;border-bottom:7px solid #2c8b9a;background:radial-gradient(ellipse at 50% 0,#358398,#103e50 70%);box-shadow:0 0 5px #76f0ff,0 0 30px #60dfff3b,inset 0 2px 6px #d6ffff40;color:#e8ffff}.supply-spin span{font:27px var(--font);letter-spacing:4px;text-shadow:0 0 14px #a6fbff}.supply-spin small{display:block;font:8px var(--font);letter-spacing:3px;margin-top:5px;color:#9ddbe6}.supply-spin:active{border-bottom-width:3px;transform:translateY(4px)}.supply-result{text-align:center;min-height:30px;padding-top:14px}.supply-caption{font-size:10px;color:#89a8b8}.supply-cards{display:flex;gap:14px;justify-content:center}.supply-cards>span{color:var(--accent);flex:1;max-width:85px}.supply-cards svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.supply-cards small{display:block;font-size:9px;margin-top:6px;white-space:nowrap}.choice-label{font-size:11px;color:#b5eae9;margin:15px 0 10px}.bonus-choices{display:flex;gap:8px;justify-content:center}.bonus-choices>div{flex:1;max-width:115px}.bonus-choices .duel-card{width:100%;min-height:93px}.reroll-tools{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.reroll-tools button{background:#10212c;border:1px solid #3a5869;padding:7px;font-size:9px;color:#9dccda}.reroll-tools small{margin-left:auto;align-self:center;color:#658fa2;font-size:9px}.duel-codex{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0}.duel-codex button{padding:12px 4px;background:#10212e;color:var(--accent);border:1px solid #30414d}.duel-codex button.selected{border-color:var(--accent)}.duel-codex span{display:block;font-size:9px;margin-top:5px}.codex-detail{border-left:2px solid var(--accent);padding:14px}.codex-detail h3{font:15px var(--ko);color:var(--accent)}.codex-detail p{margin:14px 0;font-size:12px;line-height:1.8}.codex-detail small{color:#91a9b8;font-size:10px}.legacy-link{display:block;color:#8aa7ba;font-size:11px;margin-top:25px}.confirm-copy{font-size:12px;line-height:1.9;margin:25px 0}.pulse-piece rect{animation:piece-discharge .45s ease-out}.low-motion *{animation:none!important;scroll-behavior:auto!important}.low-motion .duel-hp i{transition:none}
@keyframes piece-discharge{0%{fill-opacity:.8;stroke:white;filter:drop-shadow(0 0 8px white)}100%{fill-opacity:.1}}@keyframes reel-flutter{to{transform:translateY(3px);filter:blur(1px)}}@keyframes pull-handle{50%{transform:translateY(28px) scaleY(.65)}}@keyframes cabinet-light{to{filter:hue-rotate(360deg)}}@keyframes matched-cell{0%{filter:brightness(4)}100%{filter:brightness(1)}}
.ghost-piece path{fill:none;stroke:var(--accent);stroke-width:1.8;filter:drop-shadow(0 0 4px var(--accent))}.ghost-wire{animation:wire-travel 1s linear infinite}.prepared-threat{min-height:27px;padding-top:8px;color:#ad9c91;font-size:9px;line-height:1.4}.prepared-threat b{color:#ffad83;font:13px var(--font)}.duel-arrival{position:fixed;inset:90px 0 auto;z-index:10;text-align:center;pointer-events:none;padding:20px;background:linear-gradient(90deg,transparent,#171c26dd,transparent);animation:signal-arrival 2.1s ease-out both}.duel-arrival small{font:9px var(--font);letter-spacing:5px;color:#f7b79c}.duel-arrival h2{font:32px var(--font);color:#ffccb3;text-shadow:0 0 26px #ff7347aa;margin:12px}.duel-arrival p{color:#c5b8ab;font-size:12px}.supply-reel-area{position:relative;padding-left:28px}.row-rerolls{position:absolute;left:0;top:0;bottom:0;display:grid;gap:4px;width:25px}.row-rerolls button,.col-rerolls button{background:#102531;border:1px solid #375b6a;color:#a8e5ef;font:16px var(--font);min-height:34px;padding:3px}.row-rerolls:has(+.cabinet-reels+.col-rerolls){bottom:39px}.col-rerolls{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;margin-top:5px}.spinning .supply-symbol{animation-delay:.62s}.spinning .supply-symbol.reel-settled{animation:reel-brake .32s cubic-bezier(.15,.7,.25,1) both;filter:none}.supply-overlay,.duel-end{align-items:safe center}.supply-caption{display:block;line-height:1.7}.duel-controls{padding-bottom:max(5px,env(safe-area-inset-bottom))}
@keyframes wire-travel{to{stroke-dashoffset:-14}}@keyframes signal-arrival{0%{opacity:0;transform:translateY(-14px)}20%,80%{opacity:1;transform:none}100%{opacity:0}}@keyframes reel-brake{0%{transform:translateY(6px)}50%{transform:translateY(-4px)}76%{transform:translateY(1px)}100%{transform:none}}
.duel-piece.spent{opacity:.46}.action-recap{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spinning.row-spin .supply-symbol{animation-name:row-flutter}.spinning.row-spin .supply-symbol.reel-settled{animation-name:reel-brake}@keyframes row-flutter{to{transform:translateX(3px);filter:blur(1px)}}
.spinning .supply-symbol.held{animation:none}
.choice-detail{color:#b0cbd7;font-size:10px;line-height:1.6;margin:10px 0 0}.col-rerolls button{min-height:40px}.row-rerolls:has(+.cabinet-reels+.col-rerolls){bottom:45px}
.guide-dismiss{margin-left:auto;color:#9dc8d3;background:none;min-width:28px;min-height:28px;padding:2px;font-size:16px}
.game-suspended *{animation-play-state:paused!important}
@media(max-width:760px) and (orientation:portrait){.hand-cards{scrollbar-width:none;overflow-y:hidden}.hand-cards::-webkit-scrollbar{display:none}}
@media(max-width:760px){.duel-mode #app{padding:12px 14px 15px}.duel-mode .topbar{height:54px;padding:0 14px}.duel-mode .brand{font-size:12px}.duel-mode .run-status{font-size:8px}.duel-home{grid-template-columns:1fr;gap:35px;padding:25px 12px}.duel-title h1{font-size:68px;line-height:.95;margin:20px 0}.duel-title p{max-width:none;font-size:11px}.duel-title small{font-size:8px}.battle-layout{grid-template-columns:1fr 1fr;grid-template-areas:'enemy arena' 'pilot pilot';gap:12px 16px}.opponent-panel{grid-area:enemy;max-width:180px;width:100%}.duel-stage{grid-area:arena;height:230px}.pilot-panel{grid-area:pilot;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,250px);gap:0 14px;align-items:start}.pilot-panel .duel-board{grid-column:2;grid-row:1/4}.pilot-panel .pilot-health{grid-column:1;display:flex;flex-direction:column;margin-top:20px;gap:10px}.pilot-panel .pilot-health>span{font-size:9px}.pilot-panel .pilot-health>b{font-size:20px;align-self:center}.pilot-panel .pilot-health em{position:static;text-align:center}.pilot-panel .own-power{grid-column:1;flex-direction:column;gap:12px;text-align:center;font-size:18px;margin:14px 0}.pilot-panel .own-power>span:last-child{font-size:8px}.duel-hand{margin-top:13px;padding-top:9px}.hand-cards{min-height:106px;gap:6px}.duel-card{flex-basis:88px;min-height:94px}.duel-card>span{font-size:9px}.duel-card>svg:not(.piece-shape){width:24px;height:24px;margin-bottom:6px}.duel-inspector{flex-wrap:wrap;gap:5px 10px;min-height:43px;padding:8px 0}.duel-inspector>span{font-size:9px}.duel-preview{margin-left:0}.duel-preview small{display:inline;margin-left:8px}.duel-controls{gap:5px;padding-top:8px}.duel-controls button{font-size:10px;min-height:45px;padding:8px 10px}.duel-controls .icon-button{padding:4px;min-width:27px}.duel-controls .pass-action{padding:8px 10px}.duel-guide{font-size:10px;margin-bottom:8px;padding:7px 9px;gap:8px}.duel-match-head{margin-bottom:5px}.duel-match-head .text-button{padding:5px;font-size:9px}.turn-indicator{font-size:9px}.duel-end,.supply-overlay{inset:54px 0 0;padding:14px}.supply-machine{padding:16px 29px 20px;border-radius:12px}.cabinet-crown{gap:10px;margin:4px 0 15px}.cabinet-crown h2{font-size:19px;letter-spacing:4px}.cabinet-handle{right:7px;width:13px;top:88px}.cabinet-handle b{width:12px;height:12px;left:0}.supply-spin{width:85%;min-height:68px}.supply-spin span{font-size:24px}.bonus-choices{gap:5px}.supply-cards{gap:4px}.supply-cards small{font-size:8px}.duel-impact{font-size:14px}.duel-codex{grid-template-columns:repeat(3,1fr)}}
@media(max-width:359px){.duel-mode #app{padding:9px 10px}.duel-mode .brand small{display:none}.duel-mode .run-status{font-size:7px}.battle-layout{gap:10px}.duel-stage{height:210px}.pilot-panel{grid-template-columns:minmax(65px,1fr) minmax(180px,210px);gap:0 8px}.pilot-health>span{font-size:9px}.pilot-health b{font-size:11px}.duel-controls button{padding:8px 7px;font-size:9px}.supply-machine{padding:14px 24px 18px}.duel-decks button{font-size:9px}.duel-home{padding:20px 8px}}
@media(max-height:520px) and (orientation:landscape){.battle-layout{grid-template-areas:none;grid-template-columns:1fr 1fr 1.2fr;gap:15px}.opponent-panel,.duel-stage,.pilot-panel{grid-area:auto}.pilot-panel{display:block;max-width:240px}.pilot-panel .pilot-health{display:grid;margin:0 0 7px}.pilot-panel .pilot-health>b{font-size:12px}.pilot-panel .own-power{flex-direction:row;font-size:12px;margin:10px 0}.duel-stage{height:270px}.supply-overlay{align-items:flex-start}.supply-machine{max-width:440px}.supply-symbol{max-height:65px}.duel-home{grid-template-columns:1fr 1fr;gap:25px}.duel-title h1{font-size:55px}}
@media(max-width:760px) and (orientation:portrait){.battle-layout{grid-template-areas:'arena arena' 'enemy pilot';gap:8px 16px;align-items:start}.duel-stage{height:126px}.opponent-panel,.pilot-panel{display:block;max-width:none}.pilot-panel .pilot-health{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0 0 10px}.pilot-panel .pilot-health>span{font-size:9px}.pilot-panel .pilot-health>b{font-size:12px}.pilot-panel .pilot-health em{position:absolute;right:0;top:33px}.pilot-panel .own-power{display:flex;flex-direction:row;gap:2px;margin:12px 0 8px;font-size:12px}.pilot-panel .own-power>span:last-child{font-size:8px}.enemy-power{margin:12px 0 8px;padding-right:28px;font-size:12px}.enemy-power>span{font-size:8px}.pilot-health>span{font-size:9px}.pilot-health small{font-size:8px}.prepared-threat{font-size:8px;min-height:22px}.hull-target{padding:6px;margin-top:4px;min-height:31px}.hand-cards{min-height:95px}.duel-card{min-height:88px}.duel-hand{margin-top:6px}.duel-inspector{font-size:10px}.duel-arrival{inset:85px 0 auto}.duel-arrival h2{font-size:25px}.supply-reel-area{padding-left:23px}.row-rerolls{width:21px}.row-rerolls button{font-size:13px}.col-rerolls button{font-size:13px}.supply-machine{padding-left:13px;padding-right:25px}.supply-cards small{white-space:normal}}
@media(max-width:359px) and (orientation:portrait){.battle-layout{gap:6px 10px}.duel-stage{height:100px}.duel-mode .run-status{font-size:6px}.duel-guide{font-size:9px}.duel-controls small{font-size:8px;margin-left:1px}.duel-controls button{padding:8px 5px}.pilot-health b,.pilot-panel .pilot-health>b{font-size:10px}.duel-mode .topbar{padding:0 10px}}
@media(max-height:680px) and (max-width:760px) and (orientation:portrait){.duel-mode .topbar{height:44px}.duel-mode #app{padding:6px 10px}.duel-match-head .text-button{min-height:24px;height:24px;padding:3px}.duel-stage{height:70px}.pilot-health,.pilot-panel .pilot-health{gap:4px;margin-bottom:4px}.pilot-panel .own-power,.enemy-power{margin:8px 0 6px;font-size:10px}.prepared-threat{min-height:16px;padding-top:4px;font-size:8px}.hull-target{min-height:26px;padding:4px;margin-top:0}.duel-hand{margin-top:4px;padding-top:4px}.hand-caption{margin-bottom:3px;line-height:12px}.hand-caption b{font-size:10px}.hand-cards{height:82px;min-height:82px;padding:3px 2px 4px}.duel-card{height:75px;min-height:75px;padding:8px 4px 4px;flex-basis:82px}.duel-card>svg:not(.piece-shape){width:20px;height:20px;margin:0 auto 3px}.duel-card>span{font-size:8px}.duel-card .piece-shape{height:16px!important;margin-top:3px}.duel-inspector{min-height:28px;padding:4px 0;gap:3px 8px}.duel-inspector>span{font-size:8px}.duel-controls{padding-top:6px}.duel-controls button{min-height:40px;padding:6px}.supply-overlay,.duel-end{inset:44px 0 0}.duel-guide{margin-bottom:4px;padding:4px 7px;font-size:8px}.supply-machine .duel-card{height:85px;min-height:85px}.supply-machine .duel-card>span{font-size:9px}}
@media(max-height:680px) and (max-width:760px) and (orientation:portrait){.duel-mode #app{padding-bottom:0}.battle-layout{row-gap:4px}}
@media(min-width:761px) and (min-height:501px) and (max-height:850px){.duel-mode #app{padding:8px 24px 8px}.battle-layout{grid-template-columns:minmax(160px,200px) minmax(160px,1fr) minmax(180px,220px)}.pilot-panel{max-width:220px}.opponent-panel{max-width:200px}.duel-stage{height:260px}.duel-hand{margin-top:8px}.hand-cards{height:100px;min-height:100px}.duel-card{height:90px;min-height:90px;padding-top:8px}.duel-card>svg:not(.piece-shape){width:24px;height:24px;margin-bottom:5px}.duel-card .piece-shape{height:19px!important}.hand-cards{overflow-y:hidden;scrollbar-width:none}.hand-cards::-webkit-scrollbar{display:none}}
@media(max-height:500px) and (min-width:600px) and (orientation:landscape){.duel-mode .topbar{height:44px;padding:0 18px}.duel-mode #app{padding:6px 18px 0}.duel-screen{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:5px 18px}.duel-guide{grid-column:1/-1;margin:0;padding:3px 8px;font-size:9px}.duel-match-head{grid-column:1/-1;margin:0;height:24px}.duel-match-head .text-button{min-height:24px;height:24px;font-size:9px;padding:3px}.battle-layout{grid-column:1;grid-row:2/4;display:grid;grid-template-columns:150px minmax(80px,1fr) 150px;gap:7px;align-items:center}.opponent-panel,.pilot-panel{max-width:150px;display:block}.duel-stage{height:216px}.pilot-health,.pilot-panel .pilot-health{gap:5px;margin:0 0 7px}.pilot-health>span,.pilot-panel .pilot-health>span{font-size:8px}.pilot-health b,.pilot-panel .pilot-health>b{font-size:10px}.own-power,.pilot-panel .own-power,.enemy-power{margin:8px 0 7px;font-size:10px}.prepared-threat{font-size:8px;min-height:19px;padding-top:5px}.hull-target{min-height:26px;margin-top:3px;padding:4px}.duel-hand{grid-column:2;grid-row:2;margin:0;padding:0;border:0}.hand-caption{margin-bottom:4px;line-height:15px}.hand-cards{flex-wrap:wrap;align-content:start;max-height:164px;min-height:0;overflow-y:auto;padding:3px;gap:5px}.duel-card{flex:1 0 60px;min-height:73px;height:73px;padding:8px 3px 3px}.duel-card>svg:not(.piece-shape){width:19px;height:19px;margin:0 auto 3px}.duel-card>span{font-size:8px}.duel-card .piece-shape{height:16px!important;margin-top:3px}.duel-inspector{grid-column:2;grid-row:3;align-content:center;align-items:start;flex-wrap:wrap;gap:3px;font-size:10px;min-height:43px;padding:0}.duel-inspector>span{font-size:9px}.duel-preview{margin-left:0}.duel-controls{grid-column:1/-1;grid-row:4;padding-top:6px}.duel-controls button{min-height:40px;padding:6px 12px}.duel-screen:has(.duel-guide) .battle-layout{grid-row:3/5}.duel-screen:has(.duel-guide) .duel-hand{grid-row:3}.duel-screen:has(.duel-guide) .duel-inspector{grid-row:4}.duel-screen:has(.duel-guide) .duel-controls{grid-row:5}.supply-overlay,.duel-end{inset:44px 0 0}}
