/* 전술 창(H안 2차 정비 표): 요약 숫자 → 일괄 작업 줄 → 규칙 표(줄 눌러 그 자리 편집) → 지난 전투 로그 */
.card.tac{padding:0}
.tac .hd{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;padding:14px 18px 12px;border-bottom:1px solid var(--line)}
.tac .hd h3{margin:0;font:600 18px var(--serif)}
.tac .hd p{margin:0;font-size:12px;color:var(--faint);flex:1 1 300px}
.tac .stat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:stretch;padding:0;border-bottom:1px solid var(--line)}   /* 전역 .stat(능력치 행)의 gap·정렬·여백을 덮어씀 */
.tac .stat>*{all:unset;box-sizing:border-box;padding:12px 18px;display:flex;align-items:baseline;gap:10px;min-width:0}
.tac .stat>*+*{border-left:1px solid var(--line)}
.tac .stat>button{cursor:pointer}
.tac .stat>button:hover{background:rgba(156,193,255,.04)}
.tac .stat>button[aria-pressed=true]{background:var(--sel-bg);box-shadow:inset 0 -2px 0 var(--accent)}
.tac .stat>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.tac .stat b{font:700 26px/1 'Rajdhani',var(--mono);font-variant-numeric:tabular-nums}
.tac .stat b small{font:500 13px var(--mono);color:var(--faint)}
.tac .stat span{font-size:13px;color:var(--sub)}
.tac .stat .w b{color:var(--warn)} .tac .stat .i b{color:#a98bff} .tac .stat .o b{color:var(--faint)}
.tac .stat .cap{flex-direction:column;gap:4px;align-items:flex-start}
.tac .stat .cap .bar{display:flex;flex-wrap:wrap;gap:2px}
.tac .stat .cap .bar i{width:9px;height:6px;background:var(--track)}
.tac .stat .cap .bar i.on{background:var(--accent)} .tac .stat .cap .bar i.ov{background:var(--warn)}
.tac .stat .cap small{font-size:11px;color:var(--faint)}
.tac .tb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line);min-height:52px}
.tac .tb .sel{font:13px var(--mono);color:var(--accent);margin-right:4px}
.tac .tb .hint{font-size:13px;color:var(--faint);margin:0}
.tac .tb .r{margin-left:auto;display:flex;gap:6px;align-items:center}
/* 시안의 버튼 규격(30px·26px, 연한 파랑 채움) */
.tac .btn{font:500 13px var(--font);height:30px;padding:0 12px;background:var(--accent-soft);border:1px solid rgba(156,193,255,.5);color:var(--fg);white-space:nowrap}
.tac .btn:hover:not(:disabled){border-color:var(--accent)}
.tac .btn.sm{height:26px;padding:0 9px;font-size:12px}
.tac .btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
.tac .btn.gh{background:none;border-color:var(--line);color:var(--sub)}
.tac .btn.gh:hover:not(:disabled){color:var(--fg);border-color:var(--sel-line)}
.tac .btn.x:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}
.tac .btn.ic{width:30px;padding:0}
.tac .btn.xx,.tac .btn.danger{border-color:var(--bad);color:var(--bad);background:rgba(255,127,158,.08)}
.tac .btn:disabled{opacity:.35;cursor:not-allowed}
.tac .tw{max-height:620px;overflow:auto}
.tac table{width:100%;border-collapse:collapse;min-width:740px;font-size:14px}
.tac th{position:sticky;top:0;z-index:1;background:#151d2b;font:500 12px var(--font);color:var(--faint);text-align:left;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tac td{padding:6px 8px;height:44px;border-bottom:1px solid rgba(41,53,76,.55);vertical-align:middle}
.tac td.ck,.tac th.ck{width:36px;padding-left:18px}
.tac input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}
.tac td.no{width:38px;font:700 15px 'Rajdhani',var(--mono);color:var(--accent);font-variant-numeric:tabular-nums}
.tac td.c{color:var(--sub);line-height:1.5}
.tac td.a{white-space:nowrap}
.tac td.a b{font-weight:600;display:inline-flex;align-items:center;gap:6px}
.tac .ico{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tac td.a b .ico{color:var(--accent)}
.tac td.a small{color:var(--faint);margin-left:6px;font-size:12px}
.tac td.u{width:84px;font:13px var(--mono);color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}
.tac td.u.z{color:var(--faint)}
.tac td.st{width:110px;line-height:1.35}
.tac td.op{width:84px;padding-right:18px;white-space:nowrap}
.tac tr[data-a]{cursor:pointer}
.tac tr[data-a]:hover td{background:rgba(156,193,255,.035)}
.tac tr.ck td{background:rgba(156,193,255,.07)}
.tac tr.cur td{background:var(--sel-bg)}
.tac tr.cur td.ck,.tac tr.hl td.ck{box-shadow:inset 3px 0 0 var(--accent)}
.tac tr.hl td{animation:tac-fl 1.4s ease-out}
@keyframes tac-fl{0%{background:rgba(156,193,255,.3)}100%{background:var(--sel-bg)}}
@media (prefers-reduced-motion:reduce){.tac tr.hl td{animation:none}}
.tac tr.ov td.c,.tac tr.ov td.a,.tac tr.ov td.no{opacity:.45}
.tac tr.ov td.c{text-decoration:line-through}
.tac tr.cut td{height:auto;padding:6px 18px;font-size:12px;color:var(--warn);background:var(--warn-soft);border-block:1px dashed rgba(255,159,95,.45)}
.tac .ed{display:flex;flex-direction:column;gap:6px;padding:4px 0}
.tac .ed .cl{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.tac select.s,.tac input.s{height:30px;font:13px var(--font);color:var(--fg);background:var(--surface2);border:1px solid var(--line);padding:0 7px;min-width:0;max-width:100%}
.tac select.s:hover,.tac input.s:hover{border-color:var(--sel-line)}
.tac select.s:focus,.tac input.s:focus{outline:none;border-color:var(--accent)}
.tac input.s[type=number]{width:60px;font-family:var(--mono)}
/* 전술 드롭다운: 위로 뒤집히지 않고 항상 아래로 펼침(화면 아래까지만, 넘치면 목록 안에서 스크롤). base-select 지원 브라우저에서만 */
@supports (appearance:base-select){
  .tac select.s,.tac select.s::picker(select){appearance:base-select}
  .tac select.s::picker(select){position-try-fallbacks:none;top:anchor(bottom);bottom:auto;margin:2px 0 0;max-height:calc(100dvh - anchor(bottom) - 12px);overflow-y:auto;background:var(--surface2);border:1px solid var(--sel-line);padding:0;color:var(--fg)}
  .tac select.s option{padding:7px 10px;font:13px var(--font)}
  .tac select.s option:hover,.tac select.s option:checked{background:var(--sel-bg)}
  .tac select.s option::checkmark{display:none}
}
.tac .num{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.tac .num em{font-style:normal;font-size:12px;color:var(--faint)}
.tac .ed .cl label{font:500 11px var(--mono);color:var(--faint);min-width:42px}
.tac .ed .cl .ct{flex:1 1 0;min-width:0}
.tac .ed .cl .vo{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.tac .ed .add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--faint)}
.tac .ed .act{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.tac .ed .th{font-family:var(--mono);font-size:var(--fs-xs);color:var(--faint)}
.tac .jn{display:inline-flex;align-items:center;height:18px;padding:0 5px;font:600 10px var(--mono);letter-spacing:.08em;border:1px solid rgba(156,193,255,.55);color:var(--accent);background:none;margin:0 6px;vertical-align:1px}
.tac .jn.or{border-color:rgba(224,184,94,.6);color:var(--gold)}
.tac button.jn{cursor:pointer;height:22px}
.tac button.jn:hover{background:var(--accent-soft)}
.tac .chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border:1px solid rgba(156,193,255,.3);background:var(--accent-soft);font-size:12px;color:var(--accent-ink);white-space:nowrap;line-height:1}
.tac .chip.wn{border-color:rgba(255,159,95,.45);background:var(--warn-soft);color:var(--warn)}
.tac .chip.ok{border-color:rgba(127,227,214,.38);background:var(--good-soft);color:var(--good)}
.tac .chip.id{border-color:rgba(169,139,255,.4);background:rgba(169,139,255,.08);color:#a98bff}
.tac .chip.fx{border-color:var(--line);background:none;color:var(--faint)}
.tac .tipb{cursor:help;font-family:var(--font)}
.tac .tipb i{font:600 10px var(--mono);font-style:normal;width:14px;height:14px;display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50%}
.tac tr.emp td{color:var(--faint);font-size:13px;height:40px}
.tac tr.emp td.no{color:var(--faint)}
.tac tr.emp .eb{display:flex;align-items:center;gap:12px;min-height:30px;border:1px dashed var(--line);padding:0 10px}
.tac tr.base td{background:rgba(224,184,94,.04);color:var(--sub);font-size:13px;height:40px}
.tac tr.base td.no{color:var(--gold);font:600 12px var(--font)}
.tac tr.base b{color:var(--gold);font-weight:600}
.tac .ft{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:12px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}
.tac .ft .full{color:var(--warn)}
