:root{--bg: #f2f1ec;--surface: #fbfaf5;--surface-2: #ecebe2;--line: #e0ded4;--line-strong: #cfccc0;--text: #2b2a26;--text-2: #605d54;--text-3: #8a867a;--brand: #33454e;--brand-hover: #26343c;--brand-weak: #e9ece7;--brand-line: #ccd6d2;--brand-ring: rgba(51, 69, 78, .16);--brand-2: #b08d4f;--on-brand: #f7f6f1;--on-brand-weak: rgba(247, 246, 241, .22);--on-vivid: #ffffff;--ok: #3d7050;--ok-weak: #edf3ee;--ok-line: #c6dacb;--warn: #9a6b1f;--warn-weak: #f7f1e2;--warn-line: #e5d7b8;--err: #bd3a3a;--err-weak: #f9eeee;--err-line: #efcaca;--gold: #b08d4f;--gold-weak: #f1e9d8;--topbar-bg: rgba(242, 241, 236, .9);--overlay-bg: rgba(30, 30, 27, .5);--overlay-bg-soft: rgba(30, 30, 27, .4);--auth-glow: #ebe7da;--auth-glow-fade: rgba(235, 231, 218, 0);--lock-glow-a: rgba(51, 69, 78, .13);--lock-glow-b: rgba(176, 141, 79, .12);--lock-card-bg: rgba(255, 255, 255, .75);--lock-card-line: rgba(255, 255, 255, .7);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, "Times New Roman", serif;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--shadow-sm: 0 1px 2px rgba(43, 42, 38, .05);--shadow-md: 0 1px 2px rgba(43, 42, 38, .05), 0 4px 12px rgba(43, 42, 38, .06);--shadow-lg: 0 16px 40px rgba(43, 42, 38, .16);--ctl-h: 40px;--ctl-h-sm: 32px;--ctl-r: 10px;--ctl-inset: inset 0 1px 2px rgba(43, 42, 38, .04);--z-topbar: 10;--z-reader: 60}[data-theme=dark]{--bg: #1c1d20;--surface: #242529;--surface-2: #2c2d32;--line: #35363b;--line-strong: #47484e;--text: #d9d8d2;--text-2: #a6a49b;--text-3: #8b897f;--brand: #9db8c4;--brand-hover: #b3cbd6;--brand-weak: #26333a;--brand-line: #3c4d55;--brand-ring: rgba(157, 184, 196, .26);--brand-2: #d4ab5f;--on-brand: #1a2429;--on-brand-weak: rgba(26, 36, 41, .28);--ok: #6fb98c;--ok-weak: #1d2a22;--ok-line: #33503f;--warn: #d0a35c;--warn-weak: #2d2617;--warn-line: #554829;--err: #e07a7a;--err-weak: #332023;--err-line: #573838;--gold: #d4ab5f;--gold-weak: #332c1e;--topbar-bg: rgba(36, 37, 41, .88);--overlay-bg: rgba(0, 0, 0, .6);--overlay-bg-soft: rgba(0, 0, 0, .5);--auth-glow: #2a2f33;--auth-glow-fade: rgba(42, 47, 51, 0);--lock-glow-a: rgba(157, 184, 196, .14);--lock-glow-b: rgba(212, 171, 95, .15);--lock-card-bg: rgba(36, 37, 41, .72);--lock-card-line: rgba(255, 255, 255, .09);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--ctl-inset: inset 0 1px 2px rgba(0, 0, 0, .28)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .15s,color .15s}h1{font-size:var(--fs-xl);margin:0 0 8px;letter-spacing:-.01em}h2{font-size:var(--fs-lg);margin:0 0 10px}h3{font-size:var(--fs-md);margin:0 0 8px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--brand-weak)}button:focus-visible,a:focus-visible,.chip:focus-visible,.tab:focus-visible,.flow-step:focus-visible,.reader-tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.grow{flex:1;min-width:0}.mt-0{margin-top:0}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mb-2{margin-bottom:var(--sp-2)}.pre-wrap{white-space:pre-wrap}.mb-3{margin-bottom:var(--sp-3)}.muted{color:var(--text-2);font-size:var(--fs-sm)}.meta-line{color:var(--text-2);font-size:var(--fs-xs);margin-top:var(--sp-1)}.hint{font-weight:400;color:var(--text-3);font-size:var(--fs-xs)}.linkish{cursor:pointer}.linkish:hover{color:var(--brand)}.empty-state{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:var(--sp-6);text-align:center;color:var(--text-2);font-size:var(--fs-sm);line-height:1.8;margin-bottom:var(--sp-4)}.empty-ico{width:72px;height:48px;display:block;margin:0 auto var(--sp-3);opacity:.9}.actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.actions button+button{margin-left:0}button{height:var(--ctl-h);padding:0 14px;border-radius:var(--ctl-r);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}button:hover:not(:disabled){background:var(--surface-2)}button:active:not(:disabled){transform:translateY(.5px)}button.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}button.primary:hover:not(:disabled){background:var(--brand-hover)}button.danger{background:var(--surface);border-color:var(--err-line);color:var(--err)}button.danger:hover:not(:disabled){background:var(--err-weak);border-color:var(--err)}button.btn-sm{height:var(--ctl-h-sm);padding:0 10px;font-size:var(--fs-xs);border-radius:var(--r-md)}button.btn-lg{height:46px;font-size:var(--fs-md);padding:0 18px}button.btn-block{width:100%}button:disabled{opacity:.5;cursor:not-allowed}button+button{margin-left:var(--sp-2)}.linkbtn{background:none;border:none;padding:0;height:auto;color:var(--brand);font-size:var(--fs-sm);cursor:pointer}.linkbtn:hover:not(:disabled){background:none;text-decoration:underline}button.chip,button.title-chip,button.genre-card,button.scale-card,button.ed-tab,button.idea-card,button.entry-card,button.tab,button.flow-step,button.wiz-step,button.ts-item,button.reader-toc-item,button.reader-tab,button.guide-mini,button.linkish,button.engine-card{height:auto;margin-left:0;font-family:inherit;text-align:left}button.tab,button.guide-mini,button.linkish{background:none;border:0;border-radius:0;padding:0}button.flow-step{width:100%;border:0;background:none}button.reader-tab{border:0;background:none}button.entry-card,button.idea-card,button.genre-card,button.scale-card,button.ed-tab,button.engine-card{font-size:inherit;white-space:normal}button.reader-toc-item{width:100%;border:0;background:none;font-size:var(--fs-sm);white-space:normal}button.ts-item,button.wiz-step{border:0;background:none}button.guide-mini{color:var(--text-2);font-size:var(--fs-sm)}input:where(:not([type=checkbox]):not([type=radio]):not([type=range]) :not([type=color]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])),textarea,select{width:100%;height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--ctl-r);background:var(--surface);box-shadow:var(--ctl-inset);color:var(--text);font-family:inherit;font-size:var(--fs-md);padding:0 var(--sp-3);outline:none;transition:border-color .15s,box-shadow .15s}textarea{height:auto;padding:10px var(--sp-3);line-height:1.7;resize:vertical}input:hover:not(:focus),textarea:hover:not(:focus),select:hover:not(:focus){border-color:var(--line-strong)}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}input::placeholder,textarea::placeholder{color:var(--text-3)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface) inset;-webkit-text-fill-color:var(--text);caret-color:var(--text)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.5 8 10.5 12 6.5' fill='none' stroke='%23767a83' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}[data-theme=dark] select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.5 8 10.5 12 6.5' fill='none' stroke='%23858a92' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.fl{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--text-2);margin:var(--sp-3) 0 6px}.input-xs{max-width:84px}.input-md{max-width:160px;flex:none}.narrow{max-width:300px}.input-row{display:flex;gap:var(--sp-2);align-items:flex-start}.input-row input{flex:1}.input-row input.input-md{flex:none}.input-row button{flex-shrink:0;margin-left:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-5);align-items:start;max-width:760px;margin-bottom:var(--sp-4)}.form-grid .field-full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.field>.fl{margin:0}.field>.fl .hint{margin-left:var(--sp-1)}.field-note{margin:0;color:var(--text-3);font-size:var(--fs-xs);line-height:1.6}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--line)}.form-actions button+button{margin-left:0}.form-actions-tip{color:var(--text-3);font-size:var(--fs-xs);line-height:1.6}@media(max-width:640px){.form-grid{grid-template-columns:1fr;gap:var(--sp-3)}}.wrap{max-width:1080px;margin:0 auto;padding:var(--sp-6) var(--sp-5) 80px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5) 22px;margin-bottom:var(--sp-4);box-shadow:var(--shadow-sm)}.card-compact{padding:var(--sp-3) 14px}.card-ok{background:var(--ok-weak);border-color:var(--ok-line)}.card-warn{background:var(--warn-weak);border-color:var(--warn-line)}.card-info{background:var(--brand-weak);border-color:var(--brand-line)}.card-desc{color:var(--text-2);font-size:var(--fs-sm);line-height:1.7;margin:0 0 10px}.card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-head h2,.card-head h3{margin:0}.card-head button+button{margin-left:0}.page-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:18px}.page-head h1{flex:1;margin:0}.notice{margin-top:var(--sp-3);padding:10px 14px;border-radius:var(--r-md);border:1px solid;font-size:var(--fs-sm);line-height:1.6}.notice-err{background:var(--err-weak);border-color:var(--err-line);color:var(--err)}.notice-warn{background:var(--warn-weak);border-color:var(--warn-line);color:var(--warn)}.notice-info{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand)}.tbl tr.row-warn>td{background:var(--warn-weak)}.msg-ok{color:var(--ok);font-size:var(--fs-sm)}.msg-err{color:var(--err);font-size:var(--fs-sm);white-space:pre-wrap}.llm-banner{background:var(--warn-weak);border-bottom:1px solid var(--warn-line);color:var(--warn);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-5);text-align:center}.llm-banner a{color:var(--warn);font-weight:600;margin-left:var(--sp-1)}.update-banner{background:var(--brand-weak);border-bottom:1px solid var(--brand-line);color:var(--brand);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-5);display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex-wrap:wrap}.update-log{display:flex;flex-direction:column;gap:4px;white-space:normal}.ts-wrap{position:relative;display:inline-flex;align-items:center;gap:var(--sp-2)}.ts-wrap .spin{margin-right:4px}.ts-list{position:absolute;top:calc(100% + 4px);left:0;z-index:var(--z-topbar);min-width:220px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-1)}.ts-item{padding:6px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer}.ts-item:hover{background:var(--brand-weak);color:var(--brand)}.badge{display:inline-block;font-size:var(--fs-xs);font-weight:500;line-height:1.5;padding:1px 9px;border-radius:var(--r-full);background:var(--brand-weak);color:var(--brand);margin-left:6px;vertical-align:1px;white-space:nowrap}.badge.ok{background:var(--ok-weak);color:var(--ok)}.badge.warn{background:var(--warn-weak);color:var(--warn)}.badge.err{background:var(--err-weak);color:var(--err)}.badge.mute{background:var(--surface-2);color:var(--text-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chips.ideas{flex-direction:column;gap:6px}.chips.ideas .chip{width:100%;text-align:left;white-space:normal;border-radius:var(--r-md);padding:8px 12px;line-height:1.5}.chips.ideas .pitch-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.pitch-card .pitch-label{font-size:var(--fs-xs);color:var(--brand);background:var(--brand-weak);border-radius:var(--r-full);padding:1px 8px}.pitch-card .pitch-text{font-weight:400;line-height:1.55}.chip{padding:6px 14px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;border:1px solid transparent;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s,color .12s}.chip:hover{border-color:var(--brand);color:var(--brand)}.chip.on{background:var(--brand-weak);border-color:var(--brand);color:var(--brand);font-weight:500}.chip.custom{border-style:dashed;border-color:var(--line-strong)}.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--brand-weak);border-top-color:var(--brand);border-radius:50%;animation:sp .8s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes sp{to{transform:rotate(360deg)}}.gen-banner{display:flex;align-items:center;gap:var(--sp-2);background:var(--brand-weak);border:1px solid var(--brand-line);border-radius:var(--r-lg);padding:10px 14px;margin-bottom:var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);box-shadow:var(--shadow-sm)}.gen-banner .spin{flex-shrink:0;margin-right:0}.gen-banner-text{flex:1;min-width:0;line-height:1.5}.gen-stage{display:block;margin-top:2px;color:var(--brand);font-size:var(--fs-xs)}.gen-stage .spin{width:10px;height:10px;margin-right:4px;vertical-align:-1px}.spin-sm{width:11px;height:11px;border-width:2px;margin-right:4px;vertical-align:-1px}.sync-badge{display:inline-flex;align-items:center;gap:6px;background:var(--warn-weak);border:1px solid var(--warn-line);border-radius:var(--r-full);padding:4px 12px;margin-bottom:var(--sp-3);font-size:var(--fs-xs);color:var(--text-2)}.sync-badge .spin{margin-right:0}.sync-ask{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);background:var(--warn-weak);border:1px solid var(--warn-line);border-radius:var(--r-lg);padding:10px 14px;font-size:var(--fs-sm);color:var(--text-2)}.sync-ask-text{flex:1;min-width:0;line-height:1.6}.sync-ask-text .hint{display:block;font-weight:400}.sync-ask-actions{display:inline-flex;gap:var(--sp-2);flex-shrink:0}@media(max-width:640px){.sync-ask{flex-direction:column;align-items:stretch}.sync-ask-actions{justify-content:flex-end}}.gacha-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:6px}@media(max-width:760px){.gacha-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.gacha-dir-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;height:auto;min-height:96px;min-width:0;margin-left:0;white-space:normal;word-break:break-word;text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card, var(--bg-elev, #fff));cursor:pointer;animation:gacha-dir-in .45s cubic-bezier(.22,1,.36,1) backwards;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.gacha-hand .gacha-dir-card+.gacha-dir-card{margin-left:0}.gacha-dir-card:hover{border-color:var(--gold, #b08d4f);transform:translateY(-2px);box-shadow:0 10px 26px -16px #b08d4f8c}.gacha-dir-card b{font-size:var(--fs-md);font-family:var(--font-serif, "Noto Serif SC", serif)}.gacha-dir-card span{color:var(--text-2);font-size:var(--fs-xs)}@keyframes gacha-dir-in{0%{opacity:0;transform:translateY(10px)}}.gacha-stage-head{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.gacha-hand{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:10px 0 8px;perspective:900px}.gacha-card{position:relative;height:auto;min-width:0;min-height:108px;margin-left:0;padding:14px 14px 12px;text-align:left;white-space:normal;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,rgba(176,141,79,.08),transparent 42%),var(--surface);cursor:pointer;transform-style:preserve-3d;backface-visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;animation:gacha-flip-in var(--gacha-flip-ms, .52s) cubic-bezier(.3,1.25,.4,1) backwards;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.gacha-card:hover:not(:disabled),.gacha-modal .gacha-hand .gacha-card:hover:not(:disabled){background:linear-gradient(160deg,rgba(176,141,79,.08),transparent 42%),var(--surface);transform:translateY(-3px);border-color:var(--gold, #b08d4f);box-shadow:0 14px 30px -18px #b08d4f99}.gacha-hand .gacha-card+.gacha-card{margin-left:0}.gacha-card-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:break-word}@keyframes gacha-flip-in{0%{opacity:0;transform:rotateY(88deg) translateY(8px)}to{opacity:1;transform:none}}.gacha-card-inner{display:flex;flex-direction:column;gap:6px;height:100%}.gacha-card-inner b{font-family:var(--font-serif, "Noto Serif SC", serif);font-size:var(--fs-md)}.gacha-card-inner span{color:var(--text-2);font-size:var(--fs-xs);line-height:1.6}.gacha-card.picked{border-color:var(--gold, #b08d4f);box-shadow:0 0 0 1.5px var(--gold, #b08d4f),0 10px 30px -16px #b08d4fb3}.gacha-wild{position:absolute;top:10px;right:10px;font-style:normal;font-size:10px;letter-spacing:.08em;color:var(--gold, #b08d4f);border:1px solid currentColor;border-radius:999px;padding:1px 7px;opacity:.9}.gacha-chosen{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gacha-chosen-card{display:inline-flex;align-items:baseline;gap:10px;padding:8px 14px;border:1px solid var(--gold, #b08d4f);border-radius:10px;background:linear-gradient(160deg,rgba(176,141,79,.1),transparent 55%)}.gacha-chosen-card b{font-family:var(--font-serif, "Noto Serif SC", serif);font-size:var(--fs-md)}.gacha-all{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.flip-in{animation:gacha-flip-in var(--gacha-flip-ms, .52s) cubic-bezier(.3,1.25,.4,1) backwards}.gacha-hand .engine-card{margin:0}.gacha-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--gs-overlay, rgba(30, 30, 27, .45));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:gacha-overlay-in .25s ease}@keyframes gacha-overlay-in{0%{opacity:0}}.gacha-modal{--gs-overlay: rgba(30, 30, 27, .45);--gs-bg: #f7f6f1;--gs-fg: #2b2a26;--gs-muted: #6e6c62;--gs-line: rgba(43, 42, 38, .14);--gs-card: #fdfcf8;--gs-card-line: #e0ded4;--gs-accent: #b08d4f;--gs-accent-strong: #8a6a33;--gs-on-accent: #fffdf8;--gs-chip-on-bg: rgba(176, 141, 79, .18);width:min(960px,100%);max-height:88vh;overflow:auto;background:var(--gs-bg);color:var(--gs-fg);border:1px solid color-mix(in srgb,var(--gs-accent) 38%,transparent);border-radius:16px;padding:20px 24px 24px;box-shadow:0 40px 100px -30px #00000080;animation:gacha-modal-in .3s cubic-bezier(.22,1,.36,1)}.gacha-modal[data-skin=night]{--gs-overlay: rgba(20, 20, 17, .78);--gs-bg: #24292e;--gs-fg: #ece9e0;--gs-muted: #a89d8b;--gs-line: rgba(236, 233, 224, .18);--gs-card: #2c3136;--gs-card-line: rgba(236, 233, 224, .18);--gs-accent: #d4ab5f;--gs-accent-strong: #ecd9ae;--gs-on-accent: #24292e;--gs-chip-on-bg: rgba(212, 171, 95, .22)}.gacha-modal[data-skin=kraft]{--gs-overlay: rgba(58, 48, 32, .5);--gs-bg: #f5efdf;--gs-fg: #4a4234;--gs-muted: #8a7d63;--gs-line: rgba(74, 66, 52, .18);--gs-card: #fffdf4;--gs-card-line: #e3d7ba;--gs-accent: #a9743a;--gs-accent-strong: #7c5a2b;--gs-on-accent: #fffdf8;--gs-chip-on-bg: rgba(169, 116, 58, .18)}@keyframes gacha-modal-in{0%{opacity:0;transform:translateY(14px) scale(.985)}}.gacha-modal-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.gacha-modal-title{font-family:var(--font-serif, "Noto Serif SC", serif);font-size:var(--fs-lg);font-weight:700;margin-right:auto}.gacha-skins{display:inline-flex;gap:6px;margin-left:auto}.gacha-skin-dot{background:none;border:1px solid var(--gs-line);border-radius:999px;color:var(--gs-muted);padding:3px 10px;font-size:var(--fs-xs, 12px);cursor:pointer}.gacha-skin-dot.on{border-color:var(--gs-accent);color:var(--gs-accent-strong);background:var(--gs-chip-on-bg)}.gacha-close{background:none;border:none;color:var(--gs-muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 8px}.gacha-close:hover{color:var(--gs-fg)}.seg{display:inline-flex;border:1px solid var(--gs-line);border-radius:999px;overflow:hidden}.seg button{background:none;border:none;color:var(--gs-muted);padding:5px 14px;font-size:var(--fs-xs, 12px);cursor:pointer}.seg button.on{background:var(--gs-chip-on-bg);color:var(--gs-accent-strong)}.gacha-stage-hint{color:var(--gs-muted);font-size:var(--fs-xs, 12px)}.gacha-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--gs-line)}.gacha-modal{overflow-x:hidden}.gacha-modal .gacha-hand{margin:14px 0 4px;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.gacha-modal .gacha-hand{grid-template-columns:repeat(2,minmax(0,1fr))}}.gacha-modal .gacha-hand .gacha-card,.gacha-modal .gacha-hand .gacha-card:hover:not(:disabled){min-height:150px;height:auto;background:linear-gradient(160deg,color-mix(in srgb,var(--gs-accent) 12%,transparent),transparent 45%),var(--gs-card);border-color:var(--gs-card-line);color:var(--gs-fg)}.gacha-modal .gacha-card-inner{height:100%}.gacha-modal .gacha-card-inner b{font-size:var(--fs-lg, 16px)}.gacha-modal .gacha-card-inner .gacha-card-desc{color:var(--gs-muted)}.gacha-modal .gacha-hand .gacha-card.staged{background:linear-gradient(160deg,color-mix(in srgb,var(--gs-accent) 20%,transparent),transparent 45%),var(--gs-card)}.gacha-modal .gacha-card.staged{border-color:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent),0 18px 44px -20px color-mix(in srgb,var(--gs-accent) 75%,transparent);transform:translateY(-4px)}.gacha-modal .gacha-dir-card{display:flex;flex-direction:column;align-items:flex-start;min-height:110px;white-space:normal;background:var(--gs-card);border-color:var(--gs-card-line);color:var(--gs-fg)}.gacha-modal .gacha-dir-card span{white-space:normal;word-break:break-all;color:var(--gs-muted)}.gacha-modal .gacha-hand .gacha-dir-card+.gacha-dir-card{margin-left:0}.gacha-modal .gacha-dir-card:hover{border-color:var(--gs-accent);box-shadow:0 10px 26px -16px color-mix(in srgb,var(--gs-accent) 60%,transparent)}.gacha-modal .btn-sm{background:none;border:1px solid var(--gs-line);color:var(--gs-fg)}.gacha-modal .btn-sm:hover{border-color:var(--gs-accent);color:var(--gs-accent-strong)}.gacha-modal .btn-sm.primary{background:var(--gs-accent);border-color:var(--gs-accent);color:var(--gs-on-accent)}.gacha-modal .btn-sm.primary:disabled{background:color-mix(in srgb,var(--gs-accent) 25%,transparent);border-color:transparent;color:var(--gs-muted)}.gacha-modal .linkbtn{color:var(--gs-accent-strong)}.gacha-list-group{margin-bottom:16px}.gacha-list-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.gacha-list-head b{font-family:var(--font-serif, "Noto Serif SC", serif)}.gacha-list-head .muted{color:var(--gs-muted);font-size:var(--fs-xs, 12px)}.gacha-list-custom{display:flex;gap:8px;margin-top:6px;padding-top:12px;border-top:1px dashed var(--gs-line)}.gacha-list-custom input{flex:1;background:color-mix(in srgb,var(--gs-fg) 6%,transparent);border:1px solid var(--gs-line);color:var(--gs-fg);border-radius:8px;padding:8px 12px}.gacha-list-custom input::placeholder{color:var(--gs-muted)}.gacha-modal .chip{border-color:var(--gs-card-line);color:var(--gs-fg)}.gacha-modal .chip.on{border-color:var(--gs-accent);background:var(--gs-chip-on-bg);color:var(--gs-accent-strong)}.gacha-modal .chip.custom{color:var(--gs-muted)}.gacha-wild{color:var(--gs-accent);border-color:currentColor}.gacha-hand .engine-card:disabled,.gacha-modal .gacha-card:disabled{opacity:.35;cursor:not-allowed;transform:none}@media(prefers-reduced-motion:reduce){.gacha-card,.gacha-dir-card,.flip-in,.gacha-overlay,.gacha-modal{animation:none}}.gacha-hand .engine-card.on{border-color:var(--gold, #b08d4f);background:var(--surface);box-shadow:0 0 0 2px var(--gold, #b08d4f),0 14px 30px -18px #b08d4fb3;transform:translateY(-3px)}.tc-progress{display:inline-block;width:72px;height:4px;border-radius:2px;background:var(--line-1, rgba(128,128,128,.25));overflow:hidden;flex:none}.tc-tokens{font-size:var(--fs-xs, 12px);color:var(--text-2, #888);white-space:nowrap;flex:none;padding:1px 8px;border:1px solid var(--line, #ddd);border-radius:999px}.tc-progress>span{display:block;height:100%;background:var(--accent, var(--ok, #3a9));border-radius:2px;transition:width .4s}.sequel-dirs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.sequel-dir{display:flex;flex-direction:column;gap:4px;text-align:left;padding:var(--sp-2);border:1px solid var(--line-1, rgba(128,128,128,.3));border-radius:8px;background:var(--surface-1, transparent);cursor:pointer}.sequel-dir:hover{border-color:var(--brand)}.sequel-dir.picked{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-weak, rgba(80,160,120,.25))}.sequel-dir b{font-size:13.5px}.sequel-dir span{font-size:12.5px;color:var(--text-2);line-height:1.5}@media(max-width:640px){.sequel-dirs{grid-template-columns:1fr}}.style-dims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.style-dim{border:1px solid var(--line-1, rgba(128,128,128,.25));border-radius:8px;padding:var(--sp-2)}.style-dim.empty{border-style:dashed;opacity:.8}.style-dim-head{display:flex;align-items:center;gap:var(--sp-1);margin-bottom:4px;flex-wrap:wrap}.style-dim-text{font-size:13px;line-height:1.55;white-space:pre-wrap;margin:0}.style-dim-edit{width:100%;box-sizing:border-box}.style-hist-row{display:flex;align-items:center;gap:var(--sp-2);padding:3px 0;font-size:13px}.style-hist-row button{margin-left:auto}@media(max-width:640px){.style-dims{grid-template-columns:1fr}}.style-card-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.skill-pack{border-top:1px solid var(--line-1);padding:10px 0 6px}.skill-pack:first-of-type{border-top:0}.skill-pack-meta{color:var(--text-3);font-size:var(--fs-sm);margin-left:6px}.skill-pack-body{margin-top:6px;display:grid;gap:6px}.skill-entry{border-left:2px solid var(--line-1);padding-left:10px}.skill-entry p{margin:2px 0;font-size:13px;line-height:1.7}.skill-entry-meta{color:var(--text-3);font-size:12px}.skill-hist{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.app-shell{display:flex;height:100vh;align-items:stretch}.app-side{width:224px;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-4);background:var(--surface);border-right:1px solid var(--line);padding:var(--sp-5) 12px}.app-side-drawer{position:fixed;inset:0 auto 0 0;width:min(84vw,300px);z-index:71;box-shadow:var(--shadow-lg);animation:m-slide-in .18s ease-out}.side-brand{display:block;padding:0 10px;font-weight:700;font-size:var(--fs-lg);color:var(--text);letter-spacing:-.01em;text-decoration:none}.side-brand:hover{text-decoration:none}.side-brand span{color:var(--brand)}.side-brand small{display:block;margin-top:2px;font-size:var(--fs-xs);font-weight:400;color:var(--text-3)}.side-nav{display:flex;flex-direction:column;gap:2px}.side-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-md);text-decoration:none;transition:background .12s,color .12s}.side-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.side-link.on{background:var(--brand-weak);color:var(--brand);font-weight:600}.side-ico{width:22px;text-align:center;flex-shrink:0}.side-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-group{margin-top:4px}.side-group-head{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:6px 10px 4px;color:var(--text-3);font-size:var(--fs-xs)}.side-group-head:hover,.side-group.active .side-group-head{color:var(--text-2)}.side-group-title{font-weight:600;letter-spacing:.04em}.side-group-n{background:var(--surface-2);color:var(--text-3);border-radius:999px;padding:0 6px;font-size:var(--fs-xs);line-height:16px}.side-group-arrow{margin-left:auto;font-size:10px}.side-group-body{display:flex;flex-direction:column;gap:2px}.side-group-body .side-link{padding-left:18px}.side-sep{border-top:1px solid var(--line);margin:8px 10px}.side-tasks{padding:0 10px}.side-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:var(--sp-3) 10px var(--sp-2);border-top:1px solid var(--line)}.side-usage{color:var(--text-3);font-size:var(--fs-xs)}.side-user{color:var(--text-2);font-size:var(--fs-sm);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mini{background:none;border:none;padding:0;cursor:pointer;text-decoration:none;color:var(--text-3);font-size:var(--fs-xs)}.side-mini:hover{color:var(--text);text-decoration:underline}.app-main{flex:1;min-width:0;height:100vh;overflow-y:auto}.m-shellbar{position:sticky;top:0;z-index:var(--z-topbar);background:var(--topbar-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);height:50px;display:flex;align-items:center;gap:10px;padding:0 var(--sp-3)}.m-shellbar-btn{min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);cursor:pointer;flex-shrink:0}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-6);background:radial-gradient(70% 50% at 50% 0%,var(--auth-glow) 0%,var(--auth-glow-fade) 70%),var(--bg)}.auth-card{width:100%;max-width:400px;margin-bottom:0;padding:36px 32px 26px;border-radius:var(--r-xl);box-shadow:var(--shadow-md)}.auth-logo{margin-bottom:14px}.auth-brand{font-family:var(--font-serif);font-size:28px;margin:0;letter-spacing:.01em}.auth-brand span{color:var(--brand)}.auth-sub{color:var(--text-2);font-size:var(--fs-sm);margin-top:6px}.auth-tabs{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:999px;padding:4px;margin:20px 0 18px}.auth-tabs .tab{flex:1;text-align:center;padding:8px 0;border-bottom:none;margin-bottom:0;border-radius:999px;font-size:var(--fs-sm)}.auth-tabs .tab.on{background:var(--surface);box-shadow:var(--shadow-sm);border-bottom:none}.auth-card form .btn-block{margin-top:18px}.auth-note{color:var(--text-3);font-size:var(--fs-xs);line-height:1.7;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.auth-foot{font-size:var(--fs-xs);margin-top:var(--sp-3);text-align:center}.lock-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:radial-gradient(52% 42% at 16% 10%,var(--lock-glow-a) 0%,transparent 72%),radial-gradient(46% 40% at 86% 88%,var(--lock-glow-b) 0%,transparent 72%),radial-gradient(70% 50% at 50% 0%,var(--auth-glow) 0%,var(--auth-glow-fade) 70%),var(--bg)}.lock-stage{display:flex;flex-direction:column;align-items:center;width:100%}.lock-mark{width:60px;height:60px;border-radius:18px;display:flex;align-items:center;justify-content:center;white-space:nowrap;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);color:var(--on-vivid);font-size:26px;font-weight:700;letter-spacing:-.04em;box-shadow:0 8px 24px var(--brand-ring);margin-bottom:var(--sp-4)}.lock-mark span{font-weight:500;opacity:.85}.lock-brand{font-size:var(--fs-2xl);margin:0;letter-spacing:-.02em}.lock-brand span{color:var(--brand)}.lock-tag{color:var(--text-2);font-size:var(--fs-sm);margin-top:6px}.lock-card{width:100%;max-width:380px;margin:var(--sp-6) 0 0;padding:26px 28px 22px;border-radius:var(--r-xl);background:var(--lock-card-bg);border-color:var(--lock-card-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-lg)}.lock-card form{margin-top:var(--sp-4)}.lock-card form .btn-block{margin-top:18px}.lock-foot{margin-top:var(--sp-5);color:var(--text-3);font-size:var(--fs-xs)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:var(--sp-4)}.tab{padding:9px 18px;cursor:pointer;font-size:var(--fs-md);color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s}.tab:hover{color:var(--text)}.tab.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.proj-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px var(--sp-5);box-shadow:var(--shadow-sm);color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.proj-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-1px)}.proj-main{display:block;color:inherit}.proj-main:hover{text-decoration:none}.proj-main:hover .proj-title{color:var(--brand)}.proj-title{font-size:var(--fs-lg);font-weight:600;margin:0}.proj-meta{color:var(--text-2);font-size:var(--fs-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.proj-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:auto}.proj-actions .proj-go{flex:1}.proj-actions button{margin-left:0}.proj-rename input{font-size:var(--fs-md)}.proj-go{align-self:flex-end;color:var(--text-3);font-size:var(--fs-sm);transition:color .15s}.proj-card:hover .proj-go{color:var(--brand)}.stat-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 16px;font-size:var(--fs-sm);color:var(--text-2);box-shadow:var(--shadow-sm)}.stat b{display:block;font-size:18px;color:var(--text);margin-top:2px;font-weight:600}.stat-topic{font-size:var(--fs-sm);font-weight:500;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-alert{color:var(--err)}.stat-links{font-size:var(--fs-sm);font-weight:500}.workbench{display:flex;gap:18px;align-items:flex-start}.flow-nav{width:172px;flex-shrink:0;position:sticky;top:70px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px;box-shadow:var(--shadow-sm)}.flow-step{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-md);cursor:pointer;color:var(--text-2);font-size:var(--fs-md);position:relative;transition:background .12s,color .12s}.flow-step:hover{background:var(--surface-2);color:var(--text)}.flow-step.on{background:var(--brand);color:var(--on-brand);font-weight:600}.chip.on:hover,.title-chip.on:hover,.genre-card.on:hover,.scale-card.on:hover,.ed-tab.on:hover{background:var(--brand-weak)}.flow-step.on:hover{background:var(--brand)}.reader-tab.on:hover{background:var(--surface)}.flow-step .no{width:22px;height:22px;border-radius:50%;background:var(--surface-2);color:var(--text-2);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;flex-shrink:0}.flow-step.on .no{background:var(--on-brand-weak);color:var(--on-brand)}.flow-step .dot{position:absolute;right:10px;width:7px;height:7px;border-radius:50%;background:var(--err)}.flow-main{flex:1;min-width:0}.row{display:flex;gap:14px;flex-wrap:wrap}.row>*{flex:1 1 200px}.row>input[type=checkbox],.row>input[type=radio]{flex:0 0 auto;width:auto;height:auto;align-self:center}.split{display:flex;gap:14px}.split>div{flex:1;min-width:0}.two-col{display:flex;gap:16px;align-items:flex-start}.two-col-side{width:300px;flex-shrink:0}.two-col-main{flex:1;min-width:0}.pane{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);max-height:420px;overflow-y:auto;background:var(--surface)}.pane-prose{font-size:13.5px;font-family:var(--font-serif)}.outline-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 18px;margin-bottom:var(--sp-3);box-shadow:var(--shadow-sm)}.outline-item .head{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;flex-wrap:wrap;width:100%;color:inherit}button.head{height:auto;margin-left:0;padding:0;border:0;background:none;font-family:inherit;font-size:inherit;text-align:left;border-radius:0}.outline-item .num{font-weight:700;color:var(--brand);min-width:52px}.outline-item .head .outline-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-item .head:hover .outline-title{color:var(--brand)}.outline-item .head .caret{color:var(--text-3);font-size:var(--fs-xs);width:14px;text-align:center}.outline-detail{border-top:1px dashed var(--line);margin-top:var(--sp-2);padding-top:var(--sp-2)}.gen-guide{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.idea-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:block;width:100%;color:inherit}.idea-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.idea-card.picked{border-color:var(--brand);background:var(--brand-weak)}.idea-head{display:flex;align-items:center;gap:10px}.idea-head h3{flex:1;margin:0}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:10px}.concept-field{display:flex;gap:8px;line-height:1.6;font-size:var(--fs-sm)}.concept-field.empty{opacity:.55}.cf-label{flex-shrink:0;min-width:4.5em;color:var(--brand);font-weight:500;text-align:right}.cf-value{flex:1;white-space:pre-wrap;word-break:break-word}.idea-card .concept-grid{grid-template-columns:1fr;gap:4px;margin-top:8px}.dossier .concept-grid{grid-template-columns:1fr;gap:8px}.dossier .concept-field{flex-direction:column;gap:2px}.dossier .cf-label{text-align:left;min-width:0}.dossier .cf-value{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dossier-row .dr-v.wrap{white-space:normal;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical}.concept-edit{margin-top:10px}.concept-edit-row{margin-bottom:8px}.concept-edit-row textarea{margin-top:2px}.refine-diff{padding:8px 0;border-bottom:1px dashed var(--line)}.refine-diff:last-child{border-bottom:none}.refine-diff .cf-label{display:block;text-align:left;min-width:0;margin-bottom:2px}.diff-old{color:var(--text-3);text-decoration:line-through;line-height:1.6}.diff-new{color:var(--ok);line-height:1.6}.chat-log{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-md);padding:12px;margin-top:8px;background:var(--surface-2)}.chat-msg{display:flex;gap:8px;margin-bottom:10px;line-height:1.7}.chat-msg .chat-who{flex-shrink:0;min-width:2.5em;font-weight:500;font-size:var(--fs-xs)}.chat-msg.user .chat-who{color:var(--brand)}.chat-msg.assistant .chat-who{color:var(--ok)}.chat-text{flex:1;white-space:pre-wrap;word-break:break-word}.dim{margin-bottom:14px}.dim.compact{margin-bottom:var(--sp-2)}.arch-block textarea{min-height:120px}.prose{font-family:var(--font-serif);line-height:1.9;font-size:15px;white-space:pre-wrap}.editor-area{min-height:480px;line-height:1.9;font-size:14.5px;font-family:var(--font-serif)}.fact-line{padding:6px 0;border-bottom:1px dashed var(--line);font-size:var(--fs-sm)}.fact-line:last-child{border-bottom:none}.fact-row{display:flex;align-items:center;gap:6px}.revise-chat{margin-bottom:8px}.revise-chat .rd-log{max-height:32vh}.fact-check{display:flex;gap:var(--sp-2)}.fact-check input[type=checkbox]{margin-top:4px;flex-shrink:0}.fact-title{flex:1;min-width:0}.gate-banner{font-size:var(--fs-sm)}.gate-resolve{border-left:3px solid var(--err-line);padding:2px 0 2px 10px}.gate-resolve-head{font-weight:600;color:var(--err);font-size:var(--fs-sm)}.gate-resolve-what{margin-top:4px;font-size:var(--fs-md);line-height:1.6}.gate-resolve-sug{margin-top:2px;font-size:var(--fs-sm)}.gate-resolve-q{margin-top:8px;font-size:var(--fs-sm);color:var(--text-2)}.gate-resolve-actions{display:flex;gap:var(--sp-1);margin-top:6px;flex-wrap:wrap}.gate-resolve-recheck{display:inline-block;margin-top:8px;font-size:var(--fs-sm)}.issue-head{display:flex;align-items:baseline;gap:var(--sp-1);flex-wrap:wrap}.issue-ev{margin-top:4px;font-size:var(--fs-xs)}.issue-ev summary{cursor:pointer;color:var(--text-2)}.issue-ev blockquote{margin:4px 0 0;padding-left:10px;border-left:3px solid var(--line);color:var(--text-2)}.issue-actions{display:flex;gap:var(--sp-1);margin-top:6px;flex-wrap:wrap}.issue-done{opacity:.55}.issue-done-box summary{cursor:pointer;font-size:var(--fs-xs)}.gen-detail-box{border-top:1px solid var(--line)}.gen-detail-box>summary{cursor:pointer;font-size:var(--fs-xs);color:var(--text-3);padding:var(--sp-2) 0}.gen-detail-box[open]>summary{color:var(--text-2)}.entity{margin-bottom:10px}.board-tabs{margin-bottom:var(--sp-3)}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-3)}.char-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:var(--sp-3) 14px}.char-card.retired{opacity:.55}.char-card h3{margin:0;font-size:var(--fs-md)}.char-aliases{margin-top:4px;font-size:var(--fs-xs)}.char-chapters{margin-top:6px;font-size:var(--fs-xs)}.char-card .linkbtn{margin-top:4px;font-size:var(--fs-xs)}.char-relations{margin-top:6px;font-size:var(--fs-xs)}.char-rel-head{margin-bottom:2px}.char-relations .fact-line.retired{opacity:.6}.char-rel-ev{color:var(--text-2);opacity:.85;padding-left:14px;text-indent:0}.char-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.char-card .persona-view summary,.char-card .persona-edit summary{cursor:pointer;font-size:var(--fs-xs)}.char-card .persona-view .badge{margin-right:4px}.char-card .persona-view details,.char-card .persona-edit details{margin-top:2px}.char-card .persona-edit .hint{font-size:var(--fs-xs);margin-bottom:2px}.char-form{margin-top:var(--sp-3);padding:var(--sp-3) 14px;border:1px dashed var(--line-strong);border-radius:var(--r-md)}.char-form textarea{margin-top:var(--sp-2)}.ov-scroll{overflow-x:auto}.ov-grid{display:flex;flex-wrap:wrap;gap:6px}.ov-cell{width:46px;height:40px;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-3);font-size:10px;line-height:1.2}.ov-cell b{font-size:var(--fs-sm);color:var(--text-2)}.ov-cell.st-drafted{background:var(--warn-weak);border-color:var(--warn-line);color:var(--warn)}.ov-cell.st-finalized,.ov-cell.st-approved{background:var(--ok-weak);border-color:var(--ok-line);color:var(--ok)}.ov-cell.st-pending_review{background:var(--warn-weak);border-color:var(--warn-line);color:var(--warn)}.ov-cell.st-quarantined,.ov-cell.st-stale{background:var(--err-weak);border-color:var(--err-line);color:var(--err)}.ov-cell.st-drafting{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand);animation:ov-pulse 1.2s ease-in-out infinite}@keyframes ov-pulse{50%{opacity:.45}}.ov-timeline{min-width:max-content}.ov-timeline th,.ov-timeline td{padding:4px 6px;text-align:center}.ov-timeline .ov-name{position:sticky;left:0;background:var(--surface);text-align:left;white-space:nowrap}.ov-timeline thead .ov-name{background:var(--surface-2)}.ov-timeline .ov-name.retired{color:var(--text-3)}.ov-timeline td.on:after{content:"";display:block;margin:0 auto;width:12px;height:12px;border-radius:3px;background:var(--brand)}.ov-key{font-size:var(--fs-xs);color:var(--text-2)}.ov-sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 10px;vertical-align:-1px}.ov-sw.planted{background:var(--brand)}.ov-sw.reinforced{background:var(--warn)}.ov-sw.paid_off{background:var(--ok)}.ov-sw.abandoned{background:var(--text-3)}.ov-sw.overdue{background:var(--err)}.ov-fs{min-width:640px}.ov-fs-axis,.ov-fs-row{display:flex;align-items:center;gap:var(--sp-3)}.ov-fs-row{margin-top:6px}.ov-fs-label{width:160px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--text-2)}.ov-fs-ticks{flex:1;display:flex}.ov-fs-tick{flex:1;font-size:10px;color:var(--text-3);text-align:center;border-left:1px solid var(--line)}.ov-fs-track{flex:1;position:relative;height:18px;background:var(--surface-2);border-radius:var(--r-sm)}.ov-fs-bar{position:absolute;top:3px;bottom:3px;min-width:4px;border-radius:4px}.ov-fs-bar.planted{background:var(--brand)}.ov-fs-bar.reinforced{background:var(--warn)}.ov-fs-bar.paid_off{background:var(--ok)}.ov-fs-bar.abandoned{background:var(--text-3)}.ov-fs-bar.overdue{background:var(--err)}@media(max-width:640px){.ov-fs{min-width:0}.ov-fs-label{width:88px}}.fact-del{height:auto;min-width:28px;min-height:28px;padding:0 6px;border:none;background:none;color:var(--text-3);font-size:var(--fs-md);line-height:1.4;margin-left:0}.fact-del:hover:not(:disabled){background:none;color:var(--err)}.fact-confirm{font-size:var(--fs-xs);color:var(--err);white-space:nowrap}.fact-confirm button{margin-left:4px}table.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.tbl th,table.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}table.tbl th{color:var(--text-2);font-weight:500;background:var(--surface-2)}table.tbl tbody tr:hover{background:var(--surface-2)}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.bh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-2)}.bh-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm)}.bh-stat b{font-size:var(--fs-lg);color:var(--text-1)}.bh-stat span{font-size:var(--fs-xs);color:var(--text-3)}.bh-bars{display:flex;align-items:flex-end;gap:2px;height:72px;padding:6px 8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm)}.bh-bars i{flex:1;min-width:3px;border-radius:2px 2px 0 0;background:var(--brand);transition:height .2s ease}.bh-bars.bh-flavor i{background:var(--warn)}.bh-bars.bh-tension i{background:var(--brand)}.bh-axis{display:flex;justify-content:space-between;margin-top:4px;font-size:var(--fs-xs);color:var(--text-3)}.bh-link{padding:0;border:none;background:none;color:var(--brand);font-size:inherit;cursor:pointer;text-decoration:underline dotted}.bh-link:hover{color:var(--brand-hover)}.bh-warn{padding:8px 10px;background:var(--warn-weak);border:1px solid var(--warn-line);border-radius:var(--r-sm);color:var(--warn);font-size:var(--fs-sm)}.reader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:var(--z-reader);display:flex;align-items:center;justify-content:center}.reader{position:relative;background:var(--surface);color:var(--text);width:100%;max-width:820px;height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);--reader-font: var(--font-serif);--reader-fs: 17px}.reader[data-theme=paper]{--surface: #fbfaf7;--surface-2: #f1efe9;--line: #e6e3da;--line-strong: #d5d1c5;--text: #2a2b2e;--text-2: #60636a;--text-3: #767a83;--brand: #33454e;--brand-hover: #26343c;--brand-weak: #e9ece7;--brand-line: #ccd6d2;--brand-ring: rgba(51, 69, 78, .16);--on-brand: #ffffff;--on-brand-weak: rgba(255, 255, 255, .22);--ok: #1a7f4b;--ok-weak: #ecf7f1;--ok-line: #c2e2d1;--warn: #a85f0a;--warn-weak: #fdf5e8;--warn-line: #edd9b4;--err: #c93333;--err-weak: #fceeee;--err-line: #f0c8c8}.reader[data-theme=kraft]{--surface: #f3e8cf;--surface-2: #e9dbbd;--line: #dccba6;--line-strong: #c9b78d;--text: #3f3226;--text-2: #6f5f4b;--text-3: #8a7a66;--brand: #33454e;--brand-hover: #26343c;--brand-weak: #e9ece7;--brand-line: #ccd6d2;--brand-ring: rgba(51, 69, 78, .16);--on-brand: #ffffff;--on-brand-weak: rgba(255, 255, 255, .22);--ok: #1a7f4b;--ok-weak: #ecf7f1;--ok-line: #c2e2d1;--warn: #a85f0a;--warn-weak: #fdf5e8;--warn-line: #edd9b4;--err: #c93333;--err-weak: #fceeee;--err-line: #f0c8c8;--shadow-sm: 0 1px 2px rgba(63, 50, 38, .08);--shadow-md: 0 1px 2px rgba(63, 50, 38, .08), 0 4px 12px rgba(63, 50, 38, .1);background:radial-gradient(120% 80% at 50% 0%,#fffcf080,#fffcf000 60%),repeating-linear-gradient(0deg,#785c3205 0,#785c3205 2px,#fff0 2px,#fff0 4px),var(--surface)}.reader[data-theme=night]{--surface: #1b1d21;--surface-2: #26292f;--line: #31343b;--line-strong: #40444d;--text: #c8ccd3;--text-2: #9aa0a9;--text-3: #7d838d;--brand: #8b93ff;--brand-hover: #a0a6ff;--brand-weak: #272b47;--brand-line: #3d4372;--brand-ring: rgba(139, 147, 255, .28);--on-brand: #181a30;--on-brand-weak: rgba(24, 26, 48, .28);--ok: #55b98a;--ok-weak: #1e2f27;--ok-line: #2f4d3f;--warn: #d99a4e;--warn-weak: #2d2517;--warn-line: #54452a;--err: #e06c6c;--err-weak: #352225;--err-line: #553636;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .35)}.reader[data-font=song]{--reader-font: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", "Source Han Serif SC", serif}.reader[data-font=hei]{--reader-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}.reader[data-font=kai]{--reader-font: "Kaiti SC", "STKaiti", "KaiTi", "Noto Serif CJK SC", cursive}.reader[data-size=sm]{--reader-fs: 15px}.reader[data-size=md]{--reader-fs: 17px}.reader[data-size=lg]{--reader-fs: 19px}.reader-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.reader-head-br{display:none}.reader-sync-bar{padding:10px 20px 0;flex-shrink:0}.reader-sync-bar .sync-badge{margin-bottom:0}@media(max-width:640px){.reader-sync-bar{padding:8px 14px 0}}.reader-title{flex:1;margin:0;min-width:200px;font-size:var(--fs-lg)}.reader-tabs{display:flex;gap:2px;background:var(--surface-2);border-radius:var(--r-full);padding:2px}.reader-tab{padding:4px 14px;border-radius:var(--r-full);font-size:var(--fs-sm);cursor:pointer;color:var(--text-2);transition:background .12s,color .12s}.reader-tab.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.reader-content{flex:1;overflow-y:auto;padding:32px 24px 48px;-webkit-overflow-scrolling:touch}.reader-content p{max-width:40em;margin:0 auto .32em;font-family:var(--reader-font);font-size:var(--reader-fs);line-height:1.9;text-align:justify;text-indent:2em}.reader-nav{display:flex;justify-content:space-between;gap:10px;padding:12px 20px;border-top:1px solid var(--line);flex-shrink:0}.reader-nav button{margin-left:0}.reader-fb{flex-shrink:0;padding:8px 20px;border-top:1px dashed var(--line);font-size:.92em}.reader-fb-row{display:flex;align-items:center;gap:8px}.reader-fb-ask{flex:1}.reader-fb-stale{font-size:.9em}.reader-fb-detail{margin-top:8px;display:flex;flex-direction:column;gap:8px}.reader-fb-chips{display:flex;flex-wrap:wrap;gap:6px}.reader-fb-chips .chip.on{outline:2px solid currentColor}.reader-fb-comment{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:transparent;color:inherit}.reader-fb-actions{display:flex;gap:8px}.reader-book{max-width:1080px}.reader-body{flex:1;display:flex;min-height:0;position:relative}.reader-toc{width:216px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--line);padding:10px;-webkit-overflow-scrolling:touch}.reader-toc-item{padding:8px 10px;border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.5;color:var(--text-2);cursor:pointer}.reader-toc-item:not(.off):hover{background:var(--surface-2);color:var(--text)}.reader-toc-item.on{background:var(--brand-weak);color:var(--brand);font-weight:600}.reader-toc-item.on:hover{background:var(--brand-weak);color:var(--brand)}.reader-toc-item.off{opacity:.45;cursor:default}.reader-toc-book{padding:4px 10px 10px;margin-bottom:6px;border-bottom:1px solid var(--line)}.reader-toc-book-title{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.reader-toc-book-syn{margin-top:4px;font-size:var(--fs-xs);line-height:1.6;color:var(--text-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.reader-toc-btn{display:none}.read-book-btn{margin-left:14px;vertical-align:middle}.reader-settings{position:relative}.reader-settings-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:5;width:248px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:12px 14px}.rs-group+.rs-group{margin-top:10px}.reader-settings-pop .chip{padding:4px 12px;font-size:var(--fs-xs)}.rs-font-song{font-family:Songti SC,STSong,SimSun,"Noto Serif CJK SC",serif}.rs-font-hei{font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}.rs-font-kai{font-family:Kaiti SC,STKaiti,KaiTi,cursive}.reader-content p.pickable{cursor:pointer;border-radius:var(--r-sm)}.reader-content p.sel{background:var(--brand-weak);box-shadow:inset 3px 0 0 var(--brand)}.para-tools{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:3;display:flex;gap:8px;padding:6px 8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-full);box-shadow:var(--shadow-md);white-space:nowrap}.reader-polish{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--overlay-bg-soft)}.reader-polish-panel{width:100%;max-width:720px;max-height:100%;overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:16px 18px}.rp-label{font-size:var(--fs-xs);color:var(--text-2);margin:10px 0 6px}.rp-label:first-child{margin-top:0}.rp-orig{font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border-radius:var(--r-md);padding:10px 12px;line-height:1.8;max-height:120px;overflow-y:auto}.reader-polish-panel input{width:100%}.rp-chips{margin-top:8px}.rp-tools{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.rp-ideas{margin:0;padding-left:20px;font-size:var(--fs-sm);line-height:1.7;color:var(--text-1);max-height:46vh;overflow-y:auto}.rp-ideas li{margin:4px 0}.rp-actions{display:flex;gap:8px;margin-top:14px}.rp-actions button{margin-left:0}.rp-err{margin-top:10px}.rp-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rp-col{min-width:0}.rp-text{font-size:var(--fs-sm);line-height:1.8;background:var(--surface-2);border-radius:var(--r-md);padding:10px 12px;max-height:46vh;overflow-y:auto;white-space:pre-wrap}.rp-new{background:var(--ok-weak)}.reader-discuss-panel{display:flex;flex-direction:column}.rd-orig{font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border-radius:var(--r-md);padding:10px 12px;line-height:1.8;max-height:96px;overflow-y:auto;margin-bottom:10px}.rd-log{flex:1 1 auto;min-height:160px;max-height:42vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px}.rd-empty{font-size:var(--fs-sm);line-height:1.8;padding:8px 2px}.rd-msg{display:flex}.rd-user{justify-content:flex-end}.rd-assistant{justify-content:flex-start}.rd-bubble{max-width:86%;font-size:var(--fs-sm);line-height:1.8;padding:8px 12px;border-radius:var(--r-md);white-space:pre-wrap;word-break:break-word}.rd-user .rd-bubble{background:var(--brand-weak)}.rd-assistant .rd-bubble{background:var(--surface-2)}.rd-suggestion{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.rd-input{margin-top:12px}.rd-input textarea{width:100%;resize:vertical}.arch-discuss{display:flex;flex-direction:column}.arch-discuss .rd-log{max-height:46vh;border:1px solid var(--line);border-radius:var(--r-md)}.arch-directive{margin-top:12px;padding:12px;background:var(--brand-weak);border:1px solid var(--brand-line);border-radius:var(--r-md)}.arch-directive textarea{width:100%;resize:vertical;margin-top:6px}.profile-field{margin-bottom:12px}.profile-field .fl{margin-bottom:4px}.profile-field textarea{width:100%;resize:vertical}@media(min-width:901px){.reader-overlay{padding:40px 24px}.reader{border-radius:var(--r-xl)}}@media(max-width:900px){.wrap{padding:14px 12px 64px}.workbench{flex-direction:column;gap:12px}.flow-nav{width:100%;position:static;display:flex;gap:6px;overflow-x:auto;padding:6px;-webkit-overflow-scrolling:touch}.flow-step{flex-shrink:0;padding:8px 12px;white-space:nowrap}button.flow-step{width:auto}.flow-step .dot{position:static;margin-left:2px}.split,.two-col{flex-direction:column}.two-col-side{width:100%}.pane{max-height:300px}.stat-strip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.stat{flex-shrink:0}.stat-topic{max-width:220px}.proj-grid{grid-template-columns:1fr}}@media(max-width:640px){:root{--ctl-h: 44px;--ctl-h-sm: 36px}h1{font-size:18px}.card{padding:16px}.card-compact{padding:12px}input[type=text],input[type=password],input[type=number],textarea,select{font-size:16px}.concept-grid{grid-template-columns:1fr;gap:10px 0}.concept-field{flex-direction:column;gap:2px}.cf-label{text-align:left;min-width:0}.card-head{gap:8px 10px}.card-head button{flex-shrink:0}.card-head>h2,.card-head>h3,h2.grow,h3.grow,b.grow:not(:empty),span.grow:not(:empty){flex-basis:100%}.arch-discuss .rd-log{max-height:60vh}table.tbl{white-space:nowrap}.project-head{gap:4px 8px}.project-head .badge,.project-head .read-book-btn{margin-left:0;flex-shrink:0}.reader-head{padding:10px 14px;gap:8px 10px}.reader-title{display:contents}.reader-toc-btn{order:1}.reader-title-text{order:2;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-close{order:3;flex-shrink:0}.reader-head-br{display:block;flex-basis:100%;height:0;order:4}.reader-tabs{order:5;flex-shrink:0}.reader-meta{order:6;display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap}.reader-meta .badge{margin-left:0}.reader-settings{order:7;flex-shrink:0;margin-left:auto}.reader-content{padding:24px 16px 40px}.reader-nav{padding:10px 14px}.rp-compare,.para-compare{grid-template-columns:1fr}.rp-text{max-height:32vh}.reader-polish{padding:12px}.reader-toc-btn{display:inline-block;flex-shrink:0}.reader-toc{display:none}.reader-toc.open{display:block;position:absolute;top:0;bottom:0;left:0;width:min(260px,82%);background:var(--surface);box-shadow:var(--shadow-lg);z-index:2}}.wiz-steps{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4);border-bottom:1px solid var(--line);padding-bottom:var(--sp-3)}.wiz-step{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-md);color:var(--text-3);font-size:var(--fs-md)}.wiz-step.on{color:var(--brand);font-weight:600}.wiz-step.on:hover{color:var(--brand)}.wiz-step.done{color:var(--ok);cursor:pointer}.wiz-step .no{width:22px;height:22px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;flex-shrink:0}.wiz-step.on .no{background:var(--brand);color:var(--on-brand)}.wiz-step.done .no{background:var(--ok-weak);color:var(--ok)}.title-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.title-chip{padding:8px 16px;border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--surface);font-size:var(--fs-md);cursor:pointer;transition:border-color .12s,background .12s}.title-chip:hover{border-color:var(--brand);background:var(--brand-weak)}.title-chip.on{border-color:var(--brand);background:var(--brand-weak);color:var(--brand);font-weight:600}.flow-step.step-done .no{background:var(--ok-weak);color:var(--ok)}.flow-step.on.step-done .no{background:var(--on-brand-weak);color:var(--on-brand)}.step-guide{display:flex;gap:var(--sp-4);align-items:flex-start;margin-bottom:var(--sp-3)}.step-guide .guide-body{flex:1;min-width:0;display:grid;gap:4px;font-size:var(--fs-sm)}.step-guide .guide-side{display:flex;flex-direction:column;gap:var(--sp-2);flex-shrink:0}.guide-mini{cursor:pointer;margin-bottom:var(--sp-2);-webkit-user-select:none;user-select:none}.guide-mini:hover{color:var(--brand)}.toast-viewport{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;width:340px;max-width:calc(100vw - 32px);z-index:1000;list-style:none;margin:0;padding:0}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-md);font-size:var(--fs-sm)}.toast-ok{border-left:3px solid var(--ok)}.toast-err{border-left:3px solid var(--err)}.toast-info{border-left:3px solid var(--brand)}.toast-ok .toast-icon{color:var(--ok)}.toast-err .toast-icon{color:var(--err)}.toast-info .toast-icon{color:var(--brand)}.toast-icon{font-weight:700;flex-shrink:0}.toast-body{flex:1;min-width:0}.toast-title{font-weight:600}.toast-detail{color:var(--text-2);margin-top:2px;word-break:break-all}.toast-close{background:none;border:none;cursor:pointer;color:var(--text-3);font-size:var(--fs-lg);line-height:1;padding:0}.dlg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:900}.dlg-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:22px 24px;width:420px;max-width:calc(100vw - 40px);z-index:901}.dlg-title{font-size:var(--fs-lg);font-weight:600;margin:0}.dlg-body{color:var(--text-2);font-size:var(--fs-sm);margin:10px 0 0}.dlg-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dlg-copy{width:560px}.dlg-copy-text{width:100%;margin-top:12px;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-sm)}.tc-wrap{position:relative}.tc-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-full);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--fs-xs);cursor:pointer}.tc-badge.busy{border-color:var(--brand-line);background:var(--brand-weak);color:var(--brand)}.tc-drawer{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:500;padding:6px;max-height:60vh;overflow-y:auto}.tc-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm)}.tc-item:hover{background:var(--surface-2)}.tc-item .tc-label{font-weight:600;flex-shrink:0}.tc-item .tc-stage{color:var(--text-2);font-size:var(--fs-xs);display:inline-flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-item.done .tc-stage{color:var(--ok)}.tc-item.error .tc-stage{color:var(--err)}.tc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:transparent}.tc-live-btn{flex-shrink:0;padding:2px 8px;border-radius:var(--r-full);border:1px solid var(--brand-line);background:var(--brand-weak);color:var(--brand);font-size:var(--fs-xs);cursor:pointer}.live-dock{position:fixed;right:16px;bottom:16px;width:min(420px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:450;display:flex;flex-direction:column;overflow:hidden}.live-head{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-xs)}.live-dock.collapsed .live-head{border-bottom:none}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);flex-shrink:0}.live-dot.on{background:var(--brand);animation:live-pulse 1.4s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.25}}.live-title{font-weight:600;flex-shrink:0}.live-step{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-step.retrying{color:var(--warn);background:var(--warn-weak);border-radius:var(--r-sm);padding:0 6px}.live-nth{color:var(--text-2)}.live-btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-sm);padding:1px 7px;font-size:var(--fs-xs);line-height:1.5;cursor:pointer;flex-shrink:0}.live-body{padding:10px 12px;max-height:34vh;overflow-y:auto;font-size:var(--fs-sm);line-height:1.75;white-space:pre-wrap;word-break:break-word;color:var(--text)}.live-caret{display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:text-bottom;background:var(--brand);animation:live-blink 1s step-end infinite}@keyframes live-blink{50%{opacity:0}}.live-stall{display:block;color:var(--warn);background:var(--warn-weak);border-radius:var(--r-sm);padding:6px 8px;line-height:1.6}@media(max-width:767px){.live-dock{right:8px;left:8px;width:auto;bottom:calc(8px + constant(safe-area-inset-bottom));bottom:calc(8px + env(safe-area-inset-bottom));z-index:55}.live-body{max-height:38vh}.live-head{flex-wrap:wrap;row-gap:5px}.live-head>.live-step{order:10;flex:1 1 100%}body:has(.write-zone) .live-dock{bottom:calc(64px + constant(safe-area-inset-bottom));bottom:calc(64px + env(safe-area-inset-bottom));z-index:50}}@media(max-width:767px){.tc-drawer{position:fixed;top:58px;left:8px;right:8px;width:auto;max-width:none;max-height:70vh;padding:8px;border-radius:var(--r-lg)}.tc-item{flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px}.tc-item .tc-label{flex:1 1 100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);line-height:1.4}.tc-item .tc-stage{flex:1 1 100%;min-width:0;white-space:normal;text-align:left;overflow:visible;font-size:var(--fs-xs);line-height:1.5;word-break:break-word}.tc-item .tc-live-btn{flex:1 1 calc(50% - 4px);min-width:0;min-height:36px;padding:6px 10px}}.onboard{display:flex;gap:20px;align-items:flex-start}.onboard-main{flex:1;min-width:0}.onboard-side{width:280px;flex-shrink:0;position:sticky;top:16px}@media(max-width:900px){.onboard{flex-direction:column}.onboard-side{width:100%;position:static}}.entry-cards{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.entry-card{flex:1 1 180px;border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:16px;cursor:pointer;transition:border-color .12s,box-shadow .12s;background:var(--surface);color:inherit}.entry-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}.entry-card h3{margin:0 0 6px;font-size:var(--fs-md)}.entry-card p{margin:0;color:var(--text-2);font-size:var(--fs-sm)}.genre-group{margin-top:12px}.genre-cat{font-size:var(--fs-xs);color:var(--text-3);font-weight:700;margin-bottom:6px}.genre-cards{display:flex;flex-wrap:wrap;gap:8px}.genre-card{border:1px solid var(--line-strong);border-radius:var(--r-md);padding:8px 12px;cursor:pointer;max-width:250px;transition:border-color .12s,background .12s;background:var(--surface);color:inherit}.genre-card:hover,.genre-card.on{border-color:var(--brand);background:var(--brand-weak)}.genre-card b{display:block;font-size:var(--fs-sm)}.genre-card span{display:block;color:var(--text-2);font-size:var(--fs-xs);margin-top:2px}.pref-quick{border-top:1px dashed var(--line);padding-top:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-1)}.pref-row{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.pref-label{flex:0 0 auto;font-size:var(--fs-xs);color:var(--text-3);min-width:6.5em}.pref-label small{margin-left:4px;opacity:.75}.engine-list{display:flex;flex-direction:column;gap:8px}.engine-card{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:10px 12px;cursor:pointer;text-align:left;background:var(--surface);color:inherit;transition:border-color .12s,background .12s}.engine-card:hover,.engine-card.on{border-color:var(--brand);background:var(--brand-weak)}.engine-card b{display:block;font-size:var(--fs-sm);line-height:1.5;overflow-wrap:break-word;word-break:break-word}.engine-card .engine-angle{display:inline-block;font-size:var(--fs-xs);color:var(--text-3);margin-bottom:4px}.engine-card .engine-hook{display:block;color:var(--text-2);font-size:var(--fs-xs);margin-top:4px;overflow-wrap:break-word}.engine-card .engine-anchor{display:inline-block;margin-top:6px;font-size:var(--fs-xs);color:var(--brand);cursor:pointer}.engine-card .engine-anchor:hover{text-decoration:underline}.scale-cards{display:flex;gap:12px;flex-wrap:wrap}.scale-card{flex:1 1 150px;border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:14px;cursor:pointer;text-align:center;transition:border-color .12s,background .12s;background:var(--surface);color:inherit}.scale-card:hover{border-color:var(--brand)}.scale-card.on{border-color:var(--brand);background:var(--brand-weak)}.scale-card .scale-num{font-size:var(--fs-md);margin:6px 0 4px}.dossier{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-sm)}.dossier-cover{aspect-ratio:3 / 4;max-height:180px;margin:0 auto 12px;width:135px;border-radius:var(--r-md);background:linear-gradient(160deg,var(--brand) 0%,var(--brand-2) 100%);color:var(--on-vivid);display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:700;letter-spacing:2px;word-break:break-all;box-shadow:var(--shadow-md)}.dossier-rows{display:grid;gap:6px}.dossier-row{display:flex;gap:10px;font-size:var(--fs-sm)}.dossier-row .dr-k{color:var(--text-3);flex-shrink:0;width:32px}.dossier-row .dr-v{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dossier-row.ok .dr-v{color:var(--text)}.title-chip.sm{padding:4px 10px;font-size:var(--fs-xs)}.onboard-nav{border-top:1px solid var(--line);padding-top:14px}.next-bar{display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--brand-weak);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:10px 14px;margin-bottom:12px;font-size:var(--fs-sm)}.queue-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface-2);border-radius:var(--r-md);padding:8px 10px}.queue-check{width:16px;height:16px;flex-shrink:0}.badge-draft{background:var(--warn-weak);color:var(--warn);border-color:var(--warn-line)}.badge-finished{background:var(--ok-weak);color:var(--ok);border-color:var(--ok-line)}.wiz-step{white-space:nowrap;flex-shrink:0}.wiz-steps{overflow-x:auto;scrollbar-width:none}.wiz-steps::-webkit-scrollbar{display:none}@media(max-width:1100px){.wiz-steps{gap:4px}.wiz-step{padding:6px 8px;gap:6px}.wiz-step .wiz-thumb{display:none}}html,body{max-width:100%;overflow-x:hidden}.wrap{max-width:100%;box-sizing:border-box}.onboard-main,.flow-main,.card{min-width:0;max-width:100%;box-sizing:border-box}.title-chips,.genre-cards,.entry-cards,.scale-cards{max-width:100%}.next-bar{flex-wrap:wrap}@media(max-width:640px){.onboard-side{position:static}.dossier-cover{width:110px;max-height:150px}.genre-card{max-width:100%;flex:1 1 45%}.entry-card{flex:1 1 100%}.stat-strip{flex-wrap:wrap}.toast-viewport{width:calc(100vw - 24px);right:12px}}.ed-tabs{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.ed-tab{flex:1 1 150px;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s;background:var(--surface);color:inherit}.ed-tab:hover{border-color:var(--brand)}.ed-tab.on{border-color:var(--brand);background:var(--brand-weak)}.ed-tab b{display:block;font-size:var(--fs-md)}.ed-tab span{display:block;color:var(--text-2);font-size:var(--fs-xs);margin-top:2px}.review-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.score-row{display:flex;gap:12px;flex-wrap:wrap}.score-item{flex:1 1 90px;text-align:center;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 8px;background:var(--surface-2)}.score-item b{display:block;font-size:var(--fs-2xl);color:var(--brand)}.score-item.low b{color:var(--err)}.score-item span{color:var(--text-2);font-size:var(--fs-xs)}.proof-item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.proof-item input{margin-top:3px;width:16px;height:16px;flex-shrink:0}.proof-item .badge{flex-shrink:0}.proof-body{flex:1;min-width:0;display:grid;gap:3px;font-size:var(--fs-sm)}.proj-progress{margin-top:8px;display:flex;align-items:center;gap:10px}.pp-bar{flex:1;height:6px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.pp-fill{height:100%;background:var(--brand);border-radius:var(--r-full);transition:width .3s}.pp-text{font-size:var(--fs-xs);color:var(--text-2);flex-shrink:0}.fs-ops{white-space:nowrap}.fs-ops .btn-sm{margin-right:6px}.page-flash{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:600;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:10px 18px}.book-err{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:1002;margin:0;max-width:calc(100vw - 24px);background:var(--err-weak);border:1px solid var(--err-line);border-radius:var(--r-md);padding:10px 18px}@media(max-width:640px){.tbl{min-width:560px}.ov-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}.review-sug{border-left:3px solid var(--brand-line);padding:8px 0 8px 12px;margin-top:8px}.review-sug .rs-head{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.review-sug .rs-head b{font-size:var(--fs-sm);flex:1;min-width:0}.review-sug .rs-quote{margin:6px 0 0;padding:6px 10px;background:var(--surface-2);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm);font-family:var(--font-serif)}.review-sug .rs-fix{margin-top:4px;color:var(--ok);font-size:var(--fs-sm)}.macro-plan{display:grid;gap:8px}.macro-seg{border-left:3px solid var(--line-strong);padding:6px 0 6px 12px;font-size:var(--fs-sm);color:var(--text-2)}.macro-seg b{color:var(--text);display:block;margin-bottom:2px}.macro-seg.done{border-left-color:var(--ok);opacity:.75}.macro-seg.current{border-left-color:var(--brand);background:var(--brand-weak);border-radius:0 var(--r-sm) var(--r-sm) 0}.sub-panel{display:grid;gap:14px}.sub-kv{display:flex;align-items:center;gap:var(--sp-2)}.sub-kv b{font-size:var(--fs-md)}.sub-kv-input{max-width:160px}.sub-tag{display:inline-flex;align-items:center;gap:6px}.sub-tag>span{cursor:pointer}.sub-tag-x{font-style:normal;cursor:pointer;color:var(--text-3);font-size:var(--fs-sm);line-height:1;padding:0 2px;border-radius:3px}.sub-tag-x:hover{color:var(--err);background:var(--err-weak)}.sub-summary{padding:10px 0;border-top:1px dashed var(--line)}.sub-summary:first-of-type{border-top:none;padding-top:0}.sub-summary textarea{width:100%}.media-field{padding:10px 0;border-top:1px dashed var(--line)}.media-field:first-of-type{border-top:none;padding-top:0}.media-field textarea,.media-field input{width:100%}.content-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.content-head-title{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.content-head-title h2{margin:0}.content-head-meta{color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap}.content-head-actions{display:flex;align-items:center;gap:var(--sp-2)}.content-head-actions button+button{margin-left:0}.guard-toggle{display:flex;align-items:flex-start;gap:var(--sp-2);cursor:pointer}.guard-toggle input{margin-top:3px}.guard-toggle span{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm)}.guard-toggle .hint{font-weight:400}.review-config{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm)}.review-config select{margin-left:2px}.project-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.project-title-text{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-page{max-width:720px;margin:0 auto}.settings-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}.settings-head h1{margin:0;font-size:var(--fs-xl)}.settings-foot{text-align:center;margin-top:var(--sp-5)}.settings-foot a{color:var(--brand);font-size:var(--fs-sm)}.update-box{margin-top:var(--sp-3)}.update-line{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--fs-sm)}.update-line.ok{background:var(--ok-weak);color:var(--ok);border:1px solid var(--ok-line)}.update-line.err{background:var(--err-weak);color:var(--err);border:1px solid var(--err-line)}.update-avail{display:flex;flex-direction:column;gap:var(--sp-2)}.update-avail .update-line{background:var(--brand-weak);border:1px solid var(--brand-line)}.update-notes{font-size:var(--fs-sm);color:var(--text-2);line-height:1.7;padding:10px 12px;background:var(--surface-2);border-radius:var(--r-sm);max-height:220px;overflow-y:auto}.update-progress{display:flex;flex-direction:column;gap:var(--sp-2);padding:10px 12px}.pbar{height:8px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.pbar-fill{height:100%;background:var(--brand);border-radius:var(--r-full);transition:width .3s ease}.pbar-fill.indet{width:40%;animation:pbar-indet 1.2s ease-in-out infinite alternate}@keyframes pbar-indet{0%{margin-left:0}to{margin-left:60%}}@media(prefers-reduced-motion:reduce){.pbar-fill.indet{animation:none;margin-left:0}}.provider-list{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-3)}.provider-row{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.provider-row .card-head{margin-bottom:var(--sp-2)}.provider-row h3{font-size:var(--fs-md)}.provider-desc{color:var(--text-2);font-size:var(--fs-sm);margin:0 0 var(--sp-3)}.provider-row input[type=text],.provider-row input[type=password]{width:100%}.provider-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap}.provider-actions .danger{color:var(--err);border-color:var(--err-line)}.provider-actions .danger:hover:not(:disabled){background:var(--err-weak)}.fld-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-3)}.fld{flex:1 1 220px}.provider-row .fl:first-of-type{margin-top:0}.fld-hint{font-size:var(--fs-xs);color:var(--text-3);margin-top:var(--sp-1)}.default-pick{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2);margin-top:var(--sp-3);cursor:pointer}.appearance-row{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap}.test-line{margin-top:var(--sp-3);font-size:var(--fs-sm);padding:8px 12px;border-radius:var(--r-sm);line-height:1.6}.test-line.ok{background:var(--ok-weak);color:var(--ok)}.test-line.err{background:var(--err-weak);color:var(--err)}.test-line.warn{background:var(--warn-weak);color:var(--warn)}.probe-checks{margin-top:var(--sp-2);display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}.probe-check{display:flex;gap:var(--sp-2);font-size:var(--fs-xs);line-height:1.6}.probe-name{flex:0 0 auto;font-weight:600;color:var(--text-2)}.probe-check.ok .probe-name{color:var(--ok)}.probe-check.err .probe-name{color:var(--err)}.probe-check.warn .probe-name{color:var(--warn)}.probe-detail{color:var(--text-3);word-break:break-all}.probe-sample{display:block;margin-top:2px;font-family:ui-monospace,Consolas,monospace;opacity:.8}.cf-warn{margin:0 0 var(--sp-3);padding:8px 12px;border-radius:var(--r-sm);font-size:var(--fs-xs);line-height:1.6;background:var(--warn-weak);color:var(--warn);border:1px solid var(--warn-line)}.usage-summary{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--text);margin:var(--sp-2) 0}.usage-summary b{font-variant-numeric:tabular-nums}.usage-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs);margin-bottom:var(--sp-3)}.usage-table th,.usage-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--line)}.usage-table th{color:var(--text-2);font-weight:500}.usage-table td{font-variant-numeric:tabular-nums}.peak-note{margin:0 0 var(--sp-3);padding:8px 12px;border-radius:var(--r-sm);font-size:var(--fs-xs);line-height:1.6;background:var(--warn-weak);color:var(--warn);border:1px solid var(--warn-line)}.peak-note.peak-off{background:var(--ok-weak);color:var(--ok);border-color:transparent}.queue-resume{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 var(--sp-3);padding:8px 12px;border-radius:var(--r-sm);font-size:var(--fs-xs);line-height:1.6;background:var(--warn-weak);color:var(--warn);border:1px solid var(--warn-line)}.queue-resume .btn-sm{flex:none}.queue-resume .btn-sm.ghost{opacity:.75}.wiz-step-label{white-space:nowrap}.wiz-thumb{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--ok);background:var(--ok-weak);border:1px solid var(--ok-line);border-radius:var(--r-full);padding:2px 8px}.wiz-progress{height:3px;background:var(--surface-2);border-radius:var(--r-full);margin:calc(-1 * var(--sp-2)) 0 var(--sp-4);overflow:hidden}.wiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:var(--r-full)}.gen-progress{display:grid;gap:4px}.gen-progress-label{font-size:var(--fs-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.gen-progress-bar{height:6px;background:var(--surface-2);border-radius:var(--r-full);overflow:hidden}.gen-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:var(--r-full);transition:width .3s ease}.wiz-cands{display:grid;gap:var(--sp-3);margin-top:var(--sp-3)}.wiz-cand{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:var(--sp-4);transition:border-color .12s,box-shadow .12s}.wiz-cand:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.wiz-cand.picked{border-color:var(--brand);background:var(--brand-weak)}.wiz-cand-title{margin:0 0 var(--sp-2);font-size:var(--fs-lg)}.wiz-cand-body{min-width:0}.wiz-cand-foot{display:flex;justify-content:flex-end;margin-top:var(--sp-3)}.wiz-cand-ops{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap}.wiz-cand-skeleton{pointer-events:none}.wiz-sk-line{height:12px;border-radius:var(--r-sm);margin-bottom:var(--sp-2);background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:wiz-shimmer 1.4s infinite}.wiz-sk-line.w60{width:60%}.wiz-sk-line.w40{width:40%}@keyframes wiz-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.wiz-sk-line{animation:none}}.wiz-thinking{display:inline-block}.wiz-custom textarea{width:100%}.wiz-wall{display:grid;gap:var(--sp-3)}.wiz-wall-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:var(--sp-3) var(--sp-4)}.wiz-wall-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.wiz-wall-label{font-weight:600;font-size:var(--fs-md)}.wiz-wall-text{color:var(--text-2);font-size:var(--fs-md)}.wiz-flag{font-size:var(--fs-xs);color:var(--warn);background:var(--warn-weak);border:1px solid var(--warn-line);border-radius:var(--r-full);padding:2px 8px}.wiz-stale{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);padding:8px 12px;border-radius:var(--r-md);background:var(--warn-weak);border:1px solid var(--warn-line);color:var(--warn);font-size:var(--fs-sm)}.wiz-pipe{display:grid;gap:var(--sp-3)}.wiz-pipe-card{display:flex;gap:var(--sp-3);align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:var(--sp-4);transition:border-color .2s,background .2s}.wiz-pipe-card.run{border-color:var(--brand-line);background:var(--brand-weak)}.wiz-pipe-card.done{border-color:var(--ok-line);background:var(--ok-weak)}.wiz-pipe-card.err{border-color:var(--err-line);background:var(--err-weak)}.wiz-pipe-icon{width:26px;height:26px;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:700;flex-shrink:0}.wiz-pipe-card.run .wiz-pipe-icon{border-color:var(--brand)}.wiz-pipe-card.done .wiz-pipe-icon{color:var(--ok);border-color:var(--ok)}.wiz-pipe-card.err .wiz-pipe-icon{color:var(--err);border-color:var(--err)}.wiz-pipe-label{font-weight:600;font-size:var(--fs-md)}.wiz-celebrate{margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-lg);background:var(--ok-weak);border:1px solid var(--ok-line);color:var(--ok);font-weight:600;text-align:center;font-size:var(--fs-lg)}.wiz-celebrate-hint{display:block;margin-top:var(--sp-2);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2, inherit);text-align:center}.ml-2{margin-left:var(--sp-2)}.wcard{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);background:var(--surface)}.wcard.on{border-color:var(--brand);background:var(--brand-weak, var(--surface))}.wcard-head{display:flex;align-items:center;gap:var(--sp-2)}.wcard-title{display:flex;align-items:center;gap:6px;flex:1;min-width:0;cursor:pointer}.wcard-title .muted{font-size:var(--fs-xs)}.wcard-ops{display:flex;gap:4px;flex-shrink:0}.wcard-body{margin-top:4px;white-space:pre-wrap;word-break:break-word}.wcard-samples{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.wcard-preview{margin:0;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2, var(--surface));font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}.wcard input[type=text],.wcard input:not([type]),.wcard textarea{width:100%}.skeleton-wall .card-head{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.skeleton-list{display:flex;flex-direction:column;gap:var(--sp-2)}.skeleton-seg{border:1px solid var(--line-1, rgba(128,128,128,.25));border-radius:8px;padding:var(--sp-2)}.skeleton-seg.confirmed{border-color:var(--ok, #3a9)}.skeleton-seg-head{display:flex;align-items:center;gap:var(--sp-1);flex-wrap:wrap}.skeleton-title{width:10em;font-weight:600}.skeleton-goal{width:100%;box-sizing:border-box;margin-top:4px}.skeleton-meta{display:flex;gap:var(--sp-1);margin-top:4px;flex-wrap:wrap}.skeleton-in{flex:1;min-width:10em}.skeleton-pipe .actions{margin-top:var(--sp-2)}.setup-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--sp-2)}.setup-tabs button{border-radius:999px;padding:0 14px;height:var(--ctl-h)}.setup-tabs button.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.forge-fields{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}.forge-field{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.forge-field.changed{border-color:var(--warn-line);background:var(--warn-weak)}.forge-field .fl{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}.forge-changed-flag{font-size:var(--fs-xs);color:var(--warn);border:1px solid var(--warn-line);border-radius:999px;padding:0 8px;white-space:nowrap}.arch-layers{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}.arch-layer{border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 12px;min-width:0;background:var(--surface)}.arch-layer.confirmed{border-color:var(--ok-line)}.arch-layer.locked{opacity:.55}.arch-layer-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.arch-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--line-strong)}.arch-dot.wait{background:var(--line-strong)}.arch-dot.run{background:var(--brand);animation:pulse-dot 1.1s ease-in-out infinite}.arch-dot.ok{background:var(--ok)}.arch-dot.draft{background:var(--brand-2)}.arch-dot.stale{background:var(--warn)}@keyframes pulse-dot{50%{opacity:.35}}.arch-stage{min-width:0}.arch-desc{margin-top:2px}.arch-text{width:100%}.arch-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;margin-top:6px}.arch-auto{display:inline-flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}.arch-auto input{margin:0}.pave-preview{min-width:0}.pave-preview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}.pave-preview-card{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 10px;min-width:0;background:var(--surface-2)}.pave-preview-card p{margin:4px 0 0}@media(max-width:767px){.pave-preview-cards{grid-template-columns:1fr}.setup-tabs button,.arch-layer-head button{min-height:44px}}.entry-card.on{border-color:var(--brand);box-shadow:var(--shadow-md);background:var(--brand-weak)}.scale-card .scale-desc{font-size:12px;color:var(--text-2);margin-top:2px;text-align:left}.plans-wall{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:1000px){.plans-wall{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}}.plan-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-1);text-align:left;display:flex;flex-direction:column;gap:8px}.plan-card.on{border-color:var(--brand);box-shadow:var(--shadow-md);background:var(--brand-weak)}.plan-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-title{font-size:15px}.plan-field{display:flex;gap:8px;font-size:13px;line-height:1.55}.plan-k{flex:0 0 60px;color:var(--text-2)}.plan-v{flex:1}.forge-field textarea{overflow:hidden;resize:none;min-height:44px}.pj-cols{display:grid;grid-template-columns:216px minmax(0,1fr);gap:var(--sp-5);align-items:start}.pj-rail{position:sticky;top:var(--sp-4);display:flex;flex-direction:column;gap:2px}.pj-back{display:flex;align-items:center;gap:6px;margin-bottom:var(--sp-2);background:none;border:none;padding:6px 10px;border-radius:var(--r-md);color:var(--text-3);font-size:var(--fs-sm);cursor:pointer}.pj-back:hover{color:var(--text);background:var(--surface-2)}.pj-zone{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--r-md);background:none;color:var(--text-2);font-size:var(--fs-md);text-align:left;cursor:pointer;transition:background .12s,color .12s}.pj-zone:hover{background:var(--surface-2);color:var(--text)}.pj-zone.on{background:var(--brand);color:var(--on-brand);font-weight:600}.pj-zone.on:hover{background:var(--brand);color:var(--on-brand)}.pj-zone .no{width:22px;height:22px;border-radius:50%;background:var(--surface-2);color:var(--text-2);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;flex-shrink:0}.pj-zone.on .no{background:var(--on-brand-weak);color:var(--on-brand)}.pj-zone .dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--err);flex-shrink:0}.pj-zone-label{display:flex;flex-direction:column;line-height:1.25;min-width:0;flex:1}.pj-zone-sub{font-size:var(--fs-xs);opacity:.75}.pj-subs{margin:var(--sp-2) 0 var(--sp-3) 18px;display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--line);padding-left:10px}.pj-sub-tab{display:flex;align-items:center;gap:6px;padding:6px 8px;border:none;border-radius:var(--r-sm);background:none;color:var(--text-2);font-size:var(--fs-sm);text-align:left;cursor:pointer}.pj-sub-tab:hover{background:var(--surface-2);color:var(--text)}.pj-sub-tab.on{background:var(--brand-weak);color:var(--brand);font-weight:600}.pj-sub-tab.on:hover{background:var(--brand-weak);color:var(--brand)}.write-main{max-width:800px;margin:0 auto;width:100%}.write-guide{display:flex;align-items:center;gap:var(--sp-4);max-width:800px;margin:0 auto var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);background:var(--brand-weak);border:1px solid var(--brand-line);border-radius:var(--r-lg)}.write-guide-steps{display:flex;flex:1;gap:var(--sp-5);flex-wrap:wrap}.write-guide-step{display:flex;flex-direction:column;gap:2px;min-width:180px;flex:1}.write-guide-step b{font-size:var(--fs-sm);color:var(--brand)}.write-guide-step span{font-size:var(--fs-xs);color:var(--text-2);line-height:1.5}@media(max-width:640px){.write-guide{flex-direction:column;align-items:stretch}.write-guide-steps{flex-direction:column;gap:var(--sp-2)}.write-guide-step{min-width:0}.write-guide .btn-sm{align-self:flex-end}}.prose p.pickable{cursor:pointer;border-radius:var(--r-sm)}.prose p.sel{background:var(--brand-weak);box-shadow:inset 3px 0 0 var(--brand)}.prose-wrap{position:relative}.write-main .prose-wrap{max-width:38em;margin-inline:auto}.write-main .prose{text-align:justify}.prose-bubble{position:absolute;left:0;right:0;z-index:3;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:10px 12px}.prose-bubble-actions{display:flex;gap:8px;flex-wrap:wrap}.prose-bubble input{width:100%}.prose-edit-area{width:100%;min-height:72px;line-height:1.9;font-size:15px;font-family:var(--font-serif)}.prose-tail{margin-top:18px}.prose-continue{color:var(--text-2);border-style:dashed}.prose-ghost-wrap{margin-top:4px}.prose-ghost{font-family:var(--font-serif);line-height:1.9;font-size:15px;white-space:pre-wrap;color:var(--text-3);padding-left:12px;border-left:2px dashed var(--line-strong)}.entity-link{border-bottom:1px dashed var(--brand);cursor:help}.entity-link.retired{border-bottom-color:var(--line-strong);opacity:.7}.entity-pop{position:absolute;z-index:5;max-width:320px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:10px 12px}.entity-card-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.entity-card-name{font-size:15px}.entity-card.retired .entity-card-name{text-decoration:line-through}.entity-card-aliases{font-size:var(--fs-sm);margin-bottom:4px}.entity-card-profile{font-size:var(--fs-sm);line-height:1.6;margin-bottom:6px}.entity-card-facts{margin:0 0 4px;padding-left:18px;font-size:var(--fs-sm);line-height:1.6}.entity-card-facts li{margin:2px 0}.entity-card-more,.entity-card-chapters{font-size:var(--fs-sm)}.para-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.para-compare-col{min-width:0}.chapter-status-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chapter-status-sub{font-size:var(--fs-sm);gap:8px}.chapter-status-more{margin-bottom:var(--sp-4);font-size:var(--fs-sm)}.chapter-status-more summary{cursor:pointer;color:var(--text-2)}.chapter-status-links{display:flex;gap:14px;flex-wrap:wrap;padding:6px 0 2px}.chapter-status-links .linkish{color:var(--brand);font-size:var(--fs-sm)}.blueprint-card summary{cursor:pointer}.title-edit{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-sm)}.title-edit-label{color:var(--text-2)}.title-edit-cur{font-weight:600}.title-edit-open{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.title-edit-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.title-edit-input{flex:1 1 200px;min-width:0}.title-edit-hint{flex:1 1 auto}.title-edit-err{margin:0}.title-edit-cands{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.title-cand{height:var(--ctl-h-sm);padding:0 12px;font-size:var(--fs-sm);border-radius:999px;border:1px solid var(--brand-line);background:var(--brand-weak);color:var(--brand);cursor:pointer}.title-cand:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.next-chapter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.catalog-drawer{box-shadow:var(--shadow-lg)}@media(min-width:768px){.catalog-drawer{width:320px}}.story-map-overlay{z-index:900;display:flex;align-items:flex-start;justify-content:center}.story-map{margin-top:8vh;width:min(760px,92vw);max-height:82vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.story-map-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.story-map-filter{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;white-space:nowrap}.story-map-empty{padding:28px 16px;text-align:center}.story-map-list{overflow-y:auto;padding:6px}.story-map-row{display:block;width:100%;height:auto;text-align:left;white-space:normal;background:transparent;border:1px solid transparent;border-radius:var(--r-md);padding:8px 10px;margin:2px 0}.story-map-row:hover:not(:disabled){background:var(--surface-2)}.story-map-row.on{border-color:var(--brand);background:var(--surface-2)}.smr-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}.smr-num{font-weight:600;color:var(--text-2);font-size:var(--fs-sm)}.smr-title{font-weight:600}.smr-summary{color:var(--text-2);font-size:var(--fs-sm);line-height:1.6}.smr-fore{color:var(--brand);font-size:var(--fs-sm);margin-top:3px;padding-left:8px;border-left:2px solid var(--brand)}@media(max-width:767px){.story-map{margin-top:0;width:100vw;max-height:100vh;height:100%;border-radius:0;border:none}}.write-body{display:flex;gap:18px;align-items:flex-start}.write-body .write-main{flex:1;min-width:0}.ai-dock{width:320px;flex-shrink:0;position:sticky;top:12px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 12px}.ai-dock-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ai-dock-head .chips{margin-bottom:0}.ai-dock-ctx{margin-bottom:6px}.ai-dock .ai-dock-log,.ai-dock-sheet .ai-dock-log{flex:1 1 auto;min-height:140px;max-height:none}.ai-dock-level{margin-top:6px}.ai-dock-mini{width:40px;flex-shrink:0;align-self:stretch;min-height:160px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text-2);cursor:pointer}.ai-dock-mini:hover{border-color:var(--line-strong);color:var(--text)}.ai-dot{display:inline-block;width:8px;height:8px;margin-left:4px;border-radius:50%;background:var(--brand);vertical-align:top}.m-ai-bar{position:fixed;left:8px;right:8px;bottom:calc(8px + constant(safe-area-inset-bottom));bottom:calc(8px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 14px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);color:var(--text-3);cursor:text}.m-ai-bar-label{text-align:left}.ai-dock-sheet{display:flex;flex-direction:column}.write-zone.immersive .ai-dock,.write-zone.immersive .ai-dock-mini,.write-zone.immersive .m-ai-bar,.write-zone.immersive .write-guide{display:none}.diff-inline{white-space:pre-wrap;word-break:break-word}.diff-card{line-height:2}.prose p.para-annotated{box-shadow:inset 2px 0 0 var(--ok)}.prose p.para-annotated-stale{box-shadow:inset 2px 0 0 var(--warn);background:var(--warn-weak)}.prose p.para-annotated.sel,.prose p.para-annotated-stale.sel{box-shadow:inset 3px 0 0 var(--brand);background:var(--brand-weak)}.ai-dock-annos{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:8px 10px;margin-bottom:8px}.anno-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:30vh;overflow-y:auto}.anno-item{display:flex;align-items:baseline;gap:6px;font-size:var(--fs-sm);line-height:1.5}.anno-item.stale{opacity:.6}.anno-item.stale .anno-note{text-decoration:line-through}.anno-seg{flex-shrink:0;font-size:var(--fs-xs);color:var(--text-3)}.anno-note{flex:1;min-width:0;color:var(--text);word-break:break-word}.anno-stale-tag{flex-shrink:0;font-size:var(--fs-xs);color:var(--warn);background:var(--warn-weak);border-radius:var(--r-sm);padding:0 4px}.anno-del{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-3);padding:0 2px;line-height:1}.anno-del:hover{color:var(--err)}.ai-dock-mini-badge{display:inline-block;min-width:16px;padding:0 4px;border-radius:var(--r-sm);text-align:center;font-size:var(--fs-xs);color:var(--brand);background:var(--brand-weak);border:1px solid var(--brand)}.revise-pairs{display:flex;flex-direction:column;gap:10px;margin-top:4px}.revise-pair{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:10px 12px}.revise-pair.resolved{display:flex;align-items:center;gap:8px;opacity:.75}.revise-notes{margin-top:6px}.polish-conflict{border:1px solid var(--warn-line);background:var(--warn-weak);border-radius:8px;padding:10px 12px;color:var(--warn)}.polish-conflict .hint{color:var(--text-2)}.polish-diff{max-height:60vh;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:10px 14px}.pd-para{margin:0 0 10px;line-height:1.9;white-space:pre-wrap;word-break:break-word}.pd-para:last-child{margin-bottom:0}.pd-same{color:var(--text-2)}.pd-changed{box-shadow:inset 2px 0 0 var(--brand);padding-left:8px}.pd-added{box-shadow:inset 2px 0 0 var(--ok);padding-left:8px}.pd-removed{box-shadow:inset 2px 0 0 var(--err);padding-left:8px}.read-zone{max-width:760px;margin:0 auto}.read-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.read-bar+.card{margin-bottom:10px}.read-bar:last-child{margin-bottom:0;margin-top:4px}.free-write{margin-top:8px}.free-write-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.free-write-host{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.free-write-host .cm-editor{background:var(--surface)}.free-write-host .cm-editor.cm-focused{outline:none;border-color:var(--line-strong)}.free-write-host .cm-scroller{font-family:inherit}.free-write-host .cm-content{font-family:inherit;color:var(--text);caret-color:var(--text);font-size:16px;line-height:1.9;padding:16px 18px;min-height:320px}.free-write-host .cm-line{padding:0 2px}.free-write-host .cm-cursor{border-left-color:var(--text)}.free-write-host .cm-gutters{display:none}.free-write-host .cm-selectionBackground,.free-write-host .cm-focused .cm-selectionBackground{background:var(--surface-2)!important}.free-write-host .cm-selectionMatch{background:color-mix(in srgb,var(--ok) 18%,transparent)}.free-write-host .cm-panels{background:var(--surface-2);color:var(--text);border-color:var(--line)}.free-write-host .cm-panels input,.free-write-host .cm-panels button,.free-write-host .cm-panels select{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);font-family:inherit;padding:2px 6px}.free-write-host .cm-panel label{color:var(--text-2)}.free-write-host .cm-searchMatch{background:color-mix(in srgb,var(--warn) 30%,transparent)}.free-write-host .cm-searchMatch-selected{background:color-mix(in srgb,var(--warn) 55%,transparent)}.free-write-host.is-locked .cm-content{color:var(--text-2);background:var(--surface-2)}.free-write-host .cm-placeholder{color:var(--text-2)}.dual-track{margin-top:8px}.dual-track-panes{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.dual-pane-title{display:flex;align-items:baseline;gap:8px;padding:6px 10px;color:var(--text-2);font-size:var(--fs-xs);font-weight:600;border-bottom:1px solid var(--line)}.dual-left{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);display:flex;flex-direction:column;max-height:68vh}.dual-left-body{overflow-y:auto;padding:10px 14px}.dual-left-body p{margin:0 0 .9em;line-height:1.9}.dual-right{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;max-height:68vh}.dual-right .free-write-host{flex:1;border:none;border-radius:0;overflow-y:auto}.dual-right .cm-content{min-height:240px}@media(max-width:900px){.dual-track-panes{grid-template-columns:1fr}.dual-left,.dual-right{max-height:44vh}}.dossier{max-width:800px;margin:0 auto var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--brand-line);border-radius:var(--r-lg);font-size:var(--fs-xs)}.dossier-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.dossier-head b{color:var(--brand);font-size:var(--fs-sm)}.dossier-mini{border:none;background:none;cursor:pointer;padding:0;font-size:var(--fs-xs)}.dossier-premise{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--warn-weak);border-radius:var(--r-sm);margin-bottom:var(--sp-2)}.dossier-premise b{color:var(--warn)}.dossier-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-3)}.dossier-block{min-width:0}.dossier-block-title{font-weight:600;color:var(--text-2);margin-bottom:var(--sp-1)}.dossier-line{display:flex;gap:var(--sp-2);margin-bottom:2px;align-items:baseline}.dossier-line .muted{flex-shrink:0}.dossier-hook{color:var(--brand)}.dossier-hook-line{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px dashed var(--line)}.dossier-char{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:4px}.dossier-scenes{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--sp-2)}.dossier-overdue{color:var(--err);font-weight:600}@media(max-width:640px){.dossier-cols{grid-template-columns:1fr}}.premise-card{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-xs)}.premise-card .premise-row{display:flex;gap:var(--sp-2);align-items:baseline}.premise-card .premise-row>b{flex-shrink:0;color:var(--text-2)}.premise-card.premise-empty{align-items:flex-start;gap:var(--sp-1)}.premise-beats{display:inline-flex;flex-wrap:wrap;gap:4px}.chip-warn{color:var(--warn);border-color:var(--warn-weak);background:var(--warn-weak)}.premise-compact{font-weight:600}.premise-edit{display:flex;flex-direction:column;gap:var(--sp-2)}.premise-line{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:4px}.premise-line .muted{flex-shrink:0;width:52px}.premise-input{width:100%}.entity-card-rel{display:flex;flex-direction:column;gap:1px;margin-bottom:4px}.entity-card-rel-ev{font-size:var(--fs-xs)}.entity-card-jump{cursor:pointer;text-decoration:underline;text-underline-offset:2px}.entity-card-jump:hover{color:var(--brand)}.recon-block{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--r-sm);font-size:var(--fs-xs)}.recon-line{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:4px;flex-wrap:wrap}.recon-line .grow{flex:1;min-width:0}.recon-actions{display:flex;gap:4px;flex-shrink:0}.graph-slider{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2)}.graph-slider input[type=range]{flex:1}.graph-svg{width:100%;max-width:560px;margin:0 auto;display:block}.graph-edge{stroke:var(--line-strong);stroke-width:1.5}.graph-edge.pending{stroke:var(--warn);stroke-dasharray:4 3}.graph-node circle{fill:var(--brand-weak);stroke:var(--brand);cursor:pointer}.graph-node circle.retired{fill:var(--surface-2);stroke:var(--line-strong)}.graph-node text{font-size:12px;fill:var(--text)}.plotmap-scroll{overflow-x:auto}.plotmap-grid{display:flex;gap:6px;min-width:max-content}.plotmap-col{display:flex;flex-direction:column;gap:4px;width:86px;flex-shrink:0}.plotmap-col-head{display:flex;flex-direction:column;align-items:flex-start;padding:4px 6px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer;text-align:left}.plotmap-col-head.unwritten{opacity:.55}.plotmap-scene{padding:4px 6px;border-radius:var(--r-sm);display:flex;flex-direction:column;font-size:var(--fs-xs);cursor:pointer;border:1px solid var(--line)}.plotmap-scene.t1{background:#e8f0f8}.plotmap-scene.t2{background:#e8f4e4}.plotmap-scene.t3{background:var(--surface-2)}.plotmap-scene.t4{background:#fdf0dc}.plotmap-scene.t5{background:#f8ddd4}.plotmap-scene.beats{background:var(--surface)}[data-theme=dark] .plotmap-scene.t1{background:#1d2a38}[data-theme=dark] .plotmap-scene.t2{background:#1e3320}[data-theme=dark] .plotmap-scene.t4{background:#3d2f1a}[data-theme=dark] .plotmap-scene.t5{background:#3d201a}.plotmap-fs-row{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:4px}.plotmap-fs-label{flex-shrink:0;width:120px;font-size:var(--fs-xs)}.plotmap-fs-track{display:flex;gap:2px;flex:1}.plotmap-fs-cell{flex:1;height:8px;border-radius:2px;background:var(--surface-2)}.plotmap-fs-cell.on{background:var(--brand-weak)}.plotmap-fs-cell.plant{background:var(--brand)}.plotmap-fs-cell.payoff{background:var(--ok)}.plotmap-fs-cell.overdue{background:var(--err)}.plotmap-fs-desc{flex-shrink:0;font-size:var(--fs-xs)}.bh-bars.premise-curve{gap:3px;height:28px}.bh-bars.premise-curve i{height:100%!important;border-radius:2px}.bh-bars.premise-curve i.ok{background:var(--ok)}.bh-bars.premise-curve i.bad{background:var(--err)}.recon-hint{font-weight:400;margin-left:4px}.queue-reason{display:inline}.dual-right-host-wrap{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.dual-empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);text-align:center;background:color-mix(in srgb,var(--surface) 82%,transparent);border-radius:var(--r-sm);pointer-events:none}.dual-empty-hint .dual-empty-actions{display:flex;gap:var(--sp-2);pointer-events:auto}.dual-empty-hint .dual-empty-note{font-size:var(--fs-xs)}.proj-todo{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;font-size:var(--fs-xs);background:var(--warn-weak);border-radius:var(--r-sm);color:var(--warn)}.proj-todo:hover{filter:brightness(.97)}.novice-checklist{max-width:800px;margin:0 auto var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--brand-line);border-radius:var(--r-lg);font-size:var(--fs-xs)}.novice-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.novice-head b{color:var(--brand);font-size:var(--fs-sm)}.novice-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.novice-steps li{display:flex;align-items:center;gap:var(--sp-2)}.novice-steps li.done{opacity:.65}.novice-step-no{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--line-strong);font-weight:600;font-size:var(--fs-xs)}.novice-steps li.done .novice-step-no{background:var(--ok);border-color:var(--ok);color:#fff}.novice-step-body{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.pj-sub-tab.locked{opacity:.55;cursor:not-allowed}.order-card{margin-top:var(--sp-2)}.order-card .dossier-block-title{display:flex;align-items:center;gap:var(--sp-1);flex-wrap:wrap}.order-row{display:flex;align-items:center;gap:var(--sp-1);margin:3px 0;flex-wrap:wrap}.order-in{min-width:0}.order-in.name{width:7em}.order-in.grow{flex:1;min-width:8em}.order-in.full{width:100%;box-sizing:border-box}.order-check{display:inline-flex;align-items:center;gap:2px;font-size:12px;color:var(--text-2);white-space:nowrap}.order-sec{border-top:1px dashed var(--line-1, rgba(128,128,128,.25));padding:var(--sp-1) 0 0;margin-top:var(--sp-1)}.order-sec-title{font-weight:600;font-size:12.5px;color:var(--text-2);margin-bottom:2px}.order-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.order-summary .dossier-line{display:flex;gap:6px;font-size:13px}.recon-order{border-top:1px dashed var(--line-1, rgba(128,128,128,.25));margin-top:var(--sp-1);padding-top:var(--sp-1)}.plotmap-fs-cell.cast.on{background:var(--ok, #3a9)}.plotmap-fs-cell.debut{background:#e8b93c!important;border-radius:50%}.plotmap-fs-cell.latest{background:var(--text-1, #222)!important}.plotmap-fs-label.retired{opacity:.5;text-decoration:line-through}.plotmap-fs-row.missing .plotmap-fs-label{color:#b8860b;font-weight:600}.plotmap-fs-row.missing .plotmap-fs-cell.on{background:#e8b93c}.m-topbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.m-topbar button+button{margin-left:0}.m-topbar-btn{min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);cursor:pointer;flex-shrink:0}.m-topbar-title{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.m-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--overlay-bg)}.m-rail-drawer{position:absolute;top:0;bottom:0;left:0;width:min(88vw,380px);background:var(--bg);overflow-y:auto;padding:8px 12px 20px;padding-bottom:calc(20px + constant(safe-area-inset-bottom));padding-bottom:calc(20px + env(safe-area-inset-bottom));animation:m-slide-in .18s ease-out}.m-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--overlay-bg)}.m-sheet{position:absolute;left:0;right:0;top:12px;bottom:0;background:var(--bg);border-radius:var(--r-xl) var(--r-xl) 0 0;overflow-y:auto;padding:4px 14px 20px;padding-bottom:calc(20px + constant(safe-area-inset-bottom));padding-bottom:calc(20px + env(safe-area-inset-bottom));animation:m-rise .18s ease-out}.m-sheet-head{display:flex;align-items:center;gap:8px;padding:8px 0 10px;position:sticky;top:0;background:var(--bg);z-index:1}.m-sheet-head h3{margin:0}@keyframes m-slide-in{0%{transform:translate(-24px);opacity:.6}to{transform:none;opacity:1}}@keyframes m-rise{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media(max-width:767px){.app-shell{flex-direction:column;height:auto}.app-main{height:auto;overflow-y:visible}.write-main{padding-bottom:76px}.pj-cols{display:block}.pj-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:6px;margin-bottom:10px}.pj-back{display:none}.pj-zone{width:auto;padding:6px 10px;gap:6px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.pj-zone.on{border-color:var(--brand)}.pj-zone-sub{display:none}.pj-subs{width:100%;margin:2px 0 4px;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 0 2px;border-left:none}.pj-sub-tab{flex-shrink:0;padding:6px 12px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-full)}.pj-sub-tab.on{border-color:var(--brand-line)}.chips.board-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.chips.board-tabs .chip{flex-shrink:0}.read-bar{gap:10px}.read-bar .btn-sm{min-height:44px;padding:0 16px;font-size:var(--fs-sm)}}@media(prefers-reduced-motion:reduce){.m-rail-drawer,.m-sheet{animation:none}}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;background:var(--overlay-bg-soft)}.cmdk-panel{position:fixed;top:16vh;left:50%;transform:translate(-50%);width:560px;max-width:calc(100vw - 40px);z-index:951;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.cmdk-input{width:100%;border:none;border-bottom:1px solid var(--line);border-radius:0;padding:14px 16px;font-size:var(--fs-md);background:transparent;color:var(--text)}.cmdk-input:focus{border-color:var(--line);box-shadow:none}.cmdk-list{max-height:46vh;overflow-y:auto;padding:6px}.cmdk-item{display:flex;align-items:baseline;gap:8px;width:100%;padding:9px 12px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text);font-size:var(--fs-md);font-weight:400;text-align:left;cursor:pointer}.cmdk-item+.cmdk-item{margin-left:0}.cmdk-item.on{background:var(--brand-weak)}.cmdk-item.disabled{opacity:.45;cursor:default}.cmdk-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-sub{margin-left:auto;flex-shrink:0;color:var(--text-3);font-size:var(--fs-xs)}.cmdk-hint{padding:16px;color:var(--text-3);font-size:var(--fs-sm)}.search-panel{width:640px}.search-panel .cmdk-list{max-height:56vh}.search-hit-b{color:var(--brand);font-weight:600}.search-group-head{padding:8px 12px 4px;color:var(--text-3);font-size:var(--fs-xs);font-weight:600;display:flex;align-items:baseline;gap:6px}.search-group-n{color:var(--text-3);font-size:var(--fs-xs)}.search-hit{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text);font-size:var(--fs-sm);font-weight:400;text-align:left;cursor:pointer}.search-hit:hover{background:var(--brand-weak)}.search-hit-loc{flex-shrink:0;min-width:128px;color:var(--text-2);font-size:var(--fs-xs)}.search-hit-snippet{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-foot{padding:8px 12px;font-size:var(--fs-xs);border-top:1px solid var(--line)}.write-zone.immersive .write-main{max-width:860px}body:has(.write-zone.immersive) .project-head,body:has(.write-zone.immersive) .stat-strip,body:has(.write-zone.immersive) .pj-rail,body:has(.write-zone.immersive) .next-bar,body:has(.write-zone.immersive) .step-guide{display:none}body:has(.write-zone.immersive) .pj-cols{grid-template-columns:minmax(0,1fr)}@media(max-width:767px){.row>*,.actions>*,.input-row>*,.order-row>*,.recon-line>*{min-width:0}.row,.actions,.input-row{flex-wrap:wrap}.card,.dossier-block,.msg-err,.hint{overflow-wrap:anywhere}button.btn-sm{min-height:40px}}.dna-field{margin-top:var(--sp-4)}.dna-field>.fl{display:block;margin-bottom:6px}.dna-field-hint{color:var(--text-3);font-size:var(--fs-xs);font-weight:400}.dna-axis{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.dna-axis-label{width:3em;flex-shrink:0;color:var(--text-2);font-size:var(--fs-sm)}.dna-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.dna-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 12px;border-radius:var(--r-full);background:var(--brand-weak);border:1px solid var(--brand-line);color:var(--brand);font-size:var(--fs-sm)}.dna-tag.ban{background:var(--err-weak);border-color:var(--err-line);color:var(--err)}.dna-tag-x{cursor:pointer;border:none;background:transparent;color:inherit;font-size:15px;line-height:1;padding:0 4px;opacity:.65}.dna-tag-x:hover{opacity:1}.dna-tag-input{max-width:220px}.dna-cap-hint{margin-top:8px;font-size:var(--fs-sm);color:var(--text-2);line-height:1.7}.dna-cap-hint b{color:var(--text)}.dna-ban-note{margin-top:8px;font-size:var(--fs-xs);color:var(--warn);line-height:1.6}.dna-ban-chip{display:inline-block;padding:2px 10px;margin:3px 5px 0 0;border-radius:var(--r-full);font-size:var(--fs-xs);background:var(--err-weak);border:1px solid var(--err-line);color:var(--err)}.mirror-reflection{font-size:var(--fs-lg);line-height:1.85;color:var(--text);margin:6px 0 4px;white-space:pre-wrap}.mirror-contradict{margin-top:var(--sp-3)}.mirror-contradict ul{margin:6px 0 0;padding-left:20px}.mirror-contradict li{font-size:var(--fs-sm);line-height:1.7;color:var(--warn)}.ep-row{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.ep-row:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.ep-row.ep-on{border-color:var(--accent, var(--line-2));box-shadow:0 0 0 1px var(--accent, transparent) inset}.ep-actions{flex-wrap:wrap;gap:8px}.script-line{font-size:var(--fs-sm);line-height:1.8}.script-line b{color:var(--text)}.script-line .muted{margin-left:8px;font-size:var(--fs-xs)}.wb-shell{min-width:0}.wb-steps{overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:5;background:var(--bg, var(--surface));padding:6px 0}.wb-steps::-webkit-scrollbar{display:none}.wb-cols{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.wb-rail,.wb-main{display:flex;flex-direction:column;gap:14px;min-width:0}@media(min-width:901px){.wb-cols{grid-template-columns:348px minmax(0,1fr)}.wb-rail{position:sticky;top:48px;max-height:calc(100vh - 64px);overflow-y:auto;padding-right:4px}}.wb-rail .card{margin:0}.wb-rail textarea{font-size:var(--fs-sm)}.wb-rail .form-grid{grid-template-columns:1fr;gap:var(--sp-3);max-width:none}.wb-rail .card>.card-head{row-gap:8px}.wb-rail .card>.card-head>h3{flex:1 0 100%;min-width:0;line-height:1.35}.wb-rail .card>.card-head>h3 .muted{display:block;font-size:var(--fs-xs);font-weight:400;margin-top:2px}.wb-rail .card>.card-head>button{flex:1 1 calc(50% - 5px);min-width:0;justify-content:center;padding:6px 8px;font-size:var(--fs-sm)}.wb-rail .card>.card-head>button:only-child{flex-basis:100%}.wb-rail .chips{gap:6px}.wb-rail .chips .chip{padding:4px 10px;font-size:var(--fs-xs);white-space:nowrap}.wb-rail .sub-summary .card-head{row-gap:6px}.wb-rail .sub-summary .card-head>b{white-space:nowrap}.dir-rec{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;padding:8px 12px;margin-bottom:6px;border:1px solid var(--line);border-radius:var(--r-md, 8px);background:var(--surface-2);font-size:var(--fs-sm)}.dir-rec.on{border-color:var(--accent, var(--line-2));background:var(--surface)}.dir-rec b{color:var(--text)}.dir-rec .muted{font-size:var(--fs-xs);line-height:1.5}.warn-tip{color:var(--warn);font-size:var(--fs-xs)}.drama-compliance{border-top:1px dashed var(--line);padding-top:8px;margin-top:10px}.drama-compliance b{color:var(--warn)}.promo-chat{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;padding:4px 2px}.promo-bubble{max-width:88%;padding:8px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font-size:var(--fs-sm);line-height:1.7;white-space:pre-wrap}.promo-bubble b{display:block;font-size:var(--fs-xs);color:var(--text-2);margin-bottom:2px}.promo-bubble.mine{align-self:flex-end;background:var(--brand-weak, var(--surface-2))}.gender-pick{display:inline-flex;flex-wrap:wrap;gap:4px}.paste-box textarea{background:var(--surface-2);font-size:var(--fs-sm);line-height:1.6}.paste-box select{max-width:100%;font-size:var(--fs-xs)}.ref-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.ref-thumb{width:96px;border:1px solid var(--line);border-radius:var(--r-md, 8px);overflow:hidden;background:var(--surface-2)}.ref-thumb img{display:block;width:100%;height:120px;object-fit:cover}.ref-thumb-bad{display:flex;align-items:center;justify-content:center;height:120px;font-size:var(--fs-xs);color:var(--text-dim, var(--text))}.ref-thumb-foot{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:4px 6px;font-size:var(--fs-xs)}.ref-thumb-foot .btn-sm{padding:2px 6px;font-size:var(--fs-xs)}.ref-thumb-note{color:var(--text-3);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.render-preview{display:block;max-width:min(100%,280px);max-height:380px;margin:6px 0;border:1px solid var(--line);border-radius:var(--r-md, 8px);background:var(--surface-2)}.shot-ticks{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:6px 0;font-size:var(--fs-sm)}.shot-ticks label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.shot-ticks .muted{font-size:var(--fs-xs)}.drama-guide .guide-body{gap:6px}.drama-guide-steps{margin:2px 0 6px;padding-left:20px;display:grid;gap:4px;font-size:var(--fs-sm);line-height:1.7}.drama-guide-steps b{color:var(--text)}.drama-guide code{padding:0 4px;border-radius:4px;background:var(--surface-2);font-size:var(--fs-xs)}.wb-steps .chip.done{color:var(--ok);border-color:var(--ok-line);background:var(--ok-weak)}.wb-steps .chip.done:hover{color:var(--ok);border-color:var(--ok)}.wb-steps .chip[aria-current=true]{box-shadow:0 0 0 1px var(--brand) inset}.wb-next{margin:0 0 10px;color:var(--text-2);font-size:var(--fs-sm);line-height:1.9}.wb-next b{color:var(--brand)}.wb-next .btn-sm{margin-left:8px;vertical-align:baseline}.drama-pick-hint{border-style:dashed}.clip-preview{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.clip-preview .tbl{font-size:var(--fs-xs)}.clip-edit-line{display:flex;gap:8px;margin-bottom:6px;align-items:center}.clip-edit-line .clip-edit-who{flex:0 0 96px}.clip-edit-line input{flex:1}.clip-edit-grid{display:grid;grid-template-columns:2fr 1fr 1fr 72px;gap:8px;margin-bottom:6px}.clip-edit-grid+textarea,.clip-edit-grid~input,.clip-edit-grid~textarea{margin-bottom:6px}@media(max-width:640px){.clip-edit-grid{grid-template-columns:1fr 1fr}}.clip-params{margin-bottom:12px}.bday-mems{margin:4px 0 0;padding-left:18px}.bday-mems li{margin:2px 0}.series-profile-chips{margin-bottom:8px}.series-ref-line{margin-top:8px}.series-neg{margin-top:6px}.script-list{display:flex;flex-direction:column;gap:10px}.script-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.script-row-main{min-width:0;flex:1}.script-title{font-weight:600;color:var(--text);text-decoration:none}.script-title:hover{color:var(--brand)}.script-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap;font-size:var(--fs-xs)}.script-logline{margin:4px 0 0;color:var(--text-2);font-size:var(--fs-sm)}.script-text{margin-top:10px;padding:12px 14px;background:var(--surface-2);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.9}.script-text .scene-line{font-weight:600;color:var(--brand);margin-top:8px}.ep-list{display:flex;flex-direction:column;gap:8px}.ep-card{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;background:var(--surface-2)}.ep-head{display:flex;align-items:center;gap:10px;cursor:pointer;flex-wrap:wrap}.ep-no{font-weight:600;color:var(--brand);white-space:nowrap}.ep-title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-dur{font-size:var(--fs-xs)}.ep-outline{margin-top:6px}.ep-outline p{margin:0;color:var(--text-2);font-size:var(--fs-sm);line-height:1.7}.ep-hooks{margin-top:2px!important;font-size:var(--fs-xs)!important}.ep-body{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}.ep-gen{display:flex;flex-direction:column;gap:8px;max-width:520px}.ep-editor{width:100%;font-size:var(--fs-sm);line-height:1.8}.book-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 2px}.book-status-chips{display:flex;flex-wrap:wrap;gap:6px}.bs-rework-btn{margin-left:auto;flex-shrink:0;color:var(--text-2)}.bs-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--bd);background:var(--surface);border-radius:8px;padding:4px 10px;font-size:var(--fs-sm);cursor:pointer;color:inherit}.bs-chip.on{border-color:var(--acc)}.bs-chip.warn{border-color:var(--warn-line);background:var(--warn-weak, transparent)}.bs-label{font-weight:600}.bs-sub{color:var(--text-2)}.bs-stale{color:var(--warn);font-weight:600}.bs-stale-hold{color:var(--text-2);font-weight:400}.book-status-rework{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;flex-basis:100%}.bs-rw-note{font-size:var(--fs-sm);color:var(--warn);font-weight:600}.rework-dlg{width:540px}.rework-depths{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.rework-depth{text-align:left;padding:10px 12px;border:1px solid var(--bd);border-radius:var(--r-md, 10px);background:var(--surface);cursor:pointer;color:inherit}.rework-depth.on{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}.rd-label{display:block;font-weight:600;margin-bottom:2px}.rd-meta{display:block;font-size:var(--fs-xs);line-height:1.5}.rd-cost{font-size:var(--fs-sm);color:var(--text-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.pub-wrap{min-height:100vh;background:radial-gradient(60% 40% at 50% 0%,rgba(176,141,79,.1) 0%,transparent 70%),#f1e9d3;color:#3a3428;font-family:var(--font-serif, "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif)}.pub-loading{padding:40px;text-align:center}.pub-err{max-width:640px;margin:18vh auto 0;padding:24px 28px;background:#fdfbf5;border:1px solid #e3d7ba;border-radius:14px;font-size:15px;line-height:1.8}.pub-err+.pub-brand{display:inline-block;margin:18px 0 0 calc(50% - 292px);color:#a9743a}.pub-head{max-width:720px;margin:0 auto;padding:48px 20px 8px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.pub-title{margin:0;font-size:30px;font-weight:700;letter-spacing:.02em}.pub-genre{font-size:12px;color:#8a7d63;border:1px solid #d8cba6;border-radius:999px;padding:2px 10px}.pub-toc{max-width:720px;margin:14px auto 0;padding:0 20px;display:flex;flex-wrap:wrap;gap:8px}.pub-toc-item{background:none;border:1px solid #d8cba6;border-radius:8px;color:#6b6046;padding:5px 12px;font-size:13px;cursor:pointer;font-family:inherit}.pub-toc-item:hover{border-color:#a9743a;color:#7c5a2b}.pub-toc-item.on{background:#a9743a;border-color:#a9743a;color:#fffdf8}.pub-body{max-width:720px;margin:0 auto;padding:28px 20px 48px;background:#fdfaf1;border-left:1px solid #e8ddc0;border-right:1px solid #e8ddc0;font-size:17px;line-height:2}.pub-body p{margin:0 0 1.2em;text-indent:2em}.pub-foot{max-width:720px;margin:0 auto;padding:26px 20px 60px;display:flex;flex-direction:column;gap:8px;color:#8a7d63;font-size:13px;line-height:1.8}.pub-foot b{color:#6b6046}.pub-brand{color:#a9743a;text-decoration:none;font-weight:600}.pub-brand:hover{text-decoration:underline}@media(max-width:640px){.pub-body{font-size:16px;padding:22px 16px 36px}.pub-head{padding:36px 16px 8px}}.ck-gate{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.ck-state{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:var(--fs-xs);background:var(--ok-weak);border:1px solid var(--ok-line);color:var(--ok);white-space:nowrap}.ck-gate .ck-confirm{border-color:var(--ok-line);color:var(--ok)}.ck-stale{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;padding:2px 10px;border-radius:var(--r-md);font-size:var(--fs-xs);background:var(--warn-weak);border:1px solid var(--warn-line);color:var(--warn)}.ck-stale-text{min-width:0;overflow-wrap:anywhere}.ck-directive{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ck-directive input{flex:1;min-width:0}.ck-persistent{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0;padding:2px 10px;border-radius:999px;font-size:var(--fs-xs);background:var(--brand-weak);border:1px solid var(--brand-line)}.ck-persistent span:not(.muted){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck-persistent button{border:0;background:none;padding:0 2px;min-width:24px;min-height:24px;color:var(--text-2);flex-shrink:0}@media(max-width:767px){.ck-gate button,.ck-directive button,.ck-directive input{min-height:44px}.ck-persistent{flex-basis:100%}}
