:root{color:#25231f;font-synthesis:none;--paper:#fffdf8;--paper-deep:#eee7da;--ink:#25231f;--muted:#756f65;--line:#dcd3c5;--accent:#a54c2a;--accent-dark:#7c351e;--pine:#29453c;--danger:#a33737;--shadow:0 24px 70px #392d1d21;background:#f4f0e8;font-family:Inter,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#f4f0e8;min-height:100vh}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Noto Serif SC,Songti SC,Georgia,serif;font-weight:600}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffb8;border-radius:3px;outline:none;padding:11px 12px;transition:border-color .18s,box-shadow .18s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a54c2a1a}textarea{resize:vertical;line-height:1.65}label{color:#5f594f;letter-spacing:.02em;gap:7px;font-size:13px;font-weight:650;display:grid}.button{border:1px solid #0000;border-radius:3px;padding:10px 17px;font-weight:700;transition:all .18s}.button:disabled{cursor:not-allowed;opacity:.5}.button.primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px #a54c2a2e}.button.primary:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.button.secondary{background:var(--pine);color:#fff}.button.ghost{color:var(--muted);border-color:var(--line);background:0 0}.button.danger{color:var(--danger);background:#fff8f7;border-color:#dcb9b5}.button.wide{width:100%;padding:13px}.text-button{color:var(--accent);background:0 0;border:0;padding:0;font-weight:700}.eyebrow{color:var(--accent);letter-spacing:.19em;margin:0 0 8px;font-size:11px;font-weight:800}.muted{color:var(--muted)}.topbar{border-bottom:1px solid var(--line);background:#fffdf8f0;justify-content:space-between;align-items:center;height:70px;padding:0 30px;display:flex}.brand-block,.topbar-actions{align-items:center;gap:12px;display:flex}.brand-block strong,.brand-block span{display:block}.brand-block strong{font-family:Noto Serif SC,Georgia,serif;font-size:18px}.brand-block span{color:var(--muted);letter-spacing:.08em;font-size:11px}.brand-mark{background:var(--accent);color:#fff;border-radius:50% 50% 50% 10%;place-items:center;width:38px;height:38px;font-family:Songti SC,serif;font-size:20px;display:grid;box-shadow:0 8px 24px #a54c2a38}.brand-mark.large{width:52px;height:52px;margin-bottom:22px;font-size:26px}.topbar-actions select{background:0 0;width:auto;padding:8px 28px 8px 10px}.account-name,.quiet-link{color:var(--muted);font-size:13px}.login-page{background:var(--paper);grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);min-height:100vh;display:grid}.login-story{background:var(--pine);color:#f7f0e4;flex-direction:column;justify-content:space-between;padding:8vh 7vw;display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #ffffff2b;border-radius:50%;position:absolute;inset:9% -30% -35% 18%;transform:rotate(-24deg)}.login-story p{z-index:1;max-width:470px;margin:auto 0;font:30px/1.8 Noto Serif SC,Georgia,serif}.story-number{color:#ffffff8c;letter-spacing:.25em;font-size:12px}.ink-orbit{border:1px solid #fff3;border-radius:50%;width:180px;height:180px;position:absolute;bottom:12%;right:14%}.ink-orbit:before{content:"墨";color:#ffffff14;font:110px serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-panel{place-items:center;padding:40px;display:grid}.login-card{width:min(390px,100%)}.login-card h1{margin-bottom:10px;font-size:36px}.login-card .muted{margin-bottom:35px;line-height:1.7}.login-card label{margin:18px 0}.page-container{max-width:1260px;margin:0 auto;padding:64px 32px}.page-heading{justify-content:space-between;align-items:end;margin-bottom:38px;display:flex}.page-heading h1{margin:0;font-size:42px}.heading-actions{gap:10px;display:flex}.file-button{cursor:pointer;position:relative;overflow:hidden}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-button.disabled{cursor:wait;opacity:.6}.project-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.project-card{border:1px solid var(--line);background:var(--paper);cursor:pointer;grid-template-columns:88px minmax(0,1fr);align-items:stretch;gap:18px;min-height:168px;padding:18px;transition:all .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 9px 28px #392d1d0d}.project-card:hover{box-shadow:var(--shadow);border-color:#c1aa98;transform:translateY(-4px)}.project-card.deleted-card{opacity:.72;cursor:default}.project-card.deleted-card:hover{border-color:var(--line);transform:none;box-shadow:0 9px 28px #392d1d0d}.trash-toggle{white-space:nowrap;align-items:center;gap:8px;margin:8px 0 18px;display:inline-flex}.card-index{color:#cfc4b4;letter-spacing:.12em;font:13px Georgia,serif;position:absolute;top:15px;right:16px}.project-cover,.mini-cover{background:var(--pine);color:#eee2d2;place-items:center;font:38px Songti SC,serif;display:grid;box-shadow:7px 7px #e4d7c6}.project-cover{height:100%;min-height:128px;font:34px Songti SC,serif}.project-meta{flex-direction:column;gap:6px;min-width:0;display:flex}.project-meta h2{text-overflow:ellipsis;white-space:nowrap;margin:0;padding-right:30px;font-size:20px;line-height:1.35;overflow:hidden}.project-facts{color:var(--muted);letter-spacing:.08em;margin:0;font-size:11px}.project-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding-top:13px;display:flex}.project-open{color:var(--accent);font-size:13px;font-weight:700}.project-action-group{align-items:center;gap:2px;margin-left:auto;display:flex}.card-action{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:3px;padding:4px 7px;font-size:12px;font-weight:650;transition:all .18s}.card-action:hover{background:var(--paper-deep);color:var(--ink)}.card-action.danger:hover{color:var(--danger);background:#fff8f7;border-color:#dcb9b5}.empty-state{min-height:360px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:18px;display:grid}.empty-glyph{border:1px solid var(--line);color:#ad9d87;border-radius:50%;place-items:center;width:90px;height:90px;font:40px serif;display:grid}.dialog-overlay{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f1d1985;position:fixed;inset:0}.dialog-content{z-index:21;background:var(--paper);width:min(460px,100vw - 32px);box-shadow:var(--shadow);padding:30px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog-content h2{margin-bottom:26px;font-size:26px}.dialog-content label{margin:17px 0}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.model-dialog{width:min(760px,100vw - 32px);max-height:calc(100vh - 40px);overflow:auto}.model-dialog>.muted{margin-top:-14px;font-size:12px}.model-dialog h3{margin:26px 0 8px}.merge-dialog{flex-direction:column;width:min(1100px,100vw - 32px);height:min(720px,100vh - 48px);display:flex}.merge-dialog>h2{flex-shrink:0;margin-bottom:16px}.merge-dialog>.rev-merge{flex:1;min-height:0}.model-list{border-bottom:1px solid var(--line);gap:8px;padding:14px 0;display:grid}.model-row{border:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:11px 13px;display:flex}.model-row.active{background:#f1f8f4;border-color:#9cb6a9}.model-row strong,.model-row span{display:block}.model-row span{color:var(--muted);margin-top:3px;font-size:11px}.model-row .model-default{color:#315d49;font-weight:700}.model-row-actions{align-items:center;gap:14px;display:flex}.model-form-grid{grid-template-columns:repeat(2,1fr);gap:12px 16px;display:grid}.model-form-grid .span-two{grid-column:1/-1}.checkbox-label{grid-template-columns:18px 1fr;align-items:center;display:flex!important}.checkbox-label input{width:16px}.workspace-page{grid-template-columns:260px minmax(0,1fr);height:calc(100vh - 70px);display:grid}.workspace-sidebar{border-right:1px solid var(--line);background:#eee8dd;padding:25px 18px;overflow:auto}.project-identity{border-bottom:1px solid #d6ccbd;grid-template-columns:50px 1fr;align-items:center;gap:13px;padding:0 6px 25px;display:grid}.mini-cover{width:46px;height:58px;font-size:19px;box-shadow:4px 4px #d7c8b5}.project-identity h1{text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:16px;overflow:hidden}.project-identity p{color:var(--muted);margin:0;font-size:11px}.workspace-nav{gap:5px;margin:25px 0;display:grid}.workspace-nav button{color:#59544b;text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:12px;padding:12px;display:flex}.workspace-nav button span{color:#a79d90;font:11px Georgia,serif}.workspace-nav button.active{background:var(--paper);color:var(--accent);box-shadow:0 5px 18px #392d1d14}.chapter-picker{color:var(--muted);letter-spacing:.08em;border-top:1px solid #d6ccbd;border-bottom:1px solid #d6ccbd;padding:18px 8px;font-size:11px;font-weight:700}.chapter-picker>div{grid-template-columns:34px 1fr 34px;margin-top:10px;display:grid}.chapter-picker button,.chapter-picker input{background:var(--paper);text-align:center;border:1px solid #d4c8b8;border-radius:0;height:34px;padding:0}.chapter-list{gap:3px;margin-top:15px;display:grid}.chapter-list button{color:var(--muted);text-align:left;background:0 0;border:0;grid-template-columns:28px 1fr;gap:8px;padding:9px 8px;font-size:12px;display:grid}.chapter-list button span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chapter-list button.active{color:var(--accent);font-weight:700}.workspace-content{background:#f8f5ef;min-width:0;position:relative;overflow:auto}.workspace-alert{z-index:10;border-radius:0;justify-content:space-between;margin:0;display:flex;position:sticky;top:0}.workspace-alert button{color:inherit;background:0 0;border:0;font-size:20px}.panel-page{max-width:1120px;margin:0 auto;padding:48px 54px 90px}.panel-page>header{border-bottom:1px solid var(--line);margin-bottom:30px}.panel-page>header h2{margin-bottom:22px;font-size:32px}.settings-form{border:1px solid var(--line);background:var(--paper);padding:30px;box-shadow:0 14px 44px #392d1d0d}.form-grid{gap:20px;display:grid}.form-grid.compact{grid-template-columns:repeat(4,1fr)}.form-grid.two-column{grid-template-columns:repeat(2,1fr);margin-top:22px}.settings-form>label{margin-top:22px}.form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;display:flex}.chapter-badge{color:var(--accent);background:#efe4d7;margin-bottom:20px;padding:6px 10px;font:700 12px Georgia,serif;display:inline-block}.writing-layout{grid-template-columns:minmax(0,1fr) 315px;height:100%;display:grid}.writing-main{background:var(--paper);grid-template-rows:auto auto minmax(300px,1fr) auto;min-width:0;display:grid}.desk-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:96px;padding:20px 32px;display:flex}.desk-heading h2{margin:0;font-size:24px}.task-actions{gap:9px;display:flex}.task-progress{border-bottom:1px solid var(--line);color:var(--muted);background:#f6f0e7;padding:10px 32px;font-size:11px}.task-progress>div:first-child{justify-content:space-between;margin-bottom:6px;display:flex}.progress-track{background:#ded4c5;height:3px}.progress-track span{background:var(--accent);height:100%;transition:width .2s;display:block}.manuscript-editor{min-height:0;overflow:hidden}.manuscript-editor .cm-editor{height:100%}.manuscript-editor .cm-content:empty:before{content:attr(data-placeholder);pointer-events:none;color:#aaa092}.editor-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:9px 26px;font-size:11px;display:flex}.writing-inspector{border-left:1px solid var(--line);background:#f1ece3;padding:25px;overflow:auto}.writing-inspector section{border-bottom:1px solid #d7cebf;margin-bottom:24px;padding:0 0 24px}.writing-inspector h3{margin-bottom:12px;font-size:16px}.writing-inspector p,.writing-inspector li{color:#666056;font-size:12px;line-height:1.7}.writing-inspector ul{padding-left:18px}.version-list{gap:9px;display:grid}.version-list>div{background:#ffffff8c;grid-template-columns:38px 1fr;gap:3px 8px;padding:9px;font-size:11px;display:grid}.version-list time{color:var(--muted);grid-column:1/-1}.editorial-toolbar{border:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;padding:18px;display:flex}.editorial-toolbar label{width:min(360px,100%)}.editorial-toolbar>div{color:var(--muted);text-align:right;gap:5px;font-size:11px;display:grid}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.editorial-card{border:1px solid var(--line);background:var(--paper);min-width:0;padding:24px;box-shadow:0 10px 32px #392d1d0d}.editorial-card h3{margin-bottom:18px}.editorial-actions{gap:9px;margin:15px 0;display:flex}.review-report{gap:9px;margin-top:20px;display:grid}.review-issue{border:1px solid var(--line);background:#faf7f1;grid-template-columns:18px 1fr;align-items:start;padding:11px;display:grid}.review-issue input{width:16px;margin-top:3px}.review-issue strong,.review-issue small,.review-issue em{display:block}.review-issue small{color:var(--muted);margin:6px 0;line-height:1.55}.review-issue em{color:#397059;font-size:11px;font-style:normal}.review-select-actions{justify-content:space-between;align-items:center;margin:0}.review-select-actions .muted{font-size:11px}.candidate-label{color:var(--accent);margin:16px 0 7px;font-size:11px;font-weight:800}.revision-editor{font-family:Noto Serif SC,Georgia,serif;line-height:1.75}.rev-merge{border:1px solid var(--line);background:var(--paper);flex-direction:column;height:100%;display:flex;overflow:hidden}.rev-merge-toolbar{border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.rev-merge-toolbar .button{padding:7px 10px;font-size:12px}.rev-merge-progress{color:var(--muted);margin-left:auto;font-size:12px}.rev-merge-headers{border-bottom:1px solid var(--line);flex-shrink:0;grid-template-columns:repeat(3,1fr);display:grid}.rev-merge-header{border-right:1px solid var(--line);background:var(--paper);color:var(--muted);justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.rev-merge-header:last-child{border-right:0}.rev-merge-tag{border-radius:3px;padding:1px 5px;font-size:10px;font-weight:500}.rev-merge-tag.readonly{background:color-mix(in srgb, var(--muted) 10%, transparent);color:var(--muted)}.rev-merge-tag.editable{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.rev-merge-scroll{flex:1;overflow:hidden auto}.rev-merge-grid{color:var(--ink);grid-template-columns:repeat(3,1fr);font-family:Noto Serif SC,Source Han Serif CN,serif;font-size:13px;line-height:1.8;display:grid}.rev-merge-cell{border-bottom:1px solid color-mix(in srgb, var(--line) 35%, transparent);min-width:0}.rev-merge-cell-left,.rev-merge-cell-center{border-right:1px solid var(--line)}.rev-merge-cell.processed{opacity:.5}.rev-merge-cell-center.pending{background:color-mix(in srgb, var(--muted) 6%, transparent)}.rev-merge-cell-center.adopted{background:color-mix(in srgb, var(--pine) 6%, transparent)}.rev-merge-editable{cursor:text;white-space:pre-wrap;word-break:break-all;outline:none;min-height:1.8em;padding:0 16px}.rev-merge-editable:focus{background:color-mix(in srgb, var(--accent) 5%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.rev-merge-line-same,.rev-merge-line-removed,.rev-merge-line-added,.rev-merge-line-padding,.rev-merge-line-placeholder{white-space:pre-wrap;word-break:break-all;padding:0 16px}.rev-merge-line-removed{background:color-mix(in srgb, var(--danger) 8%, transparent);box-shadow:inset 3px 0 0 color-mix(in srgb, var(--danger) 40%, transparent)}.rev-merge-line-added{background:color-mix(in srgb, var(--pine) 8%, transparent);box-shadow:inset 3px 0 0 color-mix(in srgb, var(--pine) 40%, transparent)}.rev-merge-line-padding{background:color-mix(in srgb, var(--muted) 4%, transparent)}.rev-merge-line-placeholder{color:var(--muted);opacity:.4;font-style:italic}.rev-merge-hunk-row{min-height:100%;display:flex}.rev-merge-adopt{border:0;border-right:1px solid color-mix(in srgb, var(--accent) 15%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);width:26px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:flex-start;padding-top:4px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.rev-merge-adopt:hover{background:var(--accent);color:#fff}.rev-merge-adopt.adopted{background:color-mix(in srgb, var(--pine) 15%, transparent);color:var(--pine)}.rev-merge-adopt.adopted:hover{background:var(--danger);color:#fff}.rev-merge-hunk-text{flex:1;min-width:0}.finalization-card{grid-column:1/-1}.finalization-card>p:not(.eyebrow){color:var(--muted);font-size:13px}.finalization-receipt{color:#315d49;overflow-wrap:anywhere;background:#f1f8f4;gap:6px;margin-top:18px;padding:14px;font-size:11px;display:grid}.finalization-receipt code{font-size:12px}.gate-toggle-row{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px;display:flex}.gate-toggle-row .gate-toggle{margin:0}.gate-check-button{padding:8px 13px;font-size:12px}.ai-flavor-gate-passed{color:#315d49;background:#f1f8f4;border:1px solid #bcd7c6;border-radius:10px;margin:12px 0 4px;padding:10px 13px;font-size:12px}.gate-toggle{border:1px solid var(--line);cursor:pointer;background:#faf7f1;border-radius:999px;align-items:center;gap:10px;width:fit-content;margin:14px 0 4px;padding:8px 15px 8px 11px;transition:border-color .15s,background .15s;display:inline-flex}.gate-toggle:hover{background:var(--paper);border-color:#c1aa98}.gate-toggle:has(input:disabled){cursor:not-allowed;opacity:.6}.gate-toggle input{clip:rect(0, 0, 0, 0);opacity:0;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gate-toggle-track{background:#cfc6b9;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s}.gate-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;margin:3px;transition:transform .15s;display:block;box-shadow:0 1px 4px #1f1d1933}.gate-toggle input:checked+.gate-toggle-track{background:var(--pine)}.gate-toggle input:checked+.gate-toggle-track:after{transform:translate(16px)}.gate-toggle input:focus-visible+.gate-toggle-track{box-shadow:0 0 0 3px #a54c2a2e}.ai-flavor-exemptions{border:1px solid var(--line);background:#faf7f1;border-radius:10px;gap:8px;margin:14px 0 18px;padding:12px 14px;display:grid}.ai-flavor-exemptions>.eyebrow{margin:0}.ai-flavor-exemptions>small{color:var(--muted)}.ai-flavor-findings{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ai-flavor-findings>li{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:5px;min-width:0;padding:10px 12px;font-size:12px;display:grid}.ai-flavor-findings>li>span,.ai-flavor-findings>li>small{overflow-wrap:anywhere;min-width:0}.ai-flavor-findings strong{color:var(--ink)}.ai-flavor-findings small{color:var(--muted);line-height:1.55}.ai-flavor-findings p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-family:Noto Serif SC,Songti SC,Georgia,serif;line-height:1.7}.ai-flavor-exemptions .ai-flavor-findings>li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px}.ai-flavor-exemptions .ai-flavor-findings>li>span,.ai-flavor-exemptions .ai-flavor-findings>li>small{grid-column:1}.ai-flavor-exemptions .ai-flavor-findings>li>.button{grid-area:1/2/3/3;justify-self:end;padding:6px 11px;font-size:11px}.ai-flavor-gate{border:1px solid #dcb9b5;border-left:3px solid var(--danger);background:#fff8f7;border-radius:10px;gap:12px;margin:16px 0;padding:16px;display:grid}.ai-flavor-gate>p{color:var(--danger);margin:0;font-size:13px}.ai-flavor-gate>.button{justify-self:start}.ai-flavor-gate .ai-flavor-findings>li{border-color:#e8d3cf}.ai-flavor-gate .editorial-actions{margin:4px 0 0}.ai-flavor-gate.advisory{background:#fffdf5;border-color:#e3d4b0 #e3d4b0 #e3d4b0 #b8860b}.ai-flavor-gate.advisory>p{color:#8a6116}.ai-flavor-gate.advisory .ai-flavor-findings>li{border-color:#ece0c6}.finding-head{color:var(--ink);display:block}.finding-head strong{color:var(--accent)}.knowledge-search{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:24px;display:grid}.knowledge-search input{min-width:0}.reference-imports{border:1px solid var(--line);background:#faf7f1;margin-bottom:28px;padding:18px}.reference-imports h3{margin:0 0 6px}.reference-imports .hint{color:var(--muted);font-size:13px}.reference-upload{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 0;display:grid}.reference-selection-count{color:var(--muted);font-size:12px}.reference-import-list{gap:8px;display:grid}.reference-import-item{background:var(--paper);border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.reference-import-item div{flex:1;gap:3px;min-width:180px;display:grid}.reference-import-item small{color:var(--muted)}.status-badge{background:#eee8de;border-radius:999px;padding:3px 8px;font-size:11px}.status-completed{color:#285d40;background:#dcefe4}.status-failed{color:#8a3030;background:#f5dddd}.knowledge-results{gap:14px;display:grid}.embedding-settings{border:1px solid var(--line);background:#f5f1e9;margin-bottom:24px;padding:18px}.embedding-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.embedding-heading h3{margin:0 0 6px}.embedding-heading .hint{color:var(--muted);margin:0;font-size:12px}.embedding-status{flex-wrap:wrap;gap:12px;margin:14px 0;font-size:12px;display:flex}.embedding-status strong{color:#966327}.embedding-model-list{gap:6px;display:grid}.embedding-model-list button{border:1px solid var(--line);background:var(--paper);text-align:left;justify-content:space-between;padding:10px;display:flex}.embedding-model-list button.active{background:#edf6f0;border-color:#5e866f}.embedding-model-list span{color:var(--muted)}.embedding-model-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.search-mode-label{color:var(--muted);text-align:right;font-size:11px}.knowledge-hit{border:1px solid var(--line);background:var(--paper);padding:20px}.knowledge-hit header,.knowledge-hit footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;display:flex}.knowledge-hit header strong{color:var(--ink);font-size:15px}.knowledge-hit p{white-space:pre-wrap;line-height:1.8}.character-candidate{border:1px solid var(--line);background:var(--paper);margin-top:12px;padding:12px}.character-candidate p{margin:8px 0}.character-candidate small{color:var(--muted);display:block}.character-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px;display:grid}.character-list-panel{border:1px solid var(--line);background:var(--paper);padding:14px;position:sticky;top:20px}.character-list-actions{gap:12px;margin-bottom:14px;display:grid}.character-list{gap:5px;max-height:620px;display:grid;overflow:auto}.character-list button{color:var(--ink);text-align:left;background:#f8f4ed;border:1px solid #0000;gap:4px;padding:11px;display:grid}.character-list button.active{background:#f3e8dc;border-color:#c8aa96}.character-list button span{color:var(--muted);font-size:11px}.character-form h3{margin:28px 0 4px;font-size:18px}.character-form .state-chapter{width:min(260px,100%);margin-top:20px}.character-form-actions{gap:9px;display:flex}.files-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.file-card{border:1px solid var(--line);background:var(--paper);padding:22px}.file-card .hint{color:var(--muted);font-size:13px;line-height:1.6}.export-create{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:14px 0;display:grid}.file-list{gap:8px;display:grid}.file-row{border:1px solid var(--line);background:#faf7f1;align-items:center;gap:8px;padding:11px;display:flex}.file-row>div{flex:1;gap:4px;min-width:0;display:grid}.file-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-row small{color:var(--muted)}.assistant-layout{grid-template-columns:210px minmax(280px,1fr) minmax(300px,.9fr);align-items:start;gap:16px;display:grid}.assistant-sessions,.assistant-conversation,.assistant-proposals{border:1px solid var(--line);background:var(--paper);min-width:0}.assistant-sessions,.assistant-proposals{padding:17px}.assistant-sessions h3,.assistant-proposals h3{margin:0;font-size:16px}.assistant-new-session{gap:8px;margin:16px 0;display:grid}.assistant-session-list{gap:6px;display:grid}.assistant-session-list button{min-width:0;color:var(--ink);text-align:left;background:#f8f4ed;border:1px solid #0000;gap:5px;padding:10px;display:grid}.assistant-session-list button.active{background:#f3e8dc;border-color:#c8aa96}.assistant-session-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-session-list time{color:var(--muted);font-size:10px}.assistant-conversation{grid-template-rows:minmax(320px,1fr) auto auto;min-height:620px;display:grid}.assistant-messages{align-content:start;gap:12px;max-height:560px;padding:18px;display:grid;overflow:auto}.assistant-message{border:1px solid var(--line);background:#faf7f1;max-width:88%;padding:12px 14px}.assistant-message.user{background:#f3e8dc;justify-self:end}.assistant-message strong{color:var(--accent);font-size:11px}.assistant-message p{white-space:pre-wrap;margin:6px 0 0;line-height:1.65}.assistant-task{border-top:1px solid var(--line);color:var(--muted);padding:10px 18px;font-size:11px}.assistant-task .progress-track{margin-top:7px}.assistant-task-error{border-left:0;border-right:0;margin:0}.assistant-composer{border-top:1px solid var(--line);background:#f8f4ed;gap:10px;padding:16px;display:grid}.assistant-composer textarea{resize:vertical;margin-top:7px}.assistant-composer .button{justify-self:end}.assistant-proposal-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.assistant-proposals>.hint{color:var(--muted);font-size:12px;line-height:1.55}.assistant-proposal-list{gap:12px;margin-top:16px;display:grid}.assistant-proposal-card{border:1px solid var(--line);background:#faf7f1;min-width:0;padding:14px}.assistant-proposal-card[data-status=pending]{border-color:#d8a25d}.assistant-proposal-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.assistant-proposal-card header time{color:var(--muted);font-size:10px}.assistant-proposal-card h4{margin:13px 0;line-height:1.5}.assistant-proposal-card dl{grid-template-columns:max-content minmax(0,1fr);gap:7px 10px;font-size:12px;display:grid}.assistant-proposal-card dt{color:var(--muted)}.assistant-proposal-card dd{overflow-wrap:anywhere;margin:0}.assistant-proposal-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eee8de;max-height:200px;padding:10px;font-size:11px;overflow:auto}.assistant-proposal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.status-pending{color:#7c531d;background:#fff0cd}.status-accepted{color:#285d40;background:#dcefe4}.status-rejected{color:#5f5850;background:#ece7e1}.error-banner,.success-banner{color:#8c302b;background:#fff5f3;border:1px solid #dfbdb8;padding:11px 13px;font-size:13px}.success-banner{color:#315d49;background:#f1f8f4;border-color:#b8d1c4}.inline-error{color:var(--danger);font-size:12px}.conflict-banner{background:#fff8ea;border:1px solid #d8a25d;margin-bottom:18px;padding:14px}.conflict-banner div{flex-wrap:wrap;gap:8px;display:flex}.task-center{width:min(920px,100vw - 32px);max-width:920px}.task-center-grid{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr);gap:16px;max-height:65vh;margin:14px 0;display:grid}.task-center-list{align-content:start;gap:6px;display:grid;overflow:auto}.task-center-list button{text-align:left;border:1px solid var(--line);background:var(--paper);gap:3px;padding:10px;display:grid}.task-center-list button.active{border-color:var(--ink)}.task-center-list span,.task-center-list time{color:var(--muted);font-size:12px}.task-center-detail{overflow:auto}.task-center-detail dl{grid-template-columns:max-content 1fr;gap:7px 12px;display:grid}.task-center-detail dd{overflow-wrap:anywhere;margin:0}@media (width<=760px){.task-center-grid{grid-template-columns:1fr}}.inline-success{color:#397059;font-size:12px}.app-loading{background:var(--pine);place-items:center;min-height:100vh;display:grid}.app-loading span{color:#f2e7d9;font:42px serif;animation:1.5s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.35;transform:scale(.95)}}@media (width<=1180px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1000px){.form-grid.compact{grid-template-columns:repeat(2,1fr)}.writing-layout{grid-template-columns:minmax(0,1fr) 260px}}@media (width<=760px){body{overflow-x:hidden}button,.button{min-height:42px}.files-layout,.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:28px}.topbar{height:auto;min-height:64px;padding:10px 15px}.brand-block span,.account-name,.quiet-link{display:none}.topbar-actions{gap:6px}.topbar-actions select{max-width:100px}.page-container{padding:36px 18px}.page-heading h1{font-size:32px}.page-heading{flex-direction:column;align-items:flex-start;gap:18px}.heading-actions{flex-wrap:wrap;width:100%}.model-form-grid{grid-template-columns:1fr}.model-form-grid .span-two{grid-column:auto}.project-grid{grid-template-columns:1fr}.workspace-page{grid-template-columns:minmax(0,1fr);width:100%;max-width:100vw;height:auto;min-height:calc(100vh - 64px)}.workspace-sidebar{z-index:8;border-right:0;border-bottom:1px solid var(--line);min-width:0;max-width:100vw;padding:10px 12px;position:sticky;top:0;overflow:hidden}.project-identity,.chapter-list{display:none}.workspace-nav{overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:x proximity;gap:6px;width:100%;min-width:0;max-width:100%;margin:0 0 8px;display:flex;overflow-x:auto}.workspace-nav button{scroll-snap-align:start;flex:none;justify-content:center;min-width:104px;padding:9px 10px;font-size:12px}.workspace-nav button span{display:none}.chapter-picker{border:0;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.chapter-picker>div{width:130px;margin:0}.workspace-content{width:100%;min-width:0;overflow:visible}.panel-page{padding:28px 16px 70px}.settings-form{padding:18px}.form-grid.compact,.form-grid.two-column{grid-template-columns:1fr}.writing-layout{grid-template-columns:1fr;height:auto}.writing-main{min-height:70vh}.desk-heading{flex-direction:column;align-items:flex-start;padding:18px}.task-actions{width:100%}.task-actions .button{flex:1;padding:9px}.writing-inspector{border-top:1px solid var(--line);border-left:0}.editorial-toolbar{flex-direction:column;align-items:stretch}.editorial-toolbar>div{text-align:left}.editorial-grid{grid-template-columns:1fr}.finalization-card{grid-column:auto}.character-layout{grid-template-columns:1fr}.character-list-panel{position:static}.knowledge-search,.reference-upload,.export-create,.embedding-model-form{grid-template-columns:1fr}.embedding-heading{flex-direction:column}.embedding-heading .button{width:100%}.editorial-actions,.character-form-actions{flex-wrap:wrap}.editorial-actions .button,.character-form-actions .button{flex:140px}.file-row{flex-wrap:wrap;align-items:stretch}.file-row>div{flex-basis:100%}.file-row>.button{flex:1}.assistant-layout{grid-template-columns:1fr}.assistant-conversation{min-height:560px}.assistant-proposal-actions .button{flex:1}.knowledge-hit footer{flex-direction:column}.dialog-content{max-height:calc(100dvh - 24px);padding:22px;overflow:auto}}.config-ai-toolbar,.config-ai-dialog,.config-candidate-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);border-radius:14px;padding:16px}.config-ai-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.config-ai-toolbar p{margin:4px 0 0}.config-ai-dialog{gap:14px;display:grid}.field-label-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.compact-button{min-height:28px;padding:4px 9px;font-size:.72rem}.button.ai{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));color:var(--accent)}.config-candidate-list{gap:12px;display:grid}.config-candidate-list>h3{margin:8px 0 0}.config-candidate-card{gap:14px;display:grid}.config-candidate-card>header,.config-candidate-card>footer{align-items:center;gap:10px;display:flex}.config-candidate-card>header{flex-wrap:wrap;justify-content:space-between}.config-candidate-card>footer{justify-content:flex-end}.config-candidate-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.config-candidate-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.config-candidate-fields{gap:10px;display:grid}.config-candidate-field{border:1px solid var(--line);background:var(--paper);border-radius:11px;gap:8px;padding:12px 14px;transition:opacity .15s,border-color .15s;display:grid}.config-candidate-field.unselected{opacity:.45}.config-candidate-field-head{align-items:center;gap:10px;display:flex}.config-candidate-field-head strong{flex:1;min-width:0}.config-candidate-field-head input[type=checkbox]{flex:none;width:auto;margin:0}.config-candidate-field-head select.candidate-action{flex:none;width:auto;min-width:132px;margin:0;padding:7px 28px 7px 10px}.config-candidate-field pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--ink);background:var(--paper-deep);border-radius:8px;margin:0;padding:10px 12px;line-height:1.7}.config-candidate-field.unselected pre{color:var(--muted)}.architecture-panel{gap:16px;display:grid}.architecture-toolbar,.architecture-generator,.architecture-candidates>article{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px}.architecture-toolbar,.architecture-generator>header,.architecture-generator>footer,.architecture-candidates>article>header,.architecture-candidates>article>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.architecture-toolbar p{margin:4px 0 0}.architecture-generator{gap:14px;display:grid}.architecture-step-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.architecture-step-grid>label{border:1px solid var(--line);border-radius:10px;align-items:flex-start;gap:9px;padding:10px;display:flex}.architecture-step-grid span{gap:3px;display:grid}.architecture-step-grid small{color:var(--muted)}.arch-card-grid{gap:12px;display:grid}.arch-card{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:grid}.arch-card:hover,.arch-card:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 4px 14px #25231f14}.arch-card-index{color:var(--accent);letter-spacing:.14em;font-size:12px;font-weight:800}.arch-card-main{gap:5px;min-width:0;display:grid}.arch-card-main strong{font-size:15px}.arch-card-main small{color:var(--muted)}.arch-card-meta{text-align:right;justify-items:end;gap:6px;font-size:12px;display:grid}.arch-badge{border:1px solid var(--line);color:var(--muted);background:var(--paper-deep);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.arch-badge.ok{color:#2e6b3f;background:#2e6b3f14;border-color:#2e6b3f59}.arch-badge.todo{color:var(--muted)}.arch-focus{gap:12px;display:grid}.arch-focus-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.arch-focus-title{gap:2px;display:grid}.arch-focus-title strong{font-size:16px}.arch-focus-actions{align-items:center;gap:8px;display:flex}.arch-focus-editor{resize:vertical;border:1px solid var(--line);width:100%;min-height:58vh;color:var(--ink);font:inherit;background:#ffffffb8;border-radius:14px;padding:16px 18px;line-height:1.85}.arch-focus-readonly{border:1px solid var(--line);background:var(--paper-deep);border-radius:14px;gap:12px;padding:16px 18px;display:grid}.arch-focus-readonly pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:58vh;margin:0;line-height:1.8;overflow:auto}.arch-focus-footer{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}@media (width<=720px){.arch-card{grid-template-columns:auto minmax(0,1fr)}.arch-card-meta{text-align:left;grid-column:1/-1;justify-items:start}.arch-focus-editor{min-height:46vh}}.architecture-candidates pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;font:inherit;color:var(--muted);margin:8px 0 0;overflow:auto}.architecture-candidates{gap:12px;display:grid}.architecture-candidates>h3{margin:8px 0 0}.architecture-candidates>article{gap:14px;display:grid}.candidate-character-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:8px;display:grid}.candidate-character-grid section{border:1px solid var(--line);border-radius:10px;padding:10px}.candidate-character-grid section span{color:var(--muted);margin-left:8px}.candidate-character-grid section p{margin:6px 0 0}.blueprint-generation-panel{gap:16px;display:grid}.batch-draft-generation-panel{gap:16px;margin-top:16px;display:grid}.batch-draft-generation-panel .task-progress{border:1px solid var(--line);border-radius:14px;padding:16px}.batch-task-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.batch-step-list{gap:7px;margin-top:14px;display:grid}.batch-step{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.batch-step.failed{color:#8f3025;border-color:#b84a3a}.batch-step.succeeded{color:#2e6b3f}.blueprint-ai-toolbar,.blueprint-generator,.blueprint-candidate-set{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px}.blueprint-ai-toolbar,.blueprint-ai-toolbar>div:last-child,.blueprint-generator>header,.blueprint-generator>footer,.blueprint-candidate-set>header,.blueprint-candidate-set>footer,.blueprint-candidate-grid section>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.blueprint-ai-toolbar p{margin:4px 0 0}.blueprint-generator{gap:14px;display:grid}.blueprint-candidates{gap:12px;display:grid}.blueprint-candidates>h3{margin:8px 0 0}.blueprint-candidate-set{gap:14px;display:grid}.blueprint-candidate-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.blueprint-candidate-grid section{border:1px solid var(--line);background:var(--surface);border-radius:11px;gap:9px;padding:13px;display:grid}.blueprint-candidate-grid section.selected{border-color:color-mix(in srgb, var(--accent) 65%, var(--line));box-shadow:inset 3px 0 var(--accent)}.blueprint-candidate-grid textarea{resize:vertical}.warning-chip{color:#7c531d;background:#fff0cd;border-radius:999px;padding:3px 7px;font-size:10px}@media (width<=760px){.config-ai-toolbar,.config-candidate-card>footer{flex-direction:column;align-items:stretch}.config-candidate-card>footer .button{width:100%}.config-candidate-field-head{flex-wrap:wrap}.config-candidate-field-head select.candidate-action{flex:auto;min-width:0}.architecture-facts,.architecture-step-grid{grid-template-columns:1fr}.architecture-toolbar,.architecture-generator>footer,.blueprint-ai-toolbar,.blueprint-ai-toolbar>div:last-child,.blueprint-generator>footer,.blueprint-candidate-set>footer{flex-direction:column;align-items:stretch}.blueprint-candidate-grid{grid-template-columns:1fr}.batch-task-actions,.batch-step{flex-direction:column;align-items:stretch}}.narrative-panel{gap:18px;display:grid}.narrative-panel .panel-toolbar,.narrative-panel .task-actions{flex-wrap:wrap;gap:10px;display:flex}.narrative-panel .editor-card,.narrative-panel .candidate-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:12px;padding:18px;display:grid}.narrative-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.narrative-panel label{gap:6px;display:grid}.narrative-panel input,.narrative-panel select,.narrative-panel textarea{width:100%}.narrative-panel .candidate-list{gap:12px;display:grid}.narrative-panel .candidate-card header{justify-content:space-between;align-items:start;gap:12px;display:flex}.narrative-panel .candidate-card header>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.narrative-panel blockquote{border-left:3px solid var(--accent);background:var(--paper-deep);margin:0;padding:10px 12px}.narrative-panel small{color:var(--muted);margin-top:5px;display:block}.narrative-panel pre{white-space:pre-wrap;background:var(--paper-deep);border-radius:10px;padding:12px;overflow:auto}.narrative-panel .candidate-choice{grid-template-columns:auto minmax(0,1fr);align-items:start}.narrative-panel .candidate-choice input{width:auto;margin-top:14px}.narrative-panel .candidate-choice pre{margin:0}.narrative-panel .status-pill.warning{color:#8b4c00;background:#fff1ce}@media (width<=760px){.narrative-panel .form-grid{grid-template-columns:1fr}.narrative-panel .candidate-card header{flex-direction:column}}.writing-skill-panel{gap:18px;display:grid}.writing-skill-section{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:16px;padding:20px;display:grid;box-shadow:0 10px 32px #392d1d0d}.writing-skill-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.writing-skill-heading h3{margin:0}.writing-skill-heading p{margin:5px 0 0;font-size:12px;line-height:1.55}.writing-skill-installer{border:1px solid var(--line);background:var(--surface);border-radius:11px;gap:14px;padding:16px;display:grid}.writing-skill-installer label{gap:7px;display:grid}.writing-skill-installer textarea{resize:vertical;width:100%;min-height:210px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.writing-skill-actions{justify-content:flex-end;gap:9px;display:flex}.writing-skill-inspection{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:14px 16px}.writing-skill-inspection.writing-skill-compatible{background:#2e6b3f0f;border-color:#2e6b3f59}.writing-skill-inspection.writing-skill-incompatible{background:#fff8f7;border-color:#dcb9b5}.writing-skill-inspection dl{grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:12px 0 0;font-size:12px;display:grid}.writing-skill-inspection dt{color:var(--muted)}.writing-skill-inspection dd{overflow-wrap:anywhere;margin:0}.writing-skill-inspection ul{color:var(--danger);margin:12px 0 0;padding-left:20px;font-size:12px;line-height:1.6}.writing-skill-list{gap:7px;display:grid}.writing-skill-list-header,.writing-skill-row{grid-template-columns:minmax(220px,1fr) 100px 120px 70px 90px;align-items:center;gap:12px;display:grid}.writing-skill-list-header{color:var(--muted);letter-spacing:.06em;padding:0 12px;font-size:10px;font-weight:800}.writing-skill-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px}.writing-skill-name{gap:4px;min-width:0;display:grid}.writing-skill-name.writing-skill-expand{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.writing-skill-name.writing-skill-expand:hover strong{color:var(--pine);text-decoration:underline}.writing-skill-name.writing-skill-expand:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.writing-skill-detail{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:14px 16px}.writing-skill-detail h4{margin:0 0 8px;font-size:12px}.writing-skill-content{white-space:pre-wrap;word-break:break-word;max-height:420px;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.6;overflow:auto}.writing-skill-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.writing-skill-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.45;overflow:hidden}.writing-skill-badge{color:#315d49;background:#f1f8f4;border:1px solid #315d4947;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.writing-skill-row>span{color:var(--muted);font-size:12px}.writing-skill-row .button{justify-self:start;padding:7px 11px;font-size:11px}.writing-skill-switch{cursor:pointer;width:38px;height:22px;margin:0;display:inline-flex;position:relative}.writing-skill-switch input{opacity:0;width:1px;height:1px;position:absolute}.writing-skill-switch>span[aria-hidden=true]{background:#cfc6b9;border-radius:999px;width:38px;transition:background .15s}.writing-skill-switch>span[aria-hidden=true]:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;margin:3px;transition:transform .15s;display:block;box-shadow:0 1px 4px #1f1d1933}.writing-skill-switch input:checked+span{background:var(--pine)}.writing-skill-switch input:checked+span:after{transform:translate(16px)}.writing-skill-switch input:focus-visible+span{box-shadow:0 0 0 3px #a54c2a29}.writing-skill-switch input:disabled+span{cursor:not-allowed;opacity:.5}.writing-skill-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.writing-skill-bindings{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.writing-skill-bindings label{gap:7px;display:grid}.writing-skill-bindings label>span{color:var(--muted);font-size:11px;font-weight:700}.writing-skill-bindings select{width:100%}@media (width<=860px){.writing-skill-list-header{display:none}.writing-skill-row{grid-template-columns:minmax(0,1fr) auto auto}.writing-skill-name{grid-column:1/-1}.writing-skill-bindings{grid-template-columns:1fr}}@media (width<=560px){.writing-skill-heading,.writing-skill-actions{flex-direction:column;align-items:stretch}.writing-skill-row{grid-template-columns:1fr 1fr}.writing-skill-name{grid-column:1/-1}}.prompt-override-panel{gap:18px;display:grid}.prompt-override-hint{margin:0}.prompt-override-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.prompt-override-section{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:16px;min-width:0;padding:20px;display:grid;box-shadow:0 10px 32px #392d1d0d}.prompt-override-heading{gap:5px;display:grid}.prompt-override-heading h3,.prompt-override-heading p{margin:0}.prompt-override-heading p{font-size:12px;line-height:1.55}.prompt-override-form{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.prompt-override-form label{gap:7px;min-width:0;display:grid}.prompt-override-form label>span,.prompt-override-previews p>span{color:var(--muted);font-size:11px;font-weight:700}.prompt-override-form select,.prompt-override-form textarea{width:100%}.prompt-override-form textarea{resize:vertical;min-height:120px}.prompt-override-instruction,.prompt-override-actions{grid-column:1/-1}.prompt-override-actions{justify-content:flex-end;display:flex}.prompt-override-usage{margin:0;font-size:12px;line-height:1.55}.prompt-override-variables{grid-column:1/-1;gap:8px;display:grid}.prompt-override-variables-label{color:var(--muted);font-size:11px;font-weight:700}.prompt-override-variable-tags{flex-wrap:wrap;gap:6px;display:flex}.prompt-override-variable-tag{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);cursor:pointer;border-radius:7px;padding:4px 9px;font-size:11px}.prompt-override-variable-tag:hover{border-color:var(--muted)}.prompt-override-variable-tag:disabled{opacity:.5;cursor:default}.prompt-override-list{gap:8px;display:grid}.prompt-override-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:minmax(120px,.65fr) minmax(0,1.8fr) auto;align-items:start;gap:14px;padding:13px;display:grid}.prompt-override-row-heading{gap:4px;min-width:0;display:grid}.prompt-override-row-heading strong{overflow-wrap:anywhere}.prompt-override-row-heading span{color:var(--muted);font-size:11px}.prompt-override-previews{gap:7px;min-width:0;display:grid}.prompt-override-previews p{overflow-wrap:anywhere;min-width:0;color:var(--ink);gap:3px;margin:0;font-size:12px;line-height:1.5;display:grid}.prompt-override-row .button{padding:7px 11px;font-size:11px}@media (width<=1120px){.prompt-override-sections{grid-template-columns:1fr}}@media (width<=620px){.prompt-override-form,.prompt-override-row{grid-template-columns:1fr}.prompt-override-instruction,.prompt-override-actions{grid-column:auto}.prompt-override-actions{flex-direction:column;align-items:stretch}.prompt-override-row .button{justify-self:start}}.style-extraction-page{gap:18px;display:grid}.style-extraction-page>header{margin-bottom:4px}.style-extraction-page>header p:last-child{margin:-12px 0 22px;line-height:1.6}.style-section{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:14px;padding:20px;display:grid;box-shadow:0 10px 32px #392d1d0d}.style-section h3,.style-section h4,.style-section p,.style-upload .reference-upload{margin:0}.style-upload .reference-upload label{gap:7px;display:grid}.style-upload .reference-upload label>span,.style-model-select>span,.style-preview label>span{color:var(--muted);font-size:11px;font-weight:700}.style-upload .hint{margin:0}.style-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.style-estimate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.style-stat{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:5px;padding:12px;display:grid}.style-stat span{color:var(--muted);font-size:11px}.style-stat strong{font-size:18px}.style-curve{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;height:180px;padding:10px 24px 20px 30px;position:relative}.style-curve svg{width:100%;height:100%;overflow:visible}.style-curve-axis{stroke:var(--line);stroke-width:1px}.style-curve-line{fill:none;stroke:var(--accent);stroke-width:2.5px;vector-effect:non-scaling-stroke}.style-curve circle{fill:var(--accent);vector-effect:non-scaling-stroke}.style-curve-x,.style-curve-y{color:var(--muted);font-size:10px;position:absolute}.style-curve-x{bottom:5px;right:12px}.style-curve-y{top:8px;left:8px}.style-sample-list{gap:8px;display:grid}.style-sample-item{border:1px solid var(--line);background:var(--surface);border-radius:10px}.style-sample-item summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.style-sample-item summary>span:last-child{color:var(--muted);font-size:11px}.style-sample-item pre{border-top:1px solid var(--line);white-space:pre-wrap;max-height:280px;margin:0;padding:14px;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.style-extraction-list{gap:8px;display:grid}.style-extraction-item{align-items:stretch;gap:8px;display:flex}.style-extraction-item .style-extraction-row{flex:1;width:auto}.style-extraction-delete{border:1px solid var(--line);background:var(--surface);width:40px;color:var(--muted);cursor:pointer;border-radius:10px;flex:none;font-size:18px;line-height:1}.style-extraction-delete:hover:not(:disabled){color:var(--danger);background:#fff8f7;border-color:#dcb9b5}.style-extraction-delete:disabled{opacity:.5;cursor:not-allowed}.style-extraction-row{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.style-extraction-row:hover,.style-extraction-item.active .style-extraction-row{border-color:var(--accent);background:#a54c2a0f}.style-extraction-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.style-extraction-row time{color:var(--muted);font-size:11px}.style-model-select,.style-preview label{gap:7px;display:grid}.style-model-select select,.style-preview textarea{width:100%}.style-preview textarea{resize:vertical;min-height:320px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.6}.style-actions{justify-content:flex-end;gap:10px;display:flex}.style-status>strong{justify-self:end}.style-status .error-banner{gap:5px;display:grid}.style-status .progress-track{border-radius:999px;height:6px;overflow:hidden}@media (width<=700px){.style-estimate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.style-extraction-row,.style-sample-item summary{grid-template-columns:minmax(0,1fr) auto}.style-extraction-row time,.style-sample-item summary>span:last-child{grid-column:1/-1}.style-actions{flex-direction:column;align-items:stretch}}@media (width<=460px){.style-estimate-grid{grid-template-columns:1fr}}
