/* Soft physical cards; full rules stay available on tap. */
.card{border-radius:15px 15px 12px 12px;overflow:hidden;box-shadow:0 5px 12px #0004,inset 0 0 0 2px #ffffff07;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .2s}.card .card-art{border-radius:12px 12px 30% 12% / 12px 12px 12% 5%;margin:4px 4px 8px;width:calc(100% - 8px)}.card .card-name{padding:0 9px;white-space:normal;line-height:1.3;min-height:30px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .card-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:52px}.card .cost{border-radius:50% 50% 50% 10%;box-shadow:0 3px 8px #0005}.card-bottom{padding-top:4px;background:linear-gradient(transparent,#172232 40%)}.card .rarity-tag{font-size:9px;top:27px;right:6px}.hand{align-items:center;gap:10px;padding:20px 10px 25px;overflow-x:auto;overflow-y:hidden;min-height:255px;scrollbar-width:thin;scrollbar-color:#7f8fa944 transparent}.hand .card{flex:0 0 136px;width:136px;min-width:136px;height:220px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transform:translateY(0) rotate(var(--hand-tilt,0deg));transform-origin:center 90%;will-change:transform}.hand .card:nth-child(3n+1){--hand-tilt:-1.2deg}.hand .card:nth-child(3n){--hand-tilt:1.2deg}.hand .card:hover,.hand .card:focus-visible{transform:translateY(-10px) rotate(0) scale(1.035);box-shadow:0 15px 24px #0008,0 0 15px color-mix(in srgb,var(--rarity) 24%,transparent);z-index:3}.hand .card.selected{transform:translateY(-12px);border-width:2px}.unit{border-radius:22px 22px 13px 13px;overflow:hidden;transition:box-shadow .18s,border-color .18s,filter .18s}.unit[data-unit^="0:"]{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.unit.ready{animation:none;box-shadow:0 0 0 1px #a8e6c36b,0 4px 16px #67dca518}.unit .unit-art{border-radius:18px 18px 0 0}.unit:hover{filter:brightness(1.08)}.field[data-drop-side="0"]{position:relative;transition:box-shadow .18s,background .18s;border-radius:18px}.drag-source{opacity:.35!important}.drag-legal{outline:2px solid #8de6c4!important;outline-offset:3px;box-shadow:0 0 24px #67dcbf55!important}.drag-hover{outline:3px solid #f4df9f!important;outline-offset:5px;filter:brightness(1.2);box-shadow:0 0 35px #f7dfa26b!important}.drag-zone{box-shadow:inset 0 0 0 2px #88e3c474,inset 0 0 40px #70debb16;background:#67e0bb0b}.drag-zone:after{content:'放開即可出牌';position:absolute;bottom:5px;left:0;right:0;text-align:center;color:#a1e8c7;font-size:11px;letter-spacing:3px;pointer-events:none}.battle-dragging,.battle-dragging *{cursor:grabbing!important}.battle-drag-ghost{position:fixed;left:0;top:0;z-index:60;pointer-events:none;will-change:transform;filter:drop-shadow(0 18px 22px #0009);transform-origin:center}.battle-drag-ghost>.card,.battle-drag-ghost>.unit{width:100%!important;min-width:0!important;height:100%!important;transform:none!important;opacity:1!important;margin:0!important}.battle-drag-ghost>.unit{opacity:.35!important}.battle-aim{position:fixed;inset:0;pointer-events:none;z-index:59}.battle-aim svg{width:100%;height:100%;overflow:visible;fill:none}.battle-aim .aim-line{stroke:#a7bacd;stroke-width:3;stroke-linecap:round;stroke-dasharray:7 7}.battle-aim .aim-halo{stroke:#0b1728;stroke-width:9;opacity:.65}.battle-aim circle{stroke:#c2d9e8;stroke-width:3;fill:#142638}.battle-aim.aim-valid .aim-line{stroke:#f4dfa3;stroke-dasharray:none;filter:drop-shadow(0 0 5px #f4dfa3)}.battle-aim.aim-valid circle{stroke:#ffe1a0;fill:#e6c78455}.battle-aim.aim-no-line path{display:none}.drag-hint{position:absolute;top:0;left:0;padding:8px 13px;border:1px solid #d2c29255;border-radius:30px;background:#111f32ef;font-size:11px;color:#e8ddc6;white-space:nowrap}.card-flight,.impact-attacker{position:fixed;pointer-events:none;transform-origin:center;filter:drop-shadow(0 8px 12px #0007)}.card-flight .card,.impact-attacker .unit{width:100%!important;height:100%!important;min-width:0!important;margin:0!important;transform:none!important}.hit-ring{position:absolute;width:75px;height:75px;border:3px solid #ffe2aa;border-radius:50%;opacity:0;animation:hit-ring .38s .19s both;box-shadow:0 0 25px #ffd59777}.smooth-slash{animation-delay:.19s}.card-detail.detailed .card-text{-webkit-line-clamp:5;max-height:105px}.advanced-card-rules{margin:15px 0;border-top:1px solid #ffffff18;padding-top:12px;font-size:12px;color:#9db2c7}.advanced-card-rules summary{cursor:pointer;color:#b7c9d8;padding:4px 0}.advanced-card-rules[open]{padding-bottom:8px}.detail-copy .rarity-role{font-size:11px}.detail-copy .effect-section p{line-height:1.7}.detail-copy .detail-actions{position:sticky;bottom:-1px;background:#141e2ef5;padding:12px 0;z-index:2;border-top:1px solid #ffffff15}.detail-copy .basic-reminder{margin-top:10px}
@keyframes hit-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}
@media(max-width:620px){.hand{gap:8px;padding:16px 8px 22px;min-height:235px}.hand .card{width:120px;min-width:120px;flex-basis:120px;height:205px}.hand .card .card-art{height:75px}.hand .card .card-name{font-size:11px;min-height:28px}.hand .card .card-text{font-size:10px;max-height:47px}.hand .card .rarity-tag{font-size:8px}.unit{border-radius:17px 17px 10px 10px}.drag-hint{font-size:10px}.card-detail.detailed .card-text{-webkit-line-clamp:4;max-height:68px}}
.motion-off .card,.motion-off .unit,.motion-off .field{transition:none}.motion-off .hit-ring{animation:none;display:none}@media(prefers-reduced-motion:reduce){.card,.unit,.field{transition:none}.hit-ring{animation:none;display:none}}

.drag-zone:after{content:'拖到這裡出牌'}
.drag-zone.drag-zone-ready{background:#6ce9b629;box-shadow:inset 0 0 0 2px #adf4d4,inset 0 0 32px #8af3cd42}
.drag-zone.drag-zone-ready:after{content:'放開即可出牌'}
.battle-aim.aim-no-line circle{display:none}
.battle-dragging .compact-arena .hand .card:hover{transform:none}
.battle-dragging .unit.drag-source{opacity:.65!important}
