.war-wrap{width:100%;margin:0 auto;padding:0 14px;box-sizing:border-box}
.war-panel{background:#fff;border-radius:18px;padding:20px;box-shadow:0 4px 18px rgba(60,80,150,.08);margin:16px 0;border:1px solid #eef1f9}
.dark .war-panel{background:#1c2230;border-color:#2a3245}
.war-nav{display:flex;gap:6px;flex-wrap:wrap;background:#fff;border-radius:14px;padding:8px;box-shadow:0 4px 18px rgba(60,80,150,.08);margin:12px 0;border:1px solid #eef1f9}
.dark .war-nav{background:#1c2230;border-color:#2a3245}
.war-nav a{padding:8px 14px;border-radius:10px;font-size:14px;font-weight:600;color:#5a6478;text-decoration:none}
.war-nav a.on{background:var(--primary,#4a6cf7);color:#fff}
.war-hero{background:linear-gradient(135deg,#3b3f5c,#23263c);width:100vw;margin-left:calc(50% - 50vw);padding:22px var(--nq-hero-pad,24px);color:#fff;margin-bottom:14px}
.war-hero h2{margin:0 0 6px;font-size:22px}
.war-hero p{margin:0;font-size:13.5px;color:#c9cfe4}
.war-sub{font-size:13px;color:#8b93a3}
.war-merc{display:flex;gap:12px;align-items:center;background:#f8f9fd;border:1px solid #eef1f9;border-radius:14px;padding:12px 14px;margin:8px 0}
.dark .war-merc{background:#222938;border-color:#2a3245}
.war-avatar{width:52px;height:52px;border-radius:14px;background:radial-gradient(circle at 30% 30%,#fff,#e8ecfa);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.dark .war-avatar{background:radial-gradient(circle at 30% 30%,#2c3450,#1c2230)}
.war-btn{display:inline-block;padding:8px 16px;border-radius:10px;border:1.5px solid #dfe6f2;background:#fff;color:#4a5568;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;transition:.15s}
.war-btn:hover{border-color:var(--primary,#4a6cf7);color:var(--primary,#4a6cf7)}
.war-btn.pri{background:var(--primary,#4a6cf7);border-color:var(--primary,#4a6cf7);color:#fff}
.war-btn.pri:hover{filter:brightness(1.08);color:#fff}
.war-btn.danger{border-color:#f3c1c1;color:#d64545}
.war-btn:disabled{opacity:.45;cursor:not-allowed}
.war-btn.mini{padding:4px 10px;font-size:12px;border-radius:8px}
.war-tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700}
.war-hpbar{height:7px;border-radius:99px;background:#e8ecf5;overflow:hidden;min-width:80px}
.war-hpbar i{display:block;height:100%;background:linear-gradient(90deg,#34c77b,#2aa866);border-radius:99px}
.war-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;background:#2c2846;border-radius:14px;padding:10px;max-width:720px;margin:0 auto}
.war-cell{aspect-ratio:1;border-radius:8px;background:#3d3863;display:flex;align-items:center;justify-content:center;position:relative;font-size:26px}
.war-cell.obst{background:#262238;font-size:20px}
.war-cell form{width:100%;height:100%;margin:0}
.war-cell button{width:100%;height:100%;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:26px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0}
.war-cell .war-cname{font-size:9px;font-weight:700;color:#fff;line-height:1;position:absolute;top:2px;left:0;right:0;text-align:center;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.7)}
.war-cell .war-chp{position:absolute;bottom:3px;left:6px;right:6px;height:4px;border-radius:99px;background:rgba(0,0,0,.5);pointer-events:none}
.war-cell .war-chp i{display:block;height:100%;border-radius:99px;background:#3ddc7a}
.war-cell.side0{background:#33418f}
.war-cell.side1{background:#6e2f3d}
.war-cell.mv{background:#2f6e4f;box-shadow:inset 0 0 0 2px #4fd68b}
.war-cell.mv button{font-size:15px;color:rgba(255,255,255,.75)}
.war-cell.atk{background:#7e2f2f;box-shadow:inset 0 0 0 2px #ff7676}
.war-cell.atk button{font-size:15px;color:#ffd6d6}
.war-cell.sel{box-shadow:inset 0 0 0 3px #ffd75e}
.war-cell.guard::after{content:'🛡️';position:absolute;top:1px;right:2px;font-size:11px}
.war-ctrl{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin:14px 0}
.war-unitcard{display:flex;gap:14px;align-items:center;justify-content:center;background:#f8f9fd;border-radius:14px;padding:10px 16px;margin:10px 0;flex-wrap:wrap}
.dark .war-unitcard{background:#222938}
.war-log{background:#23263c;border-radius:14px;padding:14px 16px;max-height:260px;overflow-y:auto;font-size:13px;line-height:1.9;color:#c9cfe4}
.war-log div{border-bottom:1px dashed rgba(255,255,255,.06)}
.war-shop{display:flex;gap:12px;align-items:center;background:#f8f9fd;border:1px solid #eef1f9;border-radius:14px;padding:12px 14px;margin:8px 0}
.dark .war-shop{background:#222938;border-color:#2a3245}
.war-quest{border:1px solid #eef1f9;border-radius:14px;padding:14px;margin:10px 0;background:#f8f9fd}
.dark .war-quest{background:#222938;border-color:#2a3245}
.war-stat{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:#5a6478}
.war-stat b{color:var(--primary,#4a6cf7)}
/* 后台管理 */
.war-admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:10px 0}
.war-admin-form label{font-size:12px;color:#6a7385;display:block}
.war-admin-form input{width:100%;padding:6px 8px;border:1px solid #dfe5ef;border-radius:8px;margin-top:3px}
.war-admin-table{width:100%;border-collapse:collapse;font-size:13px}
.war-admin-table th,.war-admin-table td{border-bottom:1px solid #eef1f6;padding:8px 6px;text-align:left;white-space:nowrap}
.war-admin-table th{color:#8b93a3;font-weight:600}