:root{--bg:#fafafa;--card:#fff;--line:#eee;--ink:#111;--muted:#666;--pill:#111}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;gap:14px;align-items:center;padding:10px 16px}
.nav a{text-decoration:none;color:var(--ink)}
.nav a.active{color:#6b46c1;font-weight:600}
.wrap{max-width:1280px;margin:24px auto;padding:0 16px;display:grid;grid-template-columns:1fr 480px;gap:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.mt0{margin-top:0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tab{padding:8px 14px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer}
.tab.active{background:var(--pill);color:#fff;border-color:var(--pill)}
.pane{display:none}
.pane.active{display:block}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:flex;flex-direction:column;font-size:14px;gap:6px}
input,select,textarea{padding:10px;border:1px solid #ddd;border-radius:10px;background:#fff}
textarea{min-height:120px}
.inline{display:flex;gap:10px;align-items:center}
.btn{padding:10px 14px;border:1px solid #ddd;background:#fff;border-radius:10px;cursor:pointer}
.btn.primary{background:#111;color:#fff;border-color:#111}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{display:inline-flex;gap:6px;align-items:center;background:#f3f3f3;border-radius:999px;padding:6px 10px;font-size:13px;cursor:pointer}
.drop{border:2px dashed #ddd;border-radius:12px;padding:18px;text-align:center;background:#fafafa;cursor:pointer}
.drop.small{padding:12px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.thumbs img{height:70px;border-radius:10px;border:1px solid #e8e8e8}
.count{margin-top:6px}
.muted{color:#666;font-size:13px}
#preview{width:100%;height:760px;border:1px solid var(--line);border-radius:12px;background:#fff}
@media (max-width:1100px){.wrap{grid-template-columns:1fr}}
.char-list{display:grid;gap:10px;margin-top:10px}
.char-card{display:flex;gap:12px;border:1px solid #eee;border-radius:12px;padding:10px;align-items:center}
.char-card img{height:56px;width:auto;border-radius:8px;border:1px solid #eee}
