:root{color-scheme:dark;--gold:#e4c880;--blue:#63d5ff;--ink:#061528;--muted:#9faec2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#1a4162 0,#081b30 45%,#050e1b 100%);color:#edf7ff;font:15px/1.5 system-ui,"Microsoft JhengHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;border:1px solid #516780;border-radius:9px;color:inherit;background:#132c46;cursor:pointer;min-height:44px;padding:8px 15px}button:hover:enabled{border-color:var(--gold);background:#203c5a}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:default;opacity:.44}a{color:inherit;text-decoration:none}.site-head{min-height:76px;border-bottom:1px solid #b9985755;background:#07162be6;display:flex;align-items:center;gap:32px;padding:12px max(20px,calc((100vw - 1400px)/2))}.brand{display:flex;flex-direction:column;white-space:nowrap}.brand b{font:36px/1 Georgia,serif;color:var(--gold)}.brand small{font:8px/2 Georgia,serif;letter-spacing:2px}nav{display:flex;gap:25px;font-size:12px;letter-spacing:1.3px}nav .active{color:var(--gold)}.build-tag{margin-left:auto;padding:4px 8px;border:1px solid #627488;font-size:11px;color:#b9d4e7;white-space:nowrap}main{max-width:1400px;margin:auto;padding:24px 24px 12px}.arena-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);margin:0}h1{font-size:28px;letter-spacing:4px;margin:1px 0 0}.toolbar{display:flex;gap:8px}.toolbar button{font-size:12px;min-height:40px}.arena-shell{border:1px solid #b69a625c;border-radius:18px;background:#0b2136;overflow:hidden;box-shadow:0 25px 65px #0006}.scoreboard{display:grid;grid-template-columns:1fr 200px 1fr;align-items:center;padding:18px 28px;gap:24px;background:linear-gradient(90deg,#123e60,#0b1b32,#2a2f43);border-bottom:1px solid #cfb36955}.team-score{max-width:320px}.team-score small{font-size:9px;letter-spacing:2px;color:var(--blue)}.team-score strong{font-size:18px;display:block}.team-score strong span{font-size:12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #628caa;border-radius:50%;width:24px;height:24px}.red{text-align:right;justify-self:end;width:100%}.red small{color:#ffab97}.round{text-align:center}.round small{color:#9db5cf;font-size:10px}.round b{display:block;font:25px Georgia;color:var(--gold)}.round span{font-size:11px;color:var(--blue)}.team-track{height:4px;border-radius:4px;background:#031323;margin-top:8px;overflow:hidden}.team-track i{height:100%;display:block;width:100%;background:#58d6f8;transition:width .3s}.red .team-track i{background:#f39386}.enemy-targets{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px 18px;position:relative;z-index:2;background:#09192c}.enemy-card{font-size:11px;min-height:45px;display:flex;flex-direction:column;padding:5px 8px;text-align:center;border-color:#4d526a;position:relative}.enemy-card b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.enemy-card small{color:#a6bad1}.enemy-card[aria-pressed=true]{border-color:#ffb298;box-shadow:inset 0 0 12px #ff94782f}.stage{height:560px;position:relative;background:radial-gradient(ellipse at 50% 36%,#74a7c2 0,#3d779c 38%,#18384f 85%);overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:manipulation}.stage:before{content:"";position:absolute;inset:0;background:linear-gradient(#b2d8ee22,transparent 25%,transparent 80%,#071b3580);pointer-events:none}.stage-caption{position:absolute;top:8px;left:50%;transform:translateX(-50%);font:27px Georgia;color:#f3e0ad99;pointer-events:none;text-align:center}.stage-caption span{display:block;font:7px Georgia;letter-spacing:2px}.unit-labels,.effect-labels{position:absolute;inset:0;pointer-events:none}.unit-label{position:absolute;width:126px;min-height:0;padding:4px 6px;background:#071b30d9;transform:translate(-50%,-100%);border:1px solid #638ba2;border-radius:5px;box-shadow:0 3px 8px #0004;pointer-events:auto;font-size:10px;line-height:1.2}.unit-label[data-team=B]{border-color:#d1a599}.unit-label .name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-label .meta{font-size:9px;display:flex;justify-content:space-between;padding-top:3px;color:#d2e7f3}.hp-track{height:5px;background:#031322;border-radius:3px;overflow:hidden;display:block;margin-top:4px}.hp-track i{height:100%;display:block;background:#60e9b7;transition:width .25s}.unit-label[data-team=B] .hp-track i{background:#fa8f8a}.unit-label.selected{border-color:#ffdf90;box-shadow:0 0 12px #e3c87580}.unit-label.target{outline:2px solid #9ae8ff;outline-offset:3px}.unit-label.dead{opacity:.3;pointer-events:none}.floating-number{position:absolute;font-weight:800;font-size:25px;transform:translate(-50%,-50%);text-shadow:0 2px 5px #071522;color:#ffe0c4}.floating-number.heal{color:#85ffd6}.floating-number.shield{color:#8ae0ff}.overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#07192ad9;backdrop-filter:blur(5px)}[hidden]{display:none!important}.overlay-panel{text-align:center;padding:34px;max-width:420px;border:1px solid #e8c98170;background:linear-gradient(135deg,#153b56,#091b30);border-radius:16px;box-shadow:0 10px 60px #0008}.overlay-panel small{font-size:9px;color:var(--gold);letter-spacing:2px}.overlay-panel h2{margin:12px 0;font-size:28px}.overlay-panel p{color:#b6cddd;font-size:13px}progress{width:240px;max-width:100%;height:6px;accent-color:var(--gold);display:block;margin:20px auto}.overlay-panel button{border-color:var(--gold);padding:10px 32px}.paused{position:absolute;inset:0;display:grid;place-items:center;background:#071b3080;z-index:4;color:var(--gold);font-size:16px}.command-panel{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:linear-gradient(105deg,#142d45,#071a30);gap:20px;border-top:1px solid #b79b6c66}.command-copy strong{display:block;color:var(--gold);font-size:17px}.command-copy>span{font-size:12px;color:#c5d7e7}.command-copy p{font-size:12px;color:var(--muted);margin:4px 0 0;min-height:18px}.skill-buttons{display:flex;gap:10px}.skill-buttons button{width:112px;min-height:80px;display:grid;justify-items:center;gap:3px;background:radial-gradient(ellipse,#1d567a,#102f4c);border-color:#72b8d0}.skill-buttons button span{font-size:22px;color:#b7e9ff;line-height:1}.skill-buttons button b{font-size:12px}.skill-buttons button small{font-size:10px;color:#b2cbdc}.skill-buttons .special{border-color:var(--gold);background:radial-gradient(ellipse,#745d29,#2d3c41);box-shadow:0 0 16px #e4c88020}.skill-buttons .special span{color:#ffe7ab}.card-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 20px 6px;font-size:12px}.card-heading span{font-size:11px;color:#9db0c3}.friendly-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:8px 20px 20px}.unit-card{text-align:left;overflow:hidden;padding:0;background:#0d233a;border-radius:10px;border:1px solid #8a7b61;position:relative;min-width:0}.unit-card[aria-pressed=true]{border:2px solid #ffe49b;box-shadow:0 0 20px #e4c87d50}.unit-card .portrait{height:115px;overflow:hidden;position:relative;background:linear-gradient(#aec1cb,#657e91)}.unit-card img{width:100%;height:230%;object-fit:cover;object-position:top;position:absolute;top:-20%;opacity:.95}.unit-card .portrait>span{position:absolute;bottom:4px;left:7px;background:#0a2039d6;font-size:10px;padding:1px 5px;border-radius:4px}.card-body{padding:9px 10px}.card-body b{display:block;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-body small{font-size:10px;color:#b7cce0;display:block}.card-hp{display:flex;justify-content:space-between;font-size:10px;margin-top:5px}.unit-card.used .portrait:after{content:"已行動";position:absolute;inset:0;display:grid;place-items:center;background:#0a1a3a88;color:#ddeaff;font-size:13px}.unit-card.dead .portrait:after{content:"倒下";background:#051326a0}.below-arena>p{font-size:12px;color:#a9bfd2;margin:15px 3px}details{border:1px solid #365069;border-radius:9px;padding:10px 14px;font-size:12px}summary{cursor:pointer;color:#c6d7e5}.log-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px}.log-actions button{font-size:12px}.log-actions label{cursor:pointer}#runtime-proof{color:#87b6c9;font-size:11px}#event-log{max-height:220px;overflow:auto;color:#d3deeb;padding-left:22px}#event-log li{padding:4px 0}details>small{color:#7d99ad}footer{border-top:1px solid #a18c5355;text-align:center;background:#071628;padding:22px;color:#c4d4e5;font-size:12px}footer>p{font:italic 20px Georgia;color:var(--gold)}.social{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px}.social a{padding:10px 0;min-height:44px}.support{display:grid;justify-items:center;gap:5px;border-top:1px solid #6b7c8544;max-width:640px;margin:14px auto 0;padding-top:18px}.support small{color:#90a5b6;font-size:10px}.support a{display:inline-block;border:1px solid #97b8cc;border-radius:8px;padding:10px 24px;margin:8px;min-height:44px}
@media(min-width:1500px){.stage{height:620px}}@media(max-width:900px){nav{gap:13px;font-size:10px}.site-head{gap:20px}.command-panel{padding:14px;gap:10px}.skill-buttons button{width:92px}.friendly-cards{gap:8px;padding:8px 14px 16px}.unit-label{width:110px}.card-heading{padding-inline:14px}.stage{height:540px}.scoreboard{padding:14px 18px;gap:14px;grid-template-columns:1fr 150px 1fr}}
@media(max-width:600px){.site-head{min-height:68px;flex-wrap:wrap;padding:10px 12px;gap:7px}.brand b{font-size:28px}.brand small{font-size:6px}.build-tag{font-size:9px}.site-head nav{order:3;flex-basis:100%;justify-content:center;gap:22px;font-size:8px}main{padding:15px 8px}.arena-heading{margin-bottom:12px;align-items:flex-end}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:23px;letter-spacing:2px}.toolbar{gap:4px}.toolbar button{font-size:10px;min-height:36px;padding:5px 7px}.arena-shell{border-radius:12px}.scoreboard{padding:11px 10px;grid-template-columns:1fr 110px 1fr;gap:6px}.round b{font-size:19px}.round span{font-size:9px}.team-score strong{font-size:11px}.team-score small{font-size:7px;letter-spacing:1px}.team-score strong span{font-size:9px;width:17px;height:17px}.enemy-targets{padding:7px 8px;gap:4px}.enemy-card{font-size:9px;padding:4px 3px}.enemy-card small{font-size:8px}.stage{height:570px}.stage-caption{font-size:19px;top:8px}.stage-caption span{font-size:5px}.unit-label{width:94px;font-size:9px;padding:3px 4px}.unit-label .meta{font-size:8px}.command-panel{display:block;padding:12px}.command-copy strong{font-size:15px}.command-copy>span{font-size:10px}.command-copy p{font-size:10px;min-height:30px}.skill-buttons{justify-content:stretch;margin-top:9px;gap:8px}.skill-buttons button{width:33%;min-height:74px;padding:6px 4px}.skill-buttons button b{font-size:11px}.skill-buttons button small{font-size:9px}.card-heading{display:block;padding:12px 10px 2px}.card-heading strong{font-size:11px}.card-heading span{display:block;font-size:9px;margin-top:3px}.friendly-cards{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 10px 14px;gap:8px}.unit-card .portrait{height:82px}.card-body{padding:6px}.card-body b{font-size:10px}.card-body small,.card-hp{font-size:9px}.below-arena>p{font-size:10px}.overlay-panel{margin:14px;padding:25px}.overlay-panel h2{font-size:23px}footer{padding:20px 14px}.social{gap:5px 16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}} 
@media (max-width:900px) and (orientation:landscape){.stage{height:min(62vw,460px)}}
@media (max-width:900px) and (orientation:portrait){.stage{height:min(75vh,650px)}}
/* AV-V002: fixed shell retained; effects sit below identity and HP labels. */
#combat-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.unit-labels{z-index:4}.effect-labels{z-index:5}.audio-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px;color:#c6dced}.audio-controls button{min-height:42px}.audio-controls input{width:110px;accent-color:#d8b35c}.audio-controls small{font-size:12px}.audio-controls label{font-size:13px}
@media(max-width:600px){.audio-controls{gap:8px}.audio-controls small{flex-basis:100%}}
.skill-buttons button[aria-pressed="true"]{outline:3px solid #ffe1a1;outline-offset:2px}.unit-label.target{outline:3px solid #ffe1a1;box-shadow:0 0 15px #ffc65b80}.unit-label.target:after{content:"鎖定";position:absolute;right:-5px;top:-15px;font-size:11px;background:#ffe1a1;color:#122540;border-radius:4px;padding:1px 6px}
/* Owner BOSS-V003: five allies, three large enemies, two real reserves. */
#arena{max-width:1400px}.stage{isolation:isolate}.overlay{z-index:10}.paused{z-index:9}
.enemy-targets{display:none}.reserve-status{text-align:center;font-size:11px;letter-spacing:1px;color:#e4c880;background:#071b30;padding:5px}
.stage{height:clamp(430px,63vh,660px)}.friendly-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px 14px}
.card-heading{display:none}.unit-card .portrait{height:92px}.card-body{padding:6px}.card-body b{font-size:12px}.card-body small{font-size:10px}
.card-impact{position:absolute;top:32%;left:0;right:0;text-align:center;color:#ffe3ca;font-size:28px;font-weight:900;text-shadow:0 2px 8px #140300;pointer-events:none;z-index:3}
.unit-card.taking-hit{border-color:#ffb19e;box-shadow:inset 0 0 30px #ff423766}.unit-card.taking-hit .portrait:before{content:'';position:absolute;inset:0;background:#ff573333;z-index:2}
.command-panel{padding:10px 14px}.skill-buttons button{min-height:60px}.stage-caption{top:8px;font-size:21px}
@media(max-width:600px){
 #arena{padding:8px 5px}.arena-heading{margin-bottom:7px}.audio-controls{margin-bottom:7px;gap:5px}.audio-controls small{display:none}
 .scoreboard{padding:8px;gap:5px;grid-template-columns:1fr 128px 1fr}.team-score strong{font-size:12px}.team-score small{font-size:8px}.round b{font-size:19px}
 .stage{height:clamp(390px,114vw,510px)}.unit-label{width:106px;padding:4px 5px;font-size:10px}.unit-label .meta{font-size:9px}
 .friendly-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px 5px;overflow:visible}
 .unit-card .portrait{height:70px}.unit-card img{height:190%;top:-5%}.unit-card .portrait>span{font-size:8px;left:2px;padding:1px}
 .card-body{padding:4px 3px}.card-body b{font-size:10px;white-space:normal;min-height:30px;line-height:1.4}.card-body small{display:none}.card-hp{font-size:10px}
 .command-panel{display:block;padding:8px}.command-copy strong{font-size:13px}.command-copy>span{font-size:11px}.command-copy p{font-size:11px;margin:2px 0}
 .skill-buttons{margin-top:6px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.skill-buttons button{width:auto;min-height:54px;display:grid;grid-template-columns:22px 1fr;gap:0;padding:5px}.skill-buttons button small{grid-column:1/-1}
}

/* Depth V001: background plate behind real stage geometry. */
.stage{background:#b3d8ed none center 38% / cover no-repeat}
.stage:before{background:linear-gradient(#e4f6ff0a,transparent 65%,#28629133)}
.stage-caption{display:none}


/* Existing whole card art stays uncropped. */
.friendly-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.unit-card img{height:100%;top:0;object-fit:contain}.unit-card .portrait{height:142px;background:#092038}.card-heading{display:block}.net-status{font-size:13px}.stage{background-color:#5a8faf}@media(max-width:600px){.unit-card .portrait{height:100px}.unit-card img{height:100%;top:0}.net-status{font-size:12px}.friendly-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* V013 action guidance stays within the PK arena; site frame is unchanged. */
.action-guide{display:grid;gap:3px;padding:12px 16px;border-block:1px solid #e0bf6688;background:linear-gradient(110deg,#274867,#122839);min-height:74px}.action-guide strong{font-size:19px;color:#ffe2a3}.action-guide span{font-size:13px;color:#f3f8ff}.action-guide[data-state=busy],.action-guide[data-state=waiting]{background:#172b45}.action-guide[data-state=waiting] strong{color:#a9d8f9}.target-prompts{position:absolute;inset:0;z-index:6;pointer-events:none}.target-ring{position:absolute;transform:translate(-50%,-50%);width:88px;height:88px;min-height:44px;padding:0;border:3px solid #ffe5a0;border-radius:50%;background:radial-gradient(circle,#12365acd 20%,#e3b53526 65%);box-shadow:0 0 0 5px #ffcd603d,0 0 22px #ffcb6899,inset 0 0 16px #ffe2a93d;color:#fff5cc;font-weight:800;font-size:13px;text-shadow:0 2px 4px #000;pointer-events:auto;animation:target-glow 1.4s ease-in-out infinite}.target-ring[data-rear=true]{width:70px;height:48px;border-radius:28px;font-size:12px}.target-ring[data-rear=true]:before{content:'後排';position:absolute;top:-21px;left:0;right:0;color:#fff8d8;text-shadow:0 1px 5px #000}.target-ring[data-team=A]{border-color:#84ffd3;box-shadow:0 0 0 5px #7effbd38,0 0 20px #54ffa678;color:#d1ffe9}.target-ring:hover:enabled{background:#375d69e8;border-color:#fff}.unit-card.next-caster:after{content:'現在出招';position:absolute;top:3px;left:3px;right:3px;text-align:center;background:#ffe19a;color:#142a41;border-radius:5px;font-size:12px;font-weight:900}.start-audio{display:block;margin:12px 0;font-size:14px}.start-audio input{width:20px;height:20px;vertical-align:middle}.reduced-motion .target-ring{animation:none}@keyframes target-glow{50%{box-shadow:0 0 0 8px #ffcd6020,0 0 26px #ffe2a999}}@media(prefers-reduced-motion:reduce){.target-ring{animation:none}}@media(max-width:600px){.action-guide{padding:10px;min-height:78px}.action-guide strong{font-size:16px}.action-guide span{font-size:12px}.target-ring{width:68px;height:68px;font-size:11px}.target-ring[data-rear=true]{width:70px;height:44px;font-size:11px}.audio-controls small{display:block;font-size:11px}}

/* V013: one compact playable view, extras below the fold. */
#arena{max-width:1600px;padding:0 4px}.net-status,.eyebrow,.arena-heading h1,.audio-controls label,.audio-controls input,.audio-controls small,.reserve-status{display:none}.arena-heading{position:absolute;top:5px;right:7px;z-index:8;margin:0}.toolbar #motion,.toolbar #reset{display:none}.toolbar #pause{min-height:32px;padding:3px 8px}.audio-controls{position:absolute;top:5px;left:8px;z-index:8;margin:0}.audio-controls button{min-height:32px;padding:3px 8px;font-size:11px}.audio-controls #audition{display:none}.scoreboard{padding:43px 10px 6px;grid-template-columns:1fr 116px 1fr;min-height:87px}.team-score small,.round small{display:none}.team-score strong{font-size:13px}.round b{font-size:17px}.round span{font-size:10px}.action-guide{padding:6px 10px;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:8px}.action-guide strong{font-size:14px}.action-guide span{font-size:12px}.stage{height:max(330px,calc(var(--pk-play-height,650px) - 132px))}.friendly-cards{position:absolute;bottom:6px;left:10%;right:10%;width:80%;z-index:7;padding:0;gap:7px;background:transparent}.unit-card .portrait{height:68px}.unit-card .portrait>span,.card-body small{display:none}.card-body{padding:3px 5px}.card-body b{font-size:11px;min-height:0;white-space:nowrap}.card-hp{font-size:10px;margin:0}.hp-track{height:4px;margin-top:2px}.unit-card.next-caster:after{content:'出招';font-size:10px;left:auto;padding:1px 6px}.below-arena{padding-top:12px}.below-arena>p{font-size:11px}.target-ring{width:80px;height:80px}.target-ring[data-rear=true]{width:58px;height:44px}.unit-card:disabled{opacity:.7}@media(max-width:600px){.stage{height:max(300px,calc(var(--pk-play-height,620px) - 132px))}.friendly-cards{left:3%;right:3%;width:94%;gap:5px}.unit-card .portrait{height:58px}.card-body b{font-size:10px}.card-hp{font-size:9px}.target-ring{width:58px;height:58px;font-size:11px}.target-ring[data-rear=true]{width:54px;height:44px}.action-guide{min-height:44px}.action-guide strong{font-size:12px}.action-guide span{font-size:11px}.audio-controls small{display:none}.arena-shell{border-radius:8px}}

.friendly-cards{max-width:760px;margin:auto;left:0;right:0}.unit-card{display:grid;grid-template-columns:48px 1fr;align-items:center}.unit-card .portrait{height:64px}.unit-card .card-body{min-width:0}.target-ring[data-rear=true]:before{content:"側翼"}.audio-extras{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px}.audio-extras input{width:120px}.audio-extras small{font-size:12px}@media(max-width:600px){.unit-card{display:block}.unit-card .portrait{height:54px}.friendly-cards{width:94%}.card-body{padding:3px}.target-ring[data-rear=true]{width:48px;height:44px}}

.friendly-cards{max-width:900px;bottom:5px;width:86%}.unit-card{display:block;background:#061d30c9;border:1px solid #8eb8c459;border-radius:5px;min-height:42px;overflow:visible}.unit-card .card-body{padding:5px 7px}.unit-card.next-caster:after{top:-17px;right:4px}.unit-card.used{opacity:.4}.card-body b{font-size:11px}.unit-card .portrait{display:none}@media(max-width:600px){.friendly-cards{width:96%;gap:4px}.unit-card .card-body{padding:3px}.card-body b{font-size:9px}.card-hp{font-size:9px}}

.caster-tag{position:absolute;z-index:7;transform:translate(-50%,-100%);padding:4px 10px;border:2px solid #fff1ac;border-radius:15px;background:#483008e6;color:#fff3bc;font-weight:800;font-size:13px;box-shadow:0 0 12px #ffb632;pointer-events:none}.caster-tag[hidden]{display:none}.target-ring[data-rear=true]:before{content:"後排"}.audio-extras button{min-height:44px}
