
/* ============ 主题配色（与首页 home-preview.html 保持一致） ============ */
:root{
  --bg:#0d1020; --bg-soft:#141830; --card:#1a1f3d; --card-hover:#222848; --line:#2a3055;
  --text:#eef1ff; --text-dim:#9aa3c7; --accent:#4fd8e8; --accent-2:#8b7cf6; --gold:#ffd166; --danger:#f06a8a;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-y:scroll;scrollbar-gutter:stable}
body{background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.badge{display:inline-block;padding:1px 8px;border-radius:20px;font-size:11px;font-weight:600}

/* 页头（与首页一致） */
header{position:sticky;top:0;z-index:50;background:rgba(13,16,32,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:20px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:1px}
.logo img{width:38px;height:38px;border-radius:9px}
.logo small{display:block;font-size:10px;color:var(--text-dim);letter-spacing:2px;font-weight:400}
nav.main-nav{display:flex;gap:4px;margin-left:auto}
nav.main-nav .nav-item{position:relative;padding:8px 14px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}
nav.main-nav .nav-item:hover{background:var(--card)}
.nav-item .dropdown{position:absolute;top:100%;left:0;min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;display:none;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.nav-item:hover .dropdown{display:block}
.dropdown a{display:block;padding:7px 12px;border-radius:8px;font-size:13px;color:var(--text-dim);font-weight:400}
.dropdown a:hover{background:var(--bg-soft);color:var(--accent)}

/* 面包屑 */
.crumb{padding:14px 0 0;color:var(--text-dim);font-size:13px}
.crumb b{color:var(--accent);font-weight:600}

/* 页头标题 */
.page-head{padding:18px 0 10px}
.page-head h1{font-size:26px;font-weight:800;display:flex;align-items:center;gap:10px}
.page-head h1::before{content:"";width:6px;height:26px;border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}
.page-head p{color:var(--text-dim);font-size:13px;margin-top:6px}

/* 筛选栏 */
.filter-bar{display:flex;flex-direction:column;gap:10px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:20px}
.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filter-label{font-size:12px;color:var(--text-dim);width:60px;flex-shrink:0;font-weight:600}
.fbtn{font-size:12px;padding:4px 12px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--text-dim);cursor:pointer;transition:.15s;font-family:inherit}
.fbtn:hover{border-color:var(--accent);color:var(--accent)}
.fbtn.on{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0b0e1c;border-color:transparent;font-weight:700}
.fbtn.el-btn{color:var(--elc);border-color:var(--elc)}
.fbtn.el-btn.on{background:var(--elc);color:#0b0e1c;border-color:transparent;font-weight:700}
.fbtn.rar-S{color:var(--gold);border-color:var(--gold)}
.fbtn.rar-S.on{background:var(--gold);color:#0b0e1c}
.fbtn.rar-A{color:#aab3d5;border-color:#aab3d5}
.fbtn.rar-A.on{background:#aab3d5;color:#0b0e1c}
.search-box{margin-left:auto;display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 14px;min-width:200px}
.search-box input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13px}
.search-box .icon{color:var(--text-dim)}
.filter-count{margin-left:auto;font-size:12px;color:var(--text-dim);white-space:nowrap}

/* 角色卡片网格 */
.char-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.char-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 8px;cursor:pointer;transition:.2s;position:relative;overflow:hidden}
.char-card:hover{background:var(--card-hover);transform:translateY(-2px);border-color:var(--accent-2)}
.char-card img{width:72px;height:72px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}
.char-card.rar-S img{border-color:var(--gold);box-shadow:0 0 10px rgba(255,209,102,.25)}
.char-card.rar-A img{border-color:#aab3d5}
.char-name{font-size:14px;font-weight:700;color:var(--text)}
.char-meta{display:flex;align-items:center;gap:5px;font-size:11px}
.char-role{font-size:11px;color:var(--text-dim)}
.char-empty{grid-column:1/-1;text-align:center;color:var(--text-dim);font-size:14px;padding:50px 0}

/* 稀有度/元素徽章 */
.rar-S{color:var(--gold)}
.rar-A{color:#aab3d5}
.el-光{color:#ffe28a}.el-灵{color:#4fd8e8}.el-咒{color:#f06a8a}.el-暗{color:#9a7ab8}.el-魂{color:#5ad0a0}.el-相{color:#b39dfb}


@media(max-width:1023px){.char-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.char-grid{grid-template-columns:repeat(3,1fr)}.search-box{min-width:0;flex:1}.filter-label{width:50px}}

/* ============ 编辑模式（复用首页实现，默认零影响） ============ */
.edit-dock{position:fixed;top:76px;right:12px;z-index:9999;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:min(92vw,600px)}
.edit-btn{background:rgba(26,31,61,.92);border:1px solid var(--accent);color:var(--text);font-size:12px;font-weight:600;padding:6px 12px;border-radius:10px;cursor:pointer;transition:.15s;backdrop-filter:blur(6px);box-shadow:0 4px 16px rgba(0,0,0,.35);white-space:nowrap}
.edit-btn:hover{border-color:var(--accent-2);box-shadow:0 0 14px rgba(79,216,232,.35)}
.edit-btn:disabled{opacity:.4;cursor:not-allowed}
.edit-toggle.on{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0b0e1c;border-color:transparent}
.edit-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.edit-hint{color:var(--gold);font-size:11px;background:rgba(255,209,102,.12);border:1px solid var(--gold);padding:3px 8px;border-radius:8px}
.edit-actions[hidden],.edit-fmtbar[hidden],.edit-overlay[hidden],.edit-hint[hidden]{display:none}
body.edit-mode-on [data-text]{outline:none;border-radius:6px;transition:box-shadow .15s,background .15s;cursor:text}
body.edit-mode-on [data-text]:hover{box-shadow:0 0 0 2px rgba(79,216,232,.55);background:rgba(79,216,232,.06)}
body.edit-mode-on [data-text]:focus{box-shadow:0 0 0 2px var(--accent);background:rgba(79,216,232,.10)}
body.edit-mode-on [data-img]{cursor:pointer}
body.edit-mode-on [data-img]:hover{outline:2px dashed var(--accent-2);outline-offset:2px;filter:brightness(1.08)}
.edit-fmtbar{position:fixed;z-index:10000;display:flex;gap:2px;background:var(--card);border:1px solid var(--accent);border-radius:10px;padding:4px;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.edit-fmt-btn{min-width:30px;height:28px;background:none;border:none;color:var(--text);font-size:14px;border-radius:6px;cursor:pointer}
.edit-fmt-btn:hover{background:var(--bg-soft);color:var(--accent)}
.edit-fmt-btn.active{background:var(--bg-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.edit-overlay{position:fixed;inset:0;z-index:10001;background:rgba(5,7,16,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.edit-modal{width:min(480px,92vw);background:var(--card);border:1px solid var(--accent-2);border-radius:16px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.edit-modal-title{font-size:15px;font-weight:700;margin-bottom:12px;color:var(--accent)}
.edit-modal-title code{color:var(--gold);font-size:12px}
.edit-modal input[type=text]{width:100%;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:9px 12px;font-size:13px;outline:none;margin-bottom:12px}
.edit-modal input[type=text]:focus{border-color:var(--accent)}
.edit-modal-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.edit-file-btn{display:inline-block;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);font-size:12px;padding:6px 12px;border-radius:10px;cursor:pointer}
.edit-file-btn:hover{border-color:var(--accent);color:var(--accent)}
.edit-btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0b0e1c;border-color:transparent}
.edit-img-preview{margin-top:12px;text-align:center;min-height:60px}
.edit-img-preview img{max-width:120px;max-height:120px;border-radius:10px;border:1px solid var(--line);margin:0 auto}
.edit-modal-tip{margin-top:10px;font-size:11px;color:var(--text-dim)}


/* 编辑/导出功能暂隐藏（可恢复） */
.edit-dock,.edit-fmtbar,.edit-overlay{display:none!important}
/* 面包屑吸顶（不随滚动） */
.crumb{position:sticky;top:64px;z-index:40;background:var(--bg)}
