:root{--paper:#f6f4ee;--surface:#fffefa;--ink:#222d28;--muted:#6e746d;--line:#dddcd2;--green:#173f35;--green-light:#e8eee5;--sidebar:#153a32;--error:#9f332b;--amber:#825f22;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,a,input,textarea,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #45816a}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.18;letter-spacing:-.025em}h3{font-size:16px;line-height:1.4}h4{font-size:14px;margin-bottom:6px}p{margin-bottom:16px}small{font-size:12px}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}input[type=number]{font-variant-numeric:tabular-nums}::selection{background:#d9e8cf}.loading-screen{max-width:700px;margin:15vh auto;padding:32px;text-align:center}.loading-screen h1{font-size:34px}.muted,.field-note{color:var(--muted)}.field-note{font-size:12px;line-height:1.7;margin:14px 0}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--muted)}.button{border:1px solid transparent;min-height:42px;padding:10px 17px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:13px;font-weight:600;line-height:1.4;transition:background .16s,border-color .16s,transform .16s}.button:active{transform:translateY(1px)}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover{background:#245b47}.button.secondary{background:transparent;border-color:#c7cdc2;color:var(--ink)}.button.secondary:hover{background:#ecefe6;border-color:#8d9d8a}.button.text-button{color:var(--green);background:transparent;padding-left:5px;padding-right:5px}.button.text-button:hover{background:#e9eee4}.button.large{min-height:49px;padding:14px 22px}.button.compact{min-height:34px;padding:7px 12px;font-size:12px}.button.subtle-danger{color:var(--error);background:transparent;font-size:12px;padding:5px 0;min-height:32px}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid #d7dccf;border-radius:4px;background:#f0f1e9;font-size:11px;font-weight:600;white-space:nowrap}.badge.good{color:#265c45;background:#e7eddf;border-color:#c6d6bf}.badge.warn{color:var(--amber);background:#f5edda;border-color:#e0cd9e}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;z-index:20;background:var(--sidebar);color:#ecf0e7;padding:29px 19px 18px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;margin:0 9px 31px;font-size:19px;font-weight:700;letter-spacing:-.04em}.brand img{width:36px;height:36px}.brand-small{font-family:var(--serif);font-size:15px;font-weight:400}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.05em;color:#b6c9bc;margin-top:2px}.new-book{width:100%;background:#e4eadb;color:#183d31;border:1px solid #edf2e7;justify-content:flex-start;margin-bottom:25px;padding-left:15px}.new-book>span{font-size:19px;font-weight:400}.sidebar-label{font-size:9px;letter-spacing:.14em;font-weight:700;color:#a9c0b2;padding:0 10px;margin:0 0 12px}.project-list{margin-bottom:25px}.project-link{display:flex;align-items:center;gap:11px;width:100%;color:#c5d5cb;background:transparent;border:0;border-radius:6px;text-align:left;padding:11px 10px;margin-bottom:4px;min-width:0}.project-link.selected{background:#285047;color:#f4f5ed}.project-link:hover{background:#23483f}.project-link strong{display:block;font-size:12px;font-weight:500;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-link small{display:block;font-size:10px;color:#b4c7b9;margin-top:4px}.project-glyph{font-size:24px;color:#a9c0ab;font-weight:400}.sidebar-note{font-size:12px;color:#bbcec0;padding:0 10px}.workflow-nav{display:flex;flex-direction:column;gap:3px}.workflow-nav button{border:0;background:transparent;color:#c2d1c4;display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 10px;text-align:left;border-radius:6px;font-size:12px}.workflow-nav button>span{font-size:10px;color:#9ab4a4;width:18px;font-variant-numeric:tabular-nums}.workflow-nav button.active{background:#e6ebdc;color:#173d31;font-weight:600}.workflow-nav button.active>span{color:#365a47}.workflow-nav button:hover:not(.active){background:#244a40}.workflow-nav i{font-style:normal;color:#a6c78e;margin-left:auto}.workflow-nav button.active i{color:#315a38}.sidebar-bottom{margin-top:auto;padding-top:26px}.model-switch{width:100%;background:transparent;color:#e4ece0;border:1px solid #456557;border-radius:7px;display:flex;align-items:center;gap:10px;padding:11px 12px;font-size:11px;text-align:left}.model-switch small{display:block;font-size:10px;color:#b5c8b9;margin-top:3px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#adb0a2;flex-shrink:0}.status-dot.online{background:#a7d17e}.sidebar-bottom>p{margin:14px 10px 0;font-size:10px;line-height:1.9;color:#a9bdad}.main-shell{margin-left:244px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:68px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs>span{margin:0 9px;color:#b2b6a9}.topbar-right{display:flex;gap:22px;align-items:center}.save-status{font-size:11px;color:var(--muted)}.menu-button{display:none;border:0;background:none;font-size:21px;padding:4px 8px}.book-heading{padding:30px 38px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1440px;width:100%;margin:0 auto}.book-heading .eyebrow span{margin:0 7px}.book-heading h1{font-size:31px;margin:9px 0 0}.heading-state{text-align:right;display:flex;flex-direction:column;gap:8px}.heading-state>span:last-child{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.workspace{padding:0 38px 45px;max-width:1440px;width:100%;margin:0 auto;flex:1;animation:workspace-in .2s ease}.workspace-footer{display:flex;justify-content:space-between;gap:16px;padding:18px 38px;margin-top:auto;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 242px;gap:45px}.editor-layout>section{min-width:0}.inspector{border-left:1px solid var(--line);padding-left:26px;align-self:start;margin-top:6px}.inspector-kicker{font-size:9px;letter-spacing:.1em;font-weight:700;color:var(--muted);margin-bottom:14px}.inspector h3{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:-.02em;margin:0 0 12px}.inspector p{color:#677268;font-size:12px;line-height:1.8}.inspector-divider{height:1px;background:var(--line);margin:26px 0}.inspector-small{font-size:10px!important;line-height:1.8!important;margin-top:24px}.quiet-list{list-style:none;padding:0;margin:0}.quiet-list li{font-size:12px;color:#606b61;padding:0 0 14px 12px;position:relative;line-height:1.8}.quiet-list li:before{content:'·';position:absolute;left:0;color:#708569}.mini-stats{display:grid;gap:16px}.mini-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.mini-stats strong{font-family:var(--serif);font-size:23px;font-weight:400}.mini-stats span{color:var(--muted);font-size:10px}.wizard-nav{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);margin:0 0 32px;overflow-x:auto;padding-bottom:13px}.wizard-nav button{background:none;border:0;display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap;padding:7px 5px;color:var(--muted);min-height:32px}.wizard-nav button>span{width:21px;height:21px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #cbd0c1;font-size:10px}.wizard-nav button.current{color:var(--green);font-weight:700}.wizard-nav button.current>span{background:var(--green);border-color:var(--green);color:#fff}.wizard-nav button.visited>span{background:#e5eadb;border-color:#c6d3bc;color:#315443}.section-intro{margin:0 0 29px}.section-intro h2{font-size:30px;margin:8px 0 12px}.section-intro p{color:var(--muted);font-size:13px;max-width:640px;line-height:1.8}.genre-options{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.genre-option{position:relative;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:23px 28px 19px 0;min-height:148px;color:var(--ink);transition:background .16s}.genre-option.selected{background:#eaf0e2;border-bottom-color:#7b9470;padding-left:14px}.genre-index{font-size:10px;color:#819077;margin-right:10px}.genre-option strong{font-family:var(--serif);font-size:21px;font-weight:400}.genre-option p{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0 0;max-width:250px}.option-check{position:absolute;right:10px;top:27px;color:#739064;font-size:13px}.wizard-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:36px;gap:15px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;min-width:0}.field>span{font-size:12px;font-weight:600;color:#354239}.field input,.field textarea,.field select{width:100%;background:var(--surface);border:1px solid #ced3c6;border-radius:6px;color:var(--ink);padding:12px 13px;font-size:13px;line-height:1.7;transition:border-color .15s}.field input,.field select{min-height:44px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#739570}.field textarea{min-height:80px}.field input::placeholder,.field textarea::placeholder{color:#92978b}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.field-grid.three{grid-template-columns:.65fr .85fr 1.5fr;gap:0 14px}.inline-note{display:flex;gap:12px;background:#edeee5;border-left:2px solid #8fa27f;padding:15px 17px;font-size:12px;line-height:1.8;color:#5e6a59;margin:22px 0}.inline-note.warning{background:#f1ebdd;border-color:#b59a68;color:#7d6437}.warning-text{color:var(--amber)!important}.entity-picker{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-bottom:21px;margin-bottom:25px;border-bottom:1px solid var(--line)}.entity-tab{display:flex;gap:10px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;padding:9px 11px;color:var(--ink)}.entity-tab.selected{border-color:#c1ccba;background:#e8eddf}.entity-tab strong{font-size:11px;display:block;font-weight:600;max-width:150px}.entity-tab small{font-size:9px;color:var(--muted);display:block}.avatar{width:30px;height:30px;border-radius:50%;background:#dce4d1;color:#42603b;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px;flex-shrink:0}.location-avatar{border-radius:5px}.entity-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 24px}.entity-title h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:0}.form-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.form-details summary{padding:18px 3px;cursor:pointer;font-size:13px;font-weight:600}.details-body{padding:6px 2px 18px}.details-body>:last-child{margin-bottom:0}.profile-note{padding:23px 22px;background:#e9eedf;border-left:2px solid #879d72;margin-bottom:28px}.profile-note h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:10px 0}.profile-note p{font-size:13px;line-height:1.8}.profile-note small{font-size:11px;color:var(--muted)}.volume-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 33px}.volume-option{padding:22px 15px;min-height:109px;text-align:left;border:1px solid var(--line);border-radius:6px;background:transparent}.volume-option.selected{background:#e8eddf;border-color:#77966d}.volume-option strong{font-family:var(--serif);font-size:24px;font-weight:400;display:block;margin-bottom:9px}.volume-option span{font-size:11px;color:var(--muted)}.volume-summary{display:flex;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.volume-summary strong{font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-.05em}.volume-summary span{font-size:12px;color:var(--muted);line-height:1.8}.summary-list{margin:0 0 28px}.summary-list>div{display:grid;grid-template-columns:116px minmax(0,1fr);gap:17px;padding:16px 0;border-bottom:1px solid var(--line)}.summary-list dt{font-size:11px;color:var(--muted);padding-top:2px}.summary-list dd{margin:0;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.issues-section{margin:30px 0}.issue-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.issue-row p{font-size:12px;color:#646e61;margin:0}.issue-class{display:inline-flex;width:21px;height:21px;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;font-size:10px;font-weight:700;margin-top:1px}.issue-class.A{color:var(--error);background:#f5e5de}.issue-class.B{color:#6c6528;background:#eeeccc}.success-text{font-size:12px;color:#3d6c45;line-height:1.8}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;color:#53604f;margin:14px 0}.check-row input{margin:3px 0 0}.check-options{display:flex;gap:13px;flex-wrap:wrap}.check-options label{font-size:12px;display:flex;gap:7px;align-items:center;min-height:44px;max-width:100%}.field .check-options input[type=checkbox]{width:16px;height:16px;min-height:16px;flex:0 0 16px;padding:0;margin:0;accent-color:var(--green)}.source-fields{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:24px}.source-fields:last-child{border-bottom:0}.home{max-width:970px;margin:66px auto 20px}.home h1{font-size:55px;letter-spacing:-.05em;margin:20px 0}.home-intro{font-size:17px;line-height:1.9;color:#666f62;margin-bottom:29px}.home-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.home-divider{border-bottom:1px solid var(--line);margin:54px 0 31px}.home-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.home-flow b{font-family:var(--serif);font-size:24px;font-weight:400;color:#839376}.home-flow h3{font-size:15px;margin:14px 0 10px}.home-flow p{font-size:12px;line-height:1.9;color:var(--muted)}.local-notice{display:flex;align-items:center;gap:13px;margin:38px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.local-notice p{font-size:11px;line-height:1.8;color:var(--muted);margin:0;flex:1}.local-notice strong{display:block;font-weight:500;color:var(--ink)}.home-lower>p{font-size:11px;letter-spacing:.04em;color:var(--muted);margin:0 0 14px}.recent-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}.recent-row span{font-family:var(--serif);font-size:20px;flex:1}.recent-row small{font-size:10px;color:var(--muted)}.recent-row b{font-weight:400;font-size:18px;color:#627c52}.import-home{margin-top:24px}.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 22px}.view-toolbar h2{font-size:29px;margin-bottom:8px}.view-toolbar h3{margin:0;font-weight:600}.view-toolbar p{font-size:11px;margin:0}.synopsis{font-size:14px;line-height:2;color:#4c5a4e;border-bottom:1px solid var(--line);padding-bottom:9px}.synopsis p{white-space:pre-wrap}.resolution{margin:22px 0 33px;border-bottom:1px solid var(--line)}.resolution summary{cursor:pointer;font-size:12px;font-weight:600;padding-bottom:14px}.resolution p{font-size:13px;line-height:1.9;padding:5px 0 10px;color:#5a6656;white-space:pre-wrap}.plot-lines{margin:28px 0 36px}.plot-lines h3{margin-bottom:22px}.plot-line{display:flex;gap:15px;margin-bottom:25px}.plot-line>span{font-size:11px;color:#8a927e;padding-top:3px}.plot-line p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:7px}.plot-line small{font-size:11px;color:#596d4c;line-height:1.8}.chapter-plan{border-top:1px solid var(--line)}.chapter-plan:last-child{border-bottom:1px solid var(--line)}.chapter-plan summary{display:flex;align-items:center;gap:18px;padding:19px 0;cursor:pointer;list-style:none}.chapter-plan summary::-webkit-details-marker{display:none}.chapter-plan summary>div{flex:1;min-width:0}.chapter-plan summary strong{font-family:var(--serif);font-size:20px;font-weight:400;display:block}.chapter-plan summary small{font-size:10px;color:var(--muted);margin-top:5px;display:block}.chapter-number{font-size:11px;color:#8a957e;min-width:20px}.chapter-budget{font-size:10px;color:var(--muted);white-space:nowrap}.chapter-plan summary i{font-style:normal;font-size:14px;color:#88987b}.chapter-plan-body{padding:5px 0 22px 38px;font-size:12px;line-height:1.8;color:#5d695b}.state-transition{display:grid;grid-template-columns:1fr 20px 1fr;gap:20px;background:#edf0e6;padding:16px 17px;margin:18px 0}.state-transition small{font-size:8px;letter-spacing:.1em;color:#7c876f;font-weight:700}.state-transition p{margin:7px 0 0;font-size:11px}.state-transition>span{align-self:center;font-size:17px;color:#849277}.scene-line{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #e3e6db}.scene-line:last-child{border-bottom:0}.scene-line>span{font-size:10px;color:#8a957f;width:16px}.scene-line strong{font-size:12px;color:#354937}.scene-line p{font-size:11px;margin:7px 0}.scene-line small{font-size:10px;color:#7f8778}.sticky-actions{position:sticky;bottom:0;background:rgba(246,244,238,.97);border-top:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;z-index:2}.clue-note{margin:20px 0}.clue-note p{margin-bottom:7px}.clue-note small{font-size:10px;color:#8a967e}.line-editor{margin:25px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}.block-heading{margin:35px 0 23px}.chapter-plan-editor{border-top:1px solid var(--line);margin:12px 0}.chapter-plan-editor>summary{padding:20px 0;cursor:pointer;display:flex;gap:14px;align-items:center;font-family:var(--serif);font-size:20px}.chapter-plan-editor>summary>span{font-family:var(--sans);font-size:10px;color:#839079}.chapter-plan-editor>summary>small{margin-left:auto;font-family:var(--sans);font-size:10px;color:var(--muted)}.scene-editor{background:#eeefe7;padding:15px 17px;margin:15px 0}.scene-editor>summary{cursor:pointer;font-size:12px;font-weight:600}.scene-editor .details-body{padding-top:20px}.empty-state{min-height:390px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;max-width:780px;margin:0 auto}.empty-state h2{font-size:30px;margin:18px 0 12px}.empty-state p{max-width:490px;font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:24px}.empty-mark{font-size:35px;color:#859572}.prose-editor{display:block;width:100%;background:var(--surface);border:1px solid #d4d8ca;border-radius:7px;padding:28px 32px;font-family:var(--serif);font-size:17px;line-height:1.95;color:#303b30;resize:vertical}.sample-editor{min-height:490px}.chapter-editor{min-height:560px}.word-counter{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.editor-actions{padding:21px 0;border-bottom:1px solid var(--line)}.chapter-picker{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:31px;padding-bottom:22px;border-bottom:1px solid var(--line)}.chapter-picker label{display:flex;align-items:center;gap:10px;min-width:0}.chapter-picker label>span{font-size:11px;color:var(--muted)}.chapter-picker select{background:transparent;border:1px solid #cbd2c2;border-radius:6px;padding:9px 12px;max-width:370px;font-size:12px;color:var(--ink)}.chapter-main .view-toolbar{margin-bottom:24px;align-items:flex-start}.chapter-main .view-toolbar h2{font-size:32px;margin:7px 0}.chapter-main .view-toolbar>div:last-child{text-align:right}.chapter-main .view-toolbar>div:last-child p{margin-top:10px}.scene-note{display:flex;gap:11px;margin-bottom:20px}.scene-note>span{font-size:10px;color:#8a967e;padding-top:3px}.scene-note strong{font-size:11px;color:#4c644b;line-height:1.6}.scene-note p{font-size:11px;margin:6px 0}.scene-note small{font-size:9px;color:var(--muted)}.manuscript{padding:25px 34px;background:var(--surface);border:1px solid var(--line);font-family:var(--serif);font-size:18px;line-height:1.95}.manuscript p{margin-bottom:22px;white-space:normal}.review-placeholder{padding:30px 0;color:var(--muted)}.review-placeholder h3{font-size:15px;color:var(--ink)}.review-placeholder p{font-size:12px;line-height:1.9}.quality-report{padding:29px 0 16px}.quality-report>p{font-size:12px;color:#616e59;line-height:1.9}.report-metrics{display:flex;gap:17px;flex-wrap:wrap;font-size:10px;color:var(--muted);padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:19px 0}.finding{padding:17px 0;border-bottom:1px solid var(--line)}.finding-title{display:flex;align-items:flex-start;gap:10px}.finding-title strong{font-size:12px;font-weight:500;line-height:1.8}.finding blockquote,.memory-row blockquote{padding:10px 14px;border-left:2px solid #c3cbb4;margin:13px 0 13px 31px;background:#ecefe4;color:#667259;font-family:var(--serif);font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.resolution-note{font-size:11px;color:#54704d;margin:12px 0}.facts-review{margin:30px 0}.facts-review>p{font-size:12px;line-height:1.9}.fact-editor{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:18px}.fact-editor textarea{font-size:12px}.fact-editor select{border:1px solid #c8d1bf;border-radius:5px;background:var(--surface);padding:9px 12px;font-size:12px}.chapter-acceptance{border-top:1px solid var(--line);margin-top:29px;padding-top:20px}.chapter-acceptance .button{margin-top:12px}.accepted-note{display:flex;gap:15px;margin:30px 0;padding:22px;background:#e8efdf;color:#3b5d35}.accepted-note>span{font-size:25px}.accepted-note p{font-size:12px;line-height:1.8;margin:6px 0 0}.version-row{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.version-row strong{font-size:12px;font-weight:500}.version-row small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.memory-summary{display:flex;gap:25px;flex-wrap:wrap;padding:21px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:25px 0}.memory-summary span{font-size:11px;color:var(--muted)}.memory-summary b{color:var(--green);margin-left:8px;font-size:17px;font-family:var(--serif);font-weight:400}.memory-row{display:grid;grid-template-columns:90px minmax(0,1fr) 100px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}.memory-kind{font-size:10px;color:#728268;letter-spacing:.02em}.memory-row strong{font-size:13px;font-weight:500;line-height:1.8}.memory-row blockquote{margin:12px 0 0}.chapter-reference{border:0;background:transparent;color:var(--green);font-size:11px;padding:0;text-align:right}.timeline-row{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.timeline-row span{font-size:11px;color:var(--muted);min-width:80px}.timeline-row p{font-size:12px;margin:0;line-height:1.9}.thread-row{display:grid;grid-template-columns:1fr auto;gap:7px 20px;border-bottom:1px solid var(--line);padding:17px 0}.thread-row strong{font-size:13px;font-weight:500}.thread-row p{grid-column:1;font-size:12px;line-height:1.8;color:var(--muted);margin:0}.thread-row .badge{grid-column:2;grid-row:1;align-self:start}.archived-prose{font:14px/1.9 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:var(--surface)}.readiness-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:28px 0;margin-bottom:29px}.readiness-meter strong{font-family:var(--serif);font-size:29px;font-weight:400;display:block;margin-bottom:8px}.readiness-meter span{font-size:10px;color:var(--muted)}.final-report{margin-top:34px}.final-report>p{font-size:13px;color:#5d6b56;line-height:1.9}.reader-acceptance{margin-top:33px;padding-top:24px;border-top:1px solid var(--line)}.reader-acceptance .check-row{margin:18px 0}.reader-acceptance .button{margin:12px 0}.export-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:65px}.export-status{display:flex;align-items:flex-start;gap:15px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.export-status p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.export-drafts{margin:23px 0}.export-formats{margin-bottom:25px}.export-format{display:grid;grid-template-columns:135px minmax(0,1fr) 20px;gap:15px;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);padding:21px 0;background:transparent;align-items:center;color:var(--ink)}.format-label{font-family:var(--serif);font-size:20px}.export-format>span:nth-child(2){font-size:11px;color:var(--muted)}.export-format>b{font-size:20px;font-weight:400;color:#65845b}.export-format:hover{background:#e8eddf}.book-preview{padding-top:14px}.book-cover{background:#294b3b;color:#e8ecd9;aspect-ratio:.72;border:1px solid #234333;box-shadow:8px 7px 0 #d9dece;display:flex;flex-direction:column;justify-content:space-between;padding:29px 25px;margin-right:8px}.book-cover>span{font-size:9px;font-weight:700;letter-spacing:.15em}.book-cover h2{font-size:34px;line-height:1.2;color:#f0efdb}.book-cover p{font-family:var(--serif);font-size:15px;color:#c1cfb6;line-height:1.6}.book-cover>small{font-size:8px;letter-spacing:.12em}.export-details{display:flex;justify-content:space-between;padding:22px 0;font-size:10px;color:var(--muted)}.book-preview>p{font-size:10px;color:var(--muted);line-height:1.9}.history-row{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:21px 0}.history-revision{font-family:var(--serif);font-size:25px;color:#6f8562;width:36px;flex-shrink:0}.history-row>div{flex:1;min-width:0}.history-row strong{font-size:13px;font-weight:500;line-height:1.7}.history-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.job-banner{position:relative;max-width:1364px;margin:0 38px 26px;padding:19px 21px 15px;background:#e7eddf;border:1px solid #d1ddc3;display:flex;align-items:center;gap:20px;overflow:hidden;flex-wrap:wrap}.job-banner>div:first-child{flex:1;min-width:200px}.job-banner strong{font-size:12px;display:flex;align-items:center;gap:9px}.job-banner p{font-size:11px;color:#637159;margin:7px 0 0;line-height:1.8}.job-banner progress{position:absolute;bottom:0;left:0;width:100%;height:3px;border:0;appearance:none}.job-banner progress::-webkit-progress-bar{background:#d6dfcd}.job-banner progress::-webkit-progress-value{background:#729866;transition:width .3s}.job-controls{display:flex;align-items:center;gap:12px}.job-controls>span{font-size:11px;color:#657a58}.job-banner.failed{background:#f3e7df;border-color:#e5cdbd}.spinner{display:inline-block;border:2px solid #bdcdb0;border-top-color:#436b33;width:14px;height:14px;border-radius:50%;animation:spin .8s linear infinite}.settings-dialog,.confirmation-dialog{border:1px solid #c5cbbb;border-radius:12px;background:var(--paper);color:var(--ink);width:min(620px,calc(100vw - 32px));padding:30px;max-height:88vh;overflow-y:auto;box-shadow:0 25px 70px #14281b33;animation:workspace-in .18s ease}.confirmation-dialog{width:min(510px,calc(100vw - 32px))}.settings-dialog::backdrop,.confirmation-dialog::backdrop{background:#17352c69}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-header h2,.confirmation-dialog h2{font-size:29px;margin:8px 0 18px}.dialog-header .icon-button{border:0;background:none;font-size:25px;color:var(--muted);padding:0 6px}.settings-dialog>form>p,.confirmation-dialog>p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:25px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.model-detect{display:flex;align-items:center;gap:16px;margin:0 0 23px;flex-wrap:wrap}.model-detect span{font-size:10px;line-height:1.8;max-width:235px}.confirmation-dialog textarea{border:1px solid #cbd3c2;width:100%;border-radius:6px;background:var(--surface);padding:15px;color:var(--ink);font-size:13px;line-height:1.8}#toast{position:fixed;bottom:24px;right:25px;z-index:50;background:#244d3a;color:#edf2e5;max-width:min(560px,calc(100vw - 32px));border:1px solid #396048;border-radius:8px;padding:15px 19px;box-shadow:0 8px 30px #183f3020;font-size:12px;line-height:1.8;opacity:0;transform:translateY(12px);transition:opacity .15s,transform .15s;pointer-events:none}#toast.visible{opacity:1;transform:translateY(0)}#toast.error{background:#704333;border-color:#9f6c53;color:#fff2e7}
@keyframes workspace-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1680px){.workspace{padding:0 55px 50px}.book-heading{padding-left:55px;padding-right:55px}.editor-layout{grid-template-columns:minmax(0,1fr) 280px;gap:65px}.inspector{padding-left:33px}}
@media(max-width:1230px){.sidebar{width:216px;padding-left:14px;padding-right:14px}.brand{font-size:17px;margin-left:4px}.main-shell{margin-left:216px}.workspace{padding-left:26px;padding-right:26px}.topbar,.book-heading{padding-left:26px;padding-right:26px}.editor-layout{grid-template-columns:minmax(0,1fr) 195px;gap:27px}.inspector{padding-left:19px}.wizard-nav{gap:1px}.wizard-nav button{font-size:9px;gap:5px;padding-right:3px}.export-layout{gap:35px;grid-template-columns:minmax(0,1fr) 245px}.book-cover h2{font-size:28px}.chapter-picker{flex-wrap:wrap}.job-banner{margin-left:26px;margin-right:26px}}
@media(max-width:1000px){.editor-layout{grid-template-columns:minmax(0,1fr)}.inspector{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.inspector>h3,.inspector>.inspector-kicker,.inspector>.inspector-divider{grid-column:1/-1}.inspector-divider{margin:12px 0}.mini-stats{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:22px}.mini-stats>div{display:block}.mini-stats span{display:block;margin-top:3px}.home{margin-top:43px}.home h1{font-size:46px}.home-flow{gap:20px}.home-flow h3{font-size:13px}.local-notice{align-items:flex-start;flex-wrap:wrap}.local-notice>.button{margin-left:20px}.save-status{display:none}.export-layout{grid-template-columns:1fr}.book-preview{max-width:290px}.chapter-picker select{max-width:340px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .22s ease;width:244px;box-shadow:5px 0 30px #193b3333}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.menu-button{display:block}.topbar{padding:0 18px;height:59px;justify-content:flex-start;gap:12px}.topbar-right{margin-left:auto;gap:6px}.breadcrumbs{font-size:10px}.breadcrumbs>span{margin:0 5px}.topbar-right .button{font-size:11px}.book-heading{padding:23px 21px 22px;align-items:flex-start;gap:14px}.book-heading h1{font-size:27px;overflow-wrap:anywhere}.book-heading .eyebrow{font-size:8px;line-height:1.8}.heading-state{padding-top:4px;flex-shrink:0;max-width:125px}.heading-state>span:last-child{font-size:9px}.workspace{padding:0 21px 35px}.workspace-footer{padding:16px 21px;font-size:9px;flex-wrap:wrap;gap:5px}.wizard-nav{margin-bottom:27px;gap:8px}.wizard-nav button{font-size:10px;padding:5px}.section-intro h2{font-size:29px}.section-intro p{font-size:12px}.genre-options{gap:0 17px}.genre-option{min-height:145px;padding-top:20px;padding-right:20px}.genre-option.selected{padding-left:10px}.genre-option strong{font-size:20px}.genre-index{display:block;margin-bottom:5px}.genre-option p{font-size:11px;line-height:1.8}.option-check{top:20px;right:6px}.wizard-bottom{flex-wrap:wrap;gap:16px}.wizard-bottom>.button-row{margin-left:auto}.button{font-size:12px;padding:10px 13px}.field-grid{gap:0 12px}.field-grid.three{grid-template-columns:1fr 1fr}.field-grid.three .field:last-child{grid-column:1/-1}.entity-picker{gap:6px}.entity-tab{padding:8px;max-width:180px}.entity-tab strong{font-size:10px;max-width:120px}.entity-title h3{font-size:22px}.entity-title .button{font-size:10px;max-width:105px}.volume-options{gap:8px}.volume-option{padding:18px 11px;min-height:103px}.volume-option strong{font-size:21px}.volume-option span{font-size:9px;line-height:1.8;display:block}.volume-summary strong{font-size:36px}.summary-list>div{grid-template-columns:84px minmax(0,1fr);gap:12px}.summary-list dt{font-size:10px}.summary-list dd{font-size:12px}.home{margin:43px 0 10px}.home h1{font-size:42px;margin:19px 0}.home-intro{font-size:15px;line-height:1.9}.home-actions{gap:11px}.home-actions .button{width:100%;justify-content:space-between;font-size:12px}.home-divider{margin:34px 0 23px}.home-flow{grid-template-columns:1fr;gap:5px}.home-flow>div{display:grid;grid-template-columns:30px 1fr;gap:0 14px}.home-flow b{grid-row:1/3;font-size:20px;padding-top:10px}.home-flow h3{margin:10px 0 6px;font-size:14px}.home-flow p{grid-column:2;font-size:12px;margin-bottom:17px}.local-notice{margin:23px 0}.recent-row span{font-size:18px}.recent-row small{font-size:9px;max-width:86px}.view-toolbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.view-toolbar h2{font-size:27px}.view-toolbar .button-row{gap:7px}.chapter-plan summary{gap:11px}.chapter-plan summary strong{font-size:19px}.chapter-plan summary small{font-size:9px}.chapter-budget{font-size:9px}.chapter-plan-body{padding-left:0}.state-transition{gap:10px;padding:13px}.sticky-actions{flex-wrap:wrap;justify-content:flex-end}.sticky-actions .button{font-size:11px}.prose-editor{padding:21px 19px;font-size:16px;line-height:1.95}.sample-editor{min-height:420px}.chapter-editor{min-height:480px}.chapter-picker{gap:14px;margin-bottom:25px}.chapter-picker label{width:100%}.chapter-picker select{max-width:none;width:100%;font-size:11px}.chapter-picker .button-row{width:100%;justify-content:space-between}.chapter-picker .button-row .button{font-size:10px}.chapter-main .view-toolbar h2{font-size:28px}.word-counter{font-size:10px}.editor-actions .button{flex:1;min-width:140px;font-size:11px}.manuscript{padding:20px 17px;font-size:17px}.report-metrics{gap:10px;font-size:9px}.finding blockquote{margin-left:0;font-size:12px}.memory-summary{gap:13px;padding:17px 0}.memory-summary span{font-size:10px}.memory-summary b{font-size:16px;margin-left:4px}.memory-row{grid-template-columns:1fr auto;gap:9px}.memory-kind{grid-column:1/-1}.memory-row>div{min-width:0}.memory-row strong{font-size:12px}.chapter-reference{font-size:10px;max-width:77px}.thread-row{grid-template-columns:1fr;gap:10px}.thread-row .badge{grid-column:1;grid-row:auto;justify-self:start}.readiness-meter{gap:12px;padding:22px 0}.readiness-meter strong{font-size:26px}.readiness-meter span{font-size:9px}.export-format{grid-template-columns:100px 1fr 20px;gap:10px}.format-label{font-size:18px}.export-format>span:nth-child(2){font-size:10px}.history-row{gap:13px}.history-row strong{font-size:11px}.history-row .button{font-size:10px;padding:7px 9px}.history-revision{font-size:21px;width:27px}.job-banner{margin:0 21px 23px;padding:15px 15px 14px;gap:12px}.job-banner strong{font-size:11px}.job-banner p{font-size:10px}.job-controls .button{font-size:10px}.job-controls{width:100%;justify-content:flex-end}.settings-dialog,.confirmation-dialog{padding:23px 20px}.dialog-header h2,.confirmation-dialog h2{font-size:25px}.dialog-actions{gap:9px}.dialog-actions .button{font-size:11px}.inspector{display:block}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr)}#toast{right:16px;bottom:16px;font-size:11px;padding:12px 15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff}.sidebar,.topbar,.book-heading,.workspace-footer,.job-banner,.inspector,.chapter-picker,.editor-actions,.quality-report,.facts-review,.form-details,#toast{display:none!important}.main-shell{margin:0}.workspace{padding:0}.editor-layout{display:block}.manuscript{border:0;padding:0;font-size:12pt}.chapter-main .view-toolbar h2{font-size:20pt}.chapter-main .view-toolbar>div:last-child{display:none}.manuscript p{break-inside:avoid}.prose-editor{display:none}}

/* Mobile project navigation remains dismissible without changing books. */
.sidebar-close,.sidebar-backdrop{display:none}
@media(max-width:760px){.sidebar-close{display:block;position:absolute;right:11px;top:12px;background:transparent;border:0;color:#dbe8d2;font-size:26px;padding:5px 10px;line-height:1}.sidebar-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;z-index:19;background:#142f2755;border:0}}

.shutdown-action{border-top:1px solid var(--line);margin-top:22px;padding-top:13px;text-align:right}

.library-workspace{padding-top:34px;max-width:1150px}.library-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:24px}.library-intro h1{font:42px/1.2 var(--serif);margin:8px 0 14px}.library-intro p{max-width:700px;line-height:1.8;color:var(--muted);font-size:13px}.library-tabs{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:28px}.library-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:14px 0;color:var(--muted);font-size:13px}.library-tabs button.selected{color:var(--ink);border-color:#467051}.library-search-form{max-width:830px}.library-result{display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.library-result h3{font:24px/1.3 var(--serif);margin:8px 0}.library-result p{font-size:12px;color:var(--muted);line-height:1.7}.library-result small,.library-book-list span,.library-book-list small{font-size:11px;color:var(--muted)}.library-operation{margin:22px 0;padding:18px;background:#e8eedf;border-left:3px solid #467051;display:flex;justify-content:space-between;align-items:center;gap:20px;line-height:1.7;font-size:13px}.library-operation p{margin-bottom:0}.library-empty{padding:45px 0;max-width:600px;line-height:1.9}.library-empty h3{font:28px var(--serif)}.library-empty p{font-size:13px;color:var(--muted)}.library-saved-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:35px}.library-book-list{border-right:1px solid var(--line);padding-right:20px}.library-book-list button{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:16px 10px;text-align:left;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}.library-book-list button.selected{background:#e3e9d9;border-left:2px solid #467051}.library-book-list strong,.library-book-list small,.library-book-list span{display:block}.library-book-detail{min-width:0}.library-book-detail h2{font:34px/1.3 var(--serif)}.library-book-detail p,.registry-panel p,.library-import p{font-size:13px;line-height:1.9}.library-book-detail a,.registry-panel a{font-size:12px;overflow-wrap:anywhere}.library-annotation{white-space:pre-wrap;color:var(--muted);font-size:13px;line-height:1.9}.library-reading,.library-attach{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.library-passage{border-bottom:1px solid var(--line);padding:20px 0}.library-passage blockquote{margin:16px 0;font:17px/1.95 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere}.library-passage small{font-size:10px;color:var(--muted)}.library-passages .check-row{font-size:11px}.library-footnote{border-top:1px solid var(--line);margin-top:35px;padding-top:18px;color:var(--muted);font-size:11px;line-height:1.9}.registry-match{padding:15px 0;border-bottom:1px solid var(--line)}.registry-match p{white-space:pre-wrap;overflow-wrap:anywhere}.registry-version{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:15px 0;font-size:11px;flex-wrap:wrap}.library-global-nav{margin-top:15px;border-top:1px solid #b7c3ab33;padding-top:12px}.library-import{max-width:800px}.library-workspace .field-note{line-height:1.9}.library-workspace .warning{background:#f3e8dc;color:#774a33}.library-workspace .warning .button{margin-top:12px}.library-workspace :focus-visible{outline:2px solid #467051;outline-offset:3px}
@media(max-width:1000px){.library-saved-layout{grid-template-columns:1fr}.library-book-list{border-right:0;padding-right:0;display:flex;overflow-x:auto;gap:12px}.library-book-list button{min-width:180px;width:180px;flex-shrink:0}.library-intro{flex-wrap:wrap}.library-intro h1{font-size:35px}}
@media(max-width:760px){.library-workspace{padding-top:25px}.library-intro h1{font-size:30px}.library-tabs{gap:18px}.library-tabs button{font-size:11px}.library-result{align-items:flex-start;gap:10px}.library-result>div{min-width:0}.library-result h3{font-size:21px;overflow-wrap:anywhere}.library-result .button{font-size:10px;padding:9px;flex-shrink:0}.library-operation{flex-wrap:wrap}.library-book-detail h2{font-size:28px;overflow-wrap:anywhere}.library-workspace .field-grid{grid-template-columns:1fr}.library-passage blockquote{font-size:16px}.library-passage .view-toolbar{display:block}.library-passage .check-row{margin-top:12px}.library-intro .badge{max-width:100%;white-space:normal}}

.library-workspace>.view-toolbar{margin-bottom:22px}.library-workspace>.view-toolbar p{font-size:13px;line-height:1.9}
[hidden]{display:none!important}
/* ==== Студия: темы, курс, развертка, праздники ==== */
:root[data-theme="site"]{--paper:#141210;--surface:#1c1813;--ink:#f2e8d5;--muted:#b7a88f;--line:#3b3226;--green:#d8b46b;--green-light:#241f18;--sidebar:#0e0c0a;--error:#e08b74;--amber:#e0bb70}
:root[data-theme="sepia"]{--paper:#efe4cf;--surface:#f8f0e0;--ink:#3a2f24;--muted:#7a6853;--line:#d6c5a8;--green:#6d4e29;--green-light:#efe1c9;--sidebar:#4a3826;--error:#9f332b;--amber:#7d5a20}
[data-theme="site"] body{background:var(--paper);color:var(--ink)}
[data-theme="site"] .topbar{background:var(--paper);border-bottom-color:var(--line);color:var(--ink)}
[data-theme="site"] .workspace{background:var(--paper)}
[data-theme="site"] .workspace-footer{border-top-color:var(--line);color:var(--muted)}
[data-theme="site"] input,[data-theme="site"] textarea,[data-theme="site"] select{background:#221d16;color:var(--ink);border-color:var(--line)}
[data-theme="site"] .button.secondary{color:var(--ink);border-color:var(--line)}
[data-theme="site"] .button.secondary:hover{background:#2a2319;border-color:#5a4a33}
[data-theme="site"] .button.text-button{color:var(--green)}
[data-theme="site"] .button.text-button:hover{background:#2a2319}
[data-theme="site"] .badge{background:#241e16;border-color:var(--line);color:var(--ink)}
[data-theme="site"] .badge.good{background:#1f2a1f;border-color:#3d5438;color:#c3dcb2}
[data-theme="site"] .badge.warn{background:#2d2415;border-color:#5c4a24;color:#e6c37a}
[data-theme="site"] .inline-note,[data-theme="site"] .local-notice{background:#1f1a13;border-color:var(--line);color:var(--ink)}
[data-theme="site"] .project-link{color:#cdbfa6}
[data-theme="site"] .project-link.selected{background:#2b2317;color:#f2e8d5}
[data-theme="site"] .workflow-nav button{color:#c9b89c}
[data-theme="site"] .workflow-nav button.active{background:#2b2317;color:#f2e8d5}
[data-theme="site"] .workflow-nav button:hover{background:#221c14}
[data-theme="site"] .field-note,[data-theme="site"] .muted{color:var(--muted)}
[data-theme="site"] dialog{background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme="site"] .dialog-actions,[data-theme="site"] .dialog-header{border-color:var(--line)}
[data-theme="site"] .eyebrow{color:#b9a382}
[data-theme="site"] .book-heading{border-color:var(--line)}
[data-theme="site"] .save-status{color:var(--muted)}
[data-theme="site"] .recent-row{border-color:var(--line);color:var(--ink)}
[data-theme="site"] .recent-row:hover{background:#221c14}
[data-theme="site"] .home-divider{background:var(--line)}
[data-theme="site"] .story-card,[data-theme="site"] .lesson,[data-theme="site"] .pro-card{background:var(--surface);border-color:var(--line)}
[data-theme="site"] blockquote{color:#d9c8aa;border-color:#5a4a33}
[data-theme="site"] .sidebar{border-right:1px solid #2a2319}
[data-theme="sepia"] body{background:var(--paper);color:var(--ink)}
.studio-nav{margin-top:4px}
.plan-tag{font-size:8px;letter-spacing:.12em;border:1px solid var(--green);color:var(--green);border-radius:3px;padding:1px 4px;margin-left:6px}
.holiday-ribbon{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:10px 16px;border:1px solid #5a4a2a;border-radius:8px;background:linear-gradient(90deg,#2a2317,#1c1812);color:#f0dcb4;font-size:12px}
.holiday-ribbon strong{font-family:var(--serif);font-size:15px;font-weight:400;color:#f6e6c6}
.holiday-ribbon .holiday-emoji{font-size:18px}
.course-view{max-width:900px}
.course-progress{display:flex;align-items:center;gap:14px;margin:18px 0 26px;color:var(--muted);font-size:12px}
.progress-track{flex:1;height:6px;border-radius:3px;background:#2a2319;overflow:hidden}
.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#8a6a33,var(--green));transition:width .3s}
.course-list{display:flex;flex-direction:column;gap:16px}
.lesson{border:1px solid var(--line);border-radius:10px;padding:22px 24px;background:var(--surface)}
.lesson.completed{border-color:#5b6f48}
.lesson-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.lesson-head h3{margin:4px 0 0;font-family:var(--serif);font-weight:400;font-size:24px}
.lesson-check{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}
.lesson-text p{margin:12px 0;color:var(--ink);line-height:1.7}
.exercise{margin-top:16px;padding:16px 18px;border:1px dashed #5a4a33;border-radius:8px;background:#1e1912}
.exercise ol{margin:8px 0 12px 18px;padding:0;color:var(--muted);line-height:1.8}
.pro-view{max-width:1100px}
.pro-actions{display:flex;align-items:center;gap:16px;margin:18px 0 24px;flex-wrap:wrap}
.pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pro-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--surface)}
.pro-card.wide{grid-column:1/-1}
.pro-card h3{font-family:var(--serif);font-weight:400;font-size:20px;margin-bottom:12px}
.pro-row{padding:10px 0;border-bottom:1px solid #2c251b}
.pro-row:last-child{border-bottom:0}
.pro-row strong{display:block;font-size:13px}
.pro-row span{font-size:12px;color:var(--muted)}
.pro-row blockquote{margin:6px 0 0;padding-left:10px;border-left:2px solid #5a4a33;font-size:12px;color:#cdbb9c}
@media(max-width:760px){.pro-grid{grid-template-columns:1fr}.lesson{padding:18px}.lesson-head{flex-direction:column}.holiday-ribbon{flex-wrap:wrap}}

.exercise{background:var(--surface);border-color:var(--line)}
.progress-track{background:var(--line)}
.progress-track span{background:linear-gradient(90deg,#8a6a33,var(--green))}
.settings-dialog{background:var(--surface);color:var(--ink)}
.settings-dialog .inline-note{background:var(--green-light)}
[data-theme="site"] .exercise{background:#1e1912;border-color:#5a4a33}
[data-theme="site"] .settings-dialog{background:#1c1813;color:var(--ink)}

.progress-track span{width:100%;transform-origin:left}
.progress-track{display:flex;gap:4px;background:transparent;overflow:visible}.progress-track .seg{flex:1;height:6px;border-radius:3px;background:var(--line)}.progress-track .seg.done{background:linear-gradient(90deg,#8a6a33,var(--green))}
.import-view{max-width:820px}.import-card{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.import-drop{display:block;border:1px dashed #5a4a33;border-radius:8px;padding:24px;text-align:center;cursor:pointer;margin-bottom:16px}.import-drop input{display:block;margin:0 auto 10px;color:var(--muted)}.import-drop span{display:block;font-size:15px;margin-bottom:4px}.import-drop small{color:var(--muted)}
.import-drop{position:relative}.import-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
[data-theme="site"] .genre-option.selected{background:#241f17;border-bottom-color:#7d6a45;color:var(--ink)}[data-theme="site"] .genre-option.selected .genre-index{color:#c9b287}[data-theme="site"] .genre-option.selected p{color:var(--muted)}[data-theme="site"] .genre-option.selected .option-check{color:var(--green)}[data-theme="site"] .genre-option:hover{background:#1d1913}

.tone-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 22px}.tone-option{text-align:left;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:transparent;color:var(--ink);cursor:pointer}.tone-option strong{display:block;font-size:14px;margin-bottom:4px}.tone-option span{font-size:12px;color:var(--muted);line-height:1.5}.tone-option.selected{border-color:var(--green);background:var(--green-light)}.inspector-counts{display:flex;gap:18px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.inspector-counts div{display:flex;flex-direction:column}.inspector-counts strong{font-family:var(--serif);font-size:22px;font-weight:400}.inspector-counts span{font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.genre-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 20px}.genre-chip{border:1px solid var(--line);border-radius:20px;padding:8px 14px;background:transparent;color:var(--ink);font-size:13px;cursor:pointer}.genre-chip:hover{background:var(--green-light)}.genre-chip.selected{border-color:var(--green);background:var(--green-light);font-weight:600}[data-theme="site"] .sticky-actions{background:rgba(20,18,16,.97);border-top-color:var(--line)}

.sample-preview{font-family:var(--serif);font-size:17px;line-height:1.75;margin:10px 0 24px}.sample-preview p{white-space:pre-wrap;margin-bottom:16px}
.timeline-block{margin:8px 0 22px}.timeline-track{display:flex;gap:6px;overflow-x:auto;padding:6px 0 12px;scrollbar-gutter:stable}.timeline-cell{min-width:96px;text-align:left;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);padding:10px;cursor:pointer}.timeline-cell.active{border-color:var(--green);background:var(--green-light)}.timeline-cell span{display:block;font-family:var(--serif);font-size:20px}.timeline-cell small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.timeline-dots{display:flex;gap:3px;margin-top:6px;min-height:8px}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.timeline-dot.type-reveal{background:#5f8fb8}.timeline-dot.type-resolution{background:#6f9a62}.timeline-dot.type-loss{background:#b06a5a}.timeline-dot.type-detail{background:#9a8f6f}.timeline-range{display:flex;align-items:center;gap:12px;margin:8px 0 18px;font-size:12px;color:var(--muted)}.timeline-range input{flex:1}.timeline-state{border-top:1px solid var(--line);padding-top:14px;margin-top:6px}.timeline-state-row{display:grid;grid-template-columns:1.1fr .8fr 1fr auto;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.timeline-state-row span{color:var(--muted)}.timeline-state-row em{font-style:normal}.timeline-state-row small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.timeline-state-row small.plan{color:var(--amber)}.timeline-step{margin-top:18px}.timeline-card{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:8px 0}.timeline-card h4{margin:4px 0}.timeline-card p{margin:4px 0;color:var(--muted);font-size:12px}.timeline-report{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.timeline-range input{accent-color:var(--green)}.timeline-track{scrollbar-width:thin}

.matrix-wrap{overflow-x:auto;margin-top:10px}.state-matrix{border-collapse:collapse;font-size:12px;min-width:100%}.state-matrix th,.state-matrix td{border:1px solid var(--line);padding:7px 9px;vertical-align:top;text-align:left}.state-matrix thead th{background:var(--green-light);font-weight:600}.state-matrix tbody th{white-space:nowrap;position:sticky;left:0;background:var(--surface)}.matrix-entry{display:block;margin-bottom:3px}.matrix-entry.plan{color:var(--amber)}
.vector-results{margin-top:12px;display:flex;flex-direction:column;gap:8px}.vector-result{display:flex;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.vector-score{font-family:var(--serif);font-size:20px;color:var(--green);min-width:48px}.vector-result small{color:var(--muted);font-size:11px}.vector-result p{margin:4px 0 0;font-size:13px}
.vector-score.bad{color:var(--error)}
.login-screen{max-width:420px;margin:14vh auto;padding:32px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.login-screen h1{font-family:var(--serif);font-weight:400;font-size:32px;margin:8px 0 12px}.login-screen p{color:var(--muted)}.login-screen form{display:flex;gap:10px;margin-top:18px}.login-screen input{flex:1;background:#221d16;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px 12px}.login-error{color:var(--error);min-height:20px}
.suggest-panel{margin:18px 0;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 18px}.suggest-panel summary{cursor:pointer;padding:14px 0;font-family:var(--serif);font-size:18px}.suggest-body{padding-bottom:18px}.suggest-controls{display:flex;gap:10px;margin:10px 0 14px}.suggest-controls input{flex:1;background:#221d16;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:9px 12px}.suggest-list{display:flex;flex-direction:column;gap:10px}.suggest-card{border:1px solid var(--line);border-radius:9px;padding:14px 16px;background:var(--paper)}.suggest-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.suggest-head strong{font-family:var(--serif);font-size:19px}.suggest-head span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.suggest-card dl{display:grid;grid-template-columns:120px 1fr;gap:4px 10px;margin:10px 0}.suggest-card dt{font-size:11px;color:var(--muted)}.suggest-card dd{margin:0;font-size:13px}.suggest-next{font-size:13px;margin:8px 0 0;color:var(--muted)}
.suggest-actions{display:flex;gap:8px;align-items:center;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.suggest-decision{margin-left:auto;font-size:11px;color:var(--green);text-transform:uppercase;letter-spacing:.06em}.suggest-card.decided{opacity:.85}.suggest-card.accept{border-color:var(--green)}.suggest-card.reject{opacity:.55}
.account-chip{display:flex;gap:10px;align-items:center;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.account-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green-light);color:var(--green);font-family:var(--serif);font-size:17px}.account-chip span:last-child{display:flex;flex-direction:column;min-width:0}.account-chip strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-chip small{font-size:10px;color:var(--muted)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-family:var(--serif);font-size:19px;letter-spacing:.02em}.login-brand img{width:34px;height:34px}
.continuity-issues{margin:10px 0;padding-left:18px;color:var(--amber);font-size:13px}
.promo-pass{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:28px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.promo-pass h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:4px 0 6px}.promo-pass p{color:var(--muted);margin:0;max-width:560px}.treatment-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.treatment-beat{display:flex;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.treatment-number{font-family:var(--serif);color:var(--green);min-width:24px}.treatment-beat p{margin:3px 0;font-size:13px}.treatment-beat small{color:var(--muted);font-size:11px}@media(max-width:700px){.promo-pass{flex-direction:column;align-items:flex-start}}
.plan-time-issues{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.6}
.next-chapter{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:18px 0;padding:18px;border:1px solid var(--green);border-radius:10px;background:var(--green-light)}.next-chapter h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:4px 0 6px}.next-chapter p{margin:4px 0;font-size:13px}.next-scenes{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--muted)}.next-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.next-chapter .field-note{max-width:620px}@media(max-width:700px){.next-chapter{flex-direction:column}.next-actions{align-items:flex-start}}
.volume-option{position:relative;color:var(--ink);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;overflow:hidden}
.volume-option::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .18s ease}
.volume-option strong{color:var(--ink);transition:color .18s ease}
.volume-option small{display:block;margin-top:7px;font-size:10px;line-height:1.3;color:var(--muted);font-variant-numeric:tabular-nums}
@media(hover:hover){.volume-option:hover{background:var(--surface);border-color:var(--green);transform:translateY(-2px);box-shadow:0 8px 22px #00000018}}
.volume-option.selected{background:var(--green-light);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green),0 8px 22px #0000001f}
.volume-option.selected::before{background:var(--green)}
.volume-option.selected strong{color:var(--green)}
.volume-option.selected::after{content:"✓";position:absolute;top:12px;right:14px;font-family:var(--sans);font-size:12px;font-weight:600;color:var(--green)}
.volume-option:active{transform:translateY(0)}
.volume-option:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:700px){.volume-options{grid-template-columns:1fr}.volume-option{min-height:0;padding:18px 16px}}
@media(prefers-reduced-motion:reduce){.volume-option{transition:none}.volume-option:hover{transform:none}}

.range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;margin:14px 0 6px}
.range-field{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--surface)}
.range-field>span{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:13px}
.range-field b{color:var(--green);font-family:var(--serif);font-size:18px;font-weight:400;font-variant-numeric:tabular-nums}
.range-field small{color:var(--muted);font-size:10px;line-height:1.3}
.range-field em{color:var(--muted);font-size:11px;line-height:1.4;font-style:normal;border-top:1px solid var(--line);padding-top:7px;margin-top:1px}
.range-field input[type=range]{appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer}
.range-field input[type=range]::-webkit-slider-runnable-track{height:3px;background:var(--line);border-radius:2px}
.range-field input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;margin-top:-6.5px;border-radius:50%;background:var(--green);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--green)}
.range-field input[type=range]::-moz-range-track{height:3px;background:var(--line);border-radius:2px}
.range-field input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--green);border:2px solid var(--paper)}
.range-field input[type=range]:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:2px}
@media(max-width:700px){.range-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.range-field input[type=range]{scroll-behavior:auto}}
.assist-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 8px}
.assist-row .field-note{margin:0;flex:1;min-width:240px;font-size:12px}
.settings-band{margin:16px 0 20px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.settings-band .eyebrow{margin-bottom:4px}
.settings-band h3{font-family:var(--serif);font-weight:400;font-size:20px;margin:0 0 10px}
.details-hint{font-size:12px;color:var(--muted);margin:6px 0 10px;max-width:70ch}
@media(max-width:700px){.assist-row{align-items:flex-start;flex-direction:column}}

.relations-block{margin:14px 0 10px;padding:14px 0 4px;border-top:1px solid var(--line)}
.relations-block .block-heading{margin:0 0 10px;font-size:18px}
.relation-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.4fr) auto;gap:10px;align-items:end;margin:8px 0}
.relation-row .field{margin:0}
.relation-row .button{align-self:end;min-height:38px}
@media(max-width:700px){.relation-row{grid-template-columns:1fr}}

.incoming-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.relation-incoming{display:flex;gap:8px;align-items:baseline;padding:5px 0;font-size:13px;color:var(--muted);flex-wrap:wrap}
.relation-incoming strong{color:var(--ink);font-weight:500}
.relation-incoming span{font-size:12px}

.finding-group{border:1px solid var(--line);border-radius:8px;margin:8px 0;background:var(--surface)}
.finding-group>summary{cursor:pointer;padding:10px 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}
.finding-group>summary strong{font-weight:500}
.group-count{font-size:11px;color:var(--muted);margin-left:auto;font-variant-numeric:tabular-nums}
.deferred-note{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:1px 7px}
.finding-group-body{padding:0 12px 10px}
.finding-group-body .finding{margin:6px 0}
.group-ack{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.a-issues{margin-top:10px}

.entity-tab{transition:background .16s ease,border-color .16s ease,transform .16s ease}
.entity-tab:hover{border-color:var(--green);background:var(--surface)}
.entity-tab.selected{background:var(--green-light);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.entity-tab.selected strong{color:var(--ink)}
.entity-tab.selected small{color:var(--muted)}
.entity-tab:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.entity-tab{transition:none}}

.genre-profile-note{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:6px;background:var(--surface);display:grid;gap:6px}
.genre-profile-note strong{font-size:14px;font-weight:500;line-height:1.45}
.genre-profile-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}

.memory-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 18px}
.memory-layers>div{padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);display:grid;gap:3px}
.memory-layers strong{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}
.memory-layers small{color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:700px){.memory-layers{grid-template-columns:1fr}}

.plan-drift{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;background:var(--surface)}
.plan-drift strong{display:block;margin:4px 0;font-size:14px;font-weight:500}
.plan-drift p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:700px){.plan-drift{display:grid}}

.canon-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:12px}
.canon-grid h4,.canon-view h4{margin:12px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.canon-view ul{margin:0;padding-left:18px;font-size:13px;line-height:1.5}
.canon-group{margin:10px 0;padding-top:8px;border-top:1px solid var(--line)}
.canon-group blockquote{margin:4px 0 0;font-size:11px;color:var(--muted)}
@media(max-width:700px){.canon-grid{grid-template-columns:1fr}}
.new-book:disabled{opacity:.45;cursor:not-allowed}

.account-overlay{position:fixed;inset:0;background:#0b1714b8;display:grid;place-items:center;z-index:80;padding:20px}
.account-dialog{width:min(640px,100%);max-height:90vh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:0 24px 80px #0008}
.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.account-grid>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:6px}
.account-grid span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.account-grid strong{font-size:22px;font-weight:500}
.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pack-card{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);cursor:pointer;text-align:left}
.pack-card:hover{border-color:var(--green)}
.pack-card strong{font-size:15px}.pack-card span{font-size:12px;color:var(--muted)}
.pack-orders>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}
[data-theme="site"] .account-dialog{background:#1c1813;color:var(--ink)}
@media(max-width:700px){.account-grid,.pack-grid{grid-template-columns:1fr}}

.home-note{max-width:620px;margin:14px auto 0;color:var(--muted);font-size:13px;line-height:1.55}.home-note strong{color:var(--ink);font-weight:500}

.job-activity,.job-pipeline{margin-top:8px;font-size:11px;color:var(--muted)}
.job-activity span{display:block;margin-bottom:3px;text-transform:uppercase;letter-spacing:.08em}
.job-activity ol{margin:0;padding-left:16px;line-height:1.55}
.job-pipeline{display:flex;flex-wrap:wrap;gap:5px}.job-pipeline span{padding:2px 6px;border:1px solid var(--line);border-radius:3px}.job-pipeline span.current{border-color:var(--green);color:var(--ink)}.job-pipeline span.done{opacity:.55}

.graph-stats { display:flex; gap:1rem; margin:1rem 0; flex-wrap:wrap; }
.graph-stats > div { border:1px solid var(--line, #ddd); border-radius:12px; padding:.75rem 1rem; min-width:7rem; }
.graph-stats strong { display:block; font-size:1.5rem; }
.graph-stats span { color:var(--muted, #777); font-size:.8rem; }
.graph-columns { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media (max-width: 800px) { .graph-columns { grid-template-columns:1fr; } }

.promo-row { display:flex; gap:.6rem; align-items:center; }
.promo-input { flex:1; min-width:0; padding:.65rem .8rem; border:1px solid var(--line, #d8d2c4); border-radius:10px; background:transparent; color:inherit; font:inherit; text-transform:uppercase; letter-spacing:.08em; }

.style-library { margin:1rem 0 1.25rem; }
.style-library-head { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:.7rem; }
.style-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr)); gap:.55rem; }
.style-card { text-align:left; padding:.8rem .9rem; border:1px solid var(--line, #d8d2c4); border-radius:12px; background:transparent; color:inherit; cursor:pointer; }
.style-card strong { display:block; font-size:.92rem; margin-bottom:.2rem; }
.style-card small { color:var(--muted, #777); line-height:1.35; }
.style-card.selected { border-color:var(--ink, #2b2822); box-shadow:inset 0 0 0 1px var(--ink, #2b2822); }
.style-note { margin-top:.75rem; padding:.85rem 1rem; border-left:2px solid var(--gold, #b08a3e); background:rgba(176,138,62,.06); }
.style-note p { margin:0 0 .35rem; font-style:italic; }
.style-note small { color:var(--muted, #777); }

.style-example { margin-top:.65rem; border-top:1px solid var(--line, #d8d2c4); padding-top:.55rem; }
.style-example summary { cursor:pointer; font-size:.85rem; color:var(--muted, #777); }
.style-example p { margin:.55rem 0; font-style:normal; }


.plan-compare { display:grid; grid-template-columns:repeat(3, 1fr); gap:.65rem; margin:1rem 0 .4rem; }
.plan-compare-card { border:1px solid var(--line, #d8d2c4); border-radius:12px; padding:.85rem; background:rgba(255,255,255,.02); }
.plan-compare-card.current { border-color:var(--gold, #b08a3e); box-shadow:inset 0 0 0 1px var(--gold, #b08a3e); }
.plan-compare-card strong { display:block; font:500 1.25rem/1.2 Georgia, serif; margin:.2rem 0; }
.plan-compare-card small { display:block; color:var(--muted, #777); font-size:.78rem; }
.plan-compare-card p { margin:.55rem 0 .35rem; font-size:.82rem; }
.plan-compare-card span { display:block; color:var(--muted, #777); font-size:.76rem; line-height:1.45; }
@media (max-width: 720px) { .plan-compare { grid-template-columns:1fr; } }


/* ==== Новый shell: письменный стол ==== */
:root {
  --paper: #0d1511;
  --surface: #16231b;
  --ink: #ece5d5;
  --muted: #a6b2a7;
  --line: #2b3d31;
  --green: #c9a65a;
  --green-light: #1b2b21;
  --sidebar: #111c16;
  --error: #d58b7d;
  --amber: #d8b46b;
}
body { background: var(--paper); color: var(--ink); }
.new-sidebar { width: 260px; padding: 17px 14px; overflow: hidden; background: var(--sidebar); border-right: 1px solid var(--line); color: var(--ink); gap: 12px; }
.new-sidebar .brand { margin: 0 6px 6px; color: var(--ink); gap: 10px; }
.new-sidebar .brand img { width: 31px; height: 31px; }
.new-sidebar .brand small { color: var(--muted); }
.new-sidebar .brand-small { color: var(--green); }
.new-sidebar .new-book { margin-bottom: 4px; background: var(--green); color: #101a15; border-color: var(--green); border-radius: 9px; min-height: 40px; padding: 9px 13px; font-weight: 600; }
.new-sidebar .new-book:hover { background: #dcb96e; border-color: #dcb96e; }
.new-sidebar .new-book:disabled { opacity: .45; }
.shell-scroll { display: flex; flex-direction: column; gap: 8px; flex: 1; overflow-y: auto; min-height: 0; padding-right: 0; scrollbar-width: none; }
.shell-label { margin: 10px 7px 2px; color: #647368; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.shell-all { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 32px; border: 0; background: transparent; color: var(--muted); padding: 5px 8px; border-radius: 7px; text-align: left; font-size: 12px; }
.shell-all:hover, .shell-all.active { color: var(--ink); background: #17251d; }
.shell-all > span { color: var(--green); }
.shell-projects { display: grid; gap: 2px; }
.shell-project { display: flex; gap: 8px; align-items: flex-start; width: 100%; min-width: 0; border: 0; background: transparent; color: var(--muted); text-align: left; padding: 6px 8px; border-radius: 7px; }
.shell-project:hover, .shell-project.selected { background: #17251d; color: var(--ink); }
.shell-project.selected { box-shadow: inset 2px 0 0 var(--green); }
.shell-project-glyph { color: var(--green); font-size: 13px; line-height: 1.6; }
.shell-project strong { display: block; font-size: 11px; line-height: 1.35; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shell-project small { display: block; font-size: 9px; color: #728177; margin-top: 1px; }
.shell-metrics { display: flex; flex-wrap: wrap; gap: 4px 9px; margin: 3px 8px 0; color: #728177; font-size: 9px; line-height: 1.5; }
.shell-metrics b { color: #b9c5b7; font-weight: 500; }
.shell-nav { display: grid; gap: 1px; }
.shell-nav-item { display: flex; align-items: center; gap: 7px; width: 100%; min-height: 30px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); text-align: left; padding: 5px 8px; font-size: 11px; transition: background .14s ease, color .14s ease; }
.shell-nav-item:hover { background: #17251d; color: var(--ink); }
.shell-nav-item.active { background: #1c2d22; color: var(--ink); box-shadow: inset 2px 0 0 var(--green); }
.shell-num { width: 17px; color: #6f8173; font-size: 9px; text-align: center; flex: none; }
.shell-nav-item.active .shell-num { color: var(--green); }
.shell-done { margin-left: auto; color: var(--green); font-style: normal; font-size: 10px; }
.shell-tag { margin-left: auto; border: 1px solid #4a5f50; color: #8fa58f; border-radius: 3px; padding: 0 3px; font-size: 7px; letter-spacing: .06em; }
.shell-bottom { border-top: 1px solid var(--line); padding-top: 8px; display: grid; gap: 3px; flex: none; }
.shell-account { display: flex; align-items: center; gap: 8px; padding: 5px 7px 8px; }
.shell-account strong { display: block; font-size: 11px; font-weight: 500; }
.shell-account small { display: block; color: #728177; font-size: 9px; margin-top: 1px; }
.shell-account .account-avatar { width: 25px; height: 25px; border: 1px solid #415947; background: #17251d; color: var(--green); display: grid; place-items: center; border-radius: 50%; font: 500 13px Georgia, serif; }
.shell-utility { display: flex; align-items: center; gap: 8px; border: 0; background: transparent; color: var(--muted); text-align: left; padding: 6px 7px; border-radius: 7px; font-size: 10px; }
.shell-utility:hover { background: #17251d; color: var(--ink); }
.shell-utility > span { color: var(--green); width: 15px; text-align: center; }

.main-shell { margin-left: 260px; }
.new-topbar { position: sticky; top: 0; z-index: 15; height: 58px; min-height: 58px; padding: 0 28px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); background: rgba(13, 21, 17, .93); backdrop-filter: blur(8px); }
.new-topbar .breadcrumbs { font-size: 11px; color: var(--muted); }
.new-topbar .breadcrumbs > span { margin: 0 7px; color: #5b6c5f; }
.new-topbar .topbar-right { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.new-topbar .save-status { font-size: 10px; color: #728177; }
.new-topbar .button.text-button { color: var(--green); font-size: 11px; min-height: 32px; }
.new-workspace { width: 100%; max-width: 1120px; margin: 0 auto; padding: 25px 32px 48px; }
.new-book-heading { max-width: 1120px; margin: 0 auto; padding: 24px 32px 13px; border-bottom: 0; }
.new-book-heading h1 { font: 500 38px/1.1 Georgia, serif; letter-spacing: -.025em; margin: 6px 0 0; color: var(--ink); }
.new-book-heading .eyebrow { color: #a88b4c; }
.new-book-heading .heading-state { color: var(--muted); }

/* Кнопки */
.button { border-radius: 8px; min-height: 38px; font-size: 12px; font-weight: 600; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.button:hover { transform: translateY(-1px); }
.button:active { transform: none; }
.button.primary { background: var(--green); border-color: var(--green); color: #111b16; }
.button.primary:hover { background: #dcb96e; border-color: #dcb96e; }
.button.secondary { background: transparent; border-color: #415947; color: var(--ink); }
.button.secondary:hover { background: #1b2b21; border-color: #5b7761; }
.button.text-button { color: var(--green); }
.button.text-button:hover { background: #1b2b21; }
.button.large { min-height: 45px; padding: 11px 18px; }
.button.compact { min-height: 31px; font-size: 11px; }
.badge { border-radius: 4px; background: #17251d; border-color: #33483a; color: #b9c8b9; }
.badge.good { background: #1b3022; border-color: #3d5a42; color: #b7d2ae; }
.badge.warn { background: #2b2417; border-color: #5f4c2a; color: #dfbe79; }

/* Главная */
.new-home { max-width: 1120px; margin: 0 auto; padding: 34px 32px 50px; animation: shell-in .24s ease both; }
.home-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.home-eyebrow, .home-card-label { color: #a88b4c; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.new-home h1 { margin: 8px 0 8px; font: 500 clamp(30px, 4vw, 43px)/1.08 Georgia, serif; letter-spacing: -.025em; }
.home-lead { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0; max-width: 58ch; }
.home-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: 14px; align-items: start; }
.home-current, .home-next, .home-mini { border: 1px solid var(--line); background: #142019; border-radius: 10px; padding: 20px; }
.home-current { min-height: 210px; }
.home-current h2 { margin: 7px 0 7px; font: 500 27px/1.15 Georgia, serif; }
.home-current p { color: var(--muted); font-size: 13px; line-height: 1.7; margin-bottom: 17px; max-width: 56ch; }
.home-next { border-color: #4b5d43; background: linear-gradient(180deg, #1b2b20, #142019); }
.home-next h3 { margin: 7px 0 7px; font: 500 21px/1.2 Georgia, serif; }
.home-next p { color: var(--muted); font-size: 12px; line-height: 1.7; margin-bottom: 14px; }
.home-progress { height: 3px; background: #2b3d31; margin: 16px 0 6px; overflow: hidden; border-radius: 2px; }
.home-progress i { display: block; height: 100%; background: var(--green); border-radius: 2px; transition: width .4s ease; }
.home-meta { color: #748277; font-size: 10px; margin-bottom: 0; }
.home-actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 15px; }
.home-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: 14px; margin-top: 16px; align-items: start; }
.home-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 9px; }
.home-section-head h2 { margin: 0; font: 500 21px/1.2 Georgia, serif; }
.home-section-head span { color: #748277; font-size: 10px; }
.home-project-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; text-align: left; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); padding: 12px 0; }
.home-project-row:hover { background: #17251d; }
.home-project-row strong { display: block; font: 500 15px/1.3 Georgia, serif; }
.home-project-row small { display: block; color: #748277; font-size: 10px; margin-top: 2px; }
.home-project-row b { color: var(--green); font-weight: 400; }
.home-mini { margin-bottom: 10px; }
.home-mini h3 { margin: 7px 0 5px; font: 500 17px/1.3 Georgia, serif; }
.home-mini p { color: var(--muted); font-size: 11px; line-height: 1.6; margin-bottom: 7px; }

/* Старые экраны в новом shell */
.new-workspace .section-intro { margin-bottom: 22px; }
.new-workspace .section-intro h2 { font: 500 30px/1.15 Georgia, serif; }
.new-workspace .section-intro p { color: var(--muted); font-size: 12px; }
.new-workspace .editor-layout { gap: 32px; grid-template-columns: minmax(0, 1fr) 230px; }
.new-workspace .inspector { border-left-color: var(--line); }
.new-workspace .field input, .new-workspace .field textarea, .new-workspace .field select { background: #101b14; border-color: #3a5040; color: var(--ink); border-radius: 7px; }
.new-workspace .field > span { color: #b7c4b8; }
.new-workspace .view-toolbar h2 { font: 500 27px/1.2 Georgia, serif; }
.new-workspace .course-view { max-width: 900px; }
.new-workspace .page, .new-workspace .manuscript { background: #142019; }
.new-workspace .prose-editor { background: #101b14; color: var(--ink); border-color: var(--line); }
.new-workspace .chapter-picker select { background: #101b14; color: var(--ink); border-color: var(--line); }
.new-workspace .workflow-nav { display: none; }

@media (min-width: 981px) { .new-sidebar { position: fixed; inset: 0 auto 0 0; height: 100vh; } }
@media (max-width: 980px) {
  .new-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 276px; transform: translateX(-100%); transition: transform .2s ease; box-shadow: 12px 0 35px #0008; }
  .new-sidebar.open { transform: none; }
  .new-sidebar .sidebar-close { display: block; position: absolute; right: 10px; top: 10px; border: 0; background: transparent; color: #dbe8d2; font-size: 25px; padding: 4px 9px; line-height: 1; }
  .sidebar-backdrop { display: block; position: fixed; inset: 0; width: 100%; height: 100%; z-index: 25; background: #0009; border: 0; }
  .main-shell { margin-left: 0; }
  .new-topbar { padding: 0 16px; height: 54px; min-height: 54px; }
  .new-topbar .menu-button { display: block; }
  .new-topbar .save-status { display: none; }
  .new-workspace { padding: 20px 16px 34px; }
  .new-book-heading { padding: 20px 16px 10px; }
  .new-book-heading h1 { font-size: 30px; }
  .home-grid, .home-columns { grid-template-columns: 1fr; }
  .new-home { padding: 27px 16px 38px; }
  .new-workspace .editor-layout { grid-template-columns: 1fr; }
  .new-workspace .inspector { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 18px; }
}
@media (max-width: 520px) {
  .home-head { display: block; }
  .home-head > .button { margin-top: 12px; }
  .new-home h1 { font-size: 33px; }
  .home-current, .home-next, .home-mini { padding: 16px; }
  .new-topbar .breadcrumbs { font-size: 10px; }
}
@keyframes shell-in { from { opacity: .4; transform: translateY(4px); } to { opacity: 1; transform: none; } }


/* ==== Полировка внутренних экранов под новый shell ==== */
.new-workspace { color: var(--ink); }
.new-workspace .section-intro .eyebrow,
.new-workspace .view-toolbar .eyebrow { color: #a88b4c; }
.new-workspace .section-intro h2,
.new-workspace .view-toolbar h2 { color: var(--ink); }
.new-workspace .section-intro p,
.new-workspace .muted,
.new-workspace .field-note { color: var(--muted); }

/* Паспорт и шаги */
.wizard-nav { display: flex; gap: 4px; background: #111d16; border: 1px solid var(--line); border-radius: 9px; padding: 5px; margin-bottom: 24px; overflow-x: auto; }
.wizard-nav button { border: 1px solid transparent; border-radius: 6px; min-height: 34px; padding: 6px 9px; color: var(--muted); font-size: 10px; }
.wizard-nav button > span { border-color: #425846; background: #142019; color: #a9b9aa; }
.wizard-nav button:hover { background: #17251d; }
.wizard-nav button.current { background: var(--green); color: #101a15; }
.wizard-nav button.current > span { background: #101a15; border-color: #101a15; color: var(--green); }
.wizard-nav button.visited > span { background: #2b3d31; border-color: #506a56; color: var(--green); }
.genre-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.genre-option { border: 1px solid var(--line); border-radius: 9px; background: #142019; padding: 13px 14px; min-height: 108px; }
.genre-option:hover { border-color: #506a56; background: #17251d; }
.genre-option.selected { border-color: var(--green); background: #1b2b21; padding-left: 14px; }
.genre-option strong { font: 500 19px/1.2 Georgia, serif; }
.genre-option p { color: var(--muted); font-size: 10px; line-height: 1.55; margin-top: 8px; }
.genre-index { color: #8a7953; }
.option-check { color: var(--green); }
.genre-profile-note { border: 1px solid #3d513d; border-left: 2px solid var(--green); background: #13221a; padding: 14px 16px; margin: 13px 0 18px; }
.genre-profile-note strong { font: 500 16px/1.3 Georgia, serif; color: var(--ink); }
.genre-profile-note p { color: var(--muted); font-size: 10px; line-height: 1.6; margin: 7px 0 0; }
.volume-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 20px; }
.volume-option { border: 1px solid var(--line); border-radius: 9px; background: #142019; padding: 15px 13px; min-height: 96px; }
.volume-option:hover { border-color: #506a56; }
.volume-option.selected { border-color: var(--green); background: #1b2b21; }
.volume-option strong { font: 500 21px/1.2 Georgia, serif; }
.volume-option span { font-size: 10px; color: var(--muted); }
.wizard-bottom { border-top: 1px solid var(--line); padding-top: 16px; }
.field input, .field textarea, .field select { background: #101b14; border-color: #3a5040; border-radius: 7px; color: var(--ink); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--green); }
.field > span { color: #b8c6b8; }
.inline-note { background: #17251d; border-color: #506a56; color: #c3d0c0; }
.inline-note.warning { background: #2b2419; border-color: #756039; color: #e0c17c; }
.entity-picker { border-bottom-color: var(--line); }
.entity-tab { border-color: transparent; }
.entity-tab:hover { background: #17251d; }
.entity-tab.selected { border-color: #506a56; background: #1b2b21; }
.avatar { background: #24382a; color: #d8c18a; }
.form-details { border-color: var(--line); }
.summary-list > div { border-color: var(--line); }

/* План */
.chapter-plan-list { display: grid; gap: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.chapter-plan { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; padding: 0 14px; margin: 0; opacity: .48; }
.chapter-plan:last-child { border-bottom: 0; }
.chapter-plan.accepted { opacity: 1; background: rgba(73, 120, 82, .18); box-shadow: inset 3px 0 0 #7fae73; }
.chapter-plan.current { opacity: 1; background: rgba(201, 166, 90, .10); box-shadow: inset 3px 0 0 #c9a65a; }
.chapter-plan.attention { opacity: 1; background: rgba(201, 166, 90, .08); box-shadow: inset 3px 0 0 #b89550; }
.chapter-plan.future { opacity: .42; }
.chapter-state { font-size: 10px; letter-spacing: .04em; color: var(--muted); margin-left: auto; white-space: nowrap; }
.chapter-plan.accepted .chapter-state { color: #8fbd82; }
.chapter-plan.current .chapter-state, .chapter-plan.attention .chapter-state { color: var(--gold, #c9a65a); }
.chapter-plan summary { padding: 12px 0; }
.chapter-plan summary strong { font: 500 18px/1.3 Georgia, serif; }
.chapter-plan summary small { color: var(--muted); }
.chapter-plan summary i { color: #8b9b8c; }
.chapter-plan-body { padding: 0 0 14px 34px; color: var(--muted); }
.state-transition { background: #101b14; border: 1px solid var(--line); border-radius: 7px; padding: 12px 14px; }
.state-transition small { color: #8d9f8d; }
.chapter-number { color: #a88b4c; }
.chapter-budget { color: #89998a; }
.sticky-actions { background: rgba(13, 21, 17, .96); border-color: var(--line); padding: 12px 0; }
.synopsis { color: #c5d0c2; border-color: var(--line); }
.plot-line small { color: #a9bda8; }
.scene-line { border-color: var(--line); }
.scene-line strong { color: var(--ink); }

/* Глава и редактура */
.chapter-picker { background: #142019; border: 1px solid var(--line); border-radius: 9px; padding: 9px 13px; margin-bottom: 18px; }
.chapter-picker label > span { color: var(--muted); }
.chapter-picker select { background: #101b14; border-color: #3a5040; color: var(--ink); }
.chapter-main .view-toolbar h2 { font: 500 28px/1.15 Georgia, serif; }
.prose-editor { background: #101b14; border-color: #3a5040; border-radius: 9px; color: var(--ink); }
.manuscript { background: #101b14; border-color: var(--line); border-radius: 9px; }
.chapter-editor { min-height: 480px; }
.editor-actions { border-color: var(--line); }
.word-counter { color: #8d9f8d; }
.finding { border-color: var(--line); }
.finding blockquote { background: #17251d; border-color: #506a56; color: #c7d4c2; }
.report-metrics { border-color: var(--line); color: var(--muted); }
.inspector { border-color: var(--line); }
.inspector h3 { color: var(--ink); }
.inspector p, .quiet-list li { color: var(--muted); }
.accepted-note { background: #1b3022; border: 1px solid #3d5a42; color: #c6dcc0; }

/* Память, граф, хронология */
.memory-summary { border-color: var(--line); background: #142019; padding: 13px 15px; border-radius: 8px; }
.memory-summary b { color: var(--green); }
.memory-row { border-color: var(--line); padding: 15px 0; }
.memory-kind { color: #a88b4c; }
.memory-row blockquote { background: #17251d; border-color: #506a56; color: #c7d4c2; }
.chapter-reference { color: var(--green); }
.timeline-row { border-color: var(--line); }
.thread-row { border-color: var(--line); }
.timeline-track { border-color: var(--line); }
.graph-stats, .graph-columns { border-color: var(--line); }
.graph-columns h3 { color: var(--ink); }
.graph-profile { border: 1px solid var(--line); background: #142019; padding: 10px 12px; border-radius: 8px; }

/* Экспорт */
.export-format { border: 1px solid var(--line); border-radius: 8px; padding: 13px 14px; margin-bottom: 7px; background: #142019; }
.export-format:hover { border-color: var(--green); background: #17251d; }
.export-format > span:nth-child(2) { color: var(--muted); }
.format-label { font: 500 18px/1.2 Georgia, serif; }
.export-status { border-color: var(--line); }
.export-status p { color: var(--muted); }
.book-cover { background: #1b3024; border-color: #506a56; box-shadow: 7px 7px 0 #263a2a; color: #ece5d5; }
.book-cover h2 { color: #f0e6d2; }
.book-cover p { color: #b7c8b2; }

/* Версии и развертка */
.history-row { border-color: var(--line); }
.history-revision { color: #a88b4c; }
.history-row strong { color: var(--ink); }
.pro-card, .pro-view .panel { background: #142019; border-color: var(--line); }
.pro-card h3 { color: var(--ink); }
.pro-row { border-color: var(--line); }
.pro-row span { color: var(--muted); }

/* Школа */
.course-view .lesson { background: #142019; border-color: var(--line); }
.course-view .lesson-head h3 { color: var(--ink); }
.course-view .lesson-text p { color: #c4d0c1; }
.course-view .exercise { background: #101b14; border-color: #506a56; }
.course-view .exercise ol { color: var(--muted); }
.course-progress { color: var(--muted); }
.progress-track { background: #2b3d31; }

/* Тарифы и диалоги */
.account-dialog { background: #142019; border-color: var(--line); color: var(--ink); border-radius: 12px; }
.account-grid > div { background: #101b14; border-color: var(--line); border-radius: 8px; }
.account-grid span { color: var(--muted); }
.account-grid strong { color: var(--ink); }
.pack-card { background: #101b14; border-color: var(--line); border-radius: 8px; }
.pack-card:hover { border-color: var(--green); }
.settings-dialog, .confirmation-dialog { background: #142019; border-color: var(--line); color: var(--ink); }
.dialog-header h2 { color: var(--ink); }

@media (max-width: 760px) {
  .new-workspace .section-intro h2 { font-size: 28px; }
  .genre-options { grid-template-columns: 1fr; }
  .genre-option { min-height: 96px; padding: 11px 12px; }
  .genre-option strong { font-size: 18px; }
  .volume-options { gap: 6px; }
  .volume-option { padding: 12px 9px; min-height: 88px; }
  .volume-option strong { font-size: 18px; }
  .chapter-plan { padding: 0 11px; }
  .chapter-plan-body { padding-left: 0; }
  .chapter-picker { padding: 8px 10px; }
  .wizard-nav { gap: 2px; padding: 4px; }
  .wizard-nav button { font-size: 9px; padding: 5px 6px; }
  .wizard-nav button > span { width: 18px; height: 18px; }
}


/* Тонкие тёмные скроллбары вместо нативных белых */
html { scrollbar-width: thin; scrollbar-color: #3d5545 #0d1511; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0d1511; }
::-webkit-scrollbar-thumb { background: #3d5545; border-radius: 8px; border: 2px solid #0d1511; }
::-webkit-scrollbar-thumb:hover { background: #536e59; }
::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
.shell-scroll::-webkit-scrollbar { width: 0; height: 0; }
.shell-scroll::-webkit-scrollbar-track { background: transparent; }
.shell-scroll::-webkit-scrollbar-thumb { background: #3d5545; border: 1px solid #111c16; border-radius: 8px; }

.new-topbar .breadcrumb-link { border: 0; background: transparent; color: var(--muted); padding: 0; font: inherit; cursor: pointer; border-bottom: 1px solid transparent; }
.new-topbar .breadcrumb-link:hover { color: var(--ink); border-bottom-color: #6f815f; }
.new-topbar .breadcrumb-link:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.new-topbar .breadcrumb-current { color: #b9c5b7; }


/* Реальный таймлайн */
.timeline-page .view-toolbar { margin-bottom:16px; }
.timeline-shell { border:1px solid var(--line); border-radius:10px; background:var(--panel); overflow:hidden; margin-top:4px; }
.timeline-toolbar { display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:9px 11px; border-bottom:1px solid var(--line); background:#111d16; }
.tl-mode-switch { display:flex; gap:2px; border:1px solid var(--line); border-radius:6px; padding:2px; }
.tl-mode { border:0; background:transparent; color:var(--muted); border-radius:4px; padding:4px 8px; font-size:10px; cursor:pointer; }
.tl-mode:hover { color:var(--ink); background:var(--panel-2); }
.tl-mode.active { background:var(--green); color:#101a15; font-weight:600; }
.tl-hint { margin-left:auto; color:#728177; font-size:9px; }
.tl-filter { border:1px solid var(--line); background:transparent; color:var(--muted); border-radius:999px; padding:3px 7px; font-size:9px; cursor:pointer; }
.tl-filter:hover { color:var(--ink); border-color:var(--line-strong); }
.tl-filter.active { border-color:var(--green); color:var(--green); background:var(--gold-soft); }
.tl-viewport { overflow-x:auto; }
.tl-grid { min-width:760px; padding:8px 12px 10px; }
.tl-head { display:grid; gap:0; border-bottom:1px solid var(--line); padding-bottom:7px; margin-bottom:2px; }
.tl-head span { color:#728177; font-size:8px; letter-spacing:.07em; text-transform:uppercase; padding:0 7px; }
.tl-row { display:grid; gap:0; align-items:center; min-height:48px; border-bottom:1px solid rgba(255,255,255,.045); }
.tl-row:last-child { border-bottom:0; }
.tl-label { color:#c4d0c1; font-size:10px; padding-right:8px; display:flex; align-items:center; gap:6px; min-width:0; }
.tl-label i { width:14px; height:2px; display:inline-block; flex:none; }
.tl-cell { height:48px; position:relative; }
.tl-cell::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(255,255,255,.06); }
.tl-point { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:13px; height:13px; border-radius:50%; border:2px solid var(--panel); background:var(--gold); cursor:pointer; z-index:2; padding:0; transition:transform .15s ease, box-shadow .15s ease; }
.tl-point:hover, .tl-point.active { transform:translate(-50%,-50%) scale(1.35); box-shadow:0 0 0 4px rgba(201,166,90,.15); }
.tl-point span { position:absolute; left:16px; top:-2px; white-space:nowrap; color:#728177; font-size:8px; opacity:0; transition:opacity .15s; }
.tl-point:hover span { opacity:1; }
.tl-detail { border-top:1px solid var(--line); padding:12px 13px; display:flex; gap:12px; align-items:flex-start; background:#111d16; }
.tl-detail-mark { width:8px; height:8px; border-radius:50%; margin-top:6px; flex:none; }
.tl-detail h3 { margin:0 0 3px; font-size:15px; }
.tl-detail p { color:var(--muted); font-size:10px; line-height:1.55; margin:0; }
.tl-detail p small { color:#728177; }
.tl-detail .button { margin-left:auto; flex:none; }
.tl-unknown { border-top:1px solid var(--line); padding:11px 13px; background:#101b14; }
.tl-unknown p { color:var(--muted); font-size:10px; margin:4px 0 7px; }
.tl-unknown-events { display:flex; flex-wrap:wrap; gap:6px; }
.tl-unknown-events .tl-point { position:relative; top:auto; left:auto; transform:none; width:auto; height:auto; border:1px solid var(--line); border-radius:999px; background:#142019; color:var(--muted); padding:4px 8px; font-size:9px; }
.tl-unknown-events .tl-point::after { content:attr(data-title); }
.tl-unknown-events .tl-point span { display:none; }
.tl-unknown-events .tl-point:hover { transform:none; border-color:var(--green); color:var(--ink); box-shadow:none; }
.tl-mobile { display:none; }
@media(max-width:760px) {
  .tl-viewport { display:none; }
  .tl-grid { min-width:0; }
  .tl-mobile { display:grid; gap:8px; padding:10px; }
  .tl-mobile-line { border:1px solid var(--line); border-radius:8px; padding:9px; }
  .tl-mobile-line h3 { display:flex; gap:6px; align-items:center; font-size:14px; }
  .tl-mobile-line h3 i { width:13px; height:2px; display:inline-block; }
  .tl-mobile-events { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
  .tl-mobile-events .tl-point { position:relative; top:auto; left:auto; transform:none; width:auto; height:auto; border:1px solid var(--line); border-radius:999px; background:#101b14; color:var(--muted); padding:4px 8px; font-size:9px; }
  .tl-mobile-events .tl-point::after { content:attr(data-title); }
  .tl-mobile-events .tl-point span { display:none; }
  .tl-mobile-events .tl-point:hover { transform:none; border-color:var(--green); color:var(--ink); }
  .tl-detail { flex-wrap:wrap; }
  .tl-detail .button { margin-left:0; }
  .tl-hint { display:none; }
  .timeline-toolbar { gap:5px; }
}


/* Карточка героя/сцены */
.chapter-cards-links { display:grid; gap:2px; margin:2px 0 6px; }
.chapter-cards-links .chapter-reference { text-align:left; padding:4px 0; font-size:11px; }
.chapter-cards-links .chapter-reference:hover { color:var(--gold); }
.card-overlay { position:fixed; inset:0; z-index:90; background:#050b08b8; display:grid; place-items:center; padding:18px; }
.card-dialog { width:min(520px, 100%); max-height:90vh; overflow:auto; background:#142019; color:var(--ink); border:1px solid var(--line-strong); border-radius:12px; padding:22px; box-shadow:0 28px 90px #000a; animation:workspace-in .18s ease; }
.card-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:16px; }
.card-dialog-head h2 { margin:5px 0 3px; font:500 27px/1.1 Georgia,serif; }
.card-dialog-head p { margin:0; color:var(--muted); font-size:11px; }
.card-close { border:1px solid var(--line); background:transparent; color:var(--muted); border-radius:6px; width:30px; height:30px; font-size:20px; line-height:1; cursor:pointer; }
.card-close:hover { color:var(--ink); border-color:var(--gold); }
.card-facts { display:grid; gap:9px; margin:0; }
.card-facts > div { display:grid; grid-template-columns:86px minmax(0,1fr); gap:10px; border-top:1px solid var(--line); padding-top:9px; }
.card-facts dt { color:#748277; font-size:10px; }
.card-facts dd { margin:0; color:#d4ddcf; font-size:12px; line-height:1.55; }
.card-dialog .chips { display:flex; gap:5px; flex-wrap:wrap; margin-top:14px; }
.card-dialog .chips span { border:1px solid var(--line); border-radius:999px; padding:3px 7px; color:var(--muted); font-size:9px; }
.card-dialog-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }
.card-dialog-foot small { color:#728177; font-size:10px; line-height:1.5; }
@media(max-width:520px) { .card-dialog { padding:17px; } .card-dialog-head h2 { font-size:24px; } .card-facts > div { grid-template-columns:76px minmax(0,1fr); } }


/* CSP-safe timeline table */
.tl-table { width:100%; min-width:760px; border-collapse:collapse; table-layout:fixed; }
.tl-table thead th { color:#728177; font-size:8px; letter-spacing:.07em; text-transform:uppercase; font-weight:500; text-align:center; padding:7px 6px; border-bottom:1px solid var(--line); }
.tl-table thead th.tl-corner { width:150px; }
.tl-table tbody th { width:150px; text-align:left; color:#c4d0c1; font-size:10px; font-weight:400; padding:0 8px; border-bottom:1px solid rgba(255,255,255,.045); }
.tl-table tbody th i { display:inline-block; width:14px; height:2px; margin-right:6px; vertical-align:middle; background:var(--line-color,var(--gold)); }
.tl-table tbody td { height:48px; border-bottom:1px solid rgba(255,255,255,.045); position:relative; text-align:center; padding:0; }
.tl-table tbody tr:last-child th, .tl-table tbody tr:last-child td { border-bottom:0; }
.tl-table td::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(255,255,255,.06); }
.tl-table .tl-point { position:relative; top:auto; left:auto; transform:none; display:block; margin:0 auto; background:var(--line-color,var(--gold)); }
.tl-table .tl-point:hover, .tl-table .tl-point.active { transform:scale(1.35); }
.tl-color-0 { --line-color:var(--red); }
.tl-color-1 { --line-color:var(--blue); }
.tl-color-2 { --line-color:var(--gold); }
.tl-color-3 { --line-color:var(--green); }
.tl-color-4 { --line-color:#a78bc4; }
.tl-color-5 { --line-color:#c28a6a; }
.tl-color-6 { --line-color:#8b9fbd; }
.tl-detail-mark { background:var(--line-color,var(--gold)); }
.tl-mobile-line h3 i { background:var(--line-color,var(--gold)); }
.tl-unknown .tl-point { background:#142019; color:var(--muted); }
.tl-unknown .tl-point::after { content:attr(data-title); }
.tl-unknown .tl-point span { display:none; }
.tl-mobile-events .tl-point { position:relative; top:auto; left:auto; transform:none; display:inline-block; width:auto; height:auto; border:1px solid var(--line); border-radius:999px; background:#101b14; color:var(--muted); padding:4px 8px; font-size:9px; }
.tl-mobile-events .tl-point::after { content:attr(data-title); }
.tl-mobile-events .tl-point span { display:none; }
.tl-mobile-events .tl-point:hover { transform:none; border-color:var(--line-color,var(--gold)); color:var(--ink); }
.home-progress-bar { display:block; width:100%; height:3px; border:0; border-radius:2px; background:#2b3d31; overflow:hidden; appearance:none; }
.home-progress-bar::-webkit-progress-bar { background:#2b3d31; }
.home-progress-bar::-webkit-progress-value { background:var(--green); }
.home-progress-bar::-moz-progress-bar { background:var(--green); }
.section-gap { margin-top:12px; }

.tl-color-0 .tl-point { background: var(--red); }
.tl-color-1 .tl-point { background: var(--blue); }
.tl-color-2 .tl-point { background: var(--gold); }
.tl-color-3 .tl-point { background: var(--green); }
.tl-color-4 .tl-point { background: #a78bc4; }
.tl-color-5 .tl-point { background: #c28a6a; }
.tl-color-6 .tl-point { background: #8b9fbd; }
.tl-color-0 .tl-detail-mark { background: var(--red); }
.tl-color-1 .tl-detail-mark { background: var(--blue); }
.tl-color-2 .tl-detail-mark { background: var(--gold); }
.tl-color-3 .tl-detail-mark { background: var(--green); }
.tl-color-4 .tl-detail-mark { background: #a78bc4; }
.tl-color-5 .tl-detail-mark { background: #c28a6a; }
.tl-color-6 .tl-detail-mark { background: #8b9fbd; }

.tl-point.tl-color-0 { background: var(--red); }
.tl-point.tl-color-1 { background: var(--blue); }
.tl-point.tl-color-2 { background: var(--gold); }
.tl-point.tl-color-3 { background: var(--green); }
.tl-point.tl-color-4 { background: #a78bc4; }
.tl-point.tl-color-5 { background: #c28a6a; }
.tl-point.tl-color-6 { background: #8b9fbd; }

:root, [data-theme="site"] {
  --panel: #142019;
  --panel-2: #1b2b21;
  --gold: #c9a65a;
  --gold-soft: rgba(201,166,90,.10);
  --red: #b35a4a;
  --blue: #5d89b5;
  --line-strong: #415947;
}


/* Мир книги */
.world-page { max-width:1120px; }
.world-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:22px; }
.world-head h2 { font:500 33px/1.1 Georgia,serif; margin:7px 0 8px; }
.world-head .lead { color:var(--muted); max-width:62ch; margin:0; font-size:13px; line-height:1.65; }
.world-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:16px; align-items:start; }
.world-main { display:grid; gap:12px; }
.world-card { border:1px solid var(--line); background:#142019; border-radius:10px; padding:18px; }
.world-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:9px; }
.world-card-head h3 { margin:5px 0 0; font:500 20px/1.25 Georgia,serif; }
.world-card-head .eyebrow { color:#b08f50; font-size:10px; }
.world-count { color:#a6b2a7; border:1px solid var(--line); border-radius:999px; min-width:24px; text-align:center; padding:2px 7px; font-size:10px; }
.world-card .field-note { max-width:66ch; margin:0 0 12px; font-size:11px; line-height:1.65; }
.world-profiles { display:flex; flex-wrap:wrap; gap:6px; }
.world-profiles .button { min-height:34px; padding:6px 10px; font-size:11px; }
.world-entity { border:1px solid var(--line); border-radius:8px; background:#101b14; padding:12px; margin-bottom:8px; }
.world-entity-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:10px; }
.world-entity-head h4 { margin:2px 0 0; font:500 17px/1.3 Georgia,serif; }
.world-entity-kind { color:#b08f50; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.world-empty { display:flex; gap:12px; align-items:flex-start; border:1px dashed #3d5442; border-radius:8px; padding:14px; margin-bottom:12px; color:var(--muted); background:#111d16; }
.world-empty > span { color:var(--green); font:500 20px/1 Georgia,serif; }
.world-empty strong { display:block; color:var(--ink); font:500 15px/1.3 Georgia,serif; margin-bottom:2px; }
.world-empty p { margin:0; font-size:11px; line-height:1.55; }
.world-aside { display:grid; gap:12px; }
.world-aside .world-card h3 { margin:6px 0 7px; font:500 19px/1.25 Georgia,serif; }
.world-aside p { color:var(--muted); font-size:11px; line-height:1.65; }
.world-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; border-top:1px solid var(--line); margin-top:13px; padding-top:12px; }
.world-stats div { display:grid; gap:2px; }
.world-stats strong { font:500 22px/1 Georgia,serif; color:var(--ink); }
.world-stats span { color:var(--muted); font-size:9px; }
.world-card .button.secondary { margin-top:2px; }

/* Общие токены и ритм */
.new-workspace { padding-top:26px; }
.new-workspace .section-intro { margin:0 0 22px; }
.new-workspace .section-intro h2 { font:500 30px/1.15 Georgia,serif; margin:5px 0 7px; }
.new-workspace .section-intro p { color:var(--muted); font-size:12px; line-height:1.65; max-width:62ch; }
.new-workspace .view-toolbar { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.new-workspace .view-toolbar h2 { font:500 29px/1.15 Georgia,serif; margin:4px 0 5px; }
.new-workspace .view-toolbar p { margin:0; color:var(--muted); font-size:11px; }
.panel { background:#142019; border:1px solid var(--line); border-radius:10px; padding:18px; }
.panel > .eyebrow { margin-bottom:9px; color:#b08f50; }
.field > span { font-size:11px; color:#bcc9bb; }
.field input, .field textarea, .field select { min-height:40px; }
.button { min-height:42px; }
.button.compact { min-height:34px; }
.button.text-button { min-height:34px; }
.button:disabled { opacity:.4; cursor:not-allowed; transform:none; }
.empty-state { border:1px dashed #3d5442; border-radius:10px; background:#111d16; padding:26px; }
.empty-state h2 { font:500 25px/1.2 Georgia,serif; }
.empty-state p { color:var(--muted); max-width:58ch; }
.inline-note { border-radius:8px; }
@media(max-width:900px) {
  .world-head { flex-direction:column; align-items:flex-start; }
  .world-layout { grid-template-columns:1fr; }
  .world-aside { grid-template-columns:1fr 1fr; }
}
@media(max-width:560px) {
  .world-head h2 { font-size:29px; }
  .world-card { padding:15px; }
  .world-aside { grid-template-columns:1fr; }
  .world-stats { grid-template-columns:repeat(3,1fr); }
  .world-profiles .button { min-height:38px; }
}

@media (max-width: 900px) {
  .new-book-heading { display: block !important; padding: 18px 16px 10px; }
  .new-book-heading h1 { font-size: 32px !important; line-height: 1.06; overflow-wrap: anywhere; max-width: 100%; }
  .new-book-heading .heading-state { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 9px; text-align: left !important; }
  .new-book-heading .heading-state .button { min-height: 32px; }
  .new-workspace .view-toolbar { align-items: flex-start; flex-direction: column; }
  .new-workspace .view-toolbar .button-row { width: 100%; }
}


/* Полка книг */
.book-home .home-head { margin-bottom: 14px; }
.book-home .home-head h1 { font: 500 38px/1.08 Georgia, serif; margin: 3px 0 6px; }
.book-home .home-lead { margin: 0; }
.home-next-line { display: flex; justify-content: space-between; align-items: center; gap: 16px; border: 1px solid var(--line); background: #101b14; border-radius: 9px; padding: 11px 13px; margin-bottom: 16px; }
.home-next-line > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 12px; min-width: 0; }
.home-next-line .home-card-label { flex-basis: 100%; margin: 0; color: #b08f50; }
.home-next-line strong { font: 500 17px/1.3 Georgia, serif; }
.home-next-line span:not(.home-card-label) { color: var(--muted); font-size: 11px; }
.home-next-line .button { flex: none; }
.book-shelf { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
.book-card { min-width: 0; }
.book-cover-wrap { position: relative; aspect-ratio: 2 / 3; border-radius: 6px; border: 1px solid #33463a; background: #0d1812; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,.24); transition: transform .18s ease, border-color .18s ease; }
.book-card:hover .book-cover-wrap { transform: translateY(-2px); border-color: #6f8266; }
.book-cover { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; color: var(--ink); }
.book-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.book-cover-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #9eaf9f; border: 1px dashed #48614d; border-radius: 5px; margin: 8px; width: calc(100% - 16px); height: calc(100% - 16px); background: #132019; transition: background .18s ease, color .18s ease; }
.book-cover-empty:hover { background: #192a20; color: var(--ink); }
.book-cover-empty > span { font: 300 34px/1 Georgia, serif; color: var(--gold); }
.book-cover-empty small { font-size: 10px; letter-spacing: .04em; }
.book-cover-edit { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #ffffff35; background: #0c1711cc; color: #f4ead4; font-size: 14px; cursor: pointer; opacity: 0; transition: opacity .18s ease, background .18s ease; }
.book-card:hover .book-cover-edit, .book-cover-edit:focus-visible { opacity: 1; }
.book-cover-edit:hover { background: #1b3022; }
.book-current-tag { position: absolute; left: 8px; top: 8px; border-radius: 999px; background: #c9a65a; color: #162219; padding: 3px 7px; font-size: 8px; letter-spacing: .07em; text-transform: uppercase; font-weight: 700; }
.book-card-info { padding: 10px 2px 0; }
.book-card-title { display: block; width: 100%; border: 0; background: transparent; color: var(--ink); text-align: left; font: 500 17px/1.25 Georgia, serif; padding: 0; cursor: pointer; overflow-wrap: anywhere; }
.book-card-title:hover { color: var(--gold); }
.book-card-meta { margin: 4px 0 8px; color: var(--muted); font-size: 10px; line-height: 1.4; min-height: 14px; }
.book-card-progress { display: flex; align-items: center; gap: 8px; }
.book-progress { flex: 1; height: 3px; border: 0; border-radius: 2px; background: #2b3d31; appearance: none; }
.book-progress::-webkit-progress-bar { background: #2b3d31; }
.book-progress::-webkit-progress-value { background: var(--green); }
.book-progress::-moz-progress-bar { background: var(--green); }
.book-card-progress span { flex: none; color: #829284; font-size: 9px; white-space: nowrap; }
.book-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: 7px; }
.book-card-actions .button { padding: 4px 0; font-size: 10px; min-height: 28px; }
.book-card-actions .button.secondary { padding: 4px 7px; }
.book-add-card { aspect-ratio: 2 / 3; border: 1px dashed #3d5442; border-radius: 6px; background: #101b14; color: #93a495; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; cursor: pointer; min-width: 0; }
.book-add-card:hover { background: #14231a; color: var(--ink); border-color: #6f8266; }
.book-add-card > span { font: 300 30px/1 Georgia, serif; color: var(--gold); }
.book-add-card strong { font: 500 15px/1.2 Georgia, serif; color: var(--ink); }
.book-add-card small { font-size: 10px; }
.book-home .home-columns { margin-top: 4px; }
.book-home .home-mini { background: #142019; border: 1px solid var(--line); border-radius: 9px; padding: 15px; }
.book-home .home-mini + .home-mini { margin-top: 10px; }
.book-home .home-quote p { font: 500 16px/1.45 Georgia, serif; color: #d7e0d1; margin: 0 0 7px; }
.book-home .home-quote small { color: #b08f50; font-size: 10px; }

/* Обложка */
.cover-overlay { position: fixed; inset: 0; z-index: 95; background: #050b08c7; display: grid; place-items: center; padding: 18px; }
.cover-dialog { width: min(760px, 100%); max-height: 92vh; overflow: auto; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 22px; background: #142019; border: 1px solid var(--line-strong); border-radius: 12px; padding: 22px; box-shadow: 0 28px 90px #000a; animation: workspace-in .18s ease; }
.cover-preview-wrap { aspect-ratio: 2 / 3; border-radius: 5px; overflow: hidden; background: #0d1812; border: 1px solid #33463a; }
.cover-preview-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.cover-preview-empty { height: 100%; display: grid; place-items: center; color: var(--gold); font: 300 45px Georgia, serif; }
.cover-editor { min-width: 0; }
.cover-editor-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.cover-editor-head h2 { margin: 6px 0 4px; font: 500 26px/1.15 Georgia, serif; overflow-wrap: anywhere; }
.cover-close { border: 1px solid var(--line); background: transparent; color: var(--muted); border-radius: 6px; width: 30px; height: 30px; font-size: 20px; line-height: 1; cursor: pointer; flex: none; }
.cover-close:hover { color: var(--ink); border-color: var(--gold); }
.cover-template-label { color: #b08f50; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; margin: 15px 0 7px; }
.cover-templates { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.cover-template { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; border: 1px solid var(--line); border-radius: 6px; background: #101b14; color: var(--muted); padding: 8px; font-size: 10px; text-align: left; cursor: pointer; }
.cover-template:hover, .cover-template.selected { border-color: var(--gold); color: var(--ink); }
.cover-swatch { display: block; width: 100%; height: 30px; border-radius: 3px; border: 1px solid #ffffff20; }
.cover-swatch-library { background: linear-gradient(135deg, #10251a 0 55%, #c9a65a 55% 60%, #10251a 60%); }
.cover-swatch-night { background: linear-gradient(135deg, #0c1624 0 55%, #85a9cf 55% 60%, #0c1624 60%); }
.cover-swatch-paper { background: linear-gradient(135deg, #e9dfc9 0 55%, #8a3f34 55% 60%, #e9dfc9 60%); }
.cover-swatch-cinema { background: linear-gradient(135deg, #251318 0 55%, #d19a63 55% 60%, #251318 60%); }
.cover-upload { display: inline-flex; position: relative; }
.cover-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.cover-upload .button { cursor: pointer; }
.cover-editor-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; border-top: 1px solid var(--line); margin-top: 16px; padding-top: 13px; }
@media(max-width:760px) {
  .book-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .book-add-card { aspect-ratio: 2 / 3; }
  .home-next-line { align-items: flex-start; flex-direction: column; }
  .home-next-line .button { width: 100%; }
  .book-card-title { font-size: 15px; }
  .cover-dialog { grid-template-columns: 1fr; gap: 14px; padding: 16px; }
  .cover-preview-wrap { width: 150px; justify-self: center; }
  .cover-templates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cover-editor-head h2 { font-size: 23px; }
}

.cover-ai-block { border-top:1px solid var(--line); margin-top:4px; padding-top:2px; }
.cover-ai-block p { color:var(--muted); font-size:10px; line-height:1.55; margin:0 0 8px; }
.cover-ai-block .button { min-height:36px; }
.account-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
@media(max-width:700px){ .account-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

.brief-blocker { border:1px solid #6b4d3d; background:#2a1c17; border-radius:8px; padding:12px 14px; margin:0 0 18px; }
.brief-blocker strong { display:block; color:#f0d9c8; font-size:12px; font-weight:600; margin-bottom:3px; }
.brief-blocker p { color:#c9a58e; font-size:11px; line-height:1.55; margin:0 0 8px; }
.brief-blocker ul { list-style:none; margin:0; padding:0; display:grid; gap:5px; }
.brief-blocker li { display:flex; align-items:flex-start; gap:7px; font-size:11px; line-height:1.55; color:#d8b9a7; }
.brief-blocker li button { flex:none; border:0; border-bottom:1px solid #b98566; background:transparent; color:#f0c9a9; padding:0; font:inherit; font-weight:600; cursor:pointer; }
.brief-blocker li button:hover { color:#fff0df; border-bottom-color:#f0c9a9; }
.brief-blocker li span { min-width:0; }
@media(max-width:560px){ .brief-blocker { padding:11px 12px; } .brief-blocker li { font-size:10px; } }

.field-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.field-ai { flex:none; border:1px solid #596b50; background:#18261d; color:#c9d8c6; border-radius:4px; min-height:24px; padding:2px 6px; font-size:9px; letter-spacing:.02em; cursor:pointer; }
.field-ai:hover { border-color:var(--gold); color:#f0e4cc; }
.field-ai:disabled { opacity:.45; cursor:wait; }
.brief-ai { flex:none; border:0; background:transparent; color:#e0b886; font-size:10px; padding:0; cursor:pointer; border-bottom:1px solid #9d7557; white-space:nowrap; }
.brief-ai:hover { color:#fff0dc; border-bottom-color:#fff0dc; }
@media(max-width:560px){ .field-ai { min-height:26px; } .brief-ai { margin-left:0; } .brief-blocker li { flex-wrap:wrap; } }

/* Подсказки к полям */
.field-tools { display:flex; align-items:center; gap:4px; flex:none; }
.field-help { width:20px; height:20px; min-height:20px; padding:0; border:1px solid #52644f; border-radius:50%; background:transparent; color:#b9c9b8; font:600 10px/1 var(--sans); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.field-help:hover, .field-help:focus-visible { border-color:var(--gold); color:#f1dfba; background:#1a2a20; }
.help-overlay { position:fixed; inset:0; z-index:100; background:#050b08d6; display:grid; place-items:center; padding:18px; }
.help-dialog { width:min(560px,100%); max-height:90vh; overflow:auto; background:#142019; border:1px solid #506247; border-radius:12px; padding:24px; box-shadow:0 28px 90px #000b; animation:workspace-in .18s ease; }
.help-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.help-head h2 { font:500 28px/1.15 Georgia,serif; margin:6px 0 0; overflow-wrap:anywhere; }
.help-close { flex:none; width:32px; height:32px; border:1px solid var(--line); border-radius:6px; background:transparent; color:var(--muted); font-size:21px; line-height:1; cursor:pointer; }
.help-close:hover { border-color:var(--gold); color:var(--ink); }
.help-block { border-top:1px solid var(--line); padding:12px 0 0; margin-top:12px; }
.help-block span, .help-example span { display:block; color:#b08f50; font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin-bottom:5px; }
.help-block p { color:#d2ddcf; font-size:13px; line-height:1.7; margin:0; }
.help-example { border:1px solid #3d5442; background:#101b14; border-radius:7px; padding:11px 13px; margin-top:14px; }
.help-example p { color:#c6d4c1; font:500 14px/1.55 Georgia,serif; margin:0; }
.help-done { margin-top:16px; }
@media(max-width:560px){ .help-dialog { padding:18px; } .help-head h2 { font-size:24px; } .field-help { width:24px; height:24px; min-height:24px; } }

.topbar-help { width:26px; height:26px; min-height:26px; border:1px solid #52644f; border-radius:50%; background:transparent; color:#b9c9b8; font:600 11px/1 var(--sans); cursor:pointer; }
.topbar-help:hover { border-color:var(--gold); color:#f1dfba; }

.home-archive { border-top:1px solid var(--line); margin:0 0 20px; padding-top:12px; }
.home-archive .home-section-head { margin-bottom:4px; }
.home-archive .field-note { margin:0 0 10px; }
.archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.archive-card { display:flex; gap:11px; align-items:center; border:1px solid var(--line); background:#111d16; border-radius:8px; padding:9px; min-width:0; }
.archive-cover { width:44px; height:66px; flex:none; border-radius:3px; overflow:hidden; background:#0c1711; border:1px solid #33463a; display:grid; place-items:center; color:#8fa493; }
.archive-cover img { width:100%; height:100%; object-fit:cover; }
.archive-copy { min-width:0; }
.archive-copy strong { display:block; font:500 15px/1.25 Georgia,serif; overflow-wrap:anywhere; }
.archive-copy small { display:block; color:var(--muted); font-size:10px; margin:3px 0 5px; }
.archive-copy .button { font-size:10px; min-height:28px; padding:3px 0; }
@media(max-width:600px){ .archive-grid { grid-template-columns:1fr; } }

.issue-class { width:auto !important; min-width:21px; padding:0 6px; white-space:nowrap; font-size:9px; }

/* Блокирующий слой задания */
body.job-lock { overflow:hidden; }
body.job-lock .job-banner { display:none; }
.job-overlay { position:fixed; inset:0; z-index:130; background:#050b08e8; backdrop-filter:blur(3px); display:grid; place-items:center; padding:20px; overflow:auto; }
.job-dialog { width:min(760px,100%); max-height:92vh; overflow:auto; background:#142019; color:var(--ink); border:1px solid #4b6044; border-radius:13px; padding:24px; box-shadow:0 30px 100px #000c; animation:workspace-in .2s ease; }
.job-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.job-dialog-head h2 { font:500 30px/1.15 Georgia,serif; margin:6px 0 7px; }
.job-dialog-head p { color:var(--muted); font-size:12px; line-height:1.65; margin:0; max-width:52ch; }
.job-percent { flex:none; display:flex; align-items:center; gap:7px; color:var(--gold); font:500 18px/1 Georgia,serif; white-space:nowrap; }
.job-progress { margin:18px 0 16px; }
.job-progress progress { width:100%; height:5px; border:0; border-radius:3px; background:#2a3b30; appearance:none; display:block; }
.job-progress progress::-webkit-progress-bar { background:#2a3b30; border-radius:3px; }
.job-progress progress::-webkit-progress-value { background:var(--gold); border-radius:3px; transition:width .3s ease; }
.job-progress progress::-moz-progress-bar { background:var(--gold); }
.job-progress > span { display:block; color:var(--muted); font-size:10px; line-height:1.5; margin-top:7px; }
.job-stage-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; margin:0 0 17px; }
.job-stage-list > div { display:flex; gap:5px; align-items:flex-start; color:#728477; font-size:10px; line-height:1.35; border-top:1px solid var(--line); padding-top:7px; }
.job-stage-list > div span { color:#53685a; flex:none; }
.job-stage-list > div.done { color:#a9c6a7; }
.job-stage-list > div.done span { color:var(--green); }
.job-stage-list > div.current { color:#f0dfbd; border-top-color:var(--gold); }
.job-stage-list > div.current span { color:var(--gold); }
.job-log { border:1px solid #2c4032; background:#0d1711; border-radius:8px; padding:10px 12px; max-height:190px; overflow:auto; scrollbar-width:thin; scrollbar-color:#4a604b transparent; }
.job-log-head { display:flex; justify-content:space-between; gap:10px; color:#b08f50; font-size:9px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:7px; }
.job-log-head span:last-child { color:#687a6b; letter-spacing:0; text-transform:none; }
.job-log-line { display:flex; align-items:baseline; gap:8px; border-top:1px solid #223328; padding:5px 0; color:#b7c8b5; font-size:11px; line-height:1.45; }
.job-log-line:first-of-type { border-top:0; }
.job-log-line b { font-weight:400; min-width:0; }
.job-log-line small { margin-left:auto; color:#6e8070; font-size:9px; white-space:nowrap; }
.job-log-empty { color:#728477; font-size:11px; margin:4px 0; }
.job-dialog-actions { display:flex; justify-content:flex-end; align-items:center; gap:8px; margin-top:16px; }
.job-dialog-foot { color:#687a6b; font-size:9px; margin:9px 0 0; text-align:right; }
@media(max-width:700px) {
  .job-overlay { padding:10px; align-items:start; }
  .job-dialog { padding:18px; max-height:96vh; }
  .job-dialog-head h2 { font-size:25px; }
  .job-dialog-head { gap:10px; }
  .job-percent { font-size:15px; }
  .job-stage-list { grid-template-columns:1fr 1fr; }
  .job-stage-list > div { font-size:9px; }
  .job-log { max-height:150px; }
  .job-dialog-actions { flex-wrap:wrap; }
  .job-dialog-foot { text-align:left; }
}

/* Контраст: выделение и сценарные блоки */
::selection { background:#c9a65a !important; color:#101a14 !important; text-shadow:none !important; }
::-moz-selection { background:#c9a65a !important; color:#101a14 !important; text-shadow:none !important; }
[data-theme="site"] .scene-editor { background:#101b14; border:1px solid #33483a; color:#e7eee2; border-radius:7px; }
[data-theme="site"] .scene-editor > summary { color:#e7eee2; }
[data-theme="site"] .scene-editor > summary::marker { color:#c9a65a; }
[data-theme="site"] .scene-editor .details-body { color:#b8c8b6; }
[data-theme="site"] .scene-editor .field > span { color:#bcc9bb; }
[data-theme="site"] .scene-editor .field-note { color:#9db09d; }
[data-theme="site"] .scene-editor .inline-note { color:#d2ddcf; }
[data-theme="site"] select option { background:#142019; color:#e7eee2; }
[data-theme="site"] .job-banner { background:#142019; border-color:#3b523f; color:#e7eee2; }
[data-theme="site"] .job-banner strong { color:#e7eee2; }
[data-theme="site"] .job-banner p { color:#b8c8b6; }
[data-theme="site"] .job-controls > span { color:#b8c8b6; }
[data-theme="site"] .job-banner progress::-webkit-progress-bar { background:#2a3b30; }
[data-theme="site"] .job-banner progress::-webkit-progress-value { background:#c9a65a; }
[data-theme="site"] .job-banner.failed { background:#2a1c17; border-color:#6b4d3d; }

/* Тёмная тема: убрать остатки светлых панелей и тёмного текста */
[data-theme="site"] .profile-note { background:#13221a; border-left-color:var(--green); color:var(--ink); }
[data-theme="site"] .profile-note h3 { color:var(--ink); }
[data-theme="site"] .profile-note p { color:#c3d2c0; }
[data-theme="site"] .profile-note small { color:var(--muted); }
[data-theme="site"] .synopsis { color:#cbd8c8; }
[data-theme="site"] .resolution p { color:#c3d2c0; }
[data-theme="site"] .plot-line p { color:#b8c8b6; }
[data-theme="site"] .plot-line small { color:#a9bdab; }
[data-theme="site"] .plot-line > span { color:#9db09d; }
[data-theme="site"] .scene-line { border-bottom-color:#293c30; }
[data-theme="site"] .scene-line strong { color:#d2e1cc; }
[data-theme="site"] .scene-line p { color:#b8c8b6; }
[data-theme="site"] .scene-line small { color:#9db09d; }
[data-theme="site"] .scene-line > span { color:#8fa493; }
[data-theme="site"] .scene-note strong { color:#d2e1cc; }
[data-theme="site"] .scene-note p { color:#b8c8b6; }
[data-theme="site"] .scene-note small { color:#9db09d; }
[data-theme="site"] .clue-note small { color:#9db09d; }
[data-theme="site"] .quality-report > p,
[data-theme="site"] .final-report > p { color:#c3d2c0; }
[data-theme="site"] .inspector p { color:#aebfab; }
[data-theme="site"] .quiet-list li { color:#aebfab; }
[data-theme="site"] .chapter-plan-body { color:#b8c8b6; }
[data-theme="site"] summary::marker { color:#c9a65a; }
[data-theme="site"] .scene-editor .field input,
[data-theme="site"] .scene-editor .field textarea,
[data-theme="site"] .scene-editor .field select { background:#0d1711; border-color:#33483a; color:#e7eee2; }

.plan-preflight { border:1px solid #6b532d; background:#211b10; border-radius:9px; padding:14px 16px; margin:0 0 18px; }
.plan-preflight.blocking { border-color:#8a5b3c; background:#251c13; }
.plan-preflight-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.plan-preflight-head strong { display:block; color:#f0dfbd; font:500 17px/1.3 Georgia,serif; margin-bottom:3px; }
.plan-preflight-head p { color:#bca98a; font-size:11px; line-height:1.55; margin:0; max-width:70ch; }
.plan-preflight-count { flex:none; border:1px solid #6b532d; border-radius:999px; padding:3px 8px; color:#e0bd7e; font-size:9px; white-space:nowrap; }
.plan-preflight ul { margin:11px 0 0; padding-left:18px; color:#d2c2a6; font-size:11px; line-height:1.55; display:grid; gap:4px; }
.plan-preflight li::marker { color:#c9a65a; }
.plan-preflight .button-row { margin-top:12px; }
.plan-preflight-warnings { margin-top:10px; }
.plan-preflight-warnings summary { color:#c9a65a; font-size:10px; cursor:pointer; }
.plan-preflight-warnings ul { margin-top:7px; color:#aebfab; }
@media(max-width:600px){ .plan-preflight { padding:12px; } .plan-preflight-head { display:block; } .plan-preflight-count { display:inline-block; margin-top:7px; } }

.operation-quotas { margin: 16px 0; }
.operation-quota-row { display:grid; grid-template-columns: 1fr auto; gap:3px 10px; align-items:center; padding:7px 0; border-bottom:1px solid var(--line); font-size:11px; }
.operation-quota-row span { color:var(--ink); }
.operation-quota-row strong { color:var(--gold); font-size:10px; font-weight:600; white-space:nowrap; }
.operation-quota-row i { grid-column:1/-1; height:3px; border-radius:99px; background:#24382b; overflow:hidden; }
.operation-quota-row i::after { content:''; display:block; width:var(--used,0%); height:100%; background:var(--gold); border-radius:99px; }

.attempt-cost { margin:14px 0; padding:11px 13px; border:1px solid #6b532d; border-radius:7px; background:#211b10; color:#e7d9bb; font-size:12px; line-height:1.6; }
.attempt-consent { margin:15px 0 4px; align-items:flex-start; }
.attempt-consent span { line-height:1.55; }


/* Дашборд трассировки графа */
.trace-verdict { border:1px solid #3b5a43; border-radius:999px; padding:4px 9px; font-size:10px; color:#9fd3a9; }
.trace-verdict.bad { border-color:#8a4c3c; color:#ffb09a; background:#261613; }
.trace-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:14px 0 18px; }
.trace-stats > div { border:1px solid #2c4034; border-radius:8px; padding:9px 11px; background:#101b14; }
.trace-stats strong { display:block; color:#f0dfbd; font:500 23px/1.1 Georgia,serif; }
.trace-stats span { color:#8fa392; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.trace-stats .bad strong { color:#ff8d72; }
.trace-stats .ok strong { color:#9fd3a9; }
.trace-map-panel { border:1px solid #2c4034; border-radius:10px; background:#0b130e; padding:12px; overflow:hidden; }
.trace-map-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:9px; }
.trace-map-head p { margin:3px 0 0; max-width:64ch; }
.trace-legend { display:flex; flex-wrap:wrap; gap:5px 10px; justify-content:flex-end; max-width:42%; }
.trace-legend-item { color:#a9b9a8; font-size:9px; white-space:nowrap; }
.trace-legend-item i { display:inline-block; width:12px; height:2px; margin-right:4px; vertical-align:middle; }
.graph-map { display:block; width:100%; height:auto; min-height:180px; border-radius:6px; }
.trace-columns { display:grid; grid-template-columns:1.1fr 1.2fr .9fr; gap:12px; margin-top:12px; }
.trace-panel { border:1px solid #2c4034; border-radius:9px; background:#101b14; padding:11px 13px; min-width:0; }
.trace-panel h3 { margin:0 0 8px; color:#e6d5ae; font:500 13px/1.3 Georgia,serif; }
.trace-route { display:grid; grid-template-columns:8px 1fr auto; gap:7px; align-items:center; padding:5px 0; border-bottom:1px solid #1e2d23; font-size:10px; }
.trace-route:last-child { border-bottom:0; }
.trace-route strong { color:#b9cbb8; font-weight:500; overflow:hidden; text-overflow:ellipsis; }
.trace-route small { color:#7f947f; }
.trace-dot { width:6px; height:6px; border-radius:50%; background:#83c58d; }
.trace-route.bad .trace-dot { background:#ff7b5e; }
.trace-route.bad small { color:#ff9b83; }
.trace-edge { display:grid; grid-template-columns:14px 80px 1fr; gap:6px; align-items:center; padding:4px 0; border-bottom:1px solid #1e2d23; font-size:9px; }
.trace-edge i { height:2px; border-radius:99px; display:block; }
.trace-edge span { color:#8da18d; overflow:hidden; text-overflow:ellipsis; }
.trace-edge strong { color:#b9cbb8; font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trace-edge.bad { color:#ff9b83; }
.trace-state { display:grid; gap:2px; padding:6px 0; border-bottom:1px solid #1e2d23; }
.trace-state span { color:#9fc5a8; font-size:10px; }
.trace-state strong { color:#dce8dc; font-size:10px; font-weight:500; }
.trace-state small { color:#839784; font-size:9px; }
.trace-issue { display:grid; grid-template-columns:18px 120px 1fr; gap:7px; align-items:start; padding:7px 0; border-bottom:1px solid #1e2d23; font-size:10px; }
.trace-issue > span { color:#ff9b83; font-weight:700; }
.trace-issue strong { color:#e5d4ad; font-weight:500; }
.trace-issue p { margin:0; color:#a9b9a8; }
.trace-issue.bad { background:#1b110e; border-radius:5px; padding:7px; }
@media(max-width:900px){ .trace-stats { grid-template-columns:repeat(3,1fr); } .trace-columns { grid-template-columns:1fr; } .trace-legend { justify-content:flex-start; max-width:100%; } .trace-map-head { display:block; } }


/* Профиль, шрифт чтения и оплата */
.shell-account { width:100%; text-align:left; background:none; border:0; cursor:pointer; color:inherit; font:inherit; }
.shell-account:hover .account-avatar { border-color: var(--gold, #c9a65a); }
.profile-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; }
.profile-summary > div { border:1px solid #3a4b3d; border-radius:8px; padding:9px 11px; background:#0e1912; }
.profile-summary span { display:block; color:#8fa392; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.profile-summary strong { display:block; color:#f0dfbd; font:500 16px/1.3 Georgia,serif; margin-top:2px; }
.profile-actions { margin:8px 0 14px; }
[data-font="sans"] .manuscript, [data-font="sans"] .prose-editor, [data-font="sans"] .chapter-editor { font-family:"Segoe UI", Arial, sans-serif; }
[data-font="mono"] .manuscript, [data-font="mono"] .prose-editor, [data-font="mono"] .chapter-editor { font-family:"Cascadia Mono", Consolas, monospace; line-height:1.78; }
[data-font="serif"] .manuscript, [data-font="serif"] .prose-editor, [data-font="serif"] .chapter-editor { font-family:Georgia, "Times New Roman", serif; }
@media(max-width:600px){ .profile-summary { grid-template-columns:1fr; } }


/* Зелёная страница входа */
.login-screen {
  position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center;
  max-width: none; margin: 0; padding: 40px 32px; overflow: auto;
  color: #efe6d2;
  background:
    radial-gradient(ellipse 70% 80% at 12% 18%, rgba(52, 103, 72, .34), transparent 58%),
    radial-gradient(ellipse 55% 65% at 92% 88%, rgba(180, 143, 76, .13), transparent 62%),
    linear-gradient(135deg, #07170f 0%, #0a2116 46%, #06140e 100%);
}
.login-screen::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .23;
  background-image: radial-gradient(rgba(232, 213, 173, .18) .6px, transparent .7px);
  background-size: 5px 5px; mix-blend-mode: soft-light;
}
.login-screen::after {
  content: ""; position: fixed; width: 46vw; height: 46vw; max-width: 620px; max-height: 620px;
  left: -18vw; bottom: -24vw; border: 1px solid rgba(197, 164, 101, .22); border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(197, 164, 101, .045), 0 0 0 92px rgba(197, 164, 101, .025);
  pointer-events: none;
}
.login-glow {
  position: fixed; width: 480px; height: 480px; right: 12%; top: 14%;
  background: radial-gradient(circle, rgba(91, 148, 110, .16), transparent 66%);
  filter: blur(18px); pointer-events: none;
}
.login-shell {
  position: relative; z-index: 1; width: 100%; max-width: 1120px;
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .78fr);
  gap: 84px; align-items: center;
}
.login-story { max-width: 610px; }
.login-brand {
  display: flex; align-items: center; gap: 12px; margin: 0 0 54px;
  font-family: var(--serif, Georgia, serif); font-size: 21px; letter-spacing: .04em; color: #f0e2c4;
}
.login-brand img { width: 38px; height: 38px; filter: sepia(1) saturate(.6) brightness(1.25); }
.login-kicker {
  margin: 0 0 20px; color: #b8a16d; font-size: 10px; letter-spacing: .22em;
  text-transform: uppercase; font-family: var(--sans, Arial, sans-serif);
}
.login-story h1 {
  margin: 0; color: #f2e7d0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 5.7vw, 78px); font-weight: 400; line-height: .98; letter-spacing: -.025em;
}
.login-story h1 em { color: #c9aa68; font-weight: 400; font-style: italic; }
.login-lead {
  max-width: 520px; margin: 30px 0 0; color: #a9bba9;
  font-size: 16px; line-height: 1.75;
}
.login-rule { width: 76px; height: 1px; margin: 38px 0 24px; background: linear-gradient(90deg, #c9aa68, transparent); }
.login-quote {
  margin: 0; color: #7f967f; font-family: Georgia, serif; font-size: 15px;
  font-style: italic; line-height: 1.7;
}
.login-card {
  width: 100%; padding: 34px 34px 30px; box-sizing: border-box;
  border: 1px solid rgba(164, 191, 154, .22); border-radius: 18px;
  background: linear-gradient(150deg, rgba(18, 47, 31, .96), rgba(7, 24, 15, .98));
  box-shadow: 0 30px 80px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(12px);
}
.login-eyebrow {
  margin: 0 0 10px; color: #bda66f; font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
}
.login-card h2 {
  margin: 0; color: #f2e7d0; font-family: Georgia, serif; font-size: 30px;
  font-weight: 400; line-height: 1.15;
}
.login-muted { margin: 10px 0 24px; color: #91a691; font-size: 13px; line-height: 1.5; }
.login-screen .login-card form { display: flex; flex-direction: column; gap: 15px; margin: 0; }
.login-field { display: flex; flex-direction: column; gap: 7px; }
.login-field span { color: #b8c7b4; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.login-screen .login-field input {
  width: 100%; box-sizing: border-box; padding: 13px 14px;
  color: #f3ead7; background: rgba(3, 15, 9, .62);
  border: 1px solid rgba(137, 166, 131, .25); border-radius: 8px;
  font: 15px/1.3 var(--sans, Arial, sans-serif); outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.login-screen .login-field input::placeholder { color: #607963; }
.login-screen .login-field input:focus {
  border-color: #b99b5e; background: rgba(6, 22, 13, .9);
  box-shadow: 0 0 0 3px rgba(185, 155, 94, .13);
}
.login-screen .login-submit {
  width: 100%; margin-top: 5px; padding: 13px 16px; border: 1px solid #c9aa68;
  border-radius: 8px; color: #102116; background: linear-gradient(180deg, #d8bc80, #b89754);
  font-weight: 600; letter-spacing: .02em; cursor: pointer;
  transition: filter .18s ease, transform .18s ease;
}
.login-screen .login-submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.login-error { min-height: 20px; margin: 12px 0 0; color: #e7a5a0; font-size: 12px; line-height: 1.4; }
.login-foot { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgba(137, 166, 131, .16); color: #6f8773; font-size: 10px; line-height: 1.6; }
@media (max-width: 900px) {
  .login-shell { grid-template-columns: 1fr; gap: 34px; max-width: 480px; }
  .login-story { display: none; }
  .login-screen { padding: 22px 16px; }
  .login-card { padding: 28px 24px 24px; }
}


/* Светлая страница тарифов */
.pricing-overlay {
  position: fixed; inset: 0; z-index: 2200; overflow: auto; padding: 22px 28px 28px;
  color: #20271f; background:
    radial-gradient(ellipse 65% 55% at 8% 0%, rgba(194, 168, 116, .18), transparent 60%),
    radial-gradient(ellipse 50% 55% at 95% 100%, rgba(42, 78, 54, .10), transparent 60%),
    #f3eee4;
}
.pricing-sheet { max-width: 1280px; margin: 0 auto; position: relative; }
.pricing-close { position: absolute; top: 0; right: 0; width: 42px; height: 42px; border: 1px solid #cbbfa9; border-radius: 50%; background: transparent; color: #344033; font-size: 26px; line-height: 1; cursor: pointer; }
.pricing-close:hover { background: #e8dfcf; }
.pricing-head { max-width: 760px; margin: 2px auto 18px; text-align: center; }
.pricing-kicker { margin: 0 0 14px; color: #92743c; font: 600 10px/1.3 var(--sans, Arial, sans-serif); letter-spacing: .22em; text-transform: uppercase; }
.pricing-head h1 { margin: 0; color: #1d2b20; font: 400 clamp(32px, 3.4vw, 44px)/1.04 Georgia, "Times New Roman", serif; letter-spacing: -.03em; }
.pricing-head h1 em { color: #9a7836; font-weight: 400; }
.pricing-lead { max-width: 610px; margin: 10px auto 0; color: #667061; font: 13px/1.55 var(--sans, Arial, sans-serif); }
.pricing-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.pricing-card { display: flex; flex-direction: column; position: relative; min-height: 500px; padding: 20px 20px 16px; border: 1px solid #d6cbb8; border-radius: 4px; background: rgba(255, 252, 245, .82); box-shadow: 0 16px 40px rgba(47, 47, 33, .05); }
.pricing-card.recommended { border-color: #ad8747; box-shadow: 0 18px 48px rgba(72, 59, 30, .11); background: #fffdf7; }
.pricing-card.current { border-color: #3f6648; }
.pricing-card.corporate { background: #efeadf; }
.pricing-tag { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); padding: 5px 12px; border-radius: 99px; background: #a97f39; color: #fffaf0; font: 600 8px/1 var(--sans, Arial, sans-serif); letter-spacing: .15em; white-space: nowrap; }
.pricing-label { color: #6b735e; font: 600 10px/1.3 var(--sans, Arial, sans-serif); letter-spacing: .17em; text-transform: uppercase; }
.pricing-price { margin: 6px 0 4px; color: #1c2a1f; font: 400 36px/1 Georgia, serif; letter-spacing: -.04em; }
.pricing-price small { color: #8a8e7c; font: 11px/1.2 var(--sans, Arial, sans-serif); letter-spacing: 0; white-space: nowrap; }
.pricing-subtitle { min-height: 28px; margin: 0 0 14px; color: #707968; font: 13px/1.35 var(--sans, Arial, sans-serif); }
.pricing-limits { min-height: 84px; margin: 0; padding: 0; list-style: none; color: #3e493d; font: 11.5px/1.7 var(--sans, Arial, sans-serif); }
.pricing-limits li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e7dfd1; padding: 2px 0; }
.pricing-divider { height: 1px; margin: 13px 0 11px; background: #ded5c5; }
.pricing-features { flex: 1; margin: 0; padding: 0; list-style: none; color: #3e493d; font: 11.5px/1.55 var(--sans, Arial, sans-serif); }
.pricing-features li { position: relative; padding-left: 15px; margin: 0 0 5px; }
.pricing-features li::before { content: "·"; position: absolute; left: 2px; color: #a17d3e; font-size: 20px; line-height: 1; top: -1px; }
.pricing-cta-wrap { margin-top: 12px; }
.pricing-cta { display: block; width: 100%; min-height: 42px; padding: 11px 10px; border: 1px solid #263c2a; border-radius: 3px; background: #263c2a; color: #fffaf0; font: 600 12px/1.2 var(--sans, Arial, sans-serif); cursor: pointer; transition: background .18s ease, transform .18s ease; }
.pricing-cta:hover { background: #34563a; transform: translateY(-1px); }
.pricing-cta:focus-visible { outline: 2px solid #9a7836; outline-offset: 3px; }
.pricing-current { background: transparent; border-color: #9eb39f; color: #3f6648; cursor: default; }
.pricing-request { background: transparent; border-color: #ad8747; color: #8b6a30; cursor: default; }
.pricing-included { display: block; text-align: center; color: #8b917e; font: 11px/1.3 var(--sans, Arial, sans-serif); padding: 13px 0; }
.pricing-foot { display: flex; justify-content: space-between; gap: 30px; margin-top: 22px; padding: 16px 4px 0; border-top: 1px solid #d8cebd; color: #7b816e; font: 11px/1.6 var(--sans, Arial, sans-serif); }
.pricing-foot p { margin: 0; max-width: 610px; }
.pricing-small { text-align: right; }
@media (max-width: 1050px) {
  .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-card { min-height: 0; }
}
@media (max-width: 620px) {
  .pricing-overlay { padding: 22px 14px 30px; }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-head { text-align: left; margin: 6px 0 28px; }
  .pricing-head h1 { font-size: 42px; }
  .pricing-lead { margin-left: 0; }
  .pricing-close { top: -6px; }
  .pricing-foot { display: block; }
  .pricing-small { text-align: left; margin-top: 8px !important; }
}


/* Режим письма */
.writing-mode-switch { display:inline-flex; align-items:center; gap:2px; padding:2px; border:1px solid #4b5e4c; border-radius:99px; background:rgba(0,0,0,.12); }
.writing-mode-switch button { border:0; border-radius:99px; padding:6px 11px; background:transparent; color:#aebba9; font:11px/1.2 Arial, sans-serif; cursor:pointer; }
.writing-mode-switch button.active { background:#d8bc80; color:#142218; font-weight:600; }
.writing-mode-note { margin:0 0 14px; padding:10px 14px; border-left:2px solid #9a7836; background:rgba(154,120,54,.08); color:#b9c4b2; font:12px/1.55 Arial,sans-serif; }
.writing-mode-note strong { color:#f0dfbd; font-weight:600; }
.writing-mode-note.author { border-left-color:#6c9b71; background:rgba(108,155,113,.08); }
.writing-mode-note.ai { border-left-color:#b99b5e; }
@media(max-width:700px){ .writing-mode-switch { order:3; } .writing-mode-switch button { padding:6px 9px; font-size:10px; } }


/* Движок историй */
.engine-page { padding: 8px 0 40px; }
.engine-actions { justify-content: flex-end; margin: -4px 0 14px; }
.engine-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.engine-metric { border: 1px solid #344536; background: #131e16; padding: 14px; min-height: 104px; display: flex; flex-direction: column; gap: 5px; }
.engine-metric small { color: #94a08d; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.engine-metric strong { color: #f1dfb8; font: 400 28px/1 Georgia, serif; }
.engine-metric span { color: #8d9b88; font-size: 10px; line-height: 1.35; }
.engine-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.engine-card { border: 1px solid #344536; background: #111b14; padding: 16px; }
.engine-card-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid #2d3d30; padding-bottom: 8px; margin-bottom: 10px; }
.engine-card-head h3 { margin: 0; color: #e9d7ae; font: 400 20px Georgia, serif; }
.engine-card-head span { color: #a9b9a0; font-size: 11px; }
.engine-issue, .engine-link, .engine-mention { border-bottom: 1px solid #26372a; padding: 8px 0; }
.engine-issue { display: flex; gap: 8px; align-items: flex-start; }
.engine-issue p, .engine-link span, .engine-mention q { margin: 0; color: #b9c6b2; font-size: 12px; line-height: 1.45; }
.engine-link { display: flex; justify-content: space-between; gap: 10px; }
.engine-link strong { color: #c9d8c0; font-size: 11px; }
.engine-mention strong { color: #e2c98f; font-size: 12px; margin-right: 7px; }
.engine-mention small { color: #788c75; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.engine-mention q { display: block; margin-top: 3px; color: #aebba7; font-style: italic; }
.engine-series-stats { display: flex; gap: 16px; border-top: 1px solid #2d3d30; padding-top: 8px; margin-top: 10px; color: #a9b9a0; font-size: 11px; }
@media (max-width: 1000px) { .engine-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } .engine-columns { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .engine-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


.arc-editor { border-bottom: 1px solid #26372a; padding: 6px 0; }
.arc-editor summary { display: flex; gap: 10px; justify-content: space-between; cursor: pointer; color: #c9d8c0; font-size: 11px; }
.arc-editor summary span { color: #8fa08a; font-size: 10px; text-align: right; }


.cluster-map { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0; }
.cluster-bubble { width: var(--size); height: var(--size); border: 1px solid #6f875f; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle at 35% 30%, #263d29, #101b13); color: #dfe8d7; text-align: center; }
.cluster-bubble strong { font: 400 20px/1 Georgia, serif; }
.cluster-bubble span { font-size: 8px; line-height: 1.2; max-width: 82%; color: #9fb39a; margin-top: 3px; }
.cluster-top { display: flex; flex-wrap: wrap; gap: 6px 12px; border-top: 1px solid #2d3d30; padding-top: 8px; color: #9fb39a; font-size: 10px; }


.graph-overview { margin-top: 12px; border: 1px solid #2d3d30; background: #0d1710; overflow: hidden; }
.graph-overview svg { display: block; width: 100%; height: auto; }


.engine-readiness { display: flex; gap: 18px; align-items: center; border: 1px solid #6f875f; background: #0f1c13; padding: 14px 18px; margin: 0 0 16px; }
.engine-readiness-score { font: 400 42px/1 Georgia, serif; color: #f0dfb8; min-width: 90px; }
.engine-readiness-score small { font: 12px Arial, sans-serif; color: #8fa08a; }
.engine-readiness strong { display: block; color: #dfe8d7; font: 400 18px Georgia, serif; }
.engine-readiness span { color: #8fa08a; font-size: 10px; }
.engine-readiness-checks { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.engine-readiness-checks span { border: 1px solid #344536; padding: 2px 5px; color: #a9b9a0; font-size: 9px; }
.engine-readiness-checks span.bad { border-color: #735048; color: #c98e7e; }


.engine-trace { display: flex; justify-content: space-between; gap: 14px; align-items: center; border: 1px solid #2d3d30; background: #0d1710; padding: 8px 12px; margin: 0 0 16px; }
.engine-trace strong { display: block; color: #dfe8d7; font: 400 16px Georgia, serif; }
.engine-trace span { color: #8fa08a; font-size: 10px; }
.engine-trace-stats { display: flex; gap: 12px; flex-wrap: wrap; }
.engine-trace-stats b { color: #f0dfb8; }
.engine-trace-stats .bad b { color: #c98e7e; }


.object-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 260px; overflow: auto; padding-right: 4px; }
.object-row { border-bottom: 1px solid #26372a; padding: 7px 0; }
.object-row strong { display: block; color: #dfe8d7; font-size: 11px; }
.object-row span { display: block; color: #9fb39a; font-size: 9px; }
.object-row small { display: block; color: #72806d; font-size: 9px; }

.fork-list { display: grid; gap: 6px; max-height: 220px; overflow: auto; margin-top: 12px; }

.ai-filled { background-color: rgba(201, 166, 90, .10); transition: background-color .6s ease; }


.ai-typing { border-color: var(--gold, #c9a65a) !important; box-shadow: 0 0 0 2px rgba(201, 166, 90, .12); transition: border-color .2s ease, box-shadow .2s ease; }
.ai-writing-badge { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; padding: 2px 7px; border: 1px solid rgba(201, 166, 90, .45); border-radius: 999px; color: var(--gold, #c9a65a); font-size: 11px; line-height: 1.4; white-space: nowrap; animation: aiWritingPulse 1.2s ease-in-out infinite; }
@keyframes aiWritingPulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }


.sample-edit-hint { margin: 0 0 8px; }
.sample-selection-bar { position: fixed; z-index: 80; margin: 0; padding: 14px; border: 1px solid rgba(201, 166, 90, .55); border-radius: 12px; background: #1e211a; box-shadow: 0 14px 40px rgba(0,0,0,.45); }
.sample-selection-preview { margin-bottom: 10px; color: var(--muted, #9c978c); font-size: 13px; line-height: 1.5; }
.sample-selection-preview span { color: var(--text, #eee8dc); }
.sample-presets { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.sample-presets .button { font-size: 12px; }


.sample-notes { margin: 18px 0; padding: 14px; border: 1px solid rgba(201, 166, 90, .25); border-radius: 12px; }
.sample-note { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.07); }
.sample-note-quote { color: var(--gold, #c9a65a); font-size: 12px; }
.sample-note p { margin: 4px 0 0; }

.sample-notes-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 6px; }


.chapter-more-actions { display: inline-block; }
.chapter-more-actions summary { cursor: pointer; padding: 10px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; font-size: 13px; color: var(--muted, #9c978c); }
.chapter-more-actions .button-row { margin-top: 8px; }


.chapter-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 22px 0 2px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; font-size: 12px; color: var(--muted, #9c978c); }
.chapter-flow span { display: inline-flex; align-items: center; gap: 5px; }
.chapter-flow b { display: inline-grid; place-items: center; width: 20px; height: 20px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; font-size: 11px; }
.chapter-flow span.current { color: var(--gold, #c9a65a); }
.chapter-flow span.current b { border-color: var(--gold, #c9a65a); }
.chapter-flow span.done b { border-color: rgba(201,166,90,.6); }
.chapter-flow i { font-style: normal; opacity: .35; }
.chapter-flow-note { margin: 0 0 14px; }


.acceptance-summary { padding: 16px; border: 1px solid rgba(201,166,90,.3); border-radius: 12px; background: rgba(201,166,90,.05); display: grid; gap: 8px; }
.acceptance-summary h3 { margin: 0; }
.acceptance-summary p { margin: 0; }
.facts-compact, .facts-advanced { margin-top: 12px; }
.fact-compact { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.06); }
.fact-compact span { display: grid; gap: 3px; }
.fact-compact small { color: var(--muted, #9c978c); }


.reader-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 12px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; }
.reader-toolbar .eyebrow { margin-right: 4px; }
.reader-font { display: inline-flex; align-items: center; gap: 4px; }
.reader-font button, .reader-highlight { border: 1px solid rgba(255,255,255,.14); background: transparent; color: inherit; border-radius: 7px; padding: 4px 8px; cursor: pointer; font: inherit; transition: border-color .15s, color .15s, box-shadow .15s, background .15s; }
.reader-highlight.active { border-color: var(--gold, #c9a65a); color: var(--gold, #c9a65a); background: rgba(201,166,90,.08); box-shadow: 0 0 0 1px rgba(201,166,90,.25), 0 0 12px rgba(201,166,90,.22); }
.reader-issue-list { margin-left: auto; }
.reader-issue-list summary { cursor: pointer; font-size: 12px; color: var(--muted, #9c978c); }
.reader-issue-row { padding: 7px 0; border-top: 1px solid rgba(255,255,255,.07); }
.reader-issue-row p { margin: 4px 0; }
.reader-issue-row blockquote { margin: 4px 0; color: var(--muted, #9c978c); font-size: 12px; }
.reader-issue { background: rgba(201,166,90,.16); border-bottom: 1px dotted rgba(201,166,90,.9); color: inherit; cursor: help; position: relative; }
.reader-issue.a { background: rgba(196,98,78,.2); border-bottom-color: #c4624e; }
.reader-issue::after { content: attr(data-tip); position: absolute; left: 0; bottom: calc(100% + 7px); width: max-content; max-width: 340px; padding: 8px 10px; border-radius: 8px; background: #2a2d25; color: #efe9dc; font-size: 12px; line-height: 1.45; box-shadow: 0 8px 24px rgba(0,0,0,.45); opacity: 0; pointer-events: none; transform: translateY(3px); transition: opacity .15s, transform .15s; z-index: 20; }
.reader-issue:hover::after, .reader-issue:focus::after { opacity: 1; transform: translateY(0); }
.reader-no-issues { margin-left: auto; color: var(--muted, #9c978c); font-size: 12px; }


.reader-editor { min-height: 420px; outline: none; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 18px; background: rgba(255,255,255,.015); font-size: var(--reader-font-size, 16px) !important; }
.reader-editor:focus { border-color: rgba(201,166,90,.5); }
.reader-editor:empty:before { content: attr(data-placeholder); color: var(--muted, #9c978c); }
.issue-card { position: fixed; z-index: 90; display: grid; gap: 8px; padding: 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: #23261e; box-shadow: 0 18px 50px rgba(0,0,0,.5); }
.issue-card[hidden] { display: none; }
.issue-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.issue-card-head button { border: 0; background: transparent; color: inherit; font-size: 20px; cursor: pointer; }
.issue-card p { margin: 0; line-height: 1.45; }
.issue-card blockquote { margin: 0; padding-left: 10px; border-left: 2px solid rgba(201,166,90,.5); color: var(--muted, #9c978c); font-size: 12px; }


.acceptance-a { padding: 8px 10px; border-left: 2px solid #c4624e; background: rgba(196,98,78,.08); }
.acceptance-a p { margin: 4px 0 0; }


.object-history { margin-top: 10px; border-top: 1px solid rgba(255,255,255,.07); padding-top: 8px; }
.object-history summary { cursor: pointer; font-size: 12px; color: var(--muted, #9c978c); }
.object-history-list { display: grid; gap: 6px; margin-top: 8px; }
.object-history-row { display: grid; grid-template-columns: 70px 150px 1fr; gap: 8px; align-items: baseline; font-size: 12px; }
.object-history-row span { color: var(--muted, #9c978c); }
.object-history-row small { color: var(--muted, #9c978c); }


.reader-mode { font-size: var(--reader-font-size, 16px) !important; }

.reader-issue::after { content: none !important; display: none !important; }
.issue-tip { position: fixed; z-index: 89; display: grid; gap: 5px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; background: #23261e; box-shadow: 0 12px 30px rgba(0,0,0,.4); pointer-events: none; }
.issue-tip[hidden] { display: none; }
.issue-tip p { margin: 0; font-size: 12px; line-height: 1.5; }
.issue-tip em { color: var(--muted, #9c978c); font-size: 11px; }
.issue-tip-severity { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.issue-tip-severity.A { color: #d78169; }
.issue-tip-severity.B { color: var(--gold, #c9a65a); }


.chapter-plan-action { margin: 0 0 10px; }


.chapter-open { margin-left: 8px; white-space: nowrap; }


.suggest-custom { display:grid; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); }
.suggest-custom label { font-size:12px; font-weight:600; }
.suggest-custom textarea { width:100%; background:transparent; color:inherit; border:1px solid var(--line); border-radius:8px; padding:9px 11px; font:inherit; }
.suggest-card.custom { border-color: rgba(201,166,90,.45); }


@media(max-width:900px){.login-screen{padding:0}.login-shell{width:auto;max-width:none;margin:16px}.login-card{width:100%;max-width:none;margin:0;padding:26px 20px 22px}.login-card h2{font-size:26px;overflow-wrap:anywhere}.login-screen .login-field input{min-width:0}}
