/* Larger interaction targets, with payment confirmation beside the selected resource. */
.battle-board{grid-template-rows:minmax(225px,1fr) 43px minmax(225px,1fr) 115px;gap:3px;padding:5px 12px 0}
.player-mat{grid-template-columns:100px minmax(0,1fr) 58px;grid-template-rows:18px minmax(114px,1fr) 82px;gap:4px 8px;padding:4px 8px;--shield-step:6px}
.enemy-mat{grid-template-rows:18px 82px minmax(114px,1fr)}
.combat-lane{padding:0 3px 7px}.unit-slots{gap:4px;max-width:740px;margin:auto}.slot{height:100%;max-height:136px}.unit-wrap{width:80%;max-width:80px!important}.base-zone .unit-wrap{width:46px;max-width:46px!important}.protection{gap:5px;padding-right:5px}.base-zone .empty-base{height:64px}.shield-stack{width:65px;min-height:112px}.shield{width:64px;height:87px;top:calc(var(--i)*var(--shield-step));border-color:#90b9d6}.shield span{font-size:11px;padding:8px 6px}.shield small{font-size:10px;bottom:6px;right:7px}.zone-label{font-size:10px;letter-spacing:1px}.shield-zone{min-height:124px}.own-mat .shield{top:calc((var(--count) - 1 - var(--i))*var(--shield-step))}.base-zone .stats{bottom:-6px}.base-zone .stats b{min-width:20px}
.resource-zone{padding:4px 9px}.resource-heading{font-size:11px;min-height:24px;justify-content:flex-start;gap:22px}.resource-heading b{font-size:10px;letter-spacing:1px}.resource-line{min-height:48px;gap:11px}.resource-deck{width:30px;height:43px;font-size:13px}.resource-deck small{font-size:10px;padding:1px 3px;right:-4px}.resources{gap:7px;flex:1;min-width:0;max-width:720px}.resource{width:40px;height:48px;min-width:24px;flex:0 1 40px;border-radius:5px;font-size:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.resource small{font:8px monospace;opacity:.8}.resource.rested{transform:rotate(90deg) scale(.75);opacity:.42}.resource.pay{transform:translateY(-3px);border-color:#fff1ac;box-shadow:0 0 0 2px #ffe18c,0 0 18px #ffe18c66}.resource.ex span{font:700 12px monospace}.resource.available:hover{background:#68a69d;box-shadow:0 0 0 2px #fff2ad}.payment-progress{font-size:11px;color:#ffe49b;font-weight:600}.choosing-payment{z-index:120;background:#213b4d;margin:0;min-height:0}.payment-controls.near-resources{position:absolute;top:-48px;left:clamp(92px,var(--pay-x),calc(100% - 92px));transform:translateX(-50%);padding:5px;background:#192e42fa;border:1px solid #e6cc7c;border-radius:7px;box-shadow:0 6px 22px #0008;gap:6px;z-index:125}.payment-controls.near-resources:after{content:'';position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#192e42;transform:rotate(45deg);border-right:1px solid #e6cc7c;border-bottom:1px solid #e6cc7c}.payment-controls button{font-size:11px;padding:7px 12px;min-height:32px;white-space:nowrap}.payment-controls .primary{min-width:104px}.command-bar{padding:4px 10px}.phase-readout{font-size:11px}.phase-readout small{font-size:9px}.hand-card{width:112px;height:157px;bottom:-43px}.pair-pointer{position:absolute;left:calc(50% - 8px);top:-26px;font:18px monospace;color:#adc5d6;z-index:15;pointer-events:none;animation:pairBob .9s ease-in-out infinite}.pair-pointer.matching{color:#b8ffe8;filter:drop-shadow(0 0 5px #76fbd5)}.link-candidate .candidate{top:-13px;font-size:7px;background:#103a36}.pair-host .card{outline-offset:2px}.shield-taken{opacity:0!important}
.card-spotlight{position:fixed;inset:0;z-index:280;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0b1b2eec,transparent 75%);padding:22px;pointer-events:none}.spotlight-panel{display:grid;grid-template-columns:190px minmax(0,1fr);gap:27px;align-items:center;max-width:680px;width:100%;padding:25px;background:#142e46f5;border:1px solid #9ed9f7a6;border-radius:12px;box-shadow:0 0 70px #61bbec38,0 20px 80px #0009;animation:spotlightIn .2s ease-out}.spotlight-panel>img{width:190px;aspect-ratio:5/7;object-fit:cover;border-radius:8px;box-shadow:0 8px 30px #0009}.spotlight-owner{font-size:12px;font-weight:800;letter-spacing:1px;color:#9de8ff;margin-bottom:12px}.spotlight-owner.enemy{color:#ffbd9e}.spotlight-copy small{font:11px monospace;color:#acc2d5}.spotlight-copy h2{font-size:24px;letter-spacing:-.8px;margin:9px 0 16px;line-height:1.35}.spotlight-copy p{white-space:pre-line;font-size:13px;line-height:1.9;color:#dfedf6;margin:0;max-height:260px;overflow:hidden}.spotlight-progress{display:block;height:2px;background:#a2e8ff;margin-top:18px;transform-origin:left;animation:spotlightProgress var(--spotlight-duration,2s) linear both}.hidden-flying-card{position:fixed;z-index:280;width:64px;height:88px;display:grid;place-content:center;color:#b7d9ef;font:900 14px monospace;border:1px solid #a7cce2;border-radius:5px;background:repeating-linear-gradient(135deg,#315370 0 1px,#10293f 1px 7px);box-shadow:0 5px 18px #0008;pointer-events:none}.effect-notice{bottom:26%}
@keyframes pairBob{0%,100%{translate:0 -3px;opacity:.6}50%{translate:0 4px;opacity:1}}@keyframes spotlightIn{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:none}}@keyframes spotlightProgress{to{transform:scaleX(0)}}
@media(min-height:850px){.battle-board{grid-template-rows:minmax(265px,1fr) 46px minmax(265px,1fr) 148px}.player-mat{grid-template-columns:112px minmax(0,1fr) 64px;grid-template-rows:20px minmax(155px,1fr) 87px;--shield-step:11px}.enemy-mat{grid-template-rows:20px 87px minmax(155px,1fr)}.unit-wrap{max-width:100px!important}.base-zone .unit-wrap{width:53px;max-width:53px!important}.shield{width:70px;height:96px}.shield-stack{width:72px;min-height:151px}.shield-zone{min-height:163px}.hand-card{width:130px;height:182px}}
@media(max-width:1100px){.player-mat{grid-template-columns:82px minmax(0,1fr) 43px;gap:4px 6px;padding:4px 6px}.resource{width:36px;flex-basis:36px;min-width:21px;height:46px}.resources{gap:6px}.resource-heading{font-size:10px;gap:10px}.resource-zone{padding:4px 6px}.unit-wrap{max-width:76px!important}.shield{width:59px;height:82px}.shield-stack{width:60px}.base-zone .unit-wrap{width:44px;max-width:44px!important}}
@media(max-width:740px){.battle-board{grid-template-rows:minmax(225px,1fr) 44px minmax(225px,1fr) 104px;padding:3px 4px 0;gap:3px}.player-mat{grid-template-columns:59px minmax(0,1fr) 29px;grid-template-rows:17px minmax(100px,1fr) 92px;gap:3px 4px;padding:3px 4px;--shield-step:8px}.enemy-mat{grid-template-rows:17px 92px minmax(100px,1fr)}.shield{width:47px;height:65px}.shield-stack{width:48px;min-height:105px}.shield-zone{min-height:116px}.shield span{font-size:8px;padding:5px}.shield small{font-size:8px;bottom:4px;right:4px}.zone-label{font-size:8px;letter-spacing:0}.base-zone .unit-wrap{width:35px;max-width:35px!important}.base-zone .empty-base{height:48px}.protection{padding-right:2px;gap:4px}.resource-heading{font-size:8px;gap:5px;min-height:20px;flex-wrap:wrap}.resource-heading b{font-size:8px;letter-spacing:0}.resource-line{gap:6px;align-items:center;min-height:63px}.resource-zone{padding:3px 4px}.resources{display:flex;flex-wrap:wrap;gap:4px;max-width:none}.resource{width:27px;flex:0 0 27px;min-width:27px;height:30px;font-size:13px;border-radius:4px}.resource small{font-size:6px}.resource-deck{width:20px;height:30px;font-size:9px}.resource-deck small{font-size:8px}.resource.rested{transform:rotate(90deg) scale(.8)}.choosing-payment{margin:0;min-height:0}.choosing-payment .resource-heading{min-height:20px;flex-wrap:nowrap}.payment-progress{font-size:8px}.payment-controls.near-resources{top:-47px;padding:5px;left:clamp(83px,var(--pay-x),calc(100% - 83px))}.payment-controls button{font-size:10px;min-width:40px;min-height:31px;padding:6px 9px}.payment-controls .primary{min-width:94px}.combat-lane{padding:0 0 8px}.unit-slots{gap:2px}.unit-wrap{width:95%;max-width:52px!important}.unit-wrap .card .ko-label{font-size:6px}.unit-wrap .stats{font-size:9px}.slot{max-height:none}.pair-pointer{font-size:15px;top:-22px;left:calc(50% - 7px)}.link-candidate .candidate{font-size:5px;top:-11px}.hand-card{width:88px;height:123px;bottom:-29px}.spotlight-panel{grid-template-columns:110px minmax(0,1fr);gap:15px;padding:17px}.spotlight-panel>img{width:110px}.spotlight-copy h2{font-size:17px;margin:7px 0 9px}.spotlight-owner{font-size:10px;margin-bottom:7px}.spotlight-copy p{font-size:10px;max-height:310px;line-height:1.8}.spotlight-copy small{font-size:9px}.card-spotlight{padding:12px}}
@media(max-height:650px) and (min-width:741px){.battle-board{grid-template-rows:minmax(196px,1fr) 40px minmax(196px,1fr) 93px}.player-mat{grid-template-rows:16px minmax(95px,1fr) 72px;--shield-step:4px}.enemy-mat{grid-template-rows:16px 72px minmax(95px,1fr)}.unit-wrap{max-width:64px!important}.base-zone .unit-wrap{width:36px;max-width:36px!important}.shield{height:66px;width:49px}.shield-stack{width:50px;min-height:86px}.shield-zone{min-height:98px}.resource{height:40px;width:35px;flex-basis:35px}.resource-heading{min-height:20px}.resource-line{min-height:40px}.hand-card{width:98px;height:137px}}
@media(prefers-reduced-motion:reduce){.pair-pointer,.spotlight-panel{animation:none}}
.builder-link{display:inline-flex;align-items:center;border:1px solid #8dd4e55c;border-radius:5px;padding:6px 13px;text-decoration:none;font-size:12px;font-weight:600;color:#b9edfb;background:#1a3649}.custom-deck-launch{display:flex;align-items:center;gap:20px;margin-top:20px;border:1px solid #7ba7be40;border-radius:8px;padding:15px 22px;background:#132c3d}.custom-deck-launch>div{display:grid;gap:4px;min-width:180px}.custom-deck-launch b{font-size:12px}.custom-deck-launch span{font-size:9px;color:#91b6c9}.custom-deck-launch select{font:12px 'Noto Sans KR',sans-serif;flex:1;min-width:0;color:#ddedf6;background:#1e3a50;border:1px solid #779bb53b;border-radius:5px;padding:9px}.custom-deck-launch a{font-size:11px;white-space:nowrap;color:#b5e1f0}.custom-deck-launch+.launch{margin-top:12px}@media(max-width:740px){.builder-link{padding:5px 8px;font-size:10px}.lobby .topbar .brand small{display:none}.custom-deck-launch{padding:13px;gap:10px;flex-wrap:wrap}.custom-deck-launch>div{min-width:120px}.custom-deck-launch select{font-size:11px}.custom-deck-launch a{width:100%}}

.game,.game-layout{overflow:clip}
@media(max-width:740px){.resources{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:30px;grid-auto-flow:row;gap:3px}.resource{width:100%;min-width:0}}
