: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
}
*{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%,#f0e7fa 0,transparent 30%),
             radial-gradient(circle at 100% 20%,#fbeaf2 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:rgba(255,255,255,.92);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:rgba(255,255,255,.92);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}
.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:#fff;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}

.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:#fff;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:#fff;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:#fff;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:#fffaf0;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:#fff;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:#faf8fc}
.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:flex;flex-direction:column;justify-content:space-between;gap:10px}
.result-card.locked{background:#f3edf9;border-color:#d9c9e8}
.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}

.choose-btn{background:#f7f1fb!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:#fff;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:#fff;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:#fff;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:#faf7fd}
.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:#fff;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:#fff;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:#fff;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}
#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}

.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(150px,1fr) minmax(150px,1fr) minmax(170px,1.15fr);gap:9px;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:#fff;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:#fff;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}
.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:#fff;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:#fff;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:#fff;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:#fff;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}
.faq-list{display:grid;gap:8px}
.faq-list details{border:1px solid var(--line);border-radius:14px;background:#fff;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:22px}
 .panel-body{padding:14px} .panel-head{padding:15px} .result-grid,.pool-grid,.manager-form,.io-box{grid-template-columns:1fr}
 .filter-grid,.main-actions{grid-template-columns: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}
}

.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:#fff;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}
.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:#faf7fd;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:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}
.novel-view-meta{font-size:.72rem;color:var(--muted);margin-top:2px}
.novel-view-body{padding:22px 22px 26px;overflow:auto;white-space:pre-wrap;line-height:1.9;font-size:.95rem}
.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:#fff;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}
}
