.text-director-trigger{min-height:32px;white-space:nowrap}.text-director-dialog{--director-line:#34383d;--director-muted:#9ba1a8;background:#111315;color:#f3f4f5;border:1px solid var(--director-line);border-radius:8px;box-shadow:0 24px 80px #00000073;max-height:min(88vh,900px);overflow:hidden;display:flex;flex-direction:column}.text-director-scroll{min-height:0;overflow:auto;padding-right:6px}.text-director-controls{display:grid;grid-template-columns:140px minmax(260px,1fr) 100px auto;gap:12px;align-items:end;margin:22px 0 18px}.text-director-controls label{display:grid;gap:7px;min-width:0}.text-director-instruction .rt-TextAreaRoot{min-height:64px}.text-director-generate{min-height:40px}.text-director-control-actions{justify-content:flex-end}.text-director-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--director-line)}.text-director-candidate-bar{padding:16px 0;border-top:1px solid var(--director-line)}.text-director-review{display:grid;gap:16px}.text-director-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--director-line);border-radius:6px;overflow:hidden}.text-director-reading section{min-width:0;padding:16px;background:#17191c}.text-director-reading section+section{border-left:1px solid var(--director-line);background:#1b1d20}.text-director-reading p{margin:8px 0 0;color:#e7e9eb;font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.text-director-diffs{display:grid;gap:8px}.text-director-diff{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;border-bottom:1px solid var(--director-line);padding:10px 0 12px;cursor:pointer}.text-director-diff>.rt-CheckboxRoot{margin:10px auto 0}.text-director-diff>span{display:grid;gap:6px;min-width:0}.text-director-diff del,.text-director-diff ins{display:block;padding:9px 11px;border-radius:4px;font-size:13px;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}.text-director-diff del{color:#b8bdc3;background:#202327;text-decoration:line-through}.text-director-diff ins{color:#f2f4f5;background:#29322e;box-shadow:inset 0 0 0 1px #7b9b8957}.text-director-issues{display:grid;gap:8px}.text-director-issues>div{display:flex;gap:9px;align-items:flex-start;color:#d8b56c;font-size:12px;line-height:1.5}.text-director-issues span{display:grid;gap:2px}.text-director-issues small{color:var(--director-muted)}.text-director-rationale{padding-left:12px;border-left:2px solid #697078}.text-director-actions{flex:0 0 auto;padding-top:16px;border-top:1px solid var(--director-line);background:#111315}@media(max-width:700px){.text-director-dialog{max-height:94vh;border-radius:6px}.text-director-controls{grid-template-columns:1fr 96px}.text-director-instruction{grid-column:1 / -1;grid-row:2}.text-director-generate{min-height:44px}.text-director-control-actions{grid-column:1 / -1}.text-director-control-actions .rt-Button{min-height:44px;flex:1 1 150px}.text-director-reading{grid-template-columns:1fr}.text-director-reading section+section{border-left:0;border-top:1px solid var(--director-line)}.text-director-diff{grid-template-columns:44px minmax(0,1fr)}.text-director-actions .rt-Button{min-height:44px}}.novel-workspace{color:var(--ink);min-width:0}.novel-workspace .novel-field{display:flex;flex-direction:column;gap:8px;min-width:0}.novel-workspace .novel-section-row{padding-bottom:20px;border-bottom:1px solid var(--border)}.novel-workspace .novel-prose{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.novel-workspace .novel-reference{width:88px;height:112px;object-fit:contain;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.novel-workspace [hidden]{display:none!important}.novel-workspace .rt-SelectTrigger{max-width:100%}.novel-workspace .rt-SelectTriggerInner{overflow:hidden;text-overflow:ellipsis}.novel-workspace textarea{line-height:1.8}.novel-workspace h2,.novel-workspace h3{overflow-wrap:anywhere;letter-spacing:0}.novel-workspace .rt-Grid>*,.novel-workspace .rt-Flex>*{min-width:0}.novel-workspace .rt-Button{white-space:nowrap}.novel-workspace :is(button,summary):focus-visible{outline:2px solid var(--accent-9);outline-offset:3px}.novel-workspace button:disabled{cursor:not-allowed}.novel-workspace-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding-bottom:2px;border-bottom:1px solid var(--border)}.novel-workspace-nav>.rt-Box{min-width:0}.novel-workspace-nav .rt-TabsList{min-width:max-content}.novel-workspace-nav>.rt-DropdownMenuTrigger{flex:0 0 auto}.novel-chapter-tools{margin-bottom:22px;border-block:1px solid var(--border)}.novel-chapter-tools>summary{display:flex;align-items:center;gap:10px;min-height:48px;color:var(--ink-2);cursor:pointer;list-style:none}.novel-chapter-tools>summary:before{content:"+";flex:0 0 14px;font-size:17px}.novel-chapter-tools[open]>summary:before{content:"−"}.novel-chapter-tools>summary span{margin-left:auto;color:var(--ink-3);font-size:12px}.novel-chapter-tools-content{padding:4px 0 8px}.novel-chapter-tools-content .novel-structure-manager{margin-bottom:0;border-bottom:0}.candidate-generation-control{min-width:0}.candidate-generation-submit{min-width:142px;outline:2px solid transparent;outline-offset:3px}@media(hover:hover){.candidate-generation-submit:not(:disabled):hover{filter:brightness(1.04)}}.candidate-generation-submit:focus-visible{outline-color:var(--accent-9)}.candidate-generation-submit:not(:disabled):active{transform:translateY(1px)}.candidate-generation-submit:disabled{opacity:.5;cursor:not-allowed}.candidate-generation-submit[data-loading=true]{cursor:progress}.candidate-generation-control [role=alert]{color:var(--amber-11)}.candidate-generation-control [role=status]{color:var(--gray-11)}.novel-candidate-comparison{display:flex;flex-direction:column;gap:16px;padding-block:20px;border-block:1px solid var(--border);min-width:0}.novel-candidate-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;min-width:0}.novel-candidate-card{min-width:0;min-height:390px;padding:16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);outline:2px solid transparent;outline-offset:2px;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.novel-candidate-card[data-selected=true]{border-color:var(--accent-8);background:var(--accent-a2)}@media(hover:hover){.novel-candidate-card:hover{border-color:var(--gray-8);background:var(--surface-soft)}}.novel-candidate-card:focus-within{outline-color:var(--accent-9)}.novel-candidate-card:active{transform:translateY(1px)}.novel-candidate-card:has(button:disabled){cursor:default}.novel-candidate-section{padding-top:12px;border-top:1px solid var(--border);min-width:0}.novel-reader-review{min-width:0;padding-block:16px;border-block:1px solid var(--border)}.novel-reader-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;border-top:1px solid var(--border)}.novel-reader-review-item{min-width:0;padding:14px 14px 14px 0;border-bottom:1px solid var(--border)}.novel-reader-review-item:nth-child(2n){padding-left:14px;border-left:1px solid var(--border)}.novel-reader-review-observation{line-height:1.65;overflow-wrap:anywhere}.novel-quality-ruling{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.novel-quality-ruling>summary{width:max-content;max-width:100%;color:var(--ink-2);font-size:12px;cursor:pointer;overflow-wrap:anywhere}.novel-quality-ruling textarea{resize:vertical}@media(max-width:640px){.novel-reader-review-grid{grid-template-columns:minmax(0,1fr)}.novel-reader-review-item,.novel-reader-review-item:nth-child(2n){padding-inline:0;border-left:0}}.novel-candidate-summary{display:-webkit-box;margin-top:6px;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:4}.novel-candidate-comparison button[data-loading=true]{min-width:136px;cursor:progress}.novel-candidate-comparison [role=alert]{color:var(--red-11)}.novel-candidate-comparison [role=status]{color:var(--green-11)}@media(prefers-reduced-motion:reduce){.novel-candidate-card{transition:none}}@media(max-width:768px){.novel-candidate-comparison-grid{grid-template-columns:minmax(0,1fr)}.novel-candidate-card{min-height:0}.novel-candidate-comparison .rt-Button,.novel-candidate-comparison .rt-CheckboxButton{min-height:44px}}.novel-scene-plan{display:flex;flex-direction:column;gap:18px;padding-block:20px;border-block:1px solid var(--border);min-width:0}.novel-scene-plan textarea{resize:vertical}.novel-scene-change{padding:14px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft);min-width:0}.novel-scene-rationale{grid-column:span 2}.novel-scene-boundary{padding:12px 14px;border-left:1px solid var(--amber-8);background:var(--amber-a2)}@media(max-width:760px){.novel-scene-plan .rt-Button,.novel-scene-plan .rt-SelectTrigger,.novel-scene-plan .rt-TextFieldRoot{min-height:44px}.novel-scene-rationale{grid-column:span 1}}.novel-conversation-guide{min-width:0}.novel-conversation-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:clip;box-shadow:0 22px 54px #00000029}.novel-conversation-panel,.novel-brief-card{min-width:0;padding:clamp(20px,2.4vw,32px)}.novel-conversation-panel{display:flex;flex-direction:column;gap:18px;border-right:1px solid var(--border);background:#151718}.novel-conversation-header{padding-bottom:18px;border-bottom:1px solid var(--border)}.novel-conversation-header h2{margin-top:6px;font-family:var(--serif);font-size:24px}.novel-conversation-header p{max-width:58ch;margin:8px 0 0;line-height:1.65}.novel-conversation-messages{display:flex;flex-direction:column;gap:10px;min-height:88px;max-height:360px;overflow:auto;padding-right:6px;scrollbar-gutter:stable}.novel-conversation-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:88px;padding:15px 16px;border:1px dashed var(--border);border-radius:6px;color:var(--ink-2);background:#101112;font:inherit;text-align:left;cursor:pointer}.novel-conversation-empty>svg{flex:0 0 auto;color:var(--accent)}.novel-conversation-empty>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}.novel-conversation-example-action{display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--accent-11);font-size:12px}.novel-conversation-empty:not(:disabled):hover{border-color:var(--accent-8);background:color-mix(in srgb,var(--accent) 6%,#101112)}.novel-conversation-empty:focus-visible{outline:2px solid var(--accent-9);outline-offset:3px}.novel-conversation-empty:disabled{cursor:not-allowed;opacity:.62}.novel-conversation-message{width:min(88%,620px);min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.novel-conversation-message-user{align-self:flex-end;border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.novel-conversation-message-assistant,.novel-conversation-message-pending{align-self:flex-start}.novel-conversation-message-pending{opacity:.72}.novel-conversation-message p{margin:5px 0 0;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.65}.novel-conversation-input{display:flex;flex-direction:column;gap:10px}.novel-conversation-input .rt-TextAreaRoot{min-height:120px;background:#101112;border-radius:5px}.novel-conversation-input .rt-TextAreaInput{min-height:90px;font-size:15px;line-height:1.7}.novel-conversation-next{padding:14px 0;border-block:1px solid var(--border)}.novel-conversation-next p{margin:5px 0 0;max-width:50ch;line-height:1.55}.novel-conversation-next>.rt-Flex>.rt-Flex{justify-content:flex-end}.novel-conversation-secondary-actions{padding-top:2px}.novel-conversation-panel>.studio-advanced{margin-top:0}.novel-brief-card{display:flex;flex-direction:column;gap:16px;background:#101112}.novel-brief-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.novel-brief-card-header h3{margin-top:5px}.novel-brief-card-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}.novel-brief-field{display:flex;flex-direction:column;gap:7px;min-width:0}.novel-brief-field:nth-child(2),.novel-brief-field:nth-child(3),.novel-brief-field:nth-child(4),.novel-brief-field:nth-child(5),.novel-brief-field:nth-child(6),.novel-brief-field:nth-child(8),.novel-brief-field:nth-child(9),.novel-brief-field:nth-child(10){grid-column:1/-1}.novel-brief-field .rt-TextAreaRoot,.novel-brief-field .rt-TextFieldRoot{background:var(--surface);border-radius:5px}.novel-brief-field .rt-TextAreaInput{line-height:1.6}.novel-brief-card-footer{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.novel-brief-card-footer .rt-Button{width:100%;min-height:44px}@media(hover:hover){.novel-conversation-guide .rt-Button:not(:disabled):hover{filter:brightness(1.04)}}.novel-conversation-guide :is(.rt-TextAreaRoot,.rt-TextFieldRoot):focus-within{outline:2px solid var(--accent-9);outline-offset:2px}.novel-conversation-guide .rt-Button:not(:disabled):active{transform:translateY(1px)}.novel-conversation-guide .rt-Button:disabled{opacity:.5}@media(prefers-reduced-motion:reduce){.novel-conversation-guide .rt-Button{transition:none}}@media(max-width:1040px){.novel-conversation-layout{grid-template-columns:minmax(0,1fr)}.novel-conversation-panel{border-right:0;border-bottom:1px solid var(--border)}.novel-brief-card-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.novel-conversation-layout{border-inline:0;border-radius:0;box-shadow:none}.novel-conversation-panel,.novel-brief-card{padding:18px 14px}.novel-conversation-header h2{font-size:22px}.novel-conversation-empty{grid-template-columns:auto minmax(0,1fr);min-height:0}.novel-conversation-example-action{grid-column:2;justify-content:flex-start;white-space:normal}.novel-conversation-message{width:94%}.novel-conversation-next>.rt-Flex{flex-direction:column}.novel-conversation-next>.rt-Flex>.rt-Flex{width:100%;justify-content:flex-start}.novel-conversation-next>.rt-Flex>.rt-Flex .rt-Button{flex:1}.novel-brief-card-fields{grid-template-columns:minmax(0,1fr)}.novel-brief-field{grid-column:1/-1}.novel-conversation-secondary-actions .rt-Button{flex:1}.novel-conversation-guide :is(.rt-Button,.rt-TextFieldRoot,.rt-TextAreaRoot){min-height:44px}}.novel-idea-composer{max-width:none;margin:0}.creative-canvas-column .novel-idea-composer .studio-composer{padding:clamp(22px,2.6vw,34px)!important;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#151718;box-shadow:0 20px 50px #00000024}.novel-idea-composer .studio-module-toolbar{min-height:42px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.09)}.novel-idea-composer .studio-module-toolbar h2{color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:600}.novel-idea-composer .studio-composer-input.rt-TextAreaRoot{min-height:180px;margin:0;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#101112}.novel-idea-composer .studio-composer-input .rt-TextAreaInput{min-height:144px;padding:0;color:var(--ink);font:400 16px/1.85 var(--display)}.novel-idea-composer .studio-composer-input .rt-TextAreaInput::placeholder{color:var(--ink-3);opacity:1}.novel-idea-composer .studio-composer-input:focus-within{outline:2px solid var(--accent);outline-offset:4px;box-shadow:none}.novel-idea-composer .studio-composer>.rt-Flex{min-height:30px;margin:0!important;padding:7px 0}.novel-idea-composer .studio-composer-actions{margin-top:6px;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.09)}.novel-idea-composer .studio-submit-row{align-items:center}.novel-idea-composer .studio-submit-row .rt-Button{min-width:136px;border-radius:4px}.novel-idea-composer .studio-help{margin:9px 0 0;font-size:12px}.novel-idea-composer .studio-advanced{margin-top:20px}.novel-idea-composer .rt-CalloutRoot{margin-top:18px;border-radius:4px}@media(max-width:760px){.novel-idea-composer .studio-module-toolbar{align-items:flex-start;flex-direction:column;padding:14px}.novel-idea-composer .studio-composer-input.rt-TextAreaRoot{min-height:240px;padding:18px 16px}.novel-idea-composer .studio-composer-input .rt-TextAreaInput{min-height:180px;font-size:16px}.novel-idea-composer .studio-composer-actions{padding:14px}.novel-idea-composer .studio-submit-row .rt-Button{width:100%}}.novel-import-selection{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,var(--surface-soft))}.novel-import-selection p{margin:4px 0 0;line-height:1.6}.novel-import-selection-mode{display:flex;gap:6px;flex-wrap:wrap}.novel-import-selection-mode button{min-height:34px;padding:7px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft);color:var(--ink-2);cursor:pointer}.novel-import-selection-mode button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}.novel-import-selection-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.novel-source-reader{display:flex;flex-direction:column;gap:18px;min-width:0}.novel-source-reader-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.novel-source-reader-header>.rt-Flex:first-child>svg{flex:0 0 auto;margin-top:5px;color:var(--accent)}.novel-source-reader-heading{min-width:0}.novel-source-reader-heading h2{overflow-wrap:anywhere}.novel-source-reader-heading p{max-width:70ch;margin:7px 0 0;line-height:1.7}.novel-source-reader-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--ink-2);font-size:13px}.novel-source-reader-meta span+span{padding-left:18px;border-left:1px solid var(--border)}.novel-source-reader-meta strong{color:var(--ink);font-weight:650}.novel-source-reader-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:24px;align-items:start}.novel-source-reader-directory{position:sticky;top:16px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.novel-source-reader-directory h3{margin:0}.novel-source-reader-list{display:flex;flex-direction:column;gap:3px;max-height:440px;overflow:auto;margin:14px -7px 0;padding:0 7px;list-style:none}.novel-source-reader-list button{display:flex;align-items:baseline;gap:9px;width:100%;padding:8px 9px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);text-align:left;cursor:pointer}.novel-source-reader-list button:hover{background:var(--surface);color:var(--ink)}.novel-source-reader-list button.is-active{background:var(--accent-a3);color:var(--ink)}.novel-source-reader-list button span{flex:0 0 24px;color:var(--ink-3);font:600 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.novel-source-reader-list button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.novel-source-reader-content{min-width:0;max-width:820px;width:100%;padding:8px clamp(0px,3vw,38px) 24px}.novel-source-reader-content h3{overflow-wrap:anywhere}.novel-source-reader-prose{white-space:pre-wrap;overflow-wrap:anywhere;font:400 17px/2.05 Georgia,Songti SC,"Noto Serif CJK SC",serif;color:var(--ink)}.novel-source-reader-nav{border-top:1px solid var(--border);padding-top:16px}@media(max-width:860px){.novel-source-reader-header{flex-direction:column}.novel-source-reader-header>.rt-Flex:last-child{width:100%}.novel-source-reader-header>.rt-Flex:last-child>*{flex:1}.novel-source-reader-layout{grid-template-columns:1fr}.novel-source-reader-directory{position:static}.novel-source-reader-list{max-height:260px}.novel-source-reader-content{padding-inline:0}}@media(max-width:520px){.novel-source-reader-meta{gap:10px}.novel-source-reader-meta span+span{padding-left:10px}.novel-source-reader-nav>*{flex:1}.novel-source-reader-prose{font-size:16px;line-height:1.9}}.novel-recipe-dialog :is(button,[role=radio]):focus-visible{outline:2px solid var(--accent-9);outline-offset:3px}.novel-recipe-dialog :is(button,[role=radio]):disabled{opacity:.5;cursor:not-allowed}.novel-style-template-dialog{max-height:min(820px,calc(100vh - 32px));overflow:auto}.novel-style-template-dialog .rt-DialogDescription{max-width:62ch;line-height:1.65}.novel-template-list{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:16px}.novel-template-item{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.novel-template-item p{margin:6px 0 0;max-width:56ch;line-height:1.65}.novel-template-tags{min-height:20px}@media(max-width:520px){.novel-style-template-dialog{max-height:calc(100vh - 16px)}.novel-template-item{padding:12px}.novel-template-item>.rt-Flex{flex-direction:column}.novel-template-item>.rt-Flex>.rt-Flex{width:100%}.novel-template-item>.rt-Flex>.rt-Flex>.rt-Button{flex:1}}@media(max-width:760px){.novel-workspace .rt-Button,.novel-workspace .rt-SelectTrigger,.novel-workspace .rt-SegmentedControlItem,.novel-workspace .rt-TabsTrigger,.novel-workspace .rt-TextFieldRoot{min-height:44px}.novel-workspace-nav{align-items:stretch;flex-direction:column;gap:8px;border-bottom:0}.novel-workspace-nav>.rt-Box{width:100%;border-bottom:1px solid var(--border)}.novel-workspace-nav>.rt-DropdownMenuTrigger{align-self:flex-start}.novel-chapter-tools>summary{flex-wrap:wrap;padding-block:8px}.novel-chapter-tools>summary span{margin-left:24px;flex-basis:100%}.novel-import-selection-pickers{grid-template-columns:1fr}.novel-import-selection-mode button{flex:1}}.novel-structure-manager{display:flex;flex-direction:column;gap:16px;min-width:0;margin-bottom:28px;padding-block:20px;border-block:1px solid var(--border)}.novel-structure-heading p{margin:6px 0 0;line-height:1.6}.novel-structure-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}.novel-structure-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.45fr);gap:12px;min-width:0;padding:16px 0;border-top:1px solid var(--border)}.novel-structure-form h3{grid-column:1/-1}.novel-structure-form label{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--ink-2);font-size:12px}.novel-structure-form label:first-of-type{grid-column:1/-1}.novel-structure-form .rt-Button{width:max-content;max-width:100%;align-self:end}.novel-structure-manager :is(input,select){width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--ink);font:inherit}.novel-structure-manager :is(input,select):focus-visible{outline:2px solid var(--accent-9);outline-offset:2px}.novel-structure-manager :is(input,select):active{border-color:var(--accent-8)}.novel-structure-manager :is(input,select):disabled{cursor:not-allowed;opacity:.6}.novel-structure-manager [aria-busy=true]{cursor:progress;opacity:.72}@media(hover:hover){.novel-structure-manager :is(input,select):not(:disabled):hover{border-color:var(--gray-8);background:var(--surface-soft)}}.novel-volume-list{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--border)}.novel-volume-row{display:grid;grid-template-columns:112px minmax(180px,1fr) minmax(140px,180px) auto;gap:10px;align-items:center;min-width:0;padding:10px 0;border-bottom:1px solid var(--border)}.novel-volume-order{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.novel-structure-grow{min-width:0}.novel-structure-actions{display:flex;gap:6px;align-items:center}.novel-structure-actions .rt-Button{width:40px;min-width:40px;height:40px;padding:0}.novel-chapter-structure-list{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;border-top:1px solid var(--border);list-style:none}.novel-chapter-structure-list>li{display:grid;grid-template-columns:52px minmax(180px,1fr) minmax(140px,180px) auto;gap:10px;align-items:center;min-width:0;padding:10px 0;border-bottom:1px solid var(--border)}.novel-chapter-structure-list>li:focus-visible{outline:2px solid var(--accent-9);outline-offset:2px}.novel-chapter-structure-list>.novel-structure-empty{display:block;padding:18px 0}.novel-chapter-order{display:flex;flex-direction:column;gap:3px}.novel-chapter-order strong{font:650 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.novel-structure-preview{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid var(--amber-7);border-radius:6px;background:var(--amber-a2)}.novel-structure-preview p{margin:4px 0 0;overflow-wrap:anywhere;line-height:1.6}.novel-structure-references{display:flex;gap:7px;flex-wrap:wrap}.novel-structure-references span{padding:5px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--ink-2);font-size:12px}.novel-version-history{display:flex;flex-direction:column;gap:16px;min-width:0}.novel-version-history p{margin:6px 0 0;line-height:1.6}.novel-version-controls,.novel-version-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:end;min-width:0}.novel-version-controls{grid-template-columns:repeat(2,minmax(0,260px))}.novel-version-history label{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--ink-2);font-size:12px}.novel-version-history select{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--ink);font:inherit}.novel-version-history select:focus-visible{outline:2px solid var(--accent-9);outline-offset:2px}.novel-version-history select:disabled{cursor:not-allowed;opacity:.6}.novel-version-loading,.novel-version-empty{display:flex;min-height:116px;align-items:center;justify-content:center;gap:10px;padding:20px;border-block:1px solid var(--border);color:var(--ink-2);text-align:center}.novel-version-diff{display:flex;flex-direction:column;gap:12px;min-width:0;padding-block:16px;border-block:1px solid var(--border)}.novel-version-change{display:grid;grid-template-columns:110px repeat(2,minmax(0,1fr));gap:12px;min-width:0}.novel-version-change>code{align-self:start;overflow-wrap:anywhere;color:var(--accent-11);font-size:12px}.novel-version-change>div{min-width:0}.novel-version-change span{display:block;margin-bottom:5px;color:var(--ink-2);font-size:12px}.novel-version-change pre{max-height:240px;margin:0;padding:12px;overflow:auto;border:1px solid var(--border);border-radius:5px;background:var(--surface-soft);color:var(--ink);font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.novel-version-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.novel-version-list>li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0;padding:14px 0;border-bottom:1px solid var(--border)}.novel-version-number{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.novel-version-meta{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.novel-version-impact{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-block:1px solid var(--border)}.novel-version-impact>div{display:flex;flex-wrap:wrap;gap:6px}.novel-version-impact span{padding:4px 7px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft);color:var(--ink-2);font-size:12px}@media(hover:hover){.novel-version-history select:not(:disabled):hover{border-color:var(--gray-8);background:var(--surface-soft)}}.novel-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:820px){.novel-structure-tools{grid-template-columns:minmax(0,1fr);gap:0}.novel-volume-row,.novel-chapter-structure-list>li{grid-template-columns:52px minmax(0,1fr)}.novel-volume-row>select,.novel-chapter-structure-list>li>select{grid-column:2}.novel-structure-actions{grid-column:2;justify-content:flex-end}}@media(max-width:520px){.novel-structure-form{grid-template-columns:minmax(0,1fr)}.novel-structure-form h3,.novel-structure-form label:first-of-type{grid-column:auto}.novel-structure-form .rt-Button{width:100%}.novel-volume-row,.novel-chapter-structure-list>li{grid-template-columns:44px minmax(0,1fr);gap:8px}.novel-structure-manager :is(input,select),.novel-structure-actions .rt-Button{min-height:44px}.novel-structure-actions{justify-content:space-between}.novel-structure-actions .rt-Button{width:44px;min-width:44px}.novel-structure-preview .rt-Flex:last-child>.rt-Button{flex:1}.novel-version-controls,.novel-version-compare,.novel-version-change{grid-template-columns:minmax(0,1fr)}.novel-version-compare .rt-Button{width:100%}.novel-version-list>li{grid-template-columns:minmax(0,1fr) auto}.novel-version-meta{grid-column:1/-1;grid-row:2}.novel-version-history select,.novel-version-history .rt-Button{min-height:44px}.novel-version-restore-dialog .rt-Flex:last-child>.rt-Button{flex:1}}.canon-ledger{min-width:0}.canon-ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--border)}.canon-ledger-summary span{min-width:0;padding:12px 14px;color:var(--ink-2);font-size:12px}.canon-ledger-summary span+span{border-left:1px solid var(--border)}.canon-ledger-summary strong{display:block;margin-bottom:2px;color:var(--ink);font-size:20px;line-height:1.2}.canon-ledger-editor{display:flex;flex-direction:column;gap:14px;padding:16px 0;border-block:1px solid var(--border)}.canon-ledger-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.canon-ledger-item{min-width:0;border-radius:8px}.canon-ledger-item summary{cursor:pointer;list-style-position:outside}.canon-ledger-item summary:hover{color:var(--ink)}.canon-ledger-item details[open] summary{color:var(--ink)}.canon-ledger-evidence{padding:10px 12px;border-left:1px solid var(--accent-a6);background:var(--surface-soft)}.canon-ledger-actions{min-height:32px;padding-top:4px;border-top:1px solid var(--border)}.canon-ledger-version{flex:0 0 auto;white-space:nowrap}.canon-ledger :is(button,summary,input,textarea,[role=checkbox],[role=combobox]):focus-visible{outline:2px solid var(--accent-9);outline-offset:3px}.canon-ledger :is(button,input,textarea,[role=checkbox],[role=combobox]):disabled{opacity:.55;cursor:not-allowed}@media(hover:hover){.canon-ledger-item:hover{border-color:var(--accent-a6)}}@media(max-width:760px){.canon-ledger-list{grid-template-columns:1fr}.canon-ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.canon-ledger-summary span:nth-child(3){border-left:0;border-top:1px solid var(--border)}.canon-ledger-summary span:nth-child(4){border-top:1px solid var(--border)}.canon-ledger-actions .rt-Button{min-height:44px}}@media(max-width:375px){.canon-ledger-summary{grid-template-columns:1fr}.canon-ledger-summary span+span{border-left:0;border-top:1px solid var(--border)}.canon-ledger-actions .rt-Button{flex:1 1 auto}}.novel-export-panel{display:flex;flex-direction:column;gap:20px;min-width:0}.novel-export-heading,.novel-export-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}.novel-export-heading h2,.novel-export-history-heading h3{overflow-wrap:anywhere}.novel-export-heading p,.novel-export-history-heading p{margin:5px 0 0;line-height:1.6}.novel-export-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:24px;align-items:start;min-width:0;padding-block:20px;border-block:1px solid var(--border)}.novel-export-config{display:flex;flex-direction:column;gap:18px;min-width:0}.novel-export-panel fieldset{min-width:0;margin:0;padding:0;border:0}.novel-export-panel legend,.novel-export-fields label,.novel-export-volume{display:flex;flex-direction:column;gap:7px;width:100%;color:var(--ink-2);font-size:12px;font-weight:600}.novel-export-panel legend{margin-bottom:9px;color:var(--ink);font-size:13px}.novel-export-panel fieldset>p{margin:8px 0 0;color:var(--ink-2);font-size:12px;line-height:1.6}.novel-export-panel .rt-SegmentedControlRoot{width:100%;min-width:0}.novel-export-panel .rt-SegmentedControlItem{min-width:0}.novel-export-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.novel-export-fields label>span{color:var(--ink-3);font-weight:400}.novel-export-panel select{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:5px;outline:2px solid transparent;outline-offset:2px;background:var(--surface);color:var(--ink);font:inherit}.novel-export-panel select:focus-visible,.novel-export-cover input:focus-visible,.novel-export-chapters input:focus-visible,.novel-export-load-error button:focus-visible{outline-color:var(--accent-9)}.novel-export-panel select:disabled{cursor:not-allowed;opacity:.6}.novel-export-volume{margin-top:12px}.novel-export-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 16px;max-height:260px;margin-top:12px;overflow:auto;border-block:1px solid var(--border)}.novel-export-chapters label{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;padding:7px 2px;border-bottom:1px solid var(--border);cursor:pointer}.novel-export-chapters label:active{background:var(--surface-soft)}.novel-export-chapters input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent-9)}.novel-export-chapters span{display:flex;flex-direction:column;min-width:0}.novel-export-chapters strong{overflow:hidden;color:var(--ink);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.novel-export-chapters small{margin-top:3px;color:var(--ink-3);font-size:11px}.novel-export-cover{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;align-items:center;min-width:0;padding:14px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.novel-export-cover>span{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;font-weight:600}.novel-export-cover em{color:var(--ink-3);font-size:11px;font-style:normal;font-weight:400}.novel-export-cover input{min-width:0;max-width:220px;color:var(--ink-2);font-size:12px}.novel-export-cover small{grid-column:1/-1;color:var(--ink-3);overflow-wrap:anywhere}.novel-export-actions{min-height:44px}.novel-export-status{min-width:0;padding:16px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.novel-export-status-title{display:flex;align-items:center;gap:8px;color:var(--ink)}.novel-export-status-title svg{color:var(--accent-9)}.novel-export-status ol{display:flex;flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;counter-reset:export-step}.novel-export-status li{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12px;counter-increment:export-step}.novel-export-status li:before{display:grid;width:22px;height:22px;place-items:center;flex:0 0 auto;border:1px solid var(--border);border-radius:50%;content:counter(export-step);font:600 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.novel-export-status li.is-complete{color:var(--ink)}.novel-export-status li.is-complete:before{border-color:var(--accent-8);color:var(--accent-11);background:var(--accent-a3)}.novel-export-progress,.novel-export-success,.novel-export-error{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.novel-export-progress{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:12px;line-height:1.5}.novel-export-progress>span{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--accent-9);animation:novel-export-pulse 1s ease-in-out infinite alternate}.novel-export-success{display:flex;gap:9px;color:var(--green-11)}.novel-export-success svg{flex:0 0 auto}.novel-export-success strong{display:block;color:var(--ink);font-size:13px}.novel-export-success p{margin:4px 0;color:var(--ink-2);font-size:12px}.novel-export-success small{color:var(--ink-3);font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.novel-export-error strong{color:var(--red-11);font-size:13px}.novel-export-error p{margin:5px 0 10px;color:var(--ink-2);font-size:12px;line-height:1.55}.novel-export-history{min-width:0}.novel-export-history-heading .rt-Button{width:40px;min-width:40px;height:40px;padding:0}.novel-export-history ul{margin:13px 0 0;padding:0;border-top:1px solid var(--border);list-style:none}.novel-export-history li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;padding:11px 0;border-bottom:1px solid var(--border)}.novel-export-history li>div{display:flex;flex-direction:column;gap:3px;min-width:0}.novel-export-history li strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.novel-export-history li small{color:var(--ink-3);font-size:11px;overflow-wrap:anywhere}.novel-export-history-empty,.novel-export-history-error{margin:13px 0 0;padding:18px 0;border-block:1px solid var(--border);color:var(--ink-2);font-size:12px;text-align:center}.novel-export-history-error{color:var(--red-11)}.novel-export-panel.is-compact{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.novel-export-panel.is-compact .novel-export-layout{grid-template-columns:minmax(0,1fr);gap:14px}.novel-export-panel.is-compact .novel-export-fields,.novel-export-panel.is-compact .novel-export-chapters{grid-template-columns:minmax(0,1fr)}.novel-export-loader{margin:11px 0 0;color:var(--skill-ink-3,var(--ink-2));font-size:11px}.novel-export-load-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding:10px;border:1px solid var(--red-7);border-radius:6px;color:var(--red-11);font-size:11px}.novel-export-load-error button{display:inline-flex;align-items:center;gap:5px;min-height:44px;border:1px solid var(--border);border-radius:5px;color:var(--ink);background:var(--surface)}@media(hover:hover){.novel-export-chapters label:hover{background:var(--surface-soft)}.novel-export-panel select:not(:disabled):hover{border-color:var(--gray-8);background:var(--surface-soft)}.novel-export-load-error button:hover{border-color:var(--accent-8)}}@keyframes novel-export-pulse{to{opacity:.35;transform:scale(.82)}}@media(prefers-reduced-motion:reduce){.novel-export-progress>span{animation:none}}@media(max-width:820px){.novel-export-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.novel-export-heading{flex-direction:column}.novel-export-fields,.novel-export-chapters{grid-template-columns:minmax(0,1fr)}.novel-export-panel .rt-SegmentedControlRoot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.novel-export-panel .rt-SegmentedControlItem{min-height:44px}.novel-export-cover{grid-template-columns:minmax(0,1fr)}.novel-export-cover input{max-width:100%}.novel-export-actions{align-items:stretch;flex-direction:column}.novel-export-actions .rt-Button{width:100%;min-height:44px}.novel-export-history li{grid-template-columns:auto minmax(0,1fr)}.novel-export-history li>.rt-Button{grid-column:1/-1;width:100%;min-height:44px}}.novel-quality-dashboard{display:flex;flex-direction:column;gap:24px;min-width:0;color:var(--ink)}.novel-quality-dashboard :is(h2,h3,p){margin:0}.novel-quality-dashboard :is(h2,h3){min-width:0;overflow-wrap:anywhere;text-wrap:balance;letter-spacing:0}.novel-quality-dashboard p{color:var(--ink-2);line-height:1.6;text-wrap:pretty}.novel-quality-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}.novel-quality-dashboard-title{display:flex;align-items:flex-start;gap:11px;min-width:0}.novel-quality-dashboard-title>svg{flex:0 0 auto;margin-top:2px;color:var(--accent-9)}.novel-quality-dashboard-title h2{font-size:20px;line-height:1.2}.novel-quality-dashboard-title p{margin-top:5px;font-size:13px}.novel-quality-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--border)}.novel-quality-dashboard-summary>div{min-width:0;padding:14px 16px}.novel-quality-dashboard-summary>div+div{border-left:1px solid var(--border)}.novel-quality-dashboard-summary span,.novel-quality-dashboard-summary strong{display:block;overflow-wrap:anywhere}.novel-quality-dashboard-summary span{color:var(--ink-3);font-size:12px}.novel-quality-dashboard-summary strong{margin-top:5px;font-size:19px;font-variant-numeric:tabular-nums}.novel-quality-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.novel-quality-dashboard-metric{display:flex;min-width:0;min-height:116px;flex-direction:column;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 6%,transparent)}.novel-quality-dashboard-metric-label{display:flex;align-items:center;gap:8px;min-width:0;color:var(--ink-2);font-size:12px}.novel-quality-dashboard-metric-label svg{flex:0 0 auto;color:var(--accent-9)}.novel-quality-dashboard-metric>strong{margin-top:15px;overflow-wrap:anywhere;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.novel-quality-dashboard-metric>small{margin-top:auto;padding-top:9px;color:var(--ink-3);font-size:11px}.novel-quality-dashboard-evidence,.novel-quality-dashboard-experiments{min-width:0}.novel-quality-dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid var(--border)}.novel-quality-dashboard-section-heading>div{display:flex;align-items:center;gap:8px;min-width:0}.novel-quality-dashboard-section-heading svg{flex:0 0 auto;color:var(--accent-9)}.novel-quality-dashboard-section-heading h3{font-size:15px}.novel-quality-dashboard-section-heading>span{flex:0 0 auto;color:var(--ink-3);font-size:12px;font-variant-numeric:tabular-nums}.novel-quality-dashboard-evidence-list,.novel-quality-dashboard-experiment-list{display:flex;flex-direction:column;min-width:0}.novel-quality-dashboard-evidence-row,.novel-quality-dashboard-experiment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-width:0;padding:14px 0;border-bottom:1px solid var(--border)}.novel-quality-dashboard-evidence-row strong,.novel-quality-dashboard-experiment strong{display:block;overflow-wrap:anywhere;font-size:13px}.novel-quality-dashboard-evidence-row p{margin-top:4px;font-size:12px}.novel-quality-dashboard-experiment span{display:block;margin-top:4px;color:var(--ink-2);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.novel-quality-dashboard-empty,.novel-quality-dashboard-state{display:flex;min-height:116px;align-items:center;justify-content:center;gap:10px;padding:20px;border-block:1px solid var(--border);color:var(--ink-2);text-align:center}.novel-quality-dashboard-state{flex-wrap:wrap}.novel-quality-dashboard-state.is-error{color:var(--red-11)}.novel-quality-dashboard-state .rt-Button{min-height:40px}.novel-quality-dashboard-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent-9);border-radius:50%;animation:novel-quality-spin .8s linear infinite}@keyframes novel-quality-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.novel-quality-dashboard-spinner{animation:none;border-color:var(--accent-9)}}@media(max-width:900px){.novel-quality-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.novel-quality-dashboard{gap:20px}.novel-quality-dashboard-header{align-items:flex-start}.novel-quality-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.novel-quality-dashboard-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--border)}.novel-quality-dashboard-summary>div:nth-child(4){border-top:1px solid var(--border)}.novel-quality-dashboard-metrics{grid-template-columns:minmax(0,1fr)}.novel-quality-dashboard-evidence-row,.novel-quality-dashboard-experiment{align-items:start}.novel-quality-dashboard-state .rt-Button{min-height:44px}}@media(max-width:375px){.novel-quality-dashboard-header{flex-direction:column}.novel-quality-dashboard-summary{grid-template-columns:minmax(0,1fr)}.novel-quality-dashboard-summary>div+div{border-left:0;border-top:1px solid var(--border)}.novel-quality-dashboard-evidence-row,.novel-quality-dashboard-experiment{grid-template-columns:minmax(0,1fr);gap:9px}.novel-quality-dashboard-evidence-row .rt-Badge,.novel-quality-dashboard-experiment .rt-Badge{width:max-content;max-width:100%}}
