:root{color-scheme:light;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei UI,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55;font-weight:400;color:#141413;background:#faf9f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--canvas: #faf9f5;--surface-soft: #f5f0e8;--surface-card: #efe9de;--surface-cream-strong: #e8e0d2;--ink: #141413;--body: #3d3d3a;--body-strong: #252523;--muted: #6c6a64;--muted-soft: #8e8b82;--hairline: #e6dfd8;--hairline-soft: #ebe6df;--primary: #cc785c;--primary-active: #a9583e;--primary-disabled: #e6dfd8;--on-primary: #ffffff;--accent-teal: #5db8a6;--accent-amber: #e8a55a;--success: #5db872;--warning: #d4a017;--danger: #c64545;--display-font: "Cormorant Garamond", "Noto Serif SC", "Songti SC", "Times New Roman", serif;--body-font: Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei UI", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono-font: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--body);background:var(--canvas)}button,input,textarea,select{font:inherit;font-weight:400;letter-spacing:0}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{width:100%;color:var(--ink);background:var(--canvas);border:1px solid var(--hairline);border-radius:8px;padding:11px 13px;outline:0}textarea{min-height:88px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #cc785c26}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid rgba(204,120,92,.28);outline-offset:3px}label{display:grid;gap:8px;color:var(--body-strong);font-size:14px;font-weight:500}.muted-hint{color:var(--muted);font-size:12px;font-weight:400}.shell{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:100vh;background:var(--canvas)}.rail{position:sticky;top:0;display:grid;grid-template-rows:auto 1fr auto;gap:22px;height:100vh;padding:24px 17px 18px;background:var(--surface-card);border-right:1px solid var(--hairline)}.brand-mark,.rail-button{display:grid;place-items:center;width:46px;height:46px;color:var(--ink);background:transparent;border-radius:8px;transition:transform .15s ease,background .15s ease,color .15s ease}.brand-mark{padding:0;overflow:visible}.brand-mark img{width:36px;height:36px;object-fit:contain}.rail-button{color:var(--muted);border:1px solid transparent}.rail-button:hover,.rail-button.active{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.rail-button:active,.primary-action:active,.secondary-action:active,.danger-action:active,.icon-only:active{transform:scale(.97)}.rail-button.disabled{color:var(--muted-soft)}.rail-nav,.rail-footer{display:grid;gap:12px;align-content:start}.rail-footer{align-content:end;justify-items:center}.points{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;font-weight:500}.workspace{position:relative;min-width:0;padding:38px clamp(24px,4vw,56px) 80px;background:var(--canvas)}.workspace-inner{width:min(100%,1200px);margin:0 auto}.workspace-utility{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:22px}.utility-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 13px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:8px}.utility-button:hover{border-color:#cc785c73}.icon-only-utility{width:36px;padding:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.page-header h1{margin:0;color:var(--ink);font-family:var(--display-font);font-size:48px;font-weight:500;line-height:1.05;letter-spacing:0}.eyebrow{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:500}.toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:12px;align-items:center;margin-bottom:26px}.search-box{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:0 14px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:8px}.search-box input{padding:0;background:transparent;border:0;box-shadow:none}.primary-action,.secondary-action,.danger-action,.icon-only{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.primary-action{color:var(--on-primary);background:var(--primary);border:1px solid var(--primary);padding:0 16px;font-weight:500}.primary-action:hover{background:var(--primary-active);border-color:var(--primary-active)}.secondary-action{color:var(--ink);background:var(--canvas);border:1px solid var(--hairline);padding:0 15px;font-weight:500}.secondary-action:hover{border-color:#cc785c73}.danger-action{padding:0 14px;color:#fff;background:var(--danger);border:1px solid var(--danger);font-weight:500}.danger-action:hover{background:#a83b3b;border-color:#a83b3b}.icon-action{white-space:nowrap}.icon-only{width:36px;height:36px;min-height:36px;color:var(--muted);background:var(--canvas);border:1px solid var(--hairline)}.icon-only.danger:hover{color:var(--danger);border-color:#c645456b}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.project-card{position:relative;display:grid;gap:12px;min-height:252px;padding:20px;color:var(--ink);background:var(--surface-card);border:1px solid var(--hairline);border-radius:12px;cursor:pointer}.project-card:hover{border-color:#cc785c6b;box-shadow:0 1px 3px #14141314}.project-delete{position:absolute;top:12px;right:12px;z-index:1;background:#faf9f5e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-cover{display:grid;place-items:center;height:132px;color:var(--primary);background:var(--surface-cream-strong);border-radius:12px}.project-card h3,.project-card p{margin:0}.project-card h3{color:var(--ink);font-size:18px;font-weight:500}.project-card p,.project-card time{color:var(--muted);font-size:13px}.hidden-input{display:none}.settings-panel+.settings-panel{margin-top:18px}.library-error{margin-bottom:18px}.upload-queue{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:18px}.upload-item{display:flex;align-items:center;gap:12px;padding:13px 14px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:10px}.upload-item div{display:grid;min-width:0}.upload-item strong,.upload-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-item small{color:var(--muted)}.compact-ring{width:24px;height:24px;border-width:2px;flex:0 0 auto}.novel-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.novel-card{min-height:280px;cursor:default;transition:border-color .16s ease,box-shadow .16s ease}.novel-card.highlighted{border-color:var(--primary);box-shadow:0 0 0 4px #cc785c2e}.novel-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.novel-cover{width:58px;height:72px}.novel-status{padding:5px 9px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:999px;font-size:12px}.novel-status.ready{color:var(--success)}.novel-status.failed,.novel-status.delete_failed{color:var(--danger)}.novel-status.stale{color:var(--warning)}.novel-progress-wrap{display:grid;gap:7px}.novel-progress-wrap small{color:var(--muted);line-height:1.45}.novel-error{color:var(--danger)!important}.novel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:auto}.library-analysis-note{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:15px 17px;color:var(--body);background:linear-gradient(120deg,#cc785c1a,#e8a55a14);border:1px solid rgba(204,120,92,.22);border-radius:12px}.library-analysis-icon{display:grid;place-items:center;width:38px;height:38px;color:var(--primary-active);background:#ffffffb3;border-radius:10px;box-shadow:0 6px 18px #61433114;flex:0 0 auto}.library-analysis-note div{display:grid;gap:2px}.library-analysis-note strong{color:var(--ink)}.library-analysis-note span:last-child{color:var(--muted);font-size:13px}.analysis-backdrop{padding:22px}.analysis-dialog{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(1100px,100%);height:min(820px,calc(100vh - 44px));min-height:520px;overflow:hidden;color:var(--body);background:var(--canvas);border:1px solid var(--hairline);border-radius:18px;box-shadow:0 24px 72px #1414133d}.analysis-dialog .dialog-close{z-index:2}.analysis-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:26px 64px 18px 28px;background:linear-gradient(135deg,#f5f0e8eb,#faf9f5e0)}.analysis-dialog-head h2,.analysis-dialog-head p{margin:0}.analysis-dialog-head h2{color:var(--ink);font-family:var(--display-font);font-size:clamp(30px,4vw,42px);font-weight:500;line-height:1.05}.analysis-dialog-head>div{display:grid;gap:7px}.analysis-dialog-head>div>p:last-child{color:var(--muted);font-size:13px}.analysis-dialog-head .analysis-dialog-actions{display:flex;flex:0 0 auto;align-items:flex-end;gap:9px}.analysis-dialog-actions small{max-width:180px;color:var(--muted);font-size:11px;text-align:right}.analysis-tabs{display:flex;gap:4px;padding:0 28px;background:var(--canvas);border-bottom:1px solid var(--hairline)}.analysis-tabs button{position:relative;display:inline-flex;align-items:center;gap:7px;padding:14px 15px 12px;color:var(--muted);background:transparent;border-bottom:2px solid transparent}.analysis-tabs button.active{color:var(--primary-active);border-bottom-color:var(--primary)}.analysis-tabs small{min-width:24px;padding:1px 6px;color:inherit;background:var(--surface-soft);border-radius:999px;font-size:11px;text-align:center}.analysis-loading,.analysis-error{display:flex;align-items:center;justify-content:center;gap:15px;min-height:280px;padding:32px}.analysis-loading div,.analysis-error div{display:grid;gap:3px}.analysis-loading strong,.analysis-error strong{color:var(--ink)}.analysis-loading div span,.analysis-error div span{color:var(--muted);font-size:13px}.analysis-error>svg{color:var(--danger)}.analysis-scroll{min-height:0;padding:24px 28px 30px;overflow-y:auto;overscroll-behavior:contain}.analysis-map-view{display:grid;align-content:start;gap:18px}.analysis-mainline{display:grid;gap:8px;padding:20px 22px;color:var(--body-strong);background:linear-gradient(135deg,#f2e6dc,#f7efe8);border:1px solid rgba(204,120,92,.2);border-radius:13px}.analysis-mainline span{color:var(--primary-active);font-size:12px;font-weight:700;letter-spacing:.08em}.analysis-mainline p,.analysis-antagonist p{margin:0;line-height:1.75}.analysis-antagonist{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:15px 18px;background:var(--surface-soft);border-left:3px solid var(--accent-amber);border-radius:8px}.analysis-antagonist strong{color:var(--ink)}.analysis-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.analysis-map-card{padding:18px 20px;background:#ffffff6b;border:1px solid var(--hairline);border-radius:11px}.analysis-map-card h3{margin:0 0 10px;color:var(--ink);font-size:15px}.analysis-map-card ul,.chapter-analysis-sections ul{display:grid;gap:7px;margin:0;padding-left:19px}.analysis-map-card li,.chapter-analysis-sections li{line-height:1.6}.analysis-map-card li::marker,.chapter-analysis-sections li::marker{color:var(--primary)}.analysis-meta{display:flex;justify-content:space-between;gap:12px;padding-top:2px;color:var(--muted-soft);font-size:12px}.chapter-analysis-view{display:grid;align-content:start;gap:16px}.chapter-analysis-toolbar{position:sticky;top:-24px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px -2px 0;padding:4px 2px 12px;background:linear-gradient(var(--canvas) 80%,rgba(250,249,245,0))}.chapter-analysis-toolbar>span{color:var(--muted);font-size:12px;white-space:nowrap}.analysis-search{width:min(440px,100%)}.chapter-analysis-list{display:grid;gap:10px}.chapter-analysis-card{background:#ffffff61;border:1px solid var(--hairline);border-radius:11px;transition:border-color .16s ease,box-shadow .16s ease}.chapter-analysis-card[open]{border-color:#cc785c57;box-shadow:0 8px 26px #2d251e0f}.chapter-analysis-card summary{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:14px 17px;cursor:pointer;list-style:none}.chapter-analysis-card summary::-webkit-details-marker{display:none}.chapter-analysis-index{display:grid;place-items:center;width:34px;height:34px;color:var(--primary-active);background:var(--surface-soft);border-radius:9px;font-family:var(--mono-font);font-size:12px;font-weight:700}.chapter-analysis-title{display:grid;min-width:0;gap:3px}.chapter-analysis-title strong{color:var(--ink)}.chapter-analysis-title small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.chapter-analysis-body{display:grid;gap:14px;padding:3px 18px 18px 68px}.chapter-analysis-summary{margin:0;color:var(--body-strong);line-height:1.75}.chapter-character-tags{display:flex;flex-wrap:wrap;gap:7px}.chapter-character-tags span{padding:3px 9px;color:var(--primary-active);background:#cc785c17;border:1px solid rgba(204,120,92,.16);border-radius:999px;font-size:12px}.chapter-hook{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:11px 13px;background:#e8a55a17;border-radius:8px}.chapter-hook strong{color:var(--body-strong)}.chapter-analysis-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chapter-analysis-sections article{padding:13px 15px;background:var(--surface-soft);border-radius:9px}.chapter-analysis-sections h4{margin:0 0 8px;color:var(--ink);font-size:13px}.analysis-empty{padding:64px 20px;color:var(--muted);text-align:center}.create-dialog{gap:20px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#1817156b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-dialog,.status-dialog{position:relative;display:grid;gap:14px;width:min(460px,100%);padding:24px;color:var(--ink);background:var(--canvas);border:1px solid var(--hairline);border-radius:12px;box-shadow:0 18px 48px #1414132e}.confirm-dialog h3,.confirm-dialog p,.status-dialog h3,.status-dialog p{margin:0}.confirm-dialog h3,.status-dialog h3{color:var(--ink);font-family:var(--display-font);font-size:28px;font-weight:500;line-height:1.1}.confirm-dialog p,.status-dialog p{color:var(--muted);line-height:1.65}.dialog-close{position:absolute;top:12px;right:12px}.confirm-icon{display:grid;place-items:center;width:42px;height:42px;color:var(--danger);background:#c645451a;border:1px solid rgba(198,69,69,.24);border-radius:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px}.status-dialog{justify-items:center;text-align:center}.loading-ring{width:38px;height:38px;border:3px solid rgba(204,120,92,.18);border-top-color:var(--primary);border-radius:50%;animation:spinRing .76s linear infinite}@keyframes spinRing{to{transform:rotate(360deg)}}.detail-header{align-items:flex-end}.detail-title-area{display:grid;gap:12px;min-width:0}.back-action{width:36px;height:36px;min-height:36px}.title-edit-row{display:grid;grid-template-columns:minmax(0,760px) auto;gap:12px;align-items:center}.title-input{width:100%;padding:0;color:var(--ink);background:transparent;border:0;border-radius:0;font-family:var(--display-font);font-size:40px;font-weight:500;line-height:1.05;box-shadow:none}.title-input:focus{box-shadow:none}.header-actions,.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.tab-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.tab-strip button{min-width:104px;height:38px;color:var(--muted);background:transparent;border-radius:8px;padding:0 14px}.tab-strip button.active{color:var(--ink);background:var(--surface-card)}.editor-panel,.settings-panel{display:grid;gap:18px;width:100%;max-width:1120px;margin:0 auto;padding:24px;color:var(--ink);background:var(--surface-card);border:1px solid var(--hairline);border-radius:12px}.field-grid{display:grid;gap:14px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.story-field-grid{align-items:stretch}.story-field{display:grid;grid-template-rows:auto 46px 42px minmax(32px,auto);gap:10px;min-height:172px;padding:15px;background:var(--canvas);border:1px solid var(--hairline);border-radius:12px}.story-field>input{height:42px;min-height:42px}.story-field>select{height:46px;min-height:46px;padding:0 36px 0 12px;font-size:15px;line-height:1.45}.story-field-label{display:flex;align-items:center;min-height:20px;color:var(--body-strong);font-size:14px;font-weight:500}.tag-row{display:flex;gap:8px;flex-wrap:wrap;align-content:flex-start;min-height:32px}.tag-row-placeholder{pointer-events:none}.tag-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 11px;color:var(--ink);background:var(--surface-card);border:1px solid var(--hairline);border-radius:999px;font-size:13px;font-weight:500}.tag-chip:hover{border-color:#cc785c73}.card-list{display:grid;gap:14px}.edit-card{display:grid;gap:12px;padding:18px;background:var(--canvas);border:1px solid var(--hairline);border-radius:12px}.characters-panel{gap:20px;max-width:1220px}.character-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.character-toolbar>div{display:grid;gap:4px;margin-right:auto}.character-toolbar h2{margin:0;color:var(--ink);font-family:var(--display-font);font-size:30px;font-weight:500;line-height:1.1}.character-toolbar span{color:var(--muted);font-size:13px}.character-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.character-card{display:grid;gap:16px;min-width:0;padding:20px;background:var(--canvas);border:1px solid var(--hairline);border-radius:12px}.character-card-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:start}.character-avatar{display:grid;place-items:center;width:52px;height:52px;color:var(--on-primary);background:var(--primary);border-radius:12px;font-size:22px;font-weight:600}.character-main-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px}.character-name-input{font-weight:500}.character-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.character-text-grid label{min-width:0;grid-template-rows:auto 1fr}.character-text-grid textarea{height:100%;min-height:190px;line-height:1.72}.character-card-actions{display:flex;justify-content:flex-end}.script-card textarea{font-family:var(--mono-font);line-height:1.7}.scripts-workbench{display:grid;gap:18px;width:100%;max-width:1220px;margin:0 auto;padding:22px;color:var(--ink);background:var(--surface-card);border:1px solid var(--hairline);border-radius:12px}.scripts-workbench label,.scripts-workbench .section-head h3,.scripts-workbench .inline-title{color:var(--ink)}.scripts-workbench input,.scripts-workbench textarea,.scripts-workbench select{color:var(--ink);background:var(--canvas);border-color:var(--hairline)}.scripts-workbench input:focus,.scripts-workbench textarea:focus,.scripts-workbench select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #cc785c2e}.scripts-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.episode-sidebar{position:sticky;top:18px;display:grid;gap:8px}.episode-list-button{display:grid;gap:4px;width:100%;padding:13px;color:var(--muted);text-align:left;background:var(--canvas);border:1px solid var(--hairline);border-radius:8px}.episode-list-button.active{color:var(--ink);border-color:#cc785c9e;background:var(--surface-soft)}.episode-list-button span,.episode-list-button small{font-size:12px}.episode-list-button strong{overflow:hidden;color:inherit;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.script-main{display:grid;gap:16px;min-width:0}.script-main-head,.section-head{display:grid;gap:12px}.script-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scripts-workbench .secondary-action{color:var(--ink);background:var(--canvas);border-color:var(--hairline)}.scripts-workbench .secondary-action:hover{border-color:#cc785c94}.section-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.section-head h3{margin:0;color:var(--ink);font-size:18px;font-weight:500}.scene-list{display:grid;gap:12px}.scene-card{display:grid;gap:12px;padding:16px;background:var(--canvas);border:1px solid var(--hairline);border-radius:12px}.scene-card-head{display:grid;grid-template-columns:94px minmax(0,1fr) auto;gap:10px;align-items:end}.scene-number input{text-align:center}.scene-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.script-textarea,.scene-dialogue-text{font-family:inherit;line-height:1.75}.script-body-field{min-width:0}.script-stream-status{display:inline-flex;align-items:center;gap:10px;width:fit-content;min-height:38px;padding:0 12px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:8px}.stream-dot{width:8px;height:8px;background:var(--accent-teal);border-radius:50%;box-shadow:0 0 #5db8a647;animation:streamPulse 1.2s ease-out infinite}.script-typewriter-wrap{display:grid;gap:10px}.script-typewriter,.live-stream-preview{margin:0;overflow:auto;padding:14px;color:var(--ink);white-space:pre-wrap;background:var(--canvas);border:1px solid var(--hairline);border-radius:8px;font-family:var(--mono-font);font-size:14px;line-height:1.7}.script-typewriter{min-height:420px;max-height:680px}.live-stream-preview{min-height:220px;max-height:460px}.typewriter-caret{display:inline-block;width:7px;height:1.2em;margin-left:2px;vertical-align:-.18em;background:var(--primary);animation:caretBlink .8s steps(2,start) infinite}@keyframes streamPulse{0%{box-shadow:0 0 #5db8a647}to{box-shadow:0 0 0 10px #5db8a600}}@keyframes caretBlink{50%{opacity:0}}.compact-empty{padding:16px}.card-title-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.inline-title{min-width:0;font-size:17px;font-weight:500}.episode-badge{display:inline-grid;place-items:center;min-width:70px;min-height:34px;color:var(--on-primary);background:var(--primary);border-radius:999px;font-size:13px;font-weight:600}.compact-field{grid-template-columns:auto 72px;align-items:center}.compact{min-height:36px;padding:0 12px}.job-status{display:flex;align-items:center;gap:10px;max-width:760px;margin:0 0 16px;padding:12px 14px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:8px}.job-status-body{display:grid;gap:8px;min-width:0;flex:1}.job-progress{overflow:hidden;width:100%;height:5px;background:var(--surface-cream-strong);border-radius:999px}.job-progress span{display:block;height:100%;background:var(--primary);border-radius:inherit;transition:width .18s ease}.job-status small{color:var(--danger)}.job-status .dot{width:9px;height:9px;background:var(--muted);border-radius:999px}.job-status.succeeded .dot{background:var(--success)}.job-status.failed .dot{background:var(--danger)}.empty-state{display:grid;place-items:center;gap:12px;min-height:280px;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--hairline);border-radius:12px}.empty-guidance{display:grid;gap:8px;padding:22px;color:var(--muted);background:var(--canvas);border:1px dashed var(--hairline);border-radius:12px}.scripts-workbench .empty-guidance{color:var(--muted);background:var(--canvas);border-color:var(--hairline)}.empty-guidance h3,.empty-guidance p{margin:0}.empty-guidance h3{color:var(--ink);font-size:17px;font-weight:500}.scripts-workbench .empty-guidance h3{color:var(--ink)}.notice-text{width:fit-content;margin:0 0 16px;padding:10px 13px;color:var(--on-primary);background:var(--primary);border-radius:8px;font-weight:500}.error-text,.status-line{color:var(--danger);margin:0}.status-line{color:var(--success)}.login-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--canvas)}.login-panel{display:grid;gap:24px;width:min(460px,100%);padding:32px;color:var(--ink);background:var(--surface-card);border:1px solid var(--hairline);border-radius:16px}.login-panel h1{margin:0;color:var(--ink);font-family:var(--display-font);font-size:40px;font-weight:500;line-height:1.08}.login-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600}.login-brand img{width:34px;height:34px;object-fit:contain}.form-stack{display:grid;gap:16px}.toggle-row{display:flex;align-items:center;gap:10px}.toggle-row input{width:18px;height:18px;accent-color:var(--primary)}.sop-panel{margin-bottom:18px}.muted-text{margin:0 0 14px;color:var(--muted);line-height:1.65}.batch-instruction-grid,.continuity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.checkbox-row{display:flex;align-items:center;gap:9px;margin-bottom:18px}.checkbox-row input{width:17px;height:17px;accent-color:var(--primary)}.continuity-item,.quality-issue{padding:12px 14px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:8px}.continuity-item.failed,.quality-issue.advisory{color:var(--ink);background:color-mix(in srgb,var(--warning) 7%,var(--surface-soft));border-color:color-mix(in srgb,var(--warning) 38%,var(--hairline))}.quality-advisory{display:grid;gap:4px;margin-bottom:16px;padding:12px 14px;color:var(--ink);background:color-mix(in srgb,var(--warning) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--warning) 38%,var(--hairline));border-radius:8px;line-height:1.55}.quality-advisory strong{color:color-mix(in srgb,var(--warning) 76%,var(--ink))}.quality-blocker{display:grid;gap:4px;margin-bottom:16px;padding:12px 14px;color:var(--ink);background:color-mix(in srgb,var(--danger) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 35%,var(--hairline));border-radius:8px;line-height:1.55}.quality-blocker strong,.quality-issue.blocker{color:var(--danger)}.quality-list,.refinement-preview{display:grid;gap:12px;margin-top:18px}.quality-list h3,.quality-issue p,.quality-issue blockquote{margin:0}.quality-issue{display:grid;gap:9px}.quality-issue blockquote{padding-left:12px;color:var(--muted);border-left:2px solid var(--hairline-strong)}.workflow-stepper{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 18px}.workflow-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;min-width:0;min-height:106px;padding:14px;color:var(--muted);text-align:left;background:#fffdf9b8;border:1px solid var(--hairline);border-radius:14px;box-shadow:0 8px 24px #4132240a;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.workflow-step:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 35%,var(--hairline))}.workflow-step.is-active{color:var(--body-strong);background:linear-gradient(145deg,#fffdf9,#f8eee7);border-color:color-mix(in srgb,var(--primary) 56%,var(--hairline));box-shadow:0 14px 32px #9b5d451f}.workflow-step.is-locked{color:var(--muted-soft);background:#f5f0e87a}.workflow-step.is-stale,.workflow-step.is-attention{border-color:color-mix(in srgb,var(--accent-amber) 50%,var(--hairline))}.workflow-step-marker{display:grid;place-items:center;width:32px;height:32px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:50%;font-size:13px;font-weight:700}.workflow-step.is-current .workflow-step-marker,.workflow-step.is-review .workflow-step-marker,.workflow-step.is-active .workflow-step-marker{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.workflow-step.is-completed .workflow-step-marker{color:#fff;background:var(--success);border-color:var(--success)}.workflow-step.is-stale .workflow-step-marker,.workflow-step.is-attention .workflow-step-marker{color:#fff;background:var(--accent-amber);border-color:var(--accent-amber)}.workflow-step-copy,.workflow-step-copy>span{display:block;min-width:0}.workflow-step-copy{font-size:12px;line-height:1.45}.workflow-step-copy>span:not(.workflow-step-topline){margin-top:6px}.workflow-step-copy>small{display:block;margin-top:7px;color:var(--muted-soft)}.workflow-step-topline{display:flex!important;align-items:center;justify-content:space-between;gap:6px}.workflow-step-topline strong{color:var(--ink);font-size:14px}.workflow-step-topline small{flex:0 0 auto;color:var(--primary-active);font-size:10px;font-weight:700}.workflow-task-guide{display:grid;gap:10px;width:100%;max-width:1120px;margin:0 auto 18px;padding:16px 18px;overflow:hidden;color:var(--body);background:radial-gradient(circle at 92% 0%,rgba(232,165,90,.14),transparent 34%),linear-gradient(145deg,#fffdf9,#f7efe7);border:1px solid color-mix(in srgb,var(--primary) 28%,var(--hairline));border-radius:16px;box-shadow:0 18px 44px #47322214}.workflow-task-guide.is-locked{background:linear-gradient(145deg,#faf8f3,#f1eee8);border-color:var(--hairline);box-shadow:0 10px 28px #4732220a}.workflow-guide-main{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center}.workflow-guide-icon{display:grid;place-items:center;width:38px;height:38px;color:var(--primary-active);background:#cc785c1f;border-radius:13px}.workflow-guide-main h2,.workflow-guide-main p{margin:0}.workflow-guide-main h2{margin:2px 0 0;color:var(--ink);font-family:var(--display-font);font-size:clamp(20px,2.4vw,25px);font-weight:500;line-height:1.1}.workflow-guide-status{min-height:30px;padding:5px 10px;color:var(--primary-active);background:#cc785c1a;border:1px solid rgba(204,120,92,.18);border-radius:999px;font-size:12px;font-weight:700}.workflow-lock-callout,.legacy-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;color:var(--muted);background:#ffffff9e;border:1px dashed var(--hairline);border-radius:10px}.workflow-lock-callout{justify-content:flex-end;padding:0;background:transparent;border:0}.workflow-feedback{display:grid;gap:8px;width:100%;max-width:1120px;margin:0 auto}.automation-console{width:min(1120px,calc(100% - 32px));margin:0 auto 18px;overflow:hidden;background:linear-gradient(135deg,#fffdf9fa,#f5f0e8db);border:1px solid var(--hairline);border-radius:16px;box-shadow:0 12px 30px #4132240d}.automation-console.is-enabled{border-color:#cc785c7a;box-shadow:0 14px 34px #cc785c1f}.automation-console.is-blocked{border-color:#b4534085}.automation-console-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px}.automation-console-main h2,.automation-console-main p{margin:0}.automation-console-main h2{margin:2px 0 5px;color:var(--ink);font-family:var(--display-font);font-size:21px;font-weight:500}.automation-console-main>div:first-child>p:last-child{color:var(--muted);font-size:13px}.automation-switch-group{display:flex;align-items:center;gap:12px;flex:0 0 auto}.automation-state{color:var(--primary-active);font-size:12px;font-weight:700}.automation-switch{position:relative;display:inline-flex;width:48px;height:28px}.automation-switch input{position:absolute;width:1px;height:1px;opacity:0}.automation-switch span{width:100%;height:100%;padding:3px;background:#c9c3ba;border-radius:999px;cursor:pointer;transition:background .18s ease}.automation-switch span:after{display:block;width:22px;height:22px;content:"";background:#fff;border-radius:50%;box-shadow:0 2px 7px #32261c3d;transition:transform .18s ease}.automation-switch input:checked+span{background:var(--primary-active)}.automation-switch input:checked+span:after{transform:translate(20px)}.automation-switch input:focus-visible+span{outline:3px solid rgba(204,120,92,.25);outline-offset:2px}.automation-switch input:disabled+span{cursor:wait;opacity:.6}.automation-settings{border-top:1px solid rgba(132,114,94,.13)}.automation-settings summary{padding:11px 20px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.automation-settings-body{display:grid;gap:12px;padding:4px 20px 18px}.automation-settings-body textarea{margin-top:6px}.automation-settings-body .secondary-action{justify-self:start}.workflow-feedback .notice-text,.workflow-feedback .error-text{margin-bottom:14px}.workflow-primary-panel{background:#fffdf9;border-color:color-mix(in srgb,var(--primary) 18%,var(--hairline));box-shadow:0 16px 40px #4132240f}.workflow-support-tools{width:100%;max-width:1120px;margin:18px auto 0;border:1px solid var(--hairline);border-radius:14px;background:#f5f0e880}.workflow-support-tools>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;color:var(--body-strong);cursor:pointer;list-style:none}.workflow-support-tools>summary::-webkit-details-marker{display:none}.workflow-support-tools>summary span,.workflow-support-tools>summary small{display:block}.workflow-support-tools>summary small{margin-top:4px;color:var(--muted);font-weight:400}.workflow-support-state{flex:0 0 auto;color:var(--primary-active);font-size:12px;font-weight:700}.workflow-support-tools[open]{padding-bottom:18px}.workflow-support-tools[open]>summary{border-bottom:1px solid var(--hairline);margin-bottom:18px}.workflow-support-tools .editor-panel{width:calc(100% - 36px);margin-bottom:18px;background:#fffdf9}.legacy-mode-banner{width:100%;max-width:1120px;margin:0 auto 18px;color:#72521d;background:#e8a55a1a;border-style:solid;border-color:#e8a55a4d}.workflow-step-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center;width:100%;max-width:1120px;margin:0 auto 18px;padding:17px 18px;background:#5db87212;border:1px solid rgba(93,184,114,.22);border-radius:12px}.workflow-result-heading{display:flex;gap:10px;align-items:center;color:var(--success)}.workflow-result-heading h3,.workflow-result-heading p{margin:0}.workflow-result-heading h3{color:var(--ink)}.workflow-result-summary{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}.workflow-result-summary div{display:grid;gap:3px}.workflow-result-summary .wide{grid-column:1 / -1}.workflow-result-summary dt{color:var(--muted-soft);font-size:11px}.workflow-result-summary dd{margin:0;color:var(--body-strong);font-size:13px;line-height:1.6}.legacy-mode-banner div,.legacy-mode-banner span{display:grid;gap:3px}.legacy-mode-banner span{color:var(--muted);font-size:13px}.field-error{color:var(--danger);font-size:12px;font-weight:600}.workflow-sticky-actions{position:sticky;bottom:12px;z-index:5;margin:0 -8px -8px;padding:12px;background:#fffdf9e6;border:1px solid rgba(230,223,216,.84);border-radius:12px;box-shadow:0 12px 28px #4132241f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workflow-approval-success{position:fixed;top:24px;right:28px;z-index:40;display:flex;align-items:center;gap:10px;max-width:360px;padding:14px 18px;color:#285e38;background:#f2fbf3;border:1px solid rgba(93,184,114,.34);border-radius:12px;box-shadow:0 16px 42px #2c5a3729}.workflow-approval-success span,.workflow-approval-success strong{display:block}.workflow-approval-success span{font-size:12px}.workflow-approval-success strong{color:#204e2d;font-size:14px}.workflow-swap-enter-active,.workflow-swap-leave-active,.approval-pop-enter-active,.approval-pop-leave-active{transition:opacity .2s ease,transform .2s ease}.workflow-swap-enter-from,.workflow-swap-leave-to{opacity:0;transform:translateY(8px)}.approval-pop-enter-from,.approval-pop-leave-to{opacity:0;transform:translateY(-8px) scale(.96)}.workflow-feedback .job-status{width:100%;max-width:none;margin:0 0 14px;padding:15px 16px;background:linear-gradient(90deg,#f5f0e8f5,#fffdf9f5);border-radius:12px}.job-status-icon{display:grid;place-items:center;width:38px;height:38px;color:var(--primary);background:#cc785c1a;border-radius:10px}.job-status.running .job-status-icon svg{animation:spinRing 1.2s linear infinite}.job-status.failed .job-status-icon{color:var(--danger);background:#c645451a}.job-status.succeeded .job-status-icon{color:var(--success);background:#5db8721a}.job-status-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-status-heading strong{color:var(--ink)}.job-status-heading small{color:var(--primary-active);font-weight:700}.job-progress.indeterminate span{width:38%!important;background:linear-gradient(90deg,transparent,var(--primary),transparent);animation:workflowProgress 1.35s ease-in-out infinite}.job-status.failed .job-progress.indeterminate span{width:100%!important;background:#c6454561;animation:none;transform:none}@keyframes workflowProgress{0%{transform:translate(-120%)}to{transform:translate(320%)}}.workflow-skeleton{display:grid;gap:18px;width:100%;max-width:1120px;margin:40px auto 0}.workflow-skeleton span,.skeleton-line,.skeleton-guide,.skeleton-panel{background:linear-gradient(100deg,#eee8de 25%,#faf7f1,#eee8de 65%);background-size:220% 100%;animation:skeletonShimmer 1.4s ease-in-out infinite}.skeleton-line.title{width:42%;height:44px;border-radius:10px}.skeleton-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.skeleton-steps span{height:104px;border-radius:14px}.skeleton-guide,.skeleton-panel{display:grid;gap:12px;padding:24px;border-radius:16px}.skeleton-guide span,.skeleton-panel span{height:16px;background:#ffffff8a;border-radius:999px;animation:none}.skeleton-guide span:first-child{width:38%}.skeleton-guide span:nth-child(2){width:82%}.skeleton-guide span:last-child{width:66%}.skeleton-panel{min-height:280px}.skeleton-panel span:nth-child(odd){width:56%}@keyframes skeletonShimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (max-width: 840px){.automation-console-main{align-items:flex-start;flex-direction:column}.automation-switch-group{justify-content:space-between;width:100%}.shell{grid-template-columns:64px minmax(0,1fr)}.rail{padding:18px 8px}.brand-mark,.rail-button{width:44px;height:44px}.workspace{padding:24px 16px 56px}.page-header{align-items:flex-start;flex-direction:column}.page-header h1,.title-input{font-size:32px}.toolbar{grid-template-columns:1fr}.library-analysis-note{align-items:flex-start}.analysis-backdrop{align-items:stretch;padding:0}.analysis-dialog{width:100%;height:100vh;min-height:0;border:0;border-radius:0}.analysis-dialog-head{flex-direction:column;padding:22px 56px 16px 18px}.analysis-dialog-head .novel-status{display:none}.analysis-dialog-head .analysis-dialog-actions{width:100%;flex-direction:row;align-items:center}.analysis-dialog-actions small{max-width:none;text-align:left}.analysis-tabs{padding:0 10px}.analysis-tabs button{flex:1;justify-content:center;padding-inline:8px}.analysis-scroll{padding:18px 16px 28px}.analysis-map-grid,.chapter-analysis-sections{grid-template-columns:1fr}.analysis-antagonist,.chapter-hook{grid-template-columns:1fr;gap:5px}.analysis-meta,.chapter-analysis-toolbar{align-items:stretch;flex-direction:column}.chapter-analysis-toolbar{top:-18px}.analysis-search{width:100%}.chapter-analysis-card summary{grid-template-columns:34px minmax(0,1fr);gap:9px;padding-inline:12px}.chapter-analysis-body{padding:2px 13px 15px}.field-grid.two,.character-grid,.character-main-fields,.character-text-grid{grid-template-columns:1fr}.character-text-grid textarea{min-height:150px}.character-card-head{grid-template-columns:44px minmax(0,1fr) auto}.character-avatar{width:44px;height:44px;font-size:19px}.scripts-layout{grid-template-columns:1fr}.episode-sidebar{position:static;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.scene-meta-grid,.scene-card-head,.section-head,.batch-instruction-grid,.continuity-grid,.title-edit-row{grid-template-columns:1fr}.card-title-row{grid-template-columns:1fr auto}.episode-badge{grid-column:1 / -1;justify-self:start}.workflow-stepper{grid-template-columns:repeat(5,minmax(210px,1fr));margin-right:-16px;padding:0 16px 8px 0;overflow-x:auto;scroll-snap-type:x proximity}.workflow-step{scroll-snap-align:start}.workflow-guide-main{grid-template-columns:1fr}.workflow-guide-main{position:relative}.workflow-guide-status{position:absolute;top:0;right:0}.workflow-lock-callout,.legacy-mode-banner,.workflow-support-tools>summary{align-items:flex-start;flex-direction:column}.workflow-step-result{grid-template-columns:1fr}.workflow-step-result>button{width:100%}.workflow-result-summary{grid-template-columns:1fr}.workflow-result-summary .wide{grid-column:auto}.workflow-sticky-actions{justify-content:stretch}.workflow-sticky-actions button{width:100%}.workflow-approval-success{top:14px;right:14px;left:78px}.skeleton-steps{grid-template-columns:repeat(5,210px);overflow:hidden}}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;min-width:760px;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 10px;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:middle}.admin-table th{color:var(--muted);font-size:12px;font-weight:700}.admin-table td small{display:block;margin-top:3px;color:var(--muted)}.compact-input{width:72px}.status-pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--canvas));color:var(--primary-active);font-size:12px;font-weight:700}.status-pill.muted{background:var(--surface-card);color:var(--muted)}.status-pill.running{background:color-mix(in srgb,var(--accent-teal) 16%,var(--canvas));color:#287b6d}.billing-details summary{cursor:pointer;color:var(--primary-active);font-weight:700;white-space:nowrap}.billing-details div{min-width:260px;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.5}.pricing-grid,.billing-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.pricing-card,.metric-card{padding:18px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-soft)}.pricing-card{display:grid;gap:12px}.pricing-card-head{display:flex;align-items:center;gap:9px;min-width:0}.pricing-card-head strong{overflow-wrap:anywhere}.add-pricing-row{margin-top:18px}.billing-summary-grid{margin-bottom:18px}.metric-card{display:grid;gap:4px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:clamp(26px,4vw,40px)}.negative-amount{color:var(--danger);font-weight:700}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
