:root{font-family:PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif;color:#333b35;background:#f5f3ee;font-synthesis:none;--paper: #fbfaf6;--bg: #f5f3ee;--ink: #293b32;--green: #2e493d;--muted: #7a7d74;--line: #e6e5dc;--serif: "Songti SC", "Noto Serif CJK SC", "SimSun", serif;--app-height: 100dvh}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{background:none;border:0}input,textarea,select{border:1px solid #dcded3;border-radius:6px;background:#fffefa;color:#313b32;outline:none}input:focus,textarea:focus,select:focus{border-color:#60816b;box-shadow:0 0 0 3px #6e8d7215}input,select{min-height:44px;padding:10px 12px;width:100%}textarea{width:100%;padding:12px;line-height:1.8;resize:vertical}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #6a8b71;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}p{line-height:1.8}small{font-size:11px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.right{margin-left:auto}.muted{color:var(--muted);font-size:13px;line-height:1.8}.prewrap{white-space:pre-wrap}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;color:#8b907e}.wordmark{display:flex;gap:12px;align-items:center;white-space:nowrap}.wordmark b{font-family:var(--serif);font-size:24px;letter-spacing:3px;color:var(--ink)}.wordmark>span:last-child:not(.brand-mark){font-size:10px;letter-spacing:2.4px;color:var(--muted);margin-left:2px}.brand-mark{width:38px;height:38px;background:var(--green);color:#f1ebdc;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}.primary,.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:6px;font-size:13px;white-space:nowrap;transition:background .15s}.primary{background:var(--green);color:#fffef6;border:1px solid var(--green)}.primary:hover{background:#1e372b}.button{border:1px solid #dcdfd2;background:#fdfcf7}.button:hover{background:#eeeee4}.full{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;border-radius:5px;color:#7a8176}.icon-button:hover{background:#dce1d33d;color:var(--green)}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 0;font-size:12px;color:#4c6b56;min-height:36px}.text-button:hover{color:#152f1e}.field{display:block;margin-bottom:18px}.field>span{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field>small{display:block;color:var(--muted);margin-top:7px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-footer{display:flex;gap:14px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.form-footer>span{font-size:11px;color:var(--muted)}.error{font-size:12px;background:#f5e9df;color:#8a4c2e;padding:10px 12px;border-radius:4px;line-height:1.8;overflow-wrap:anywhere}.info-note{font-size:12px;line-height:1.8;background:#eeefe4;padding:12px 15px;color:#67735e;border-radius:5px}.checkbox-line{display:flex;gap:10px;align-items:center;margin:16px 0;font-size:13px}.checkbox-line input{width:16px;min-height:16px;accent-color:var(--green)}.checkbox-line small{display:block;color:var(--muted);margin-top:4px}.tag{font-size:10px;color:#6f7b64;background:#eff0e7;border:1px solid #e4e6d9;border-radius:4px;padding:4px 7px;white-space:nowrap}.tag.warn{color:#a27238;background:#f9f0dd}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:56px 20px 25px}.empty>span{color:#88967c;display:inline-flex;padding:17px;background:#edeedf;border-radius:50%;margin-bottom:20px}.empty h3{font-family:var(--serif);font-size:23px;letter-spacing:1px;margin-bottom:12px}.empty p{font-size:13px;color:var(--muted);max-width:400px;margin:0 auto}.boot{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--muted);font-size:13px}.login{min-height:100dvh;display:grid;grid-template-columns:1.08fr 1fr}.login-story{background:#e9e9de;padding:48px 65px;position:relative;overflow:hidden}.login-copy{position:relative;z-index:1;margin:100px 0 70px}.login-copy h1{font:54px/1.6 var(--serif);letter-spacing:4px;color:#2c4539;margin:22px 0}.login-copy p{color:#727b68;line-height:2.3;font-size:14px}.rule{width:40px;height:1px;background:#8f9c81;margin:35px 0 20px}.login-footnote{font-size:11px;color:#8c9383;letter-spacing:1px}.paper-art{position:absolute;right:-55px;bottom:-20px;transform:rotate(-13deg);width:280px;height:360px;background:#f9f7ed;border:1px solid #d9dacc;box-shadow:0 12px 35px #4756370a;padding:50px 38px;opacity:.65}.paper-art span{font-family:var(--serif);font-size:24px;color:#75826d;display:block;margin-bottom:25px}.paper-art i{display:block;height:2px;background:#d6dacb;margin:20px 0}.paper-art i:nth-last-child(2){width:70%}.login-form{max-width:460px;width:100%;margin:auto;padding:50px}.login-form h2{font:30px var(--serif);margin:16px 0}.login-form>p{margin-bottom:35px}.login-form .primary{margin-top:12px}.password-input{display:flex;position:relative}.password-input input{padding-right:45px}.password-input button{position:absolute;right:0;top:0;height:44px;width:44px;display:flex;align-items:center;justify-content:center;color:#8a8f80}.login-note{font-size:11px;color:#8c9383;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:25px}.first-login{max-width:460px;padding:45px 28px;margin:8vh auto}.first-login h1{font:28px var(--serif);margin-top:30px}.library-top{height:86px;border-bottom:1px solid var(--line);padding:0 5%;display:flex;align-items:center;justify-content:space-between}.avatar{width:34px;height:34px;border:1px solid #d6ddcb;background:#e8ecdf;color:#607754;border-radius:50%;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.avatar.small{width:31px;height:31px}.account-name{font-size:12px;color:#737c6c}.library-main{max-width:1280px;padding:58px 50px 0;margin:auto}.library-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.library-hero h1{font:34px var(--serif);letter-spacing:2px;margin:15px 0 0}.library-hero h1 span{display:block;font:12px/1.8 PingFang SC,sans-serif;letter-spacing:.5px;color:#88907f;margin-top:13px}.library-tools{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:35px;gap:20px}.tab-line{display:flex;gap:28px;align-items:center}.tab-line button{padding:14px 0;display:flex;align-items:center;gap:7px;font-size:13px;color:#909583;border-bottom:2px solid transparent}.tab-line button.active{border-color:var(--green);color:var(--green)}.search-box{display:flex;align-items:center;gap:8px;color:#8a907f}.search-box input{border:0;background:transparent;box-shadow:none;font-size:12px;max-width:180px;min-height:38px;padding:7px 0}.books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.book-cover{width:100%;aspect-ratio:3/3.65;padding:25px;text-align:left;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:inset 6px 0 #0000000a,0 6px 15px #27352107;border-radius:2px 7px 7px 2px;transition:transform .2s}.book-cover:hover{transform:translateY(-4px)}.color-0{background:#dfe5d4;color:#455d45}.color-1{background:#ebe0ce;color:#866b48}.color-2{background:#dfe5e6;color:#4f6b73}.color-3{background:#e9dcd6;color:#856257}.book-number{font-size:9px;letter-spacing:1.5px;opacity:.65}.book-cover h2{font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.8;letter-spacing:2px;margin:28px 0 15px;overflow-wrap:anywhere;position:relative;z-index:1}.book-line{height:1px;width:27px;background:currentColor;opacity:.4}.book-status{font-size:10px;margin-top:auto;z-index:1;letter-spacing:1px}.cover-feather{position:absolute;right:25px;bottom:42px;opacity:.18;transform:rotate(-15deg)}.book-info{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 0}.book-info h3{font-size:14px;margin-bottom:7px}.book-info p{font-size:10px;color:#8e9585;margin:0}.new-book{border:1px dashed #d4dac8;aspect-ratio:3/3.65;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;border-radius:5px;color:#8b987e;font-size:13px}.new-book:hover{background:#eeefe6}.shelf-empty{text-align:center;border:1px dashed #d7ddce;padding:30px 0 50px;border-radius:5px;background:#f8f7f1}.shelf-empty>.primary{margin-top:0}.library-footer{border-top:1px solid var(--line);padding:25px 0;margin-top:55px;display:flex;align-items:center;gap:8px;font-size:10px;color:#9a9d90}.loading{padding:60px;display:flex;justify-content:center;gap:12px;color:var(--muted);font-size:13px}.workspace{display:flex;height:var(--app-height);overflow:hidden}.sidebar{width:244px;min-width:244px;display:flex;flex-direction:column;background:#eeeee5;border-right:1px solid #e0e2d7}.sidebar-brand{padding:26px 21px 22px;display:flex;align-items:center;justify-content:space-between}.sidebar-brand .brand-mark{width:32px;height:32px;border-radius:8px}.sidebar-brand .wordmark{gap:9px}.sidebar-brand .wordmark b{font-size:23px}.back-shelf{display:flex;align-items:center;gap:8px;text-align:left;margin:3px 24px 26px;padding:0;font-size:11px;color:#8a907f}.sidebar-work{margin:0 24px 28px}.sidebar-work .eyebrow{font-size:9px;letter-spacing:1.3px}.sidebar-work h2{font:21px/1.6 var(--serif);margin:10px 0 8px;overflow-wrap:anywhere}.sidebar-work p{font-size:10px;color:#8d9583;margin:0}.sidebar-work p span{margin:0 8px}.sidebar-section-heading{display:flex;justify-content:space-between;align-items:center;padding:0 17px 7px 25px;font-size:10px;letter-spacing:1px;color:#919584}.sidebar-section-heading .icon-button{height:28px}.chapter-list{overflow:auto;flex:1;padding:0 12px}.chapter-row{border-radius:6px;margin-bottom:5px}.chapter-row.active{background:#dfe5d6}.chapter-link{display:flex;align-items:flex-start;width:100%;text-align:left;padding:14px 12px;gap:12px}.chapter-index{font-size:10px;color:#9a9f8d;padding-top:2px;min-width:15px}.chapter-link b{font-size:12px;font-weight:500;line-height:1.6;display:block;overflow-wrap:anywhere}.chapter-link small{font-size:9px;color:#929b86;display:block;margin-top:7px}.active-dot{width:5px;height:5px;background:#718365;border-radius:50%;margin:7px 0 0 auto;flex-shrink:0}.add-chapter{display:flex;justify-content:center;align-items:center;gap:7px;width:100%;font-size:11px;color:#8b967d;padding:15px 0;border:1px dashed #d6ddcb;border-radius:5px;margin:14px 0 20px}.sidebar-empty{font-size:12px;color:#929984;text-align:center;line-height:2;padding:20px}.sidebar-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid #dfe3d5;padding:18px 20px}.sidebar-bottom>span:nth-child(2){font-size:11px;flex:1}.sidebar-bottom small{display:block;font-size:9px;color:#9a9f8f;margin-top:5px}.work-area{min-width:0;display:flex;flex:1;flex-direction:column;background:var(--paper)}.workspace-top{height:65px;min-height:65px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 28px}.breadcrumb{display:flex;align-items:center;gap:12px;color:#959a8b;font-size:11px;min-width:0}.breadcrumb>span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb>b{font-weight:500;color:#626e5a;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-nav{display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line);height:53px;min-height:53px;padding:0 30px}.workspace-nav>button{height:100%;display:flex;align-items:center;gap:7px;font-size:12px;color:#8d9582;position:relative;padding:0 3px}.workspace-nav>button.active{color:#40593f}.workspace-nav>button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#506b4c}.nav-note{margin-left:auto;font-size:10px;color:#9da38f;display:flex;align-items:center;gap:6px;white-space:nowrap}.nav-note>span{width:4px;height:4px;background:#a1b18e;border-radius:50%}.editor-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,1fr) 332px;grid-template-rows:minmax(0,1fr) 58px}.editor-main{overflow:auto;padding:30px clamp(25px,5.5vw,86px) 20px;display:flex;flex-direction:column;min-height:0}.manuscript-meta{display:flex;justify-content:space-between;align-items:center;color:#a0a58e;font-size:9px;letter-spacing:2px;min-height:30px}.chapter-title{font:28px/1.6 var(--serif);letter-spacing:1.5px;margin:15px 0 10px;color:#35442e;overflow-wrap:anywhere}.chapter-subline{display:flex;align-items:center;gap:16px;color:#a0a48e;font-size:10px;border-bottom:1px solid #eeeee4;padding-bottom:24px;margin-bottom:27px}.save-status{display:flex;align-items:center;gap:6px;font-size:10px;padding:0;color:#8c997d;text-align:left}.save-status.warning{color:#a9793b}.manuscript{background:transparent;border:0;box-shadow:none!important;outline:0;resize:none;padding:0;width:100%;flex:1;min-height:320px;font-family:var(--serif);font-size:18px;line-height:2.2;color:#444f3c;letter-spacing:.6px;overflow:auto;border-radius:0}.manuscript::placeholder{color:#bdc1af;font-family:var(--serif);font-size:16px;line-height:2.3;white-space:pre-line}.end-mark{display:flex;justify-content:center;align-items:center;gap:15px;color:#b0b5a1;letter-spacing:2px;font:10px var(--serif);padding:36px 0 16px;flex-shrink:0}.end-mark>span{width:22px;height:1px;background:#e0e4d6}.start-writing{margin:auto;text-align:center}.editor-toolbar{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 24px;grid-column:1;grid-row:2;gap:6px;background:var(--paper);padding-bottom:env(safe-area-inset-bottom)}.editor-toolbar .row{gap:5px}.tool-divider{height:17px;width:1px;background:var(--line);margin:0 6px}.toolbar-label{display:flex;align-items:center;gap:5px;color:#8c967e;font-size:10px;padding:8px}.ai-toggle{display:none}.ai-panel{grid-row:1/3;grid-column:2;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:#f5f5ed}.ai-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 22px 21px;border-bottom:1px solid #e3e7d8;background:#eeefe4}.ai-heading>div{display:flex;align-items:center;gap:10px}.ai-heading .icon-button{display:none}.ai-heading h2{font-size:14px;margin:0 0 6px;font-weight:600;letter-spacing:1px}.ai-heading p{font-size:10px;margin:0;color:#929b83;letter-spacing:.6px}.ai-spark{width:33px;height:33px;background:#dfe5d3;color:#6e8259;display:flex;align-items:center;justify-content:center;border-radius:9px}.ai-content{overflow:auto;padding:20px 20px 0;flex:1;min-height:0}.ai-mode-tabs{display:flex;gap:1px;background:#e9ede0;padding:4px;border-radius:6px;justify-content:space-between}.ai-mode-tabs button{font-size:10px;padding:8px 7px;white-space:nowrap;color:#859173;border-radius:4px}.ai-mode-tabs button.active{background:#fafbf4;color:#4c6642;box-shadow:0 1px 3px #1d33260b}.ai-target{display:flex;gap:5px;align-items:center;font-size:9px;color:#a0a88f;margin:18px 0 15px}.ai-target span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-input-label{font-size:11px;color:#6e7b60;display:block;margin-bottom:10px}.plot-input{font-size:12px;line-height:1.95;padding:13px;color:#5b6d50;background:#fcfdf7;min-height:160px;border-color:#dde3cf;resize:vertical}.plot-input::placeholder{color:#a1aa93}.ai-reference{margin:13px 0 18px;color:#939d85;font-size:10px}.ai-reference summary{display:flex;gap:6px;align-items:center;list-style:none;cursor:pointer;min-height:30px}.ai-reference summary>svg:last-child{margin-left:auto}.ai-reference .field{margin:12px 0}.ai-reference input,.ai-reference textarea{font-size:11px;background:#fbfcf5}.ai-reference p{font-size:10px}.ai-content>.primary{font-size:12px;min-height:42px;background:#405d40}.ai-secondary{display:flex;justify-content:center;align-items:center;gap:10px;margin:9px 0 20px;font-size:10px;color:#9ca58d}.ai-secondary button{font-size:10px;color:#929f7f;padding:6px 0}.candidate-divider{display:flex;align-items:center;justify-content:space-between;color:#9aa48a;font-size:10px;border-top:1px solid #e1e6d5;padding-top:12px;margin-bottom:8px}.candidate{background:#fdfef7;border:1px solid #e1e6d4;padding:14px;border-radius:6px}.candidate-label{font-size:10px;color:#6a7c58}.candidate-version{font-size:9px;color:#a0a88e}.candidate .between{gap:5px}.candidate-text{background:transparent;border:0;box-shadow:none!important;font:13px/2 var(--serif);padding:12px 0;min-height:160px;resize:vertical;color:#4f6043}.candidate-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e9eddc;padding-top:12px}.candidate-actions .button,.candidate-actions .primary{font-size:10px;padding:8px 10px;min-height:35px}.candidate-actions .text-button{font-size:10px}.candidate-sources{font-size:9px;color:#9ea78e;padding-top:15px;line-height:1.9}.candidate-sources summary{cursor:pointer}.candidate-sources p{margin:8px 0}.candidate-wait{text-align:center;padding:25px 0;color:#a5ac97;font-size:11px}.task-select{font-size:10px;min-height:32px;padding:6px;margin-bottom:12px;background:#f9fbf1;border-color:#e3e7d7}.ai-empty{text-align:center;padding:30px 10px 40px;color:#b0b89c}.ai-empty p{font-family:var(--serif);font-size:15px;line-height:2.1;color:#8d9c7c;margin:16px 0}.ai-empty small{font-size:10px;line-height:1.9;color:#a4ae92}.ai-privacy{font-size:8px;color:#a6ae95;line-height:1.8;display:flex;align-items:flex-start;gap:5px;padding:20px 0;margin:0}.ai-privacy svg{flex-shrink:0;margin-top:2px}.source-badge{display:flex;align-items:flex-start;gap:6px;background:#e9efdc;padding:10px;font-size:10px;color:#7b8b68;margin-bottom:12px;border-radius:4px}.source-badge small{display:block;font-size:9px;line-height:1.8;margin-top:6px}.source-badge button{margin-left:auto}.resource-page{overflow:auto;flex:1;padding:42px clamp(24px,4vw,65px) 70px;min-height:0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-title h1{font:29px var(--serif);margin:13px 0}.page-title p{font-size:12px;color:#919983;margin:0}.resource-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:15px}.resource-tabs button{font-size:12px;color:#949c86;padding:14px 0;border-bottom:2px solid transparent}.resource-tabs button.active{color:#4c6345;border-color:#66845b}.resource-tabs small{font-size:9px;margin-left:4px;color:#a6ad99}.resource-search{margin-bottom:20px}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{text-align:left;background:#f9faf1;border:1px solid #e1e5d6;border-radius:7px;padding:23px 20px;display:flex;flex-direction:column;min-height:245px;transition:transform .15s}.resource-card:hover{transform:translateY(-3px);border-color:#becbad}.resource-card.inactive{opacity:.58}.character-avatar{font:21px var(--serif);border-radius:8px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}.resource-card h2{font:21px/1.6 var(--serif);margin:20px 0 10px;overflow-wrap:anywhere}.resource-card>p{font-size:11px;line-height:1.9;color:#929c83;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.resource-card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5e9da;padding-top:15px;margin-top:auto;color:#9ba48b;font-size:9px;gap:10px}.resource-note{color:#9ba58c;font-size:11px;display:flex;gap:8px;align-items:flex-start;line-height:1.9;margin-top:30px}.resource-note svg{flex-shrink:0}.resource-empty{text-align:center}.memory-card{background:#fafbf3;border:1px solid var(--line);padding:25px;border-radius:7px;margin:22px 0}.memory-card h3{font:21px var(--serif);margin:0}.memory-card>p{font-size:14px;color:#748265;margin:22px 0}.memory-facts{font-size:12px;color:#859377}.memory-facts>div{border-top:1px solid #e9eddc;padding:13px 0}.memory-facts p{display:inline;margin-left:8px}.memory-facts blockquote{border-left:2px solid #d7dec9;color:#a0aa8f;padding-left:12px;margin:12px 0 0;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:#202d2366;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}.modal{width:470px;max-width:100%;max-height:90dvh;overflow:auto;background:#fbfaf5;border:1px solid #e7e8db;border-radius:10px;box-shadow:0 15px 100px #14281925;padding:26px;color:#47543e;animation:appear .15s ease-out}.modal.wide{width:740px}.modal-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.modal-heading h2{font:24px var(--serif);margin:0}.modal-heading .icon-button{flex-shrink:0}.modal p{font-size:13px}.modal form details{border:1px solid var(--line);padding:12px;margin-bottom:20px;border-radius:5px}.modal summary{font-size:12px;cursor:pointer;color:#89977a;padding:5px 0}.modal form details .field{margin-top:15px}.action-list{display:flex;flex-direction:column;gap:4px}.action-list>button{display:flex;align-items:center;gap:12px;padding:14px 7px;font-size:13px;border-bottom:1px solid #ebece0;text-align:left;min-height:47px}.action-list>button:hover{background:#eef1e4}.action-list>button>svg:last-child:not(:first-child),.action-list>button>span{margin-left:auto;color:#a1ab91}.style-text{font:14px/2 var(--serif);white-space:pre-wrap;color:#69795a}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100;background:#2d4638;color:#f4f6e9;padding:13px 18px;border-radius:7px;display:flex;align-items:center;gap:10px;font-size:12px;box-shadow:0 8px 30px #20371d26;max-width:calc(100% - 30px);width:max-content;line-height:1.8}.toast>svg{flex-shrink:0}.toast button{color:#d4dfc7;display:flex;align-items:center;padding:3px}.search-inline{display:flex;gap:10px}.search-results{max-height:50dvh;overflow:auto;margin-top:20px}.search-results>button{display:block;text-align:left;padding:18px 8px;width:100%;border-bottom:1px solid var(--line)}.search-results b{font:19px var(--serif)}.search-results p{font-size:12px;color:#909d80;line-height:1.9}.search-results span{font-size:11px;display:flex;align-items:center;gap:6px;color:#70885d}.history-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px}.history-list{max-height:55dvh;overflow:auto;display:flex;flex-direction:column;gap:7px}.history-list button{text-align:left;padding:12px;border:1px solid var(--line);border-radius:4px}.history-list button.active{background:#e5ebd9;border-color:#c2d0af}.history-list small{display:block;margin-top:6px;color:#99a589;font-size:10px}.history-list b{font-size:12px}.history-preview pre,.compare pre,.export-preview,.conflict-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.9 var(--serif);background:#f2f3e8;padding:15px;max-height:45dvh;overflow:auto;border-radius:4px;margin-top:0}.history-preview .muted{font-size:10px;margin-top:15px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare h3{font-size:12px}.compare>div{min-width:0}.conflict-banner{background:#f3ead6;border:1px solid #e9dabd;border-radius:5px;padding:12px;display:flex;gap:8px;align-items:center;color:#a08655;font-size:11px;margin-bottom:18px;flex-wrap:wrap}.conflict-banner button{color:#826536;text-decoration:underline;margin-left:auto;min-height:30px}.conflict-entry{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px}.conflict-entry h3{font-size:14px}.export-chapters{max-height:230px;overflow:auto;border:1px solid var(--line);padding:10px;border-radius:5px}.export-chapters>label{display:flex;gap:10px;align-items:center;min-height:44px;font-size:12px}.export-chapters input{width:15px;min-height:15px;accent-color:var(--green)}.export-chapters small{margin-left:auto;color:#9ba98d}.export-preview{margin-top:20px}.mobile-only,.sidebar-scrim{display:none}.dark{--paper: #222b24;--line: #354333;--ink: #d3dcc5;color:#c4ceb5}.dark .work-area{background:var(--paper)}.dark .manuscript,.dark .chapter-title{color:#c6d2b6}.dark .chapter-subline{border-color:var(--line)}.dark .editor-toolbar{background:var(--paper)}.dark .sidebar{background:#283128;border-color:var(--line)}.dark .chapter-row.active{background:#3e4a37}.dark .ai-panel,.dark .ai-heading{background:#293326;color:#c6d2b6;border-color:#3c4a33}.dark .ai-content input,.dark .ai-content textarea,.dark .candidate,.dark .plot-input{background:#253021;color:#c6d2b6;border-color:#435239}.dark .resource-page{background:#222b24}.dark .resource-card,.dark .memory-card{background:#2e3928;color:#c6d2b6;border-color:var(--line)}@keyframes appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.editor-main{padding-left:100px;padding-right:100px}.editor-layout{grid-template-columns:minmax(320px,1fr) 360px}.ai-content{padding:22px 25px 0}.ai-heading{padding:26px}}@media(min-width:1101px){.sidebar-open .sidebar{display:none}}@media(max-width:1200px){.sidebar{width:210px;min-width:210px}.editor-layout{grid-template-columns:minmax(280px,1fr) 305px}.workspace-top{padding:0 20px}.editor-main{padding:25px 35px}.ai-content{padding:18px 16px 0}.ai-mode-tabs button{padding:8px 5px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-note{display:none}.books{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.ai-panel{position:fixed;top:0;right:0;bottom:0;width:365px;max-width:100%;z-index:30;box-shadow:-15px 0 70px #2c3d2820;display:none}.ai-open .ai-panel{display:flex}.ai-heading .icon-button{display:inline-flex}.ai-toggle{display:flex}.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-main{padding-left:60px;padding-right:60px}.editor-toolbar{grid-column:1}.ai-content{padding:20px 24px}.workspace-nav{gap:30px}.library-main{padding:40px 35px 0}}@media(max-width:800px){.sidebar{width:205px;min-width:205px}.editor-main{padding:25px 30px}.workspace-top{padding:0 18px}.breadcrumb>span{max-width:90px}.breadcrumb>b{max-width:160px}.workspace-top>.row{gap:2px}.workspace-nav{padding:0 20px;gap:25px}.resource-page{padding:30px 25px 60px}.page-title h1{font-size:25px}.page-title{align-items:flex-start;flex-direction:column}.page-title p{font-size:11px}.library-main{padding:35px 28px 0}.books{gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.login-story{padding:40px}.login-copy h1{font-size:42px}.login-form{padding:35px}}@media(max-width:640px){.desktop-only{display:none!important}.mobile-only{display:inline-flex}.workspace{height:var(--app-height)}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:40;width:280px;min-width:280px;transform:translate(-100%);transition:transform .18s;box-shadow:15px 0 45px #263a2b15}.sidebar-open .sidebar{transform:translate(0)}.sidebar-open .sidebar-scrim{display:block;position:fixed;inset:0;background:#1a2b2255;z-index:35}.sidebar-brand{padding-top:22px}.sidebar-work h2{font-size:24px}.sidebar-work{margin-bottom:22px}.chapter-link{min-height:66px}.chapter-link b{font-size:14px}.chapter-link small{font-size:10px}.chapter-list{padding-bottom:env(safe-area-inset-bottom)}.workspace-top{height:57px;min-height:57px;padding:0 9px}.breadcrumb{gap:5px;font-size:10px}.breadcrumb>span{max-width:70px}.breadcrumb>b{max-width:115px;font-size:10px}.workspace-top>.row{gap:0}.workspace-top .icon-button{width:34px;min-width:34px;height:44px}.workspace-nav{height:49px;min-height:49px;gap:0;justify-content:space-around;padding:0 15px}.workspace-nav>button{gap:7px;font-size:12px;padding:0 12px}.editor-layout{grid-template-rows:minmax(0,1fr) calc(59px + env(safe-area-inset-bottom))}.editor-main{padding:20px 24px 14px}.manuscript-meta{font-size:8px}.chapter-title{font-size:25px;margin-top:14px}.chapter-subline{padding-bottom:20px;margin-bottom:20px;gap:12px;font-size:9px}.save-status{font-size:9px;min-height:24px}.manuscript{min-height:220px;letter-spacing:.5px;line-height:2.15}.end-mark{font-size:9px;padding:28px 0 15px}.editor-toolbar{padding-left:12px;padding-right:14px}.editor-toolbar .icon-button{width:35px;height:44px}.local-export{padding:8px 6px}.local-export>span{display:none}.ai-toggle{font-size:12px;padding:10px 14px}.ai-panel{width:100%;top:env(safe-area-inset-top);height:var(--app-height)}.ai-heading{padding:18px 22px;min-height:78px}.ai-heading .icon-button{width:44px;height:44px}.ai-content{padding:20px 24px 30px}.ai-mode-tabs button{font-size:12px;min-height:38px;padding:9px 11px}.ai-target{font-size:10px;margin:20px 0}.ai-input-label{font-size:13px}.plot-input{font-size:14px;min-height:170px}.ai-reference{font-size:12px}.ai-reference input,.ai-reference textarea{font-size:13px}.ai-content>.primary{min-height:46px;font-size:13px}.ai-secondary button{font-size:12px;min-height:40px}.candidate-text{font-size:16px}.candidate-label{font-size:11px}.candidate-version{font-size:10px}.candidate-actions .button,.candidate-actions .primary{font-size:12px;min-height:42px}.candidate-actions .text-button{font-size:11px}.candidate-divider{font-size:12px}.task-select{font-size:12px;min-height:42px}.candidate-sources{font-size:11px}.ai-privacy{font-size:10px}.ai-empty p{font-size:20px}.ai-empty small{font-size:12px}.resource-page{padding:28px 22px 45px}.resource-grid{gap:15px}.resource-card{padding:18px 16px;min-height:235px}.resource-card h2{font-size:21px;margin:15px 0 8px}.resource-card>p{font-size:11px}.resource-card-foot{font-size:9px}.page-title{gap:18px}.page-title h1{font-size:28px}.page-title p{font-size:12px}.page-title>.primary{min-height:42px}.resource-tabs{gap:24px;overflow:auto}.resource-tabs button{white-space:nowrap;font-size:12px}.resource-tabs small{font-size:10px}.resource-note{font-size:10px;line-height:1.9}.memory-card{padding:20px 16px}.memory-card h3{font-size:19px}.memory-card .row.between{flex-wrap:wrap}.memory-card>p{font-size:14px}.modal-backdrop{padding:12px;align-items:flex-end}.modal{max-height:calc(var(--app-height) - 25px);width:100%;padding:22px 20px;border-radius:12px 12px 8px 8px}.modal.wide{width:100%}.modal-heading h2{font-size:23px}.form-grid{grid-template-columns:1fr;gap:0}.form-footer{flex-direction:column;align-items:stretch}.form-footer>span{font-size:10px}.field input,.field textarea,.field select{font-size:16px}.field>span{font-size:12px}.checkbox-line small{font-size:10px}.compare{grid-template-columns:1fr;gap:10px}.compare pre{max-height:25vh}.history-layout{grid-template-columns:100px minmax(0,1fr);gap:12px}.history-list button{padding:10px}.history-list b{font-size:11px}.history-list small{font-size:9px}.history-preview pre{padding:12px;font-size:13px}.history-preview .primary{font-size:11px;padding:9px}.toast{bottom:calc(20px + env(safe-area-inset-bottom));font-size:12px}.login{display:block;min-height:100dvh}.login-story{padding:25px 28px 28px}.login-story .wordmark b{font-size:22px}.login-story .brand-mark{height:32px;width:32px}.login-copy{margin:42px 0 10px}.login-copy h1{font-size:38px;line-height:1.5;margin:15px 0 10px}.login-copy p{font-size:12px;line-height:1.9}.login-copy .eyebrow{font-size:8px}.login-footnote,.login-copy .rule{display:none}.paper-art{width:180px;height:240px;right:-30px;bottom:-30px;padding:32px 25px}.paper-art span{font-size:19px}.paper-art i{margin:16px 0}.login-form{padding:32px 30px;max-width:460px}.login-form>.eyebrow{font-size:9px}.login-form h2{font-size:27px;margin:12px 0}.login-form>p{margin-bottom:25px}.library-top{height:73px;padding:0 24px}.library-top .wordmark>span:last-child{display:none}.library-top .row{gap:8px}.account-name{display:none}.library-main{padding:32px 23px 0}.library-hero{align-items:flex-start;gap:18px;margin-bottom:25px}.library-hero h1{font-size:29px;margin-top:12px}.library-hero h1 span{font-size:10px;line-height:1.8;letter-spacing:0;max-width:170px}.library-hero>.primary{font-size:11px;padding:10px 12px;min-height:40px;margin-top:30px}.library-tools{gap:12px;margin-bottom:25px;flex-wrap:wrap}.tab-line{gap:23px}.tab-line button{font-size:12px}.library-tools .search-box{max-width:110px;gap:5px}.library-tools input{max-width:80px;font-size:11px}.books{gap:18px 16px}.book-cover{padding:20px 16px;aspect-ratio:3/4}.book-cover h2{font-size:22px;line-height:1.8;margin-top:23px;letter-spacing:1px}.book-number{font-size:8px;letter-spacing:.8px}.book-status{font-size:8px;letter-spacing:0}.cover-feather{width:45px;right:17px;bottom:35px}.book-info{padding-top:14px}.book-info h3{font-size:12px;line-height:1.7}.book-info p{font-size:9px}.book-info .icon-button{width:22px;min-width:22px}.new-book{aspect-ratio:3/4;font-size:11px}.library-footer{margin-top:35px;font-size:9px;line-height:1.8;align-items:flex-start}.library-footer>.right{display:none}.shelf-empty{padding:15px 0 35px}.empty{padding:40px 14px 25px}.empty h3{font-size:22px}.empty p{font-size:12px}.search-inline>.primary{padding:10px 13px}.resource-search input{font-size:13px}}@media(max-width:360px){.workspace-nav>button{padding:0 8px}.breadcrumb>span{max-width:45px}.breadcrumb>b{max-width:94px}.breadcrumb{gap:2px}.workspace-top .icon-button{width:31px;min-width:31px}.editor-main{padding-left:20px;padding-right:20px}.ai-mode-tabs button{padding:8px 6px;font-size:11px}.resource-grid{grid-template-columns:1fr}.library-hero h1{font-size:26px}.library-hero>.primary{padding:9px;font-size:10px}.book-cover h2{font-size:20px}.books{gap:14px}.form-footer{gap:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.memory-tools{margin:20px 0}.memory-run{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--line);border-radius:5px;background:#f1f4e9;margin:12px 0;gap:15px}.memory-run b{font-size:12px;font-weight:500}.memory-run span{display:block;font-size:11px;color:#8c9c7b;margin-top:7px}.memory-run small{display:block;color:#aa8350;margin-top:7px;line-height:1.8}.memory-run .button{font-size:11px}.correction-source{border:1px solid var(--line);padding:12px;margin:18px 0;border-radius:5px}.correction-source pre{max-height:250px;overflow:auto}@media(min-width:641px){.sidebar-open .sidebar{display:none}}.toast{bottom:78px}@media(max-width:640px){.toast{bottom:calc(77px + env(safe-area-inset-bottom))}}.brand-mark{flex-shrink:0;overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.wordmark b{font-size:21px;letter-spacing:.5px}.sidebar-brand .wordmark b{font-size:15px;letter-spacing:0}@media(max-width:640px){.library-top .wordmark{gap:8px}.library-top .wordmark b{font-size:17px;letter-spacing:0}.login-story .wordmark b{font-size:20px;letter-spacing:0}}
