:root{
  --bg:#f7f4fb;--panel:#fff;--panel2:#faf8fd;--text:#292331;--muted:#766d7f;
  --line:#e8e0ef;--accent:#7653a6;--accent2:#b06b95;--soft:#efe7f8;--danger:#a94f62;
  --ok:#4e7c65;--shadow:0 12px 36px rgba(52,33,72,.08);--radius:20px;
  --surface:#fff;--panel-alpha:rgba(255,255,255,.92);--surface-soft:#faf8fc;--surface-accent:#f7f1fb;--surface-danger:#fff1f4;--surface-warm:#fffaf0;--surface-ok:#f0f8f3;--glow1:#f0e7fa;--glow2:#fbeaf2
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;color:var(--text);line-height:1.65;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  background:radial-gradient(circle at 10% 0%,var(--glow1) 0,transparent 30%),
             radial-gradient(circle at 100% 20%,var(--glow2) 0,transparent 28%),var(--bg);
  padding-bottom:calc(32px + env(safe-area-inset-bottom))
}
button,input,select,textarea{font:inherit;min-width:0}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(118,83,166,.3);outline-offset:3px}
.wrap{width:min(1080px,calc(100% - 28px));margin:0 auto}
header{padding:28px 0 14px}
.eyebrow{color:var(--accent);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
h1{margin:2px 0 0;font-size:clamp(1.8rem,5vw,3rem);line-height:1.18;letter-spacing:-.03em}
.lead{margin:8px 0 0;color:var(--muted);max-width:780px}
.tabs{display:flex;gap:8px;margin:14px 0 2px;position:sticky;top:0;z-index:20;padding:8px 0;background:linear-gradient(var(--bg) 72%,transparent)}
.tab-btn{border:1px solid var(--line);background:var(--panel-alpha);min-height:44px;padding:10px 16px;border-radius:999px;font-size:.88rem;font-weight:900;color:var(--muted);box-shadow:0 5px 18px rgba(52,33,72,.05);white-space:nowrap}
.tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
.screen[hidden]{display:none!important}
.panel{background:var(--panel-alpha);border:1px solid rgba(232,224,239,.95);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-top:16px;backdrop-filter:blur(10px)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}
.panel-head h2{font-size:1rem;margin:0}
.panel-body{padding:20px}
.gacha-top-actions{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:11px 12px;border:1px solid #d9cae7;border-radius:16px;background:linear-gradient(135deg,#f4ecfb,#fff8fc)}
.gacha-top-actions .primary{min-width:min(320px,100%)}
.gacha-top-actions span{color:var(--muted);font-size:.76rem;font-weight:800}
.label{font-size:.78rem;color:var(--muted);font-weight:800;letter-spacing:.03em}
.field label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:900}
input[type=text],select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);outline:none}
input[type=text],select{padding:10px 11px;font-size:.86rem;text-overflow:ellipsis}
textarea{resize:vertical;padding:13px}
input:focus,select:focus,textarea:focus{border-color:#bba8ce;box-shadow:0 0 0 3px rgba(118,83,166,.09)}
.filter-box{background:linear-gradient(135deg,#fbf9fe,#fff8fb);border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:15px}
.filter-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.count-badge,.status-badge{background:var(--soft);color:#5a407d;padding:4px 10px;border-radius:999px;font-size:.77rem;font-weight:900;white-space:nowrap}
.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.facet-grid{grid-template-columns:1fr 1fr!important}
.facet-filter{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.facet-filter>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:.8rem}
.facet-filter>summary::after{margin-left:0}
.facet-summary{margin-left:auto;color:#6b4c8b;font-size:.7rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.facet-body{padding:10px;border-top:1px solid var(--line)}
.facet-mode{display:flex;gap:6px;margin-bottom:8px}
.facet-mode button{flex:1;min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-size:.74rem;font-weight:900}
.facet-mode button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.facet-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:210px;overflow:auto}
.facet-chip{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:#5e5368;padding:6px 9px;font-size:.72rem;font-weight:850;text-align:left}
.facet-chip.included{background:var(--accent);border-color:var(--accent);color:#fff}
.facet-chip.excluded{background:#f8e9ed;border-color:#dfaebb;color:#994e62;text-decoration:line-through}
.world-mode-box{border:1px solid #ded1ea;border-radius:15px;background:rgba(255,255,255,.78);padding:11px 12px;margin-bottom:11px}
.world-mode-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.82rem}
.world-mode-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.world-mode-options button{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:#62576d;padding:7px 8px;font-size:.76rem;font-weight:900}
.world-mode-options button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 5px 14px rgba(118,83,166,.16)}
.world-mode-note{margin:7px 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}

.shared-search{margin-bottom:10px}
.height-range-value{font-size:.74rem;color:#5a407d;background:var(--soft);border-radius:999px;padding:3px 9px;font-weight:900}
.range-row{display:grid;grid-template-columns:76px minmax(0,1fr) 122px;gap:9px;align-items:center;margin-top:6px}
.range-row span{font-size:.73rem;color:var(--muted);font-weight:800}
.range-row output{font-size:.73rem;font-weight:900;text-align:right;white-space:nowrap}
input[type=range]{width:100%;accent-color:var(--accent)}
.height-filter-details{margin-top:10px;background:rgba(255,255,255,.7)}
.height-filter-summary{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:.8rem}
.height-filter-summary>span:first-child{font-weight:900}
.height-filter-summary .height-range-value{margin-left:auto}
.height-filter-body{padding-top:7px}
.candidate-selector{margin-top:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}
.candidate-selector>summary.candidate-selector-summary{display:flex;align-items:center;padding:12px 14px;font-size:.84rem}
.candidate-selector>summary.candidate-selector-summary::after{margin-left:auto}
.candidate-selector[open]>summary.candidate-selector-summary{border-bottom:1px solid var(--line);background:var(--panel2)}
.candidate-selector-summary>span{display:flex;align-items:center;gap:10px;min-width:0}
.candidate-selector-summary .candidate-selection-summary{margin-top:0}
.candidate-selector-content{padding:12px}
.candidate-selector-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.candidate-selector-head strong{font-size:.84rem}
.candidate-selection-summary{margin-top:2px;color:var(--accent);font-size:.72rem;font-weight:900}
.candidate-selector-help{margin:8px 0;color:var(--muted);font-size:.72rem;line-height:1.55}
.candidate-preview-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px;padding:2px}
.candidate-option{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0}
.candidate-chip{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-areas:"state name" "state meta";align-items:center;gap:0 5px;min-height:48px;border:1px solid var(--line);border-radius:12px 0 0 12px;background:var(--panel2);padding:7px 9px;text-align:left;color:#5d5566}
.candidate-chip:hover{background:var(--soft)}
.candidate-state{grid-area:state;display:grid;place-items:center;width:19px;height:19px;border:1px solid #d4c8df;border-radius:50%;font-size:.68rem}
.candidate-name{grid-area:name;overflow:hidden;font-size:.76rem;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.candidate-meta{grid-area:meta;overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.candidate-exclude{min-height:48px;border:1px solid var(--line);border-left:0;border-radius:0 12px 12px 0;background:var(--surface);color:#8a7180;padding:6px 9px;font-size:.69rem;font-weight:900;white-space:nowrap}
.candidate-option.selected .candidate-chip{border-color:var(--accent);background:var(--accent);color:#fff}
.candidate-option.selected .candidate-state{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.18)}
.candidate-option.selected .candidate-meta{color:rgba(255,255,255,.8)}
.candidate-option.excluded .candidate-chip{border-color:#e4c4cd;background:#fbf0f3;color:#986070;text-decoration:line-through;opacity:.72}
.candidate-option.excluded .candidate-exclude{border-color:#d99cac;background:#a94f62;color:#fff}
.filter-actions{display:flex;justify-content:flex-end;margin-top:10px}
.status-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:4px 0 10px}
.status-filter-btn{border:1px solid var(--line);background:var(--surface);color:#62576d;border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:900}
.status-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}

.favorite-filter-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.favorite-toggle-btn{border:1px solid #e6cf91;background:var(--surface-warm);color:#7c5c13;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:900}
.favorite-toggle-btn.active{background:#f0b93b;border-color:#f0b93b;color:#fff}
.optional-filter{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.56);overflow:hidden}
.optional-filter>summary{padding:11px 13px;font-size:.82rem;font-weight:900}
.optional-filter[open]>summary{border-bottom:1px solid var(--line)}
.optional-filter-body{padding:10px 12px 12px}

.shared-filter-note{font-size:.73rem;color:var(--muted);margin-top:6px}

.tag-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 7px}
.tag-head label{font-size:.82rem;font-weight:900}
.tag-mode{width:auto;min-width:145px;padding:7px 9px;font-size:.78rem}
.tag-groups{display:grid;gap:10px}
.tag-group{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.65);padding:9px 10px}
.tag-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:.76rem;font-weight:950;color:#62576d}
.tag-group-title .tag-group-total{font-size:.68rem;color:var(--muted);font-weight:800}
.tag-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:28px}
.tag-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:#5d5566;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:800}
.tag-chip .tag-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f1edf5;color:#776b82;font-size:.66rem;font-weight:950}
.tag-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.tag-chip.active .tag-count{background:rgba(255,255,255,.22);color:#fff}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.result-bulk-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0 2px;padding:9px 10px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.result-bulk-label{font-size:.72rem;font-weight:950;color:var(--muted);margin-right:2px}
.result-bulk-actions .small-btn{min-height:38px}
.result-bulk-actions .category-reset-btn{margin-left:auto;color:#7b4d6b;border-color:#decbd6;background:#fffafd}
.result-bulk-actions button:disabled{opacity:.42;cursor:default;transform:none}
.result-card{border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:14px;min-height:130px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
.result-card.locked{background:#f3edf9;border-color:#d9c9e8}
.result-main{min-width:0}
.value{font-size:1.04rem;font-weight:900;line-height:1.5;min-height:3em;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.char-meta{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;font-weight:700}
.card-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.result-quick-actions{display:flex;align-items:center;gap:8px}
.result-detail{grid-column:1/-1;border-top:1px solid var(--line)}
.result-detail>summary{display:none}
.result-detail-content{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px}

.choose-btn{background:var(--surface-accent)!important;color:#5b4177!important;border-color:#d9cae7!important}
.choice-modal{position:fixed;inset:0;z-index:200;background:rgba(30,20,38,.42);display:flex;align-items:center;justify-content:center;padding:18px}
.choice-modal[hidden]{display:none}
.choice-dialog{width:min(700px,100%);max-height:min(760px,88vh);background:var(--surface);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden}
.choice-head{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}
.choice-title{font-size:1rem;font-weight:950}
.choice-close{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:38px;height:38px;font-weight:950;font-size:1.1rem}
.choice-search-wrap{padding:12px 16px 8px}
.choice-search-wrap input{width:100%}
.choice-note{font-size:.73rem;color:var(--muted);padding:0 16px 8px}
.choice-list{padding:4px 12px 14px;overflow:auto;display:grid;gap:6px}
.choice-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;text-align:left;color:var(--text);font-size:.84rem;font-weight:850;line-height:1.5}
.choice-item:hover{background:var(--surface-accent)}
.choice-item.current{border-color:#9c79bd;background:#f2eafa}
.choice-item-meta{display:block;font-size:.7rem;color:var(--muted);font-weight:700;margin-top:2px}
.choice-empty{padding:25px;text-align:center;color:var(--muted);font-size:.85rem}

.choice-category-wrap{padding:0 16px 10px}
.choice-category-headline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.choice-category-title{font-size:.76rem;font-weight:950;color:var(--text)}
.choice-category-clear{border:0;background:transparent;color:#72519a;padding:6px 4px;font-size:.7rem;font-weight:900}
.choice-category-clear:disabled{color:var(--muted);opacity:.48}
.choice-category-summary{font-size:.7rem;color:var(--muted);font-weight:800;min-height:1.4em;margin-bottom:7px}
.choice-category-chips{display:flex;flex-wrap:wrap;gap:6px}
.choice-category-option{display:inline-flex;min-width:0}
.choice-category-chip{display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);background:var(--surface);color:#62586b;border-radius:999px 0 0 999px;padding:7px 9px;font-size:.72rem;font-weight:850;min-width:0}
.choice-category-state{width:.9em;font-weight:950}
.choice-category-exclude{border:1px solid var(--line);border-left:0;background:#faf8fb;color:#866f7a;border-radius:0 999px 999px 0;padding:7px 9px;font-size:.69rem;font-weight:900;white-space:nowrap}
.choice-category-option.included .choice-category-chip{background:#72519a;border-color:#72519a;color:#fff;box-shadow:0 0 0 2px rgba(114,81,154,.12)}
.choice-category-option.included .choice-category-exclude{border-color:#cfc0dc}
.choice-category-option.excluded .choice-category-chip{background:#faf4f6;border-color:#ddb5c1;color:#914c60;text-decoration:line-through}
.choice-category-option.excluded .choice-category-exclude{background:#a85f74;border-color:#a85f74;color:#fff}
.choice-category-help{font-size:.7rem;color:var(--muted);line-height:1.55;margin-top:7px}

.choice-category-help b{color:#5b4177}
.result-category-status{font-size:.69rem;color:var(--muted);font-weight:800;margin-top:5px;min-height:1.3em}
.result-category-status .include{color:#664387}
.result-category-status .exclude{color:#985569}

.choice-category-chip .n{opacity:.72;margin-left:3px}
.situation-category-grid{display:flex;flex-wrap:wrap;gap:6px}
.situation-filter-chip{border:1px solid var(--line);background:var(--surface);color:#64596e;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:850}
.situation-filter-chip.excluded{background:#f7e8ed;border-color:#e5bdc8;color:#914d60;text-decoration:line-through}
.situation-filter-note{font-size:.71rem;color:var(--muted);margin-top:7px}
.category-badge{display:inline-flex;align-items:center;border-radius:999px;background:#f1ebf7;color:#6d5684;padding:2px 7px;font-size:.66rem;font-weight:900;margin-left:6px}


.lock-label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.79rem;user-select:none}
.lock-label input,.row-check,.select-all{accent-color:var(--accent);width:17px;height:17px}
.primary,.secondary,.small-btn,.danger-btn,.ok-btn{border:0;border-radius:13px;min-height:42px;padding:10px 13px;font-size:.88rem;font-weight:900;line-height:1.35;transition:.15s ease}
.primary{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 8px 22px rgba(118,83,166,.20)}
.secondary{background:var(--soft);color:#533b74}
.small-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:7px 10px;font-size:.8rem}
.danger-btn{background:#fae9ed;color:var(--danger)}
.ok-btn{background:#e8f3ed;color:var(--ok)}
button:active{transform:translateY(1px) scale(.995)}
.main-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.main-actions.single{grid-template-columns:1fr}
#freeExtra{min-height:90px}
#output{min-height:330px;font-size:.91rem;line-height:1.75}
.copy-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}
.status{margin-right:auto;color:var(--muted);font-size:.8rem}
details{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:17px 20px;font-weight:900;user-select:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"＋";float:right;color:var(--muted)} details[open] summary::after{content:"−"}
.settings{padding:0 20px 20px}
.pool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pool-grid textarea{min-height:165px;font-size:.85rem}
#basePrompt{min-height:350px;font-size:.85rem;line-height:1.6}
.settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.settings-actions #saveSettings.is-saved{background:var(--ok);color:#fff;box-shadow:0 6px 18px rgba(78,124,101,.22)}
.settings-save-status{min-height:1.45em;margin-top:4px;color:var(--ok);font-size:.75rem;font-weight:900}
.work-profile-editor{display:grid;gap:10px;margin-top:14px;border:1px solid #ddd0e8;border-radius:16px;background:linear-gradient(135deg,#f8f3fd,#fff);padding:14px}
.work-profile-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.work-profile-head strong{font-size:.9rem}
#workProtagonistProfile{min-height:130px;line-height:1.65}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}
.stat{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.stat .n{font-size:1.35rem;font-weight:950;line-height:1.2}
.stat .t{font-size:.75rem;color:var(--muted);font-weight:800;margin-top:3px}
.manage-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1fr);gap:9px;margin-bottom:10px}
.manager-facets{margin-bottom:10px}
.manage-filters input,.manage-filters select{font-size:.84rem}
.bulkbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:10px}
.bulkbar .selected-count{font-size:.8rem;color:var(--muted);font-weight:800;margin-right:auto}
.character-table{display:grid;gap:8px}
.char-row{display:grid;grid-template-columns:auto minmax(160px,1.05fr) minmax(145px,.88fr) minmax(170px,1.1fr) minmax(175px,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px 11px;background:#fff}
.char-row.archived{opacity:.68;background:#f7f5f8}
.char-name{font-weight:950}
.char-sub{font-size:.74rem;color:var(--muted)}
.mini-tags{display:flex;flex-wrap:wrap;gap:4px}
.mini-tag{background:#f3eef8;color:#675379;border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:800}
.height-main{font-weight:900;font-size:.84rem;line-height:1.42}
.height-source{font-size:.67rem;color:var(--muted);line-height:1.38;margin-top:3px}
.height-badge{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:2px 7px;font-size:.65rem;font-weight:900;margin-top:4px}
.height-badge.verified{background:#e9f6ee;color:#356b48}
.height-badge.unknown{background:#f3f0f5;color:#746a7d}
.height-badge.manual{background:#fff3dc;color:#8a6120}
.row-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.favorite-btn{border:1px solid var(--line);background:var(--surface);color:#8a7c92;border-radius:10px;padding:6px 9px;font-size:.78rem;font-weight:900;white-space:nowrap}
.favorite-btn.active{background:#fff6dc;border-color:#ead59a;color:#9b6b00}
.favorite-mark{color:#b27b00;font-weight:950;margin-right:4px}

.inline-editor{border:2px solid #d8c7e8;border-radius:16px;background:linear-gradient(135deg,#fbf8ff,#fff);padding:14px;margin:-2px 0 8px;box-shadow:0 8px 22px rgba(82,56,110,.08)}
.inline-editor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.inline-editor-title{font-weight:950;font-size:.9rem}
.inline-editor-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr .75fr;gap:9px;align-items:end}
.inline-editor-grid .full{grid-column:1/-1}
.inline-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tag-picker-compact{display:grid;gap:8px;margin-top:7px}
.tag-picker-group{border:1px solid var(--line);border-radius:12px;padding:8px;background:#fcfbfd}
.tag-picker-label{font-size:.69rem;font-weight:950;color:var(--muted);margin-bottom:6px}
.tag-picker-chips{display:flex;flex-wrap:wrap;gap:5px}
.tag-pick{border:1px solid var(--line);background:var(--surface);color:#62586b;border-radius:999px;padding:5px 8px;font-size:.71rem;font-weight:850}
.tag-pick.active{background:var(--accent);border-color:var(--accent);color:#fff}
.backup-box{margin-top:14px;border:1px solid #d9cce7;border-radius:15px;background:linear-gradient(135deg,#f8f3fd,#fffafc);padding:14px}
.backup-box h3{margin:0 0 5px;font-size:.95rem}
.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

.io-box{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:start}
.io-actions{display:flex;flex-wrap:wrap;gap:8px}
.io-note{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}
.schema-box{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:12px}
.schema-box code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;word-break:break-word}
.schema-guide-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.schema-guide-head strong{font-size:.9rem}
.schema-guide-head .io-note{margin-top:3px}
.schema-guide-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.import-options{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:10px}
.advanced-import{margin-top:10px;border:1px solid #ead4da;border-radius:13px;background:#fffafb;overflow:hidden}
.advanced-import>summary{padding:10px 12px;color:#8c5262;font-size:.78rem}
.advanced-import>div{display:grid;gap:9px;padding:0 12px 12px}
.advanced-import .danger-btn{justify-self:start}
.io-box>*,.filter-grid>*,.manage-filters>*,.import-options>*{min-width:0}
.empty{text-align:center;color:var(--muted);padding:34px 12px;border:1px dashed var(--line);border-radius:14px}
.manager-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.manager-form .full{grid-column:1/-1}
.form-actions{display:flex;gap:8px;flex-wrap:wrap}
.manager-note{margin:0 0 12px;color:var(--muted);font-size:.85rem}
.manager-guide{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:15px}
.manager-guide>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:11px 13px}
.manager-guide strong{font-size:.82rem;color:#5b4177}
.manager-guide span{font-size:.76rem;color:var(--muted);line-height:1.55}
.pager-note{margin-top:10px;color:var(--muted);font-size:.78rem}
.quick-nav{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;gap:7px}
.quick-nav[hidden]{display:none!important}
.quick-nav button{border:1px solid var(--line);background:rgba(255,255,255,.96);color:#5b4a6d;border-radius:999px;padding:9px 12px;font-size:.76rem;font-weight:950;box-shadow:0 8px 24px rgba(52,33,72,.13);backdrop-filter:blur(10px)}
.quick-nav button:hover{background:var(--soft)}
footer{padding:22px 0 8px;text-align:center;color:var(--muted);font-size:.77rem}
.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#2f2936;color:#fff;border-radius:999px;padding:10px 16px;font-size:.83rem;font-weight:900;transition:.2s ease;z-index:99;box-shadow:0 10px 30px rgba(0,0,0,.18);max-width:calc(100% - 28px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

.help-screen{padding-top:16px}
.help-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid #ded1ea;border-radius:var(--radius);background:linear-gradient(135deg,#f1e9fa 0%,#fff 52%,#fff3f8 100%);box-shadow:var(--shadow)}
.help-hero h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.3;margin:3px 0 6px}
.help-hero p{margin:0;color:var(--muted);max-width:680px}
.help-hero .primary{flex:0 0 auto}
.help-local-nav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.help-local-nav a{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.88);padding:7px 12px;color:#5a407d;font-size:.78rem;font-weight:900;text-decoration:none}
.help-section{scroll-margin-top:76px}
.help-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.help-step{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start;border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:15px}
.step-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:950}
.help-step h3,.help-detail-card h3{margin:0 0 5px;font-size:.98rem}
.help-step p{margin:0;color:var(--muted);font-size:.84rem}
.help-action{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:42px;margin-top:12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:#5f5469;padding:8px 14px;font-size:.8rem;font-weight:900;box-shadow:0 5px 18px rgba(52,33,72,.07);transition:.15s ease}
.help-action.compact{min-height:38px;margin-top:0;padding:7px 12px}
.help-action:hover{border-color:#cdbbdd;background:var(--soft);color:#523875;transform:translateY(-1px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:28px 3px 12px}
.section-heading h2{margin:2px 0 0;font-size:1.25rem}
.section-heading p{margin:0;color:var(--muted);font-size:.82rem}
.help-details-head{background:linear-gradient(90deg,#f7f1fc,#fff8fb)}
.help-details-head h2{margin-top:2px}
.help-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:linear-gradient(135deg,#faf7fd,#fff9fc)}
.help-detail-card{display:flex;flex-direction:column;border:1px solid #e0d5e9;border-radius:18px;background:var(--surface);padding:18px;box-shadow:0 8px 25px rgba(52,33,72,.07)}
.help-detail-card:nth-child(1){background:linear-gradient(160deg,#fff 58%,#f5effb)}
.help-detail-card:nth-child(2){background:linear-gradient(160deg,#fff 58%,#fff0f7)}
.help-detail-card:nth-child(3){background:linear-gradient(160deg,#fff 58%,#f2effb)}
.help-card-icon{font-size:1.35rem;margin-bottom:5px}
.help-detail-card ul{margin:5px 0 16px;padding-left:1.25em;color:#564d5e;font-size:.81rem;line-height:1.65}
.help-detail-card li+li{margin-top:5px}
.help-detail-card .help-action{margin-top:auto;width:100%}
.character-json-head{background:linear-gradient(90deg,#f3ebfb,#fff6fa)}
.character-json-head h2{margin-top:2px}
.guide-lead{max-width:840px;margin:0 0 16px;color:#554c5d}
.import-steps{counter-reset:import-step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 16px;padding:0;list-style:none}
.import-steps li{position:relative;display:grid;align-content:start;gap:3px;min-height:116px;border:1px solid #e1d6ea;border-radius:15px;background:linear-gradient(150deg,#fff,#f7f1fb);padding:14px 12px 12px 48px}
.import-steps li::before{counter-increment:import-step;content:counter(import-step);position:absolute;top:13px;left:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:.78rem;font-weight:950}
.import-steps strong{font-size:.82rem}
.import-steps span{color:var(--muted);font-size:.75rem;line-height:1.55}
.prompt-maker{display:grid;gap:11px;border:1px solid #d8c8e6;border-radius:17px;background:linear-gradient(135deg,#f8f3fd,#fff);padding:16px;margin-bottom:14px}
.research-prompt{min-height:310px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.77rem;line-height:1.65;background:#fff}
.prompt-maker-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.guide-card{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:15px}
.guide-card h3,.allowed-tags-head h3{margin:0 0 8px;font-size:.92rem}
.guide-card ul{margin:0;padding-left:1.2em;color:#5e5566;font-size:.79rem}
.guide-card li+li{margin-top:6px}
.json-example{max-height:360px;overflow:auto;margin:0;border-radius:12px;background:#302a38;color:#f7f1fb;padding:13px;font-size:.72rem;line-height:1.6;white-space:pre}
.allowed-tags-box{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:15px}
.allowed-tags-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.allowed-tags-head h3{margin:0}
.allowed-tag-groups{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.allowed-tag-group{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:10px}
.allowed-tag-label{font-size:.74rem;font-weight:950;color:#665674;margin-bottom:7px}
.allowed-tag-list{display:flex;gap:5px;flex-wrap:wrap}
.allowed-tag{border-radius:999px;background:#f0e9f7;color:#634d78;padding:3px 8px;font-size:.69rem;font-weight:850}
.import-caution{margin-top:12px;border-left:4px solid #d3a13b;border-radius:12px;background:#fff8e6;padding:11px 13px;color:#684f18}
.import-caution strong{font-size:.82rem}
.import-caution p{margin:3px 0 0;font-size:.78rem;line-height:1.65}
.data-guide .panel-body p{margin:0 0 10px;color:#554c5d}
.data-guide .panel-body p:last-of-type{padding:11px 13px;border-radius:13px;background:#fff7df;color:#6e5317}
.help-backup-box{margin-top:14px}
.backup-restore-status{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px 12px;color:var(--muted);font-size:.76rem;line-height:1.65}
.backup-restore-status.success{border-color:#bdd9c8;background:var(--surface-ok);color:#38634a}
.backup-restore-status.error{border-color:#e2b8c2;background:var(--surface-danger);color:#8a4053}
.faq-list{display:grid;gap:8px}
.faq-list details{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.faq-list details[open]{border-color:#d5c2e5;background:#fcfaff}
.faq-list summary{padding:13px 15px;font-size:.86rem}
.faq-list p{margin:0;padding:0 15px 14px;color:var(--muted);font-size:.83rem}
@media(max-width:1000px){
 .manage-filters{grid-template-columns:1fr 1fr}
 .io-box{grid-template-columns:1fr}
 .io-actions button{font-size:.8rem}
}
@media(max-width:780px){
  input[type=text],select,textarea{font-size:16px}
  .choice-modal{align-items:flex-end;padding:0}
  .choice-dialog{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .choice-category-wrap{padding:2px 12px 10px}
  .choice-category-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:32vh;overflow:auto;overscroll-behavior:contain;padding:2px}
  .choice-category-option{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .choice-category-chip{justify-content:flex-start;border-radius:12px 0 0 12px;min-height:46px;padding:9px 10px;text-align:left}
  .choice-category-chip>span:nth-child(2){overflow:hidden;text-overflow:ellipsis}
  .choice-category-exclude{border-radius:0 12px 12px 0;min-height:46px;padding:8px 10px}
  .choice-category-help{margin-top:8px}
  .result-bulk-actions{display:grid;grid-template-columns:1fr 1fr;padding:10px}
  .result-bulk-label{grid-column:1/-1}
  .result-bulk-actions .small-btn{min-height:44px;width:100%}
  .result-bulk-actions .category-reset-btn{grid-column:1/-1;margin-left:0}
  .wrap{width:min(100% - 18px,1080px)} header{padding-top:calc(22px + max(5mm, env(safe-area-inset-top)))}
 .panel-body{padding:14px} .panel-head{padding:15px} .result-grid,.pool-grid,.manager-form,.io-box{grid-template-columns:1fr}
 .gacha-top-actions{position:sticky;top:61px;z-index:16;align-items:stretch;flex-direction:column;padding:8px;background:rgba(248,243,252,.96);backdrop-filter:blur(10px)}
 .gacha-top-actions .primary{width:100%;min-width:0}
 .gacha-top-actions span{display:none}
 .result-grid{gap:7px}
 .result-card{grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:9px 10px;gap:7px}
 .result-main{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:7px}
 .value{min-height:0;font-size:.86rem;line-height:1.35;display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}
 .char-meta{display:none}
 .result-quick-actions{gap:5px}
 .result-quick-actions .small-btn{min-height:38px;padding:6px 8px}
 .result-quick-actions .small-btn span,.result-quick-actions .lock-label span{display:none}
 .result-detail{margin:0 -2px -1px}
 .result-detail>summary{display:block;padding:6px 4px 2px;color:var(--muted);font-size:.68rem}
 .result-detail-content{align-items:flex-start;flex-direction:column;padding-top:7px}
 .result-detail-content .card-actions{width:100%;justify-content:flex-start}
 .filter-grid,.facet-grid,.main-actions{grid-template-columns:1fr!important}
 .world-mode-options{grid-template-columns:1fr 1fr}
 .manage-filters{grid-template-columns:1fr 1fr} .stats{grid-template-columns:repeat(3,1fr)}
 .char-row{grid-template-columns:auto minmax(0,1fr);align-items:start}
 .char-row .work-cell,.char-row .tags-cell,.char-row .height-cell,.char-row .row-actions{grid-column:2}
 .row-actions{justify-content:flex-start} .tag-head{align-items:flex-start;flex-direction:column} .tag-mode{width:100%}
 .inline-editor-grid{grid-template-columns:1fr 1fr}
 .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:rgba(247,244,251,.96)}
 .tab-btn{min-width:0;padding:9px 5px;font-size:.75rem;box-shadow:0 3px 12px rgba(52,33,72,.04)}
 .panel-head{align-items:flex-start;flex-wrap:wrap}
 .favorite-btn,.favorite-toggle-btn,.status-filter-btn,.tag-chip,.situation-filter-chip{min-height:42px}
 .manager-guide,.help-steps,.help-detail-grid{grid-template-columns:1fr}
 .import-steps{grid-template-columns:1fr 1fr}
 .guide-grid,.allowed-tag-groups{grid-template-columns:1fr}
 .help-action{min-height:44px}
 .range-row{grid-template-columns:68px minmax(0,1fr) 108px;gap:7px}
 .help-hero{align-items:flex-start;flex-direction:column;padding:20px}
 .help-hero .primary{width:100%}
 .section-heading{align-items:flex-start;flex-direction:column;gap:5px}
 #output{min-height:390px}
}
@media(max-width:480px){
 .choice-category-chips{grid-template-columns:1fr}
 .candidate-preview-body{grid-template-columns:1fr}
 .candidate-selector-head{align-items:flex-start;flex-direction:column}
 .candidate-selector-head .small-btn{width:100%}
  .manage-filters{grid-template-columns:1fr} .stats{grid-template-columns:1fr 1fr;gap:6px}
 .stat{padding:9px} .stat .n{font-size:1.1rem} .tab-btn{padding:8px 2px;font-size:.68rem}
 .import-steps{grid-template-columns:1fr}
 .schema-guide-actions,.schema-guide-actions button,.prompt-maker-actions,.prompt-maker-actions button{width:100%}
 .inline-editor-grid{grid-template-columns:1fr}
 .world-mode-options button{font-size:.72rem;padding:7px 5px}
}

.library-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.library-head-row,.library-form-actions,.library-search-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.library-search-row input{flex:1;min-width:220px}
.library-list{display:grid;gap:10px;margin-top:12px}
.library-card{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:13px 14px}
.library-card-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.library-card-title{font-weight:950;font-size:.95rem}
.library-card-sub{font-size:.73rem;color:var(--muted);margin-top:3px}
.library-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.library-tag{display:inline-flex;border-radius:999px;background:#f2edf7;color:#674f7c;padding:3px 7px;font-size:.67rem;font-weight:850}
.library-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.novel-use-menu{width:fit-content}
.novel-use-menu summary{display:flex;align-items:center;list-style:none;cursor:pointer}
.novel-use-menu summary::-webkit-details-marker{display:none}
.novel-use-menu summary::after{content:"▾";margin-left:6px;font-size:.72rem}
.novel-use-menu[open] summary::after{content:"▴"}
.novel-use-actions{display:none;gap:5px;padding-top:6px}
.novel-use-menu[open] .novel-use-actions{display:grid}
.library-preview{font-size:.78rem;line-height:1.65;color:#4c4454;margin-top:9px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}
.library-snapshot{border:1px dashed #d6c7e3;background:var(--surface-accent);border-radius:13px;padding:10px 12px;font-size:.76rem;color:#5d5266;margin-bottom:12px}
.novel-body-input{min-height:360px;line-height:1.75}
.novel-memo-input{min-height:90px}
.novel-modal{position:fixed;inset:0;z-index:210;background:rgba(30,20,38,.52);display:flex;align-items:center;justify-content:center;padding:14px}
.novel-modal[hidden]{display:none}
.novel-dialog{width:min(860px,100%);max-height:92vh;background:var(--surface);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}
.novel-dialog{max-height:min(92dvh,calc(100dvh - 28px))}
.novel-dialog>.choice-head{flex-shrink:0}
/* Details and the editor share the reader's scroll area, below the fixed header. */
.novel-dialog-content{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.novel-view-meta{font-size:.72rem;color:var(--muted);margin-top:2px}
.novel-view-body{padding:22px 22px 26px;overflow:visible;white-space:pre-wrap;line-height:1.9;font-size:.95rem}
#novelViewRead{overflow:visible}
.novel-view-actions{display:flex;gap:6px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid var(--line)}
.novel-dialog-actions{display:flex;align-items:center;gap:8px}
.novel-edit-panel{padding:18px 22px 24px}
.novel-view-details{border-top:1px solid var(--line);padding:12px 18px 18px;background:#faf9fc}
.novel-view-details summary{font-weight:900;cursor:pointer}
.novel-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}
.novel-detail-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 9px;font-size:.72rem}
.novel-detail-item b{display:block;color:var(--muted);font-size:.65rem;margin-bottom:2px}
#novelViewPrompt{min-height:180px;background:#fff}
.empty-library{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:13px}
@media(max-width:780px){
 .library-head-row,.library-form-actions{align-items:stretch}
 .library-head-row .primary,.library-form-actions .primary{width:100%}
 .novel-detail-grid{grid-template-columns:1fr}
 .novel-view-body{padding:17px 15px 22px;font-size:.92rem}
 .novel-body-input{min-height:300px}
}


.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.header-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.theme-control{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:var(--muted);font-size:.72rem;font-weight:900}
.theme-control select{width:auto;min-width:112px;padding:7px 9px;font-size:.75rem}
.reload-btn{white-space:nowrap;min-height:36px}
.filter-disclosure{padding:0}
.filter-disclosure>.filter-title{margin:0;padding:14px 15px;cursor:pointer}
.filter-disclosure>.filter-title>span:first-child{display:grid;gap:2px}
.filter-disclosure>.filter-title small{color:var(--muted);font-size:.68rem;font-weight:800}
.filter-disclosure[open]>.filter-title{border-bottom:1px solid var(--line)}
.filter-content{padding:14px 15px 15px}
:root[data-theme="dark"]{
 color-scheme:dark;--bg:#17131d;--panel:#231d2b;--panel2:#2a2233;--text:#f2edf6;--muted:#bcb0c7;
 --line:#473a53;--accent:#9b72d1;--accent2:#cf80ad;--soft:#382b49;--danger:#df7f95;
 --ok:#7eb697;--shadow:0 14px 38px rgba(0,0,0,.28);--surface:#251e2e;--panel-alpha:rgba(35,29,43,.94);
 --surface-soft:#2d2536;--surface-accent:#352943;--surface-danger:#3b252f;--surface-warm:#392f22;--surface-ok:#24382d;
 --glow1:#30213f;--glow2:#3a222f
}
:root[data-theme="dark"] body{background:radial-gradient(circle at 10% 0%,var(--glow1) 0,transparent 30%),radial-gradient(circle at 100% 20%,var(--glow2) 0,transparent 28%),var(--bg)}
:root[data-theme="dark"] .tabs{background:transparent}
:root[data-theme="dark"] .help-hero{background:linear-gradient(135deg,var(--surface-accent) 0%,var(--panel) 52%,var(--surface-danger) 100%);border-color:var(--line)}
:root[data-theme="dark"] :where(.facet-chip,.world-mode-options button,.status-filter-btn,.choice-item,.small-btn,.lock-label,.candidate-chip){color:var(--text)}
:root[data-theme="dark"] :where(.choose-btn,.result-bulk-actions .category-reset-btn){color:#d8c0f3!important}
:root[data-theme="dark"] .candidate-option.excluded .candidate-chip{color:#efafbd}
:root[data-theme="dark"] .backup-restore-status.success{color:#a9dfbe}
:root[data-theme="dark"] .backup-restore-status.error{color:#f2aaba}
@media(max-width:780px){
 .header-row{align-items:stretch;flex-direction:column;gap:12px}
 .header-controls{align-self:flex-end}
 .value{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}
 .result-main{align-items:start}
}


:root[data-theme="dark"] :where(.panel,.facet-filter,.candidate-selector,.faq-list details,.guide-card,.help-detail-card,.library-card,.novel-dialog,.choice-dialog,.backup-restore-status){border-color:var(--line)}
:root[data-theme="dark"] :where(.gacha-top-actions,.filter-box){background:linear-gradient(135deg,var(--surface-accent),var(--surface-danger));border-color:var(--line)}
:root[data-theme="dark"] :where(.world-mode-box,.height-filter-details,.optional-filter,.tag-group,.result-bulk-actions,.tag-picker-group,.char-row,.faq-list details[open],.novel-view-details,.work-profile-editor){background:var(--surface-soft);border-color:var(--line)}
:root[data-theme="dark"] :where(.char-row,.research-prompt,#novelViewPrompt){background:var(--surface)}
:root[data-theme="dark"] :where(.char-row.archived,.result-card.locked,.choice-item.current,.tag-chip .tag-count,.category-badge,.mini-tag,.height-badge.unknown,.library-tag){background:var(--surface-accent);border-color:var(--line)}
:root[data-theme="dark"] :where(.facet-chip.excluded,.candidate-option.excluded .candidate-chip,.choice-category-option.excluded .choice-category-chip,.situation-filter-chip.excluded,.advanced-import){background:var(--surface-danger);border-color:#855263}
:root[data-theme="dark"] :where(.favorite-toggle-btn,.favorite-btn.active,.height-badge.manual,.import-caution,.data-guide .panel-body p:last-of-type){background:var(--surface-warm)}
:root[data-theme="dark"] :where(.quick-nav button,.help-local-nav a){background:var(--panel-alpha);color:#d8c0f3}
:root[data-theme="dark"] :where(.count-badge,.status-badge,.facet-summary,.height-range-value,.tag-group-title,.tag-chip,.tag-chip .tag-count,.choice-category-chip,.choice-category-exclude,.situation-filter-chip,.mini-tag,.library-tag,.library-preview,.library-snapshot,.help-detail-card ul,.guide-lead,.guide-card ul,.allowed-tag-label,.data-guide .panel-body p){color:var(--muted)}
:root[data-theme="dark"] :where(.secondary,.choice-category-clear,.choice-category-help b,.result-category-status .include,.manager-guide strong,.help-action:hover){color:#d8c0f3}
:root[data-theme="dark"] :where(.result-category-status .exclude,.advanced-import>summary){color:#efafbd}
:root[data-theme="dark"] .toast{background:#f0e8f5;color:#251d2c;box-shadow:0 10px 30px rgba(0,0,0,.4)}
:root[data-theme="dark"] :where(.help-details-head,.character-json-head){background:linear-gradient(90deg,var(--surface-accent),var(--surface-danger));border-color:var(--line)}
:root[data-theme="dark"] .help-detail-grid{background:transparent}
:root[data-theme="dark"] .help-detail-card{background:linear-gradient(135deg,var(--surface),var(--surface-accent));border-color:var(--line)}
:root[data-theme="dark"] :where(.import-steps li,.prompt-maker,.backup-box,.inline-editor){background:linear-gradient(135deg,var(--surface-soft),var(--surface-accent));border-color:var(--line)}
:root[data-theme="dark"] .faq-list details[open]{background:var(--surface-soft);border-color:var(--line)}
:root[data-theme="dark"] .choice-category-exclude{background:var(--surface-soft);border-color:var(--line)}
:root[data-theme="dark"] .allowed-tag{background:var(--surface-accent);color:var(--muted)}
:root[data-theme="dark"] .help-action{color:var(--text)}
:root[data-theme="dark"] :where(.import-caution,.data-guide .panel-body p:last-of-type){color:#f7e7b0}
.prompt-diff{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.6}
.prompt-diff span{display:block;min-height:1.6em}
.prompt-diff .diff-added{background:#daf1e4;color:#174b2d}
.prompt-diff .diff-removed{background:#f9e0e3;color:#722431}
.prompt-diff .diff-gap{opacity:.65}
.prompt-version-details{margin-top:10px}
.prompt-version-details select{width:100%;margin:8px 0}
#novelSavePrompt{min-height:160px}

/* Scoped prompt settings share the existing light/dark surfaces. */
.context-panel{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:14px;margin:16px 0}
.context-panel summary{cursor:pointer;font-weight:800;overflow-wrap:anywhere}
.context-panel details{margin:10px 0}
.context-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.86rem;margin:10px 0}
.context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.context-grid .field{min-width:0}
.context-grid select[multiple]{height:132px;max-width:100%;font-size:.8rem}
.context-grid .small-btn{margin-top:6px}
.context-stage-picker{margin:0 0 14px}
.context-entry-list{display:grid;gap:8px;margin:12px 0}
.context-entry-button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;white-space:normal;overflow-wrap:anywhere;width:100%}
.context-entry-button span{font-size:.76rem;color:var(--muted)}
.context-applied-row{padding:12px 0;border-top:1px solid var(--line)}
.context-applied-row>label{display:block;font-weight:700;overflow-wrap:anywhere}
.context-notice{border:1px solid var(--line);background:var(--surface-warm);padding:12px;border-radius:12px;margin-bottom:12px}
.context-notice .small-btn{margin:8px 0 0;display:block}
.context-error{color:var(--danger);background:var(--surface-danger);border:1px solid var(--danger);padding:12px;border-radius:10px;white-space:pre-wrap}
#contextEditor{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
#contextEditor .field{margin-top:12px}
.context-panel [hidden],.context-notice[hidden]{display:none!important}
@media(max-width:600px){.context-grid{grid-template-columns:1fr}.context-panel{padding:12px}.context-panel .settings-actions{flex-wrap:wrap}}
/* Optional creation details share the existing palette and remain usable on phones. */
#recipeEditor{margin:12px 0}
#recipeEditor textarea{min-height:80px}
#recipeError:empty{display:none}
#promptFreshness[data-state="stale"]{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-warm);color:var(--text)}
.character-card-dialog{width:min(760px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
.character-card-dialog[open]{display:flex;flex-direction:column}
.character-card-dialog::backdrop{background:rgba(20,12,30,.5)}
.character-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line);flex-shrink:0}
.character-card-head h2{margin:0;font-size:1.15rem}
#characterCardClose{flex-shrink:0;white-space:nowrap}
.character-card-head .manager-note{margin-bottom:0}
.character-card-content{padding:16px;overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}
.character-card-note{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:12px;margin:12px 0;overflow-wrap:anywhere}
.character-card-note h3{margin:0;font-size:1rem}
.character-card-note pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.7}
#characterNoteEditor{margin-top:16px}
#characterNoteBody{min-height:160px}
.character-card-dialog [hidden]{display:none!important}
@media(max-width:600px){.character-card-head,.character-card-content{padding:12px}.character-card-dialog .context-grid{grid-template-columns:minmax(0,1fr)}}
