:root{--bg: #151212;--bg-strong: #241d1a;--panel: rgba(28, 22, 21, .9);--panel-border: rgba(255, 215, 181, .1);--text: #f7ede3;--muted: #c6b4a6;--accent: #191b38;--accent-strong: #222a97;--accent-soft: rgba(25, 27, 56, .22);--good: #67d39a;--warn: #f0bd61;--bad: #ff8476;--surface: #221a19;--surface-strong: #2e2321;--surface-soft: rgba(255, 241, 228, .06);--input-bg: rgba(255, 250, 244, .08);--shadow: 0 22px 60px rgba(0, 0, 0, .34);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px}:root[data-theme=light]{--bg: #f7f4eb;--bg-strong: #efe3c6;--panel: rgba(255, 251, 242, .92);--panel-border: rgba(99, 72, 30, .12);--text: #2f2414;--muted: #6e5c43;--accent: #191b38;--accent-strong: #2b2f63;--accent-soft: rgba(25, 27, 56, .14);--good: #2f8f5b;--warn: #bb7a14;--bad: #b13d35;--surface: #fffdfa;--surface-strong: rgba(255, 253, 248, .88);--surface-soft: rgba(244, 234, 211, .6);--input-bg: rgba(255, 255, 255, .92);--shadow: 0 18px 50px rgba(77, 48, 17, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(43,47,99,.34),transparent 28%),radial-gradient(circle at bottom right,rgba(86,92,177,.14),transparent 26%),linear-gradient(180deg,#0f0b0a 0%,var(--bg) 100%)}:root[data-theme=light] body{background:radial-gradient(circle at top left,rgba(72,82,179,.24),transparent 28%),radial-gradient(circle at bottom right,rgba(25,27,56,.16),transparent 26%),linear-gradient(180deg,#fff8ee 0%,var(--bg) 100%)}.page-shell{width:min(1420px,calc(100% - 32px));margin:0 auto;padding:28px 0 40px}.site-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.site-nav-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.site-brand{color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:700;text-decoration:none}.site-nav-links{display:flex;gap:10px;flex-wrap:wrap}.site-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--panel-border);background:var(--surface);color:var(--text);font-weight:700;text-decoration:none;transition:transform .12s ease,background .12s ease}.site-nav-link:hover{transform:translateY(-1px)}.site-nav-link.active{color:#fff7f2;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.theme-toggle{display:inline-flex;gap:6px;padding:6px;border-radius:999px;border:1px solid var(--panel-border);background:var(--surface-soft)}.theme-toggle-button{min-height:38px;padding:8px 14px;border-radius:999px;background:transparent;color:var(--muted)}.theme-toggle-button.active{color:#fff7f2;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.hero,.panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;padding:28px;border-radius:var(--radius-lg)}.eyebrow,.panel-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:var(--accent-strong);font-weight:700}.hero h1,.panel h2,.form-section h3{margin:0;font-family:Georgia,Times New Roman,serif}.hero h1{font-size:clamp(2rem,3vw,3.2rem)}.hero-text,.helper-text,.file-status,.empty-state{color:var(--muted)}.hero-text{max-width:48rem;font-size:1.05rem;line-height:1.65}.hero-panel{display:flex;flex-direction:column;gap:14px}.upload-card{display:block;padding:20px;border-radius:var(--radius-md);border:2px dashed rgba(25,27,56,.35);background:linear-gradient(180deg,#191b3829,#fff6ed0a);cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease,box-shadow .12s ease}.upload-card:hover,.upload-card.drag-active{border-color:#191b38bf;background:linear-gradient(180deg,#191b383d,#fff6ed14);box-shadow:0 10px 24px #191b382e}.upload-card.drag-active{transform:translateY(-1px)}.upload-card input{display:none}.upload-title{display:block;font-size:1.05rem;font-weight:700}.upload-text{display:block;margin-top:8px;color:var(--muted)}.upload-drop-hint{display:block;margin-top:10px;color:var(--accent-strong);font-size:.9rem;font-weight:700}.action-row{display:flex;gap:12px;flex-wrap:wrap}button,input,select,.secondary-button{font:inherit}button,.secondary-button{border:0;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease}.secondary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}button:hover,.secondary-button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.primary-button{color:#fff7f2;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.secondary-button{color:var(--text);background:var(--surface);border:1px solid var(--panel-border)}.secondary-button.small{padding:10px 14px}.app-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;margin-top:22px}.panel{border-radius:var(--radius-lg);padding:22px}.sidebar{display:flex;flex-direction:column;min-height:0}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.count-pill,.status-badge,.trait-chip,.meta-chip{border-radius:999px;font-size:.85rem}.count-pill{padding:8px 14px;background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.field{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.95rem}.field input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text)}.follower-list{display:flex;flex-direction:column;gap:12px;min-height:240px;max-height:min(70vh,980px);overflow-y:auto;padding-right:6px}.follower-list::-webkit-scrollbar{width:10px}.follower-list::-webkit-scrollbar-track{background:var(--surface-soft);border-radius:999px}.follower-list::-webkit-scrollbar-thumb{background:#191b3857;border-radius:999px;border:2px solid var(--surface-soft)}.follower-list::-webkit-scrollbar-thumb:hover{background:#9f3d1273}.follower-card{width:100%;text-align:left;padding:16px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--panel-border)}.follower-card.active{background:linear-gradient(180deg,#191b3838,#fff9f20a);border-color:#191b386b}.follower-name-row,.follower-meta,.badge-row,.selected-traits,.checkbox-row{display:flex;gap:8px;flex-wrap:wrap}.follower-name-row{justify-content:space-between;align-items:center}.follower-name{font-size:1.02rem;font-weight:700;color:var(--text)}.meta-chip{padding:4px 10px;background:var(--surface-soft);color:var(--muted)}.status-badge{padding:7px 12px;background:var(--surface-soft);color:var(--muted);font-weight:700}.status-badge.good{background:#2f8f5b24;color:var(--good)}.status-badge.warn{background:#bb7a1429;color:var(--warn)}.status-badge.bad{background:#b13d3529;color:var(--bad)}.empty-state{padding:24px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px dashed var(--panel-border)}.helper-note{padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--panel-border);color:var(--muted)}.helper-note p{margin:0;line-height:1.55}.helper-note p+p{margin-top:10px}.helper-note strong{color:var(--text)}.empty-state.large{padding:40px 24px}.editor-form.hidden{display:none}.editor-form{display:flex;flex-direction:column;gap:22px}.editor-tabs{display:flex;gap:10px;flex-wrap:wrap}.editor-tab{background:var(--surface);color:var(--muted);border:1px solid var(--panel-border)}.editor-tab.active{color:#fff7f2;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.tab-panel{display:none}.tab-panel.active{display:flex;flex-direction:column;gap:22px}.form-section{display:flex;flex-direction:column;gap:16px;padding:18px;border-radius:var(--radius-md);background:var(--surface-strong);border:1px solid var(--panel-border)}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.check{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--panel-border)}.inline-input{display:flex;gap:10px}.selected-traits{min-height:48px}.relationship-list{display:flex;flex-direction:column;gap:12px}.relationship-card{display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--panel-border)}.relationship-heading,.relationship-controls{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.relationship-title-wrap{display:flex;flex-direction:column;gap:8px}.relationship-controls .field{min-width:160px;flex:1 1 180px}.relationship-controls select{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text)}.trait-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-soft);color:var(--text);border:1px solid var(--panel-border)}.trait-chip button{padding:0;background:transparent;color:var(--accent-strong)}.trait-groups{display:flex;flex-direction:column;gap:16px}.trait-group{padding:14px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--panel-border)}.trait-group h4{margin:0 0 12px;font-size:1rem}.trait-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trait-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--panel-border)}.trait-option input{margin-top:3px}.trait-option strong,.trait-option span{display:block}.trait-option span{margin-top:4px;color:var(--muted);font-size:.88rem;line-height:1.45}.hidden{display:none}.help-shell{display:flex;flex-direction:column;gap:22px}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.help-panel p,.help-panel li{color:var(--muted);line-height:1.65}.help-copy span{display:block}.help-copy span+span{margin-top:.55rem}.help-warning-line{color:var(--bad);font-weight:700}.help-panel ul,.help-panel ol{margin:0;padding-left:20px}.help-panel li+li{margin-top:10px}.help-callout{padding:18px;border-radius:var(--radius-md);background:linear-gradient(180deg,#191b3833,#fff7eb0d);border:1px solid rgba(25,27,56,.24)}@media(max-width:1100px){.hero,.app-grid,.help-grid{grid-template-columns:1fr}.field-grid,.field-grid.two-up,.trait-option-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page-shell{width:min(100% - 20px,1420px);padding-top:16px}.hero,.panel,.site-nav{padding:18px;border-radius:22px}.site-nav{align-items:flex-start;flex-direction:column}.site-nav-actions,.theme-toggle{width:100%}.theme-toggle-button{flex:1 1 0}.field-grid,.field-grid.two-up,.trait-option-list{grid-template-columns:1fr}.action-row,.inline-input,.relationship-controls{flex-direction:column}.follower-list{max-height:none;overflow-y:visible;padding-right:0}}
