:root{--bg:#faf9fd;--paper:#fff;--ink:#353449;--muted:#706b81;--line:#e5e1ed;--accent:#706098;--lavender:#eee9f7;--mint:#e8f3ef;--tone-bg:#eff1f8;--tone-line:#a4aecb;--radius:18px;font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:var(--ink);background:var(--bg);line-height:1.8;font-size:15px;color-scheme:light}
*{box-sizing:border-box}body{margin:0}body[data-tone='1']{--tone-bg:#fbf3e8;--tone-line:#dab27b}body[data-tone='2']{--tone-bg:#eef5f1;--tone-line:#9dbdaf}body[data-tone='4']{--tone-bg:#f1edf6;--tone-line:#b4a4c7}body[data-tone='5']{--tone-bg:#ece8f0;--tone-line:#9585a8}
button,input,textarea,select{font:inherit}button,.button-link,.file-button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:9px 15px;background:var(--paper);color:var(--ink);cursor:pointer;line-height:1.5;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600}button:hover,.button-link:hover,.file-button:hover{border-color:var(--accent);background:var(--lavender)}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8b7ab5;outline-offset:3px}a{color:var(--accent)}.primary{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 3px 8px #73629c22}.primary:hover{background:#5c4c82;color:white}.secondary{background:var(--lavender);border-color:#ddd4ee;color:#554273}.text-btn{background:transparent;border-color:transparent;color:var(--accent)}.small-btn{font-size:.85rem;padding:8px 12px}.subtle,.note{color:var(--muted);font-size:.85rem}.note{margin:10px 0;line-height:1.8}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif}h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;letter-spacing:.08em;margin:10px 0}h2{font-size:1.65rem;letter-spacing:.04em;margin:5px 0 0}h3{font-size:1rem;margin-bottom:12px}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:700;color:#817193}.jump-nav{display:flex;justify-content:center;gap:10px;background:#faf9fdf2;border-bottom:1px solid var(--line);padding:8px 12px;position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}.jump-nav a{min-height:44px;display:flex;align-items:center;justify-content:center;min-width:100px;text-decoration:none;font-size:.85rem;border-radius:10px}.jump-nav a:hover{background:var(--lavender)}.wrap{max-width:1100px;padding:0 26px;margin:0 auto}.section{padding-top:36px;scroll-margin-top:80px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 3px 12px #63578405}.settings-grid{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:18px}label{display:block;font-size:.85rem;font-weight:600}input:not([type='checkbox']),textarea,select{width:100%;min-width:0;border:1px solid #d7d2e2;background:#fdfcfe;color:var(--ink);border-radius:8px;padding:10px 12px;min-height:44px;margin-top:5px;font-weight:400}textarea{resize:vertical;line-height:1.8}textarea[aria-invalid='true'],input[aria-invalid='true']{border-color:#b14750;background:#fff8f8}.theme-details{border-top:1px solid var(--line);margin-top:15px;padding-top:10px}summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600;overflow-wrap:anywhere}summary .subtle{font-weight:400;margin-left:12px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.chip{border-radius:22px;font-size:.85rem;padding:8px 14px}.chip[aria-pressed='true']{background:var(--accent);border-color:var(--accent);color:#fff}.history-actions{margin-left:auto;display:flex;gap:8px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-card{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:17px 18px;min-width:0;transition:border-color .15s}.field-card:last-child:nth-child(odd){grid-column:1/-1}.field-card .card-head{margin-bottom:7px}.field-label{font-size:.8rem;letter-spacing:.07em;color:var(--muted);font-weight:700}.source-label{font-size:.7rem;background:var(--mint);border-radius:5px;padding:1px 6px;color:#356e5d}.field-value{font-size:1.04rem;margin:0 0 10px;line-height:1.9;min-height:2em;white-space:pre-wrap;overflow-wrap:anywhere}.field-value.empty{color:#a19aaf;font-size:.9rem}.field-actions{display:flex;gap:8px;flex-wrap:wrap}.field-actions button{font-size:.8rem;padding:8px 11px}.editor{border-top:1px dashed var(--line);margin-top:14px;padding-top:12px}.editor label{margin-bottom:10px}.input-error{display:block;color:#a33741;font-size:.8rem;font-weight:400;min-height:0;overflow-wrap:anywhere}.input-error:not(:empty){margin:4px 0}.input-count{color:var(--muted);font-weight:400;font-size:.78rem}.under-actions{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.pill{font-size:.75rem;padding:4px 12px;background:var(--mint);color:#406f60;border-radius:20px;white-space:normal}.result-card{background:var(--tone-bg);border:1px solid var(--tone-line);border-radius:var(--radius);padding:26px 28px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h3{margin:0}.result-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;margin:16px 0;font-size:.97rem}.result-actions{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #b0a6bd33;padding-top:18px;margin-top:20px}.optional-stack{display:grid;gap:12px;margin-top:24px}.accordion{padding:12px 22px}.accordion>summary::marker{color:#8b7bb0}.accordion[open]>summary{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:14px}.accordion summary>.subtle{display:inline-block}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.optional-grid{margin:16px 0}.question-toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.question-toolbar label{min-width:200px;flex:1}.question-slot{background:#faf9fc;border:1px solid var(--line);border-radius:12px;padding:18px;margin:15px 0}.question-slot h4{margin:0 0 12px;font-size:.94rem}.question-slot label{margin-bottom:10px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.output-details{margin-top:12px}.output-details ol{padding-left:25px}.export-actions{margin-top:22px}.save-editor>label{margin:15px 0}.save-editor h3{margin-bottom:5px}.library-toolbar{display:flex;align-items:end;gap:20px;margin:24px 0 18px}.library-toolbar>label:first-child{flex:1}.check-label{display:flex;align-items:center;gap:8px;min-height:44px}.check-label input{width:20px;height:20px;accent-color:var(--accent);margin:0}.saved-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.saved-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);min-width:0}.saved-card h3{font-size:1.02rem;overflow-wrap:anywhere;margin:0}.saved-card p{overflow-wrap:anywhere}.saved-summary{font-size:.86rem;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:10px 0}.saved-tags{font-size:.8rem;color:#5b6e64;overflow-wrap:anywhere}.empty-library{padding:30px 20px;background:var(--lavender);border-radius:14px;color:var(--muted);grid-column:1/-1;text-align:center}.backup-panel{margin-top:24px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0!important;width:100%}.file-button:focus-within{outline:3px solid #8b7ab5;outline-offset:3px}footer{text-align:center;padding:50px 20px 40px;color:var(--muted);font-size:.85rem}footer>p:first-child{font-family:'Yu Mincho',serif;font-size:1.08rem}.warning{padding:16px 20px;background:#fff5dc;border:1px solid #d9bd7e;border-radius:12px;margin-top:20px;overflow-wrap:anywhere;white-space:pre-wrap}.notice{color:#8b5f29}.toast{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#373044;color:white;border-radius:12px;padding:13px 20px;box-shadow:0 5px 20px #0002;z-index:20;width:max-content;max-width:calc(100vw - 32px);font-size:.87rem;white-space:pre-wrap;overflow-wrap:anywhere}dialog{max-width:520px;width:calc(100vw - 36px);padding:26px;border:1px solid var(--line);border-radius:18px;color:var(--ink);box-shadow:0 20px 80px #28213433}dialog::backdrop{background:#28213455}.dialog-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.skip{position:fixed;top:-100px;left:12px;z-index:30;background:white;padding:12px}.skip:focus{top:8px}[hidden]{display:none!important}
@media(min-width:800px){.optional-stack{grid-template-columns:1fr}.field-card:last-child:nth-child(odd){display:block}.result-card{padding:28px 32px}}
@media(max-width:640px){:root{font-size:14px}.wrap{padding:0 16px}.section{padding-top:28px}.section-head{gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:15px}h2{font-size:1.4rem}.settings-grid{grid-template-columns:1fr 1fr;gap:12px}.settings-grid>label:last-child{grid-column:1/-1}.panel{padding:16px}.accordion{padding:10px 16px}.accordion summary>.subtle{display:block;margin:0 0 0 18px;font-size:.78rem}.field-grid,.saved-list,.name-grid{grid-template-columns:1fr}.field-card{padding:14px 16px}.history-actions{margin-left:0;width:100%;justify-content:flex-end}.field-card:last-child:nth-child(odd){grid-column:auto}.result-card{padding:20px 18px}.card-head{gap:8px}.card-head h3{font-size:.95rem}.library-toolbar{flex-wrap:wrap;gap:6px}.library-toolbar>label:first-child{flex-basis:100%}.under-actions{align-items:center}.pill{font-size:.72rem}.question-toolbar>button{width:100%}.optional-grid{gap:12px}.export-actions>button{flex:1;min-width:140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.theme-heading{font-size:.9rem;margin:16px 0 8px}.pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pack-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:3px;padding:13px 15px;border-radius:12px;background:#faf8fd}.pack-title{font-size:.9rem}.pack-description{font-size:.78rem;font-weight:400;color:var(--muted)}.pack-choice[aria-pressed='true']{background:var(--lavender);border:2px solid var(--accent);padding:12px 14px}.pack-choice[aria-pressed='true'] .pack-title::before{content:'✓ ';color:var(--accent)}.active-themes{font-size:.83rem;color:#5c4b77;background:var(--lavender);border-radius:10px;padding:10px 14px;margin:16px 0 0;overflow-wrap:anywhere}.draw-notice{font-size:.84rem;line-height:1.85;background:#fff5dc;border-left:3px solid #d9bd7e;padding:12px 15px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.material-badges{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}.material-tag,.context-tag{font-size:.7rem;border-radius:5px;padding:2px 7px;line-height:1.7;overflow-wrap:anywhere}.material-tag{background:var(--lavender);color:#5d4c7d}.context-tag{background:var(--mint);color:#406f60}.background-editor{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:16px 0}.background-editor legend{font-size:.84rem;font-weight:600}.background-editor .note{margin-top:0}.context-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.context-option{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:400;font-size:.8rem;border:1px solid var(--line);border-radius:8px;padding:6px 8px;cursor:pointer}.context-option:has(:checked){background:var(--mint);border-color:#9dbdaf}.context-option input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--accent)}
@media(max-width:640px){.section{padding-top:22px}.pack-grid{grid-template-columns:1fr}.settings-panel .note{margin:8px 0}.theme-details{margin-top:10px}.active-themes{margin-top:12px}.context-options{grid-template-columns:1fr}.pack-choice{padding:12px}.pack-choice[aria-pressed='true']{padding:11px}}

.coherence-control{border:0;padding:0;margin:16px 0 0}.coherence-control legend{font-size:.85rem;font-weight:600}.coherence-control .inline-actions{margin:7px 0;gap:8px}.coherence-control button{flex:1;font-size:.85rem}.coherence-control button[aria-pressed='true']{background:var(--lavender);border-color:var(--accent);color:#554273}.coherence-control .note{margin:0}.history-actions{align-items:center;padding:4px;border-radius:12px;background:#f1eff5}.usage-help{font-size:.85rem;margin:10px 0;color:var(--muted)}.usage-help>summary{font-weight:500}.backup-status{margin-top:20px}.backup-prompt{background:var(--mint);border:1px solid #a9cbbc;border-radius:12px;padding:14px}.backup-prompt p{margin-bottom:8px;font-size:.85rem}dialog{max-height:85vh;max-height:85dvh;overflow:auto;overscroll-behavior:contain}.text-input-active .toast{position:static;transform:none;margin:16px auto}
@media(max-width:640px){.coherence-control button{padding:9px 7px}.backup-prompt button{width:100%;margin-top:7px}.text-input-active textarea,.text-input-active input:not([type='checkbox']){font-size:16px}dialog{width:calc(100vw - 24px);padding:18px}}

.handoff-checks{display:grid;gap:12px;margin:16px 0}.reset-actions{margin-top:14px}
.preset-details{margin-top:16px;padding:12px 16px;border:1px solid var(--border,#dfd7eb);border-radius:12px;background:var(--panel,#fff)}
.preset-details>summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;align-content:center}
.preset-details>label{display:block;margin-top:8px}
.preset-details>select{width:100%;margin-top:6px}

/* One snapshot-derived stage badge per basic card. */
.mix-tag{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .65rem;background:#ede5fa;color:#59327d;font-size:.8rem;max-width:100%;overflow-wrap:anywhere}
#stageMixDetails select{width:100%;margin:.5rem 0 1rem;min-height:44px}
#stageMixDetails button,#stageMixDetails summary{min-height:44px}
#mixReport{overflow-wrap:anywhere}

.seed-value{font-size:1.08rem;font-weight:600;line-height:1.7}
.seed-example{margin:.25rem 0 .9rem;border:1px solid var(--line,#e1d9ee);border-radius:12px;padding:0 .75rem}
.seed-example>summary{min-height:44px;display:list-item;align-content:center;font-size:.85rem;cursor:pointer}
.example-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.8;margin:.25rem 0 .75rem}

/* ===== UI v2 ===== */
/* 段階1：結果を先に・設定はシートへ・よく使う操作は下部バーへ。既存ルールは残し、ここで上書きする。 */
:root{--bg:#f7f6fb;--line:#e4e0ef;--accent:#5b4a85;--accent-ink:#44366b;--chip:#ece8f6;--bar-h:76px}
body{background:var(--bg)}
.primary:hover{background:#4a3b70;border-color:#4a3b70}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.section{scroll-margin-top:12px}
.active-themes,.draw-notice,.theme-details,.warning,.save-editor{scroll-margin-top:12px}
textarea,input{scroll-margin-block:100px calc(var(--bar-h) + 24px)}

.app-header{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px 2px 26px}
.app-header h1{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:.04em;line-height:1.4;font-family:inherit}
.app-header .history-actions{margin:0;padding:0;width:auto;background:transparent;gap:0;flex:none}
.app-header .history-actions button{min-width:44px;min-height:44px;padding:4px 8px;border-color:transparent;background:transparent;color:var(--accent);font-size:.8rem;gap:3px}
.app-header .history-actions button:hover{background:var(--chip)}

.settings-bar{max-width:1100px;margin:0 auto;padding:4px 26px 8px}
.settings-summary{width:100%;min-height:52px;justify-content:space-between;gap:8px;padding:6px 10px 6px 12px;border-radius:16px;border-color:var(--line);background:var(--paper);text-align:left;font-weight:500}
.settings-summary:hover{background:var(--paper);border-color:var(--accent)}
.setting-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.setting-chip{font-size:.8rem;line-height:1.6;padding:3px 10px;border-radius:999px;background:var(--chip);color:var(--accent-ink);overflow-wrap:anywhere}
.settings-open{display:inline-flex;align-items:center;gap:4px;flex:none;color:var(--accent);font-weight:700;font-size:.85rem}

.draw-section{padding-top:4px}
#basicFields .field-card[data-key="world"]{grid-column:1/-1}
#basicFields .field-card:last-child:nth-child(odd){grid-column:auto}
#basicFields .field-card[data-key="world"] .field-value{font-size:1.22rem;font-weight:700;line-height:1.65}
.field-card{border-radius:16px;border-color:var(--line)}

.optional-entry{margin-top:12px;padding:10px 12px 12px;border:1px dashed #c9c2de;border-radius:16px;background:var(--paper)}
.optional-entry-title{margin:0 0 8px;font-size:.95rem;font-weight:700}
.optional-entry-title .subtle{font-weight:400;margin-left:6px}
.optional-entry-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.optional-entry-links button{padding:8px 4px;font-size:.88rem}
.under-actions{align-items:center;flex-wrap:wrap}
.jump-nav{position:static;z-index:auto;display:flex;gap:4px;padding:0;margin-left:auto;background:none;border:0;backdrop-filter:none}
.jump-nav a{min-width:0;flex:none;padding:0 10px;font-size:.85rem}

.action-bar{position:sticky;bottom:0;z-index:15;display:flex;gap:10px;padding:10px max(16px,calc((100% - 1100px)/2 + 26px)) calc(10px + env(safe-area-inset-bottom));background:#f7f6fbf2;border-top:1px solid var(--line);backdrop-filter:blur(8px)}
.action-bar>button{min-height:54px;border-radius:16px;font-size:1rem}
.action-bar #rollAll{flex:1;min-width:0}
.action-bar #openHandoff{flex:none;min-width:128px;background:var(--paper);border:1.5px solid var(--accent);color:var(--accent-ink)}
.action-bar #openHandoff:hover{background:var(--chip)}
.text-input-active .action-bar{position:static}
.toast{bottom:calc(var(--bar-h) + env(safe-area-inset-bottom) + 10px)}

dialog.sheet{padding:0;width:min(560px,calc(100vw - 32px));max-width:none;max-height:88vh;max-height:88dvh;overflow:hidden;border-radius:20px;background:var(--bg)}
.sheet-frame{display:flex;flex-direction:column;max-height:88vh;max-height:88dvh}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 20px;border-bottom:1px solid var(--line);background:var(--paper)}
.sheet-head h2{margin:0;font-size:1.1rem;font-family:inherit;letter-spacing:.04em}
.sheet-head .text-btn{min-width:44px;padding:8px}
.sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px}
.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
.sheet-foot .primary{width:100%;min-height:52px;font-size:1rem;border-radius:16px}
.sheet .settings-panel{padding:0}
.sheet .active-themes{margin-top:16px}

@media(max-width:640px){
.app-header{padding:6px 4px 0 16px}
.app-header h1{font-size:1.1rem}
.settings-bar{padding:4px 16px 8px}
.draw-section{padding-top:2px}
dialog.sheet{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;border:0;border-radius:0}
.sheet-frame{height:100%;max-height:none}
.sheet-body{padding:14px 16px}
.under-actions{gap:4px}
}
.sheet .toast{position:static;transform:none;width:auto;max-width:none;margin:0 16px 10px;box-shadow:none}

/* 段階2：カードの操作を「固定（見出し右）/ 引き直す / 編集」に整理 */
.field-card .card-head{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.field-card .lock-toggle{margin-left:auto;min-height:44px;padding:6px 12px;border-radius:999px;font-size:.8rem;gap:5px}
.lock-toggle::before{content:'';flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 7.4-2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 7.4-2'/%3E%3C/svg%3E") center/contain no-repeat}
.lock-toggle[aria-pressed='true']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}
.field-card .lock-toggle[aria-pressed='true']{background:#e2f1ec;border-color:#2f6f5e;color:#1f5a49}
.field-card[data-locked='true']{border-color:#8fc4b3;background:var(--paper);box-shadow:inset 0 0 0 .5px #8fc4b3}
.field-card .field-actions{flex-wrap:nowrap;align-items:center;gap:8px}
.field-card .field-actions .roll-btn{flex:1;min-width:0;font-size:.95rem;padding:9px 14px;border-radius:12px;background:var(--chip);border-color:#d9d4e8;color:var(--accent-ink)}
.field-card .field-actions .roll-btn:hover{border-color:var(--accent)}
.field-card .field-actions .edit-btn{flex:none;font-size:.88rem;padding:8px 12px}
.field-card .world-help{margin:0 0 6px;font-size:.8rem;line-height:1.6}
.field-card .seed-example{margin:.1rem 0 .7rem}

/* 段階2：AIに渡すシート */
.handoff-lead{margin:0 0 12px}
.handoff-label{margin:0 0 6px;font-size:.85rem;font-weight:700;color:var(--muted)}
.purpose-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.purpose-chip{min-height:52px;padding:6px 10px;border-radius:14px;font-size:.88rem;line-height:1.4}
.purpose-chip[aria-pressed='true']{background:var(--accent);border-color:var(--accent);color:#fff}
.handoff-sheet .input-error:not(:empty),.handoff-sheet #handoffPending{margin:10px 0 0}
.handoff-preview{margin-top:14px;padding:10px 14px 4px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.preview-head label{font-size:.9rem;font-weight:700}
.preview-head .note{margin:0}
.handoff-preview textarea{margin:6px 0 0;padding:6px 0;border:0;border-top:1px solid #eeebf5;border-radius:0;background:transparent;font-size:.85rem;line-height:1.8;max-height:45vh;max-height:45dvh;white-space:pre-wrap;resize:vertical}
.handoff-preview #updateHandoff{display:flex;margin-left:auto}
.handoff-more{margin-top:12px;padding:2px 14px 6px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.handoff-more>.note{margin-top:4px}
.handoff-more>label,.handoff-more details>label{display:block;margin:12px 0}
.handoff-more .handoff-checks{display:grid;gap:8px;margin:12px 0}
.handoff-more .check-label{align-items:flex-start}
.handoff-label .subtle{font-weight:400;margin-left:6px;font-size:.78rem}

/* 段階3：他から選ぶ（10連） */
.field-card .field-actions .pick-btn{flex:none;font-size:.88rem;padding:8px 12px;border-radius:12px;background:var(--paper);border-color:#d9d4e8;color:var(--accent-ink)}
.field-card .field-actions .pick-btn:hover{border-color:var(--accent)}
.field-card .field-actions .edit-btn{padding:8px 10px;min-width:44px}
.pick-lead{margin:0 0 12px}
.pick-list{display:flex;flex-direction:column;gap:8px}
.pick-row{width:100%;min-height:64px;justify-content:flex-start;gap:12px;padding:10px 14px;border-radius:16px;border-color:var(--line);background:var(--paper);text-align:left;font-weight:500}
.pick-row:hover{background:var(--paper);border-color:var(--accent)}
.pick-row[aria-pressed='true']{background:#f3f1f9;border:2px solid var(--accent);padding:9px 13px}
.pick-no{flex:none;width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:var(--chip);color:var(--accent-ink)}
.pick-row[aria-pressed='true'] .pick-no{background:var(--accent);color:#fff}
.pick-text{flex:1;min-width:0;font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
.pick-row[aria-pressed='true']::after{content:'';flex:none;width:20px;height:20px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat}
.pick-foot{display:flex;gap:10px}
.sheet-foot.pick-foot .secondary{flex:none;min-width:120px;min-height:52px;border-radius:16px;background:var(--paper);border:1.5px solid var(--accent);color:var(--accent-ink)}
.sheet-foot.pick-foot .primary{flex:1;width:auto}
.sheet-foot.pick-foot .primary:disabled{opacity:1;background:#e9e6f1;border-color:#e9e6f1;color:#6f6a80}

/* 上部の「ロック解除」「テーマ解除」：設定要約の直下。設定シートを開かずに1回で操作できる */
.quick-resets{display:flex;gap:8px;margin-top:6px}
.quick-reset{flex:0 1 auto;min-width:140px;min-height:44px;padding:6px 10px;border-radius:12px;font-size:.84rem;font-weight:600;background:var(--paper);border-color:var(--line);color:var(--accent-ink)}
.quick-reset:hover{background:var(--chip);border-color:var(--accent)}
.quick-reset:disabled:hover{background:var(--paper);border-color:var(--line)}
.quick-reset span{white-space:nowrap}
@media(max-width:640px){.quick-reset{flex:1;min-width:0}}

/* 素材から選ぶ：分類 → 小分類 → 個別素材（お任せ10候補と切り替え） */
.pick-current{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 14px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.pick-current-label{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.05em}
.pick-current-text{flex:1 1 12em;min-width:0;font-size:.92rem;line-height:1.6;overflow-wrap:anywhere}
.pick-current-text.empty{color:var(--muted)}
.pick-lock-badge{font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:999px;background:#e5f3ee;border:1px solid #8fc4b3;color:#2f6656}
.pick-lock-badge::before{content:'🔒 '}
.pick-locked-note{margin:0 0 10px}
.pick-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin-bottom:12px;border-radius:14px;background:var(--chip)}
.pick-mode{min-height:44px;border-color:transparent;background:transparent;border-radius:10px;font-size:.9rem;color:var(--accent-ink)}
.pick-mode:hover{background:#ffffff99;border-color:transparent}
.pick-mode[aria-pressed='true']{background:var(--paper);border-color:var(--accent);box-shadow:0 1px 4px #5b4a8522}
.pick-mode[aria-pressed='true']::before{content:'✓ '}
.browse-panel{display:flex;flex-direction:column;gap:10px}
.browse-scope{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.scope-option{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:.82rem;font-weight:500;cursor:pointer;line-height:1.4}
.scope-option:has(:checked){border-color:var(--accent);background:#f3f1f9;font-weight:700}
.scope-option input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--accent)}
.browse-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.browse-selects label,.browse-search-label{font-size:.8rem}
.browse-selects select{margin-top:3px}
.browse-path{margin:0;font-size:.85rem;font-weight:700;color:var(--accent-ink);overflow-wrap:anywhere}
.browse-search-label input{margin-top:3px}
.browse-gacha{min-height:48px;border-radius:14px}
.browse-empty{padding:12px 14px;border-radius:12px;background:#fff5dc;border:1px solid #d9bd7e;font-size:.85rem}
.browse-empty p{margin:0}
.browse-empty .inline-actions{margin:10px 0 0;gap:8px}
.browse-list{display:flex;flex-direction:column;gap:8px}
.browse-item{display:flex;flex-direction:column;gap:6px}
.browse-row{align-items:flex-start;min-height:56px}
.browse-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.browse-tags{display:flex;flex-wrap:wrap;gap:4px}
.browse-tag{font-size:.68rem;font-weight:600;line-height:1.6;padding:0 7px;border-radius:5px;background:var(--chip);color:#5d4c7d;overflow-wrap:anywhere}
.tag-current{background:#e5f3ee;color:#2f6656;border:1px solid #8fc4b3}
.tag-current::before{content:'● '}
.tag-misfit{background:#fff1e6;color:#8b4a1f;border:1px dashed #d79a6b}
.tag-misfit::before{content:'⚠ '}
.tag-mix{background:#eef1fb;color:#3d4f86}
.tag-context,.tag-requires{background:var(--mint);color:#406f60}
.browse-preview{margin:0 4px 4px 12px;padding-left:10px;border-left:3px solid var(--accent)}
.browse-preview .seed-example{margin:0 0 6px;background:var(--paper)}
.browse-reasons{margin:0;font-size:.8rem;color:#8b4a1f}
.browse-more{align-self:center;min-height:44px}
.pick-foot{display:flex;flex-direction:column;gap:6px}
.pick-chosen{margin:0;font-size:.85rem;font-weight:700;color:var(--accent-ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pick-chosen:empty{display:none}
.pick-misfit{margin:0;font-size:.78rem;line-height:1.6;color:#8b4a1f;overflow-wrap:anywhere}
.pick-lock-check{min-height:40px;font-size:.85rem}
.pick-foot-actions{display:flex;gap:10px}
.pick-foot-actions .primary{flex:1;min-height:52px;border-radius:16px}
.pick-foot-actions .secondary{flex:none;min-width:120px;min-height:52px;border-radius:16px;background:var(--paper);border:1.5px solid var(--accent);color:var(--accent-ink)}
.pick-foot-actions .primary:disabled{opacity:1;background:#e9e6f1;border-color:#e9e6f1;color:#6f6a80}
@media(max-width:380px){.browse-selects,.browse-scope{grid-template-columns:1fr}}
@media(min-width:641px){dialog.sheet.pick-sheet{width:min(680px,calc(100vw - 32px))}}
