/* Note bar, reduced motion, chips, card selection, victory overlay, battle log */
/* ---------- 說明列 ---------- */
.note { display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; padding: 10px 14px; background: var(--ink-2); border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.note b { color: var(--text); font-weight: 700; letter-spacing: .06em; white-space: nowrap; }
.note p { margin: 0; max-width: 90ch; }
.note .hint { margin-left: auto; font-family: var(--hud); font-size: 12px; letter-spacing: .1em; white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001s !important; animation-iteration-count: 1 !important; transition-duration: 0.001s !important; }
}
/* ---------- 遊戲版新增 ---------- */
.toolbar .tb { background: var(--ink-2); color: var(--muted); border: 1px solid var(--line); border-radius: 4px; padding: 5px 12px; font-size: 13px; display: flex; gap: 8px; align-items: center; }
.toolbar .tb kbd { font-family: var(--hud); font-weight: 700; color: var(--text); background: rgba(255,255,255,.08); border-radius: 3px; padding: 0 5px; font-size: 12px; }
.toolbar .tb.on { color: var(--text); border-color: var(--cyan); background: var(--cyan-dim); }
.toolbar .stepinfo { color: var(--muted); font-size: 12px; }

.chips { display: flex; gap: 6px; flex-wrap: wrap; min-height: 22px; }
.chip { font-size: 12px; letter-spacing: .08em; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); display: inline-flex; gap: 6px; align-items: center; }
.chip b { font-family: var(--hud); font-weight: 700; font-size: 14px; color: var(--text); }
.chip.focus { border-color: var(--violet); color: var(--violet); background: var(--violet-dim); }
.chip.focus b { color: var(--violet); }
.chip.vuln { border-color: var(--brass); color: var(--brass); background: var(--brass-dim); }
.chip.rage { border-color: var(--crimson); color: var(--crimson); background: var(--crimson-dim); }
.unit.enemy .chips { justify-content: flex-end; }
.chip.free { border-color: var(--green); color: var(--green); background: rgba(110,231,160,.12); }

/* 選牌互動 */
.round { transition: opacity .2s, transform .2s; }
.clip.selecting .round:not(.pick):not(.picked) { opacity: .3; }
.round.pick { cursor: pointer; }
.round.pick .cas { border-color: var(--cyan); box-shadow: 0 0 0 2px var(--cyan), 0 0 18px rgba(95,227,255,.55); animation: pickpulse 1s ease-in-out infinite; }
.round.pick:hover { transform: translateY(-6px); }
.round.picked .cas { border-color: var(--violet); box-shadow: 0 0 0 2px var(--violet), 0 0 22px rgba(167,139,250,.7); transform: translateY(-10px); }
.round.first.pick .cas, .round.first.picked .cas { transform: translateY(-8px); }
.round.first.picked .cas { transform: translateY(-16px); }
@keyframes pickpulse { 50% { box-shadow: 0 0 0 2px var(--cyan), 0 0 30px rgba(95,227,255,.85); } }
.clip.selecting .round.first { cursor: default; }
.clip.selecting .drag-hint, .clip.locked .drag-hint { opacity: 0; }
.clip.locked .round.first { cursor: default; }
.clip.locked .round.first .cas { box-shadow: 0 4px 14px rgba(0,0,0,.45); border-color: rgba(139,148,174,.35); }
.drag-hint.no { color: var(--crimson) !important; }
.drag-hint.no::before, .drag-hint.no::after { animation: none; }
.round.enter { animation: enter .35s cubic-bezier(.2,.8,.2,1); }
@keyframes enter { from { opacity: 0; transform: translateX(30px) } to { opacity: 1; transform: none } }
.round.first .cas.fired { animation: fired .3s ease-in forwards; }
@keyframes fired { to { transform: translateY(-220px); opacity: 0 } }
.round.first .cas.dropped { animation: dropped .3s ease-in forwards; }
@keyframes dropped { to { transform: translateY(160px) rotate(12deg); opacity: 0 } }

/* 中央：選牌提示 */
.prompt.sel { z-index: 8; top: auto; bottom: 300px; background: var(--panel); border: 1px solid var(--cyan); border-radius: 6px; padding: 12px 22px; gap: 6px; box-shadow: 0 0 30px rgba(95,227,255,.2); }
.prompt.sel .big { font-size: 20px; letter-spacing: .12em; color: var(--cyan); }
.prompt.sel .note { color: var(--text); }
.prompt.sel button { margin-top: 4px; background: transparent; color: var(--muted); border: 1px solid var(--line); border-radius: 4px; padding: 5px 14px; font-size: 13px; letter-spacing: .1em; }
.prompt.sel button:hover { color: var(--text); border-color: var(--text); }

/* 命中數字（一次性） */
.dmg.pop { animation: pop 1.1s ease-out forwards; }
@keyframes pop { 0% { opacity: 0; transform: translateY(12px) scale(.7) } 12% { opacity: 1; transform: translateY(0) scale(1.15) } 25% { transform: scale(1) } 75% { opacity: 1 } 100% { opacity: 0; transform: translateY(-46px) } }
.dmg.total { color: var(--text); font-size: 26px; }
#enemy .body.flashing .flash { opacity: .85; }
#enemy .body.shaking { animation: hitshake .25s steps(2) 1; }
.hitring.once { animation: ring .6s ease-out 1; }
.air.flying { transition: left .22s cubic-bezier(.6,0,1,1); }
.air.flying .trail { width: 420px; }

/* 結束回合按鈕 */
.act.end { color: var(--text); border-color: var(--brass); }
.act.end .l b { font-weight: 700; }
.act.end kbd { color: var(--brass); border-color: var(--brass); }
.act:disabled { opacity: .35; cursor: not-allowed; }
.side .row .v.free { color: var(--green); font-size: 18px; }

/* 空中子彈：依序命中的順位標籤在多發時錯開高度 */
.air .n { transition: top .3s; }

/* 敵人狀態 */
.stage.is-enemy-skip .phase .main { color: var(--crimson); }
.stage.is-victory .phase .main { color: var(--brass); }

/* 勝利面板 */
.overlay { position: absolute; inset: 0; display: none; place-items: center; background: rgba(10,13,22,.55); z-index: 5; }
.overlay.show { display: grid; }
.overlay .card { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 28px 40px; background: var(--panel); border: 1px solid var(--brass); border-radius: 6px; box-shadow: 0 0 40px rgba(230,176,75,.25); }
.overlay .card .big { font-size: 40px; font-weight: 900; letter-spacing: .3em; padding-left: .3em; color: var(--brass); }
.overlay .card p { margin: 0; color: var(--muted); font-size: 14px; }
.overlay .card button { background: var(--brass); color: #2A1E08; border: 0; border-radius: 4px; padding: 10px 26px; font-weight: 700; letter-spacing: .14em; font-size: 15px; }

/* 戰鬥紀錄（左上） */
.unit.player .lines { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; font-size: 12px; line-height: 1.45; color: rgba(139,148,174,.85); }
.unit.player .lines div { display: flex; gap: 8px; }
.unit.player .lines div:last-child { color: var(--text); }
.unit.player .lines em { font-style: normal; font-family: var(--hud); font-weight: 700; color: var(--brass); min-width: 2.4em; }
