:root{--fire-0:#fbd98c;--fire-1:#f5ac55;--fire-2:#d9662a;--fire-3:#c85018;--fire-4:#802830;--grad-fire:linear-gradient(135deg, var(--fire-1) 0%, var(--fire-2) 52%, var(--fire-3) 100%);--bg-app:#0a0a0e;--bg-panel:#110f16;--bg-panel-alt:#17151f;--bg-elevated:#1d1b26;--bg-hover:#262430;--border-subtle:#1c1a25;--border:#2a2835;--border-focus:#d9622a;--text-primary:#ece7dd;--text-secondary:#9a93a4;--text-muted:#5b5567;--text-link:#e0763a;--accent:#c85018;--accent-hover:#dd6526;--accent-subtle:#c8501821;--accent-border:#c8501857;--gold:#e2a544;--gold-soft:#f1be68;--gold-subtle:#e2a5441f;--gold-border:#e2a54452;--grad-app:radial-gradient(1000px 560px at 92% -8%, #d9662a17, transparent 55%), radial-gradient(760px 520px at -6% 104%, #c8501812, transparent 60%), linear-gradient(168deg, #14111b 0%, #0a0a0e 52%, #150d0e 100%);--grad-panel:linear-gradient(180deg, #d9662a09, transparent 140px), linear-gradient(180deg, #131019 0%, #100e16 100%);--grad-header:linear-gradient(90deg, #d9662a1a, #d9662a00 34%), linear-gradient(180deg, #110f16db, #110f16c7);--grad-accent:linear-gradient(135deg, #e0692a, #c85018 55%, #a83e14);--grad-accent-hover:linear-gradient(135deg, #ee7c3c, #dd6526 55%, #c85018);--grad-text:var(--grad-fire);--forge-line:linear-gradient(90deg, transparent, var(--fire-4) 12%, var(--fire-3) 38%, var(--fire-1) 62%, var(--fire-2) 88%, transparent);--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--danger-subtle:#ef44441a;--agent-editor:#818cf8;--agent-orwell:#34d399;--agent-huxley:#fbbf24;--agent-martin:#f87171;--agent-lins:#c084fc;--editor-bg:#0e0d12;--editor-page-bg:#fbfaf6;--editor-toolbar-bg:#f6f4ee;--editor-stats-bg:#f1efe7;--toolbar-btn-color:#5a5568;--toolbar-hover-bg:#fbeee6;--editor-text:#1c1a17;--editor-secondary:#57544c;--editor-border:#e6e2d8;--editor-placeholder:#b9b4a7;--code-inline-bg:#fbeee6;--pre-bg:#f4f2ea;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:"Fraunces", "Georgia", "Times New Roman", serif;--font-body:"Georgia", "Times New Roman", serif;--header-h:60px;--panel-l-w:320px;--panel-r-w:390px;--editor-max-width:700px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--shadow-sm:0 1px 3px #00000038, 0 1px 2px #00000024;--shadow-md:0 6px 18px #0000004d, 0 2px 6px #00000029;--shadow-lg:0 14px 44px #0000006b, 0 4px 12px #00000038;--t-fast:.1s ease;--t-base:.16s ease;--t-slow:.25s ease;font-family:var(--font-ui);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:14px;line-height:1.5}[data-theme=light]{--bg-app:#f3efe7;--bg-panel:#fdfcf8;--bg-panel-alt:#f7f3eb;--bg-elevated:#efeade;--bg-hover:#e8e1d1;--border-subtle:#e7e0d2;--border:#d5ccb9;--border-focus:#c04a16;--text-primary:#211c15;--text-secondary:#5d564a;--text-muted:#9c937f;--text-link:#b2440f;--accent:#c24c16;--accent-hover:#d9612a;--accent-subtle:#c24c161a;--accent-border:#c24c164d;--gold:#b4832b;--gold-soft:#99701f;--gold-subtle:#b4832b21;--gold-border:#b4832b57;--grad-app:radial-gradient(1100px 620px at 96% -10%, #d86e3221, transparent 55%), radial-gradient(860px 540px at -8% 106%, #f2be6829, transparent 55%), linear-gradient(168deg, #fbf8f2 0%, #f3efe7 55%, #f7e9dc 100%);--grad-panel:linear-gradient(180deg, #e08c460d, transparent 160px), linear-gradient(180deg, #fffefb 0%, #faf6ee 100%);--grad-header:linear-gradient(90deg, #d9662a17, #d9662a00 36%), linear-gradient(180deg, #fdfcf8e0, #fdfcf8cc);--grad-accent:linear-gradient(135deg, #db6a2c, #c24c16 55%, #a83e12);--grad-accent-hover:linear-gradient(135deg, #e87e40, #d9612a 55%, #c24c16);--grad-text:linear-gradient(135deg, #d89230 0%, #cc5620 46%, #9e3312 100%);--forge-line:linear-gradient(90deg, transparent, #c24c16 16%, #d9662a 44%, #e2a544 78%, transparent);--shadow-sm:0 1px 3px #46281417, 0 1px 2px #4628140d;--shadow-md:0 6px 18px #4628141c, 0 2px 6px #46281412;--shadow-lg:0 14px 44px #46281429, 0 4px 12px #46281414;--editor-bg:#ece5d6;--editor-page-bg:#fdfcf8;--editor-toolbar-bg:#fffefb;--editor-stats-bg:#f6f1e7;--toolbar-btn-color:#5d564a;--toolbar-hover-bg:#fceada;--editor-border:#e2d9c6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=bookstore]{--bg-app:#efe6d1;--bg-panel:#f8f1df;--bg-panel-alt:#f1e8d1;--bg-elevated:#e9dec3;--bg-hover:#e0d2af;--border-subtle:#ddcfab;--border:#c9b88d;--border-focus:#2f6b4f;--text-primary:#372a19;--text-secondary:#6c5a3c;--text-muted:#a08c66;--text-link:#236044;--accent:#2f6b4f;--accent-hover:#3b8264;--accent-subtle:#2f6b4f1f;--accent-border:#2f6b4f52;--gold:#a8802b;--gold-soft:#8f6b1f;--gold-subtle:#a8802b24;--gold-border:#a8802b5c;--grad-app:radial-gradient(880px 460px at 50% -6%, #ffd69661, transparent 62%), radial-gradient(700px 480px at 102% 104%, #78542824, transparent 58%), linear-gradient(180deg, #f2e9d5 0%, #ede2c8 58%, #e5d5b2 100%);--grad-panel:linear-gradient(180deg, #ffdca029, transparent 150px), linear-gradient(180deg, #f9f3e2 0%, #f3ead4 100%);--grad-header:linear-gradient(90deg, #a8802b1a, #a8802b00 38%), linear-gradient(180deg, #f8f1dfe6, #f4ebd5d6);--grad-accent:linear-gradient(135deg, #3e8a69, #2f6b4f 60%, #245741);--grad-accent-hover:linear-gradient(135deg, #4a9e7a, #3b8264 60%, #2f6b4f);--grad-text:linear-gradient(135deg, #245741 0%, #2f6b4f 45%, #a8802b 100%);--forge-line:linear-gradient(90deg, transparent, #a8802b 20%, #2f6b4f 55%, #a8802b 85%, transparent);--shadow-sm:0 1px 3px #583e1a1f, 0 1px 2px #583e1a12;--shadow-md:0 6px 18px #583e1a24, 0 2px 6px #583e1a14;--shadow-lg:0 14px 44px #583e1a33, 0 4px 12px #583e1a1a;--editor-bg:#e4d6b4;--editor-page-bg:#fbf5e4;--editor-toolbar-bg:#f6efdb;--editor-stats-bg:#f0e7cd;--toolbar-btn-color:#56462a;--toolbar-hover-bg:#2f6b4f1a;--editor-text:#2a2012;--editor-secondary:#6c5a3c;--editor-border:#d9caa4;--editor-placeholder:#b9a578;--code-inline-bg:#a8802b1f;--pre-bg:#f2ead2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=fantasy]{--bg-app:#0c0a1c;--bg-panel:#141127;--bg-panel-alt:#1a1533;--bg-elevated:#221c40;--bg-hover:#2b2450;--border-subtle:#251f47;--border:#363061;--border-focus:#d9a93f;--text-primary:#eae3f6;--text-secondary:#a89bc9;--text-muted:#675d8e;--text-link:#e9bc55;--accent:#d9a93f;--accent-hover:#e9bc55;--accent-subtle:#d9a93f21;--accent-border:#d9a93f57;--gold:#9e6bf0;--gold-soft:#b78ff5;--gold-subtle:#9e6bf024;--gold-border:#9e6bf05c;--grad-app:radial-gradient(1050px 700px at 82% -12%, #8b5cf62b, transparent 55%), radial-gradient(820px 620px at 4% 108%, #d9a93f1c, transparent 55%), linear-gradient(172deg, #120e27 0%, #0b0918 58%, #140b22 100%);--grad-panel:linear-gradient(180deg, #9e6bf00f, transparent 150px), linear-gradient(180deg, #161230 0%, #110e24 100%);--grad-header:linear-gradient(90deg, #d9a93f1a, #9e6bf00d 40%, #14112700 70%), linear-gradient(180deg, #141127e0, #141127cc);--grad-accent:linear-gradient(135deg, #f1ce74, #d9a93f 55%, #b4842a);--grad-accent-hover:linear-gradient(135deg, #f7dc92, #e9bc55 55%, #d9a93f);--grad-text:linear-gradient(135deg, #f1ce74 0%, #d9a93f 42%, #9e6bf0 100%);--forge-line:linear-gradient(90deg, transparent, #9e6bf0 18%, #d9a93f 50%, #9e6bf0 82%, transparent);--shadow-sm:0 1px 3px #05021459, 0 1px 2px #05021438;--shadow-md:0 6px 20px #0502147a, 0 0 26px #8b5cf612;--shadow-lg:0 16px 48px #05021499, 0 0 40px #8b5cf61a;--font-display:"Cinzel", "Fraunces", "Georgia", serif;--r-xs:5px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--editor-bg:#0e0b20;--editor-page-bg:#f6eed9;--editor-toolbar-bg:#efe6cd;--editor-stats-bg:#e9dfc0;--toolbar-btn-color:#55462a;--toolbar-hover-bg:#d9a93f21;--editor-text:#241c10;--editor-secondary:#64522f;--editor-border:#dccfa9;--editor-placeholder:#b5a175;--code-inline-bg:#d9a93f21;--pre-bg:#efe6cb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=cyberpunk]{--bg-app:#04060c;--bg-panel:#090d18;--bg-panel-alt:#0c1120;--bg-elevated:#111828;--bg-hover:#17213a;--border-subtle:#141d33;--border:#22304f;--border-focus:#00e5ff;--text-primary:#dbe7ff;--text-secondary:#8093b8;--text-muted:#47536f;--text-link:#00e5ff;--accent:#ff2e88;--accent-hover:#ff57a1;--accent-subtle:#ff2e8821;--accent-border:#ff2e8861;--gold:#00e5ff;--gold-soft:#5cf1ff;--gold-subtle:#00e5ff1a;--gold-border:#00e5ff57;--grad-app:radial-gradient(950px 520px at 92% -10%, #ff2e8826, transparent 55%), radial-gradient(760px 540px at -8% 110%, #00e5ff1f, transparent 55%), linear-gradient(200deg, #070b16 0%, #04060c 48%, #0b0618 100%);--grad-panel:linear-gradient(180deg, #00e5ff0a, transparent 130px), linear-gradient(180deg, #0a0f1c 0%, #080c15 100%);--grad-header:linear-gradient(90deg, #ff2e8821, #7c4dff0f 38%, #090d1800 68%), linear-gradient(180deg, #090d18e6, #090d18d1);--grad-accent:linear-gradient(135deg, #ff2e88, #b537f2 58%, #00c8e0);--grad-accent-hover:linear-gradient(135deg, #ff57a1, #c95cf7 58%, #00e5ff);--grad-text:linear-gradient(135deg, #ff2e88 0%, #b537f2 50%, #00e5ff 100%);--forge-line:linear-gradient(90deg, transparent, #ff2e88 20%, #b537f2 50%, #00e5ff 80%, transparent);--shadow-sm:0 0 0 1px #00e5ff0d, 0 2px 8px #0000008c;--shadow-md:0 6px 18px #0000009e, 0 0 22px #ff2e8817;--shadow-lg:0 14px 44px #000000b8, 0 0 46px #00e5ff1a;--font-display:"Orbitron", "Inter", system-ui, sans-serif;--r-xs:0px;--r-sm:2px;--r-md:3px;--r-lg:4px;--r-xl:6px;--editor-bg:#060a12;--editor-page-bg:#f4f7fd;--editor-toolbar-bg:#edf1fa;--editor-stats-bg:#e6ebf6;--toolbar-btn-color:#46536f;--toolbar-hover-bg:#ff2e881a;--editor-text:#10131c;--editor-secondary:#4c5670;--editor-border:#d8dfee;--editor-placeholder:#a4aec6;--code-inline-bg:#00e5ff1a;--pre-bg:#eceff8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=horror]{--bg-app:#070505;--bg-panel:#0e0c0c;--bg-panel-alt:#131010;--bg-elevated:#1a1616;--bg-hover:#231d1d;--border-subtle:#221c1c;--border:#342b2b;--border-focus:#c1121f;--text-primary:#e5ded2;--text-secondary:#968c81;--text-muted:#5d554e;--text-link:#d3212e;--accent:#c1121f;--accent-hover:#da2432;--accent-subtle:#c1121f21;--accent-border:#c1121f61;--gold:#a56a35;--gold-soft:#c08449;--gold-subtle:#a56a3521;--gold-border:#a56a3557;--grad-app:radial-gradient(1150px 720px at 50% 122%, #8b0a1438, transparent 62%), radial-gradient(700px 420px at 100% -8%, #1e1616e6, transparent 60%), linear-gradient(180deg, #0a0808 0%, #060505 100%);--grad-panel:linear-gradient(180deg, transparent 60%, #8b0a140d), linear-gradient(180deg, #0f0d0d 0%, #0c0a0a 100%);--grad-header:linear-gradient(90deg, #c1121f1a, #0e0c0c00 34%), linear-gradient(180deg, #0e0c0ceb, #0e0c0cd9);--grad-accent:linear-gradient(135deg, #da2432, #c1121f 55%, #8c0e17);--grad-accent-hover:linear-gradient(135deg, #ee3b49, #da2432 55%, #c1121f);--grad-text:linear-gradient(180deg, #ddd4c6 12%, #c1121f 115%);--forge-line:linear-gradient(90deg, transparent, #8c0e17 25%, #c1121f 50%, #8c0e17 75%, transparent);--shadow-sm:0 2px 6px #0009;--shadow-md:0 8px 24px #000000b8, 0 2px 8px #00000080;--shadow-lg:0 18px 52px #000000d9, 0 4px 14px #0000008c;--font-display:"Special Elite", "Courier New", monospace;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-xl:8px;--editor-bg:#0a0808;--editor-page-bg:#efe9dc;--editor-toolbar-bg:#e8e1d1;--editor-stats-bg:#e1d9c6;--toolbar-btn-color:#4e453a;--toolbar-hover-bg:#c1121f1a;--editor-text:#191410;--editor-secondary:#57503f;--editor-border:#d3c9b2;--editor-placeholder:#a99d85;--code-inline-bg:#c1121f17;--pre-bg:#e8e0cd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=love]{--bg-app:#faeef2;--bg-panel:#fffafb;--bg-panel-alt:#fbf2f5;--bg-elevated:#f6e6ec;--bg-hover:#f0dae3;--border-subtle:#f2e0e7;--border:#e3c8d3;--border-focus:#d84e7f;--text-primary:#3c2231;--text-secondary:#7d566a;--text-muted:#bb92a4;--text-link:#c93d6f;--accent:#d84e7f;--accent-hover:#e56795;--accent-subtle:#d84e7f1c;--accent-border:#d84e7f4d;--gold:#de9048;--gold-soft:#c77b33;--gold-subtle:#de904824;--gold-border:#de90485c;--grad-app:radial-gradient(920px 600px at 88% -6%, #ff96b447, transparent 55%), radial-gradient(760px 520px at 2% 106%, #ffbea042, transparent 55%), linear-gradient(168deg, #fdf4f6 0%, #f9e9ee 55%, #fbeae2 100%);--grad-panel:linear-gradient(180deg, #ffaac31a, transparent 150px), linear-gradient(180deg, #fffbfc 0%, #fdf4f7 100%);--grad-header:linear-gradient(90deg, #f27fa51f, #ffb1990d 42%, #fffafb00 70%), linear-gradient(180deg, #fffafbe0, #fffafbcc);--grad-accent:linear-gradient(135deg, #f27fa5, #d84e7f 58%, #c13d6c);--grad-accent-hover:linear-gradient(135deg, #f79ab8, #e56795 58%, #d84e7f);--grad-text:linear-gradient(135deg, #e05688 0%, #e9707f 55%, #f2977b 100%);--forge-line:linear-gradient(90deg, transparent, #f2977b 20%, #d84e7f 50%, #f2977b 80%, transparent);--shadow-sm:0 1px 3px #b450781a, 0 1px 2px #b450780f;--shadow-md:0 6px 20px #d84e7f21, 0 2px 6px #b4507814;--shadow-lg:0 16px 48px #d84e7f2e, 0 4px 12px #b4507817;--r-xs:8px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--editor-bg:#f4e2e8;--editor-page-bg:#fefaf7;--editor-toolbar-bg:#fdf5f2;--editor-stats-bg:#f9eeee;--toolbar-btn-color:#7d566a;--toolbar-hover-bg:#d84e7f17;--editor-text:#2e1c26;--editor-secondary:#6d4c5d;--editor-border:#efdbd8;--editor-placeholder:#cfa8ae;--code-inline-bg:#d84e7f17;--pre-bg:#f9efec;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--grad-app,var(--bg-app));color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed}.logo-mark{-webkit-user-select:none;user-select:none;flex-shrink:0;display:block}.logo-wordmark{font-family:"Poppins", var(--font-ui);letter-spacing:-.022em;white-space:nowrap;background:var(--grad-text,var(--grad-fire));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700;line-height:1.35}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}:focus{outline:none}button:focus-visible,a:focus-visible,select:focus-visible,[role=radio]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}textarea,input,select{font-family:inherit;font-size:inherit;color:inherit;resize:none;background:0 0;border:none;outline:none}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{height:var(--header-h);background:var(--grad-header,color-mix(in srgb, var(--bg-panel) 80%, transparent));-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--border-subtle);z-index:200;flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex;position:relative}.header:after{content:"";background:var(--forge-line,var(--grad-fire));opacity:.65;pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0}.header-start{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-logo{color:var(--text-primary);font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;font-size:18px;font-weight:600;text-decoration:none;display:flex}.header-center{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.book-title-input{color:var(--text-primary);text-align:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);transition:border-color var(--t-base), box-shadow var(--t-base);white-space:nowrap;text-overflow:ellipsis;outline:none;width:min(360px,100%);padding:5px 14px;font-size:14px;font-weight:500;overflow:hidden}.book-title-input:hover{border-color:var(--border)}.book-title-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.header-end{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.word-count-badge{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);white-space:nowrap;letter-spacing:.01em;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;display:flex}.word-count-badge span{color:var(--text-primary);font-weight:600}.badge-sep{color:var(--text-muted)}.word-count-badge .badge-scope{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-subtle);border-radius:20px;margin-right:2px;padding:2px 7px;font-size:9px;font-weight:700}.theme-select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);height:32px;color:var(--text-primary);cursor:pointer;appearance:auto;transition:border-color var(--t-base);padding:0 8px;font-size:12px}.theme-select:focus{border-color:var(--border-focus);outline:none}.theme-switcher{background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:4px 7px;display:flex}.theme-swatch{background:var(--swatch-bg);border:1.5px solid var(--border);width:18px;height:18px;transition:transform var(--t-fast), border-color var(--t-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.theme-swatch:hover{transform:scale(1.15)}.theme-swatch-accent{background:var(--swatch-accent);border-radius:50%;width:7px;height:7px}.theme-swatch.active{border-color:var(--swatch-accent)}.theme-swatch.active:after{content:"";border:1.5px solid var(--swatch-accent);border-radius:50%;position:absolute;inset:-4px}.panel-toggle-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);transition:background var(--t-fast), color var(--t-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.panel-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-toggle-btn.active{color:var(--accent)}.workspace{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.panel-slot{transition:width var(--t-slow), opacity var(--t-slow);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.panel-slot-left{width:var(--panel-l-w)}.panel-slot-right{width:var(--panel-r-w)}.panel-slot--hidden{opacity:0;pointer-events:none;width:0!important}.panel-resizer{cursor:col-resize;z-index:30;width:6px;transition:background var(--t-fast);touch-action:none;background:0 0;flex:0 0 6px;position:relative}.panel-resizer:hover,.panel-resizer:focus-visible{background:var(--accent-subtle);outline:none}.panel-resizer-grip{background:var(--border);width:2px;height:42px;transition:background var(--t-fast), height var(--t-fast);border-radius:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panel-resizer:hover .panel-resizer-grip,.panel-resizer:focus-visible .panel-resizer-grip{background:var(--accent);height:60px}body.is-col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-col-resizing .panel-slot{transition:none}body.is-col-resizing .panel-resizer-grip{background:var(--accent);height:60px}.panel{background:var(--grad-panel,var(--bg-panel));flex-direction:column;flex:1;display:flex;overflow:hidden}.panel-left{border-right:1px solid var(--border-subtle)}.panel-right{border-left:1px solid var(--border-subtle)}.panel-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;padding:11px 40px 10px;display:flex;position:relative}.panel-title{color:var(--accent);text-align:center;letter-spacing:.01em;font-size:13px;font-weight:600}.panel-left .panel-title{letter-spacing:0;font-family:Caveat,cursive;font-size:20px;font-weight:700}.panel-close-btn{border-radius:var(--r-sm);width:26px;height:26px;color:var(--text-muted);transition:background var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.panel-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-edge-tab{z-index:50;background:var(--bg-panel);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;width:16px;height:52px;transition:background var(--t-fast), color var(--t-fast), width var(--t-fast);justify-content:center;align-items:center;font-size:9px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.panel-edge-tab:hover{background:var(--bg-elevated);color:var(--accent);width:22px}.panel-edge-tab-left{border-radius:0 var(--r-sm) var(--r-sm) 0;border-left:none;left:0}.panel-edge-tab-right{border-radius:var(--r-sm) 0 0 var(--r-sm);border-right:none;right:0}.panel-body{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;overflow:hidden auto}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-track{background:0 0}.panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.panel-tabs{border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-shrink:0;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.panel-tabs::-webkit-scrollbar{display:none}.panel-tab{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);transition:color var(--t-base), border-color var(--t-base);white-space:nowrap;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 4px;font-size:11px;font-weight:600}.panel-tab:hover{color:var(--text-secondary)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.accordion{border-bottom:1px solid var(--border-subtle)}.accordion-header{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:background var(--t-fast);justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.accordion-header:hover{background:var(--bg-hover)}.accordion-header-left{letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.accordion-chevron{color:var(--text-muted);transition:transform var(--t-base);flex-shrink:0}.accordion-chevron.open{transform:rotate(90deg)}.accordion-collapse{transition:grid-template-rows var(--t-slow);grid-template-rows:0fr;display:grid}.accordion-collapse.open{grid-template-rows:1fr}.accordion-collapse-inner{overflow:hidden}.accordion-body{padding:6px 0 14px}.accordion-generate-all{justify-content:flex-end;align-items:center;gap:6px;margin:4px 14px 10px;display:flex}.section-field{border-bottom:1px solid var(--border-subtle);padding:2px 10px 4px}.field-header{cursor:pointer;border-radius:var(--r-sm);-webkit-user-select:none;user-select:none;transition:background var(--t-fast);align-items:center;gap:6px;padding:7px 4px;display:flex}.field-header:hover{background:var(--bg-hover)}.field-chevron{color:var(--text-muted);transition:transform var(--t-base);flex-shrink:0;align-items:center;font-size:14px;line-height:1;display:inline-flex}.field-chevron.open{transform:rotate(90deg)}.field-label-wrap{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.field-label{color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.field-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.field-info-btn{border:1px solid var(--text-muted);width:10px;height:10px;color:var(--text-muted);cursor:default;transition:border-color var(--t-fast), color var(--t-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:6px;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.field-info-btn:hover{border-color:var(--accent);color:var(--accent)}.field-info-tooltip-portal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);width:224px;color:var(--text-secondary);pointer-events:none;box-shadow:var(--shadow-lg);white-space:normal;padding:10px 12px;font-size:12px;font-style:normal;font-weight:400;line-height:1.55;position:fixed}.field-textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;min-height:160px;max-height:none;color:var(--text-primary);resize:vertical;transition:border-color var(--t-base), box-shadow var(--t-base);scrollbar-width:thin;scrollbar-color:var(--border) transparent;margin-bottom:6px;padding:8px 10px;font-size:12px;line-height:1.6}.field-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.field-textarea::placeholder{color:var(--text-muted)}.field-expanded .field-textarea{resize:vertical;min-height:180px;max-height:none}.field-preview:hover{color:var(--text-secondary)}.field-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:2px 2px 4px;font-size:11px;font-style:italic;line-height:1.5;overflow:hidden}.btn{border-radius:var(--r-sm);transition:background var(--t-base), color var(--t-base), border-color var(--t-base);border:1px solid #0000;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.btn-primary{background:var(--grad-accent,linear-gradient(135deg, var(--accent-hover), var(--accent)));color:#fff;box-shadow:0 1px 2px #0000001f, 0 2px 8px var(--accent-subtle)}.btn-primary:hover{background:var(--grad-accent-hover,linear-gradient(135deg, var(--accent), var(--accent-hover)));box-shadow:0 2px 12px var(--accent-border)}.btn-primary:active{transform:translateY(.5px)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-subtle{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border)}.btn-subtle:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 1px 2px #0000001f, 0 2px 8px var(--danger-subtle)}.btn-danger:hover{background:color-mix(in srgb, var(--danger) 88%, #000)}.btn-danger:active{transform:translateY(.5px)}.btn-icon{border-radius:var(--r-xs);color:var(--text-muted);transition:background var(--t-fast), color var(--t-fast);padding:4px 5px;font-size:12px;line-height:1}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:3px 9px;font-size:11px}.btn:disabled,.btn-icon:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.editor-area{background:var(--editor-bg);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.editor-toolbar{background:var(--editor-toolbar-bg);border-bottom:1px solid var(--editor-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 2px;padding:6px 14px;display:flex;position:relative}.editor-toolbar:after{content:"";background:var(--forge-line,var(--grad-fire));opacity:.35;pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.toolbar-sep{background:var(--editor-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.toolbar-btn{border-radius:var(--r-sm);min-width:30px;height:30px;color:var(--toolbar-btn-color);transition:background var(--t-fast), color var(--t-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:0 5px;font-size:13px;font-weight:600;display:inline-flex}.toolbar-btn:hover{background:var(--toolbar-hover-bg);color:var(--accent)}.toolbar-btn.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-border)}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.toolbar-font-select{border-radius:var(--r-sm);height:30px;color:var(--toolbar-btn-color);cursor:pointer;appearance:auto;max-width:164px;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;padding:0 6px;font-size:12px}.toolbar-font-select:hover{background:var(--toolbar-hover-bg);border-color:var(--editor-border)}.toolbar-font-select:focus{border-color:var(--accent);outline:none}.toolbar-size-group{align-items:center;gap:1px;display:flex}.toolbar-size-input{color:var(--toolbar-btn-color);text-align:center;border-radius:var(--r-xs);appearance:textfield;width:34px;height:24px;transition:border-color var(--t-fast), background var(--t-fast);background:0 0;border:1px solid #0000;font-size:11px;font-weight:600}.toolbar-size-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.toolbar-size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-size-input:hover{border-color:var(--editor-border)}.toolbar-size-input:focus{border-color:var(--accent);background:var(--editor-page-bg);outline:none}.editor-image{max-width:100%;line-height:0;display:inline-block;position:relative}.editor-image img{border-radius:3px;width:100%;height:auto;display:block}.editor-image--left{float:left;margin:4px 18px 8px 0}.editor-image--right{float:right;margin:4px 0 8px 18px}.editor-image--center{float:none;clear:both;margin:14px auto;display:block}.editor-image--bw img{filter:grayscale()}.editor-image--selected img{outline:2px solid var(--accent);outline-offset:2px}.editor-image:hover{cursor:grab}.editor-image-handle{background:var(--accent);z-index:5;border:2px solid #fff;border-radius:50%;width:11px;height:11px;display:none;position:absolute;box-shadow:0 1px 3px #00000059}.editor-image--selected .editor-image-handle{display:block}.editor-image-handle--nw{cursor:nwse-resize;top:-6px;left:-6px}.editor-image-handle--ne{cursor:nesw-resize;top:-6px;right:-6px}.editor-image-handle--sw{cursor:nesw-resize;bottom:-6px;left:-6px}.editor-image-handle--se{cursor:nwse-resize;bottom:-6px;right:-6px}.editor-scroll{scrollbar-width:thin;scrollbar-color:var(--editor-border) transparent;flex:1;padding:48px 32px 80px;position:relative;overflow-y:auto}.editor-scroll::-webkit-scrollbar{width:5px}.editor-scroll::-webkit-scrollbar-track{background:0 0}.editor-scroll::-webkit-scrollbar-thumb{background:var(--editor-border);border-radius:3px}.editor-page{--page-pad-x:72px;--page-pad-y:72px;max-width:var(--editor-max-width);background-color:var(--editor-page-bg);padding:var(--page-pad-y) var(--page-pad-x) 0;transform-origin:top;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");border-radius:3px;min-height:893px;margin:0 auto;position:relative;box-shadow:0 1px 2px #0000001a,0 14px 44px #0000002e,inset 0 0 90px #3c281405}.editor-chapter-title{box-sizing:border-box;height:86.4px;padding:0 var(--page-pad-x);margin:0;margin-left:calc(var(--page-pad-x) * -1);margin-right:calc(var(--page-pad-x) * -1);text-align:center;font-family:var(--font-display);letter-spacing:-.01em;color:var(--editor-text);border-bottom:1px solid var(--editor-border);justify-content:center;align-items:center;font-size:30px;font-weight:600;line-height:1.2;display:flex;overflow:hidden}.editor-chapter-title-input{width:calc(100% + var(--page-pad-x) * 2);border:none;border-bottom:1px solid var(--editor-border);appearance:none;transition:background var(--t-fast), border-color var(--t-fast);cursor:text;background:0 0;border-radius:0;outline:none;display:block}.editor-chapter-title-input::placeholder{color:var(--text-muted)}.editor-chapter-title-input:hover{background:color-mix(in srgb, var(--editor-text) 3%, transparent)}.editor-chapter-title-input:focus{background:color-mix(in srgb, var(--editor-text) 5%, transparent);border-bottom-color:var(--accent)}.ProseMirror{color:var(--editor-text);caret-color:var(--accent);outline:none;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.8}.ProseMirror p{margin:0}.ProseMirror p+p{text-indent:2em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{color:var(--editor-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:700;line-height:1.25}.ProseMirror h1{margin:2em 0 .8em;font-size:30px}.ProseMirror h2{margin:1.8em 0 .6em;font-size:22px}.ProseMirror h3{margin:1.4em 0 .5em;font-size:18px}.ProseMirror h1:first-child,.ProseMirror h2:first-child{margin-top:0}.ProseMirror blockquote{border-left:3px solid var(--accent-border);color:var(--editor-secondary);margin:1.5em 0;padding:4px 0 4px 22px;font-style:italic}.ProseMirror ul,.ProseMirror ol{margin-bottom:1.2em;padding-left:1.8em}.ProseMirror li{margin-bottom:.3em}.ProseMirror code{background:var(--code-inline-bg);color:var(--accent);border-radius:var(--r-xs);padding:2px 5px;font-family:Consolas,Cascadia Code,monospace;font-size:.88em}.ProseMirror pre{background:var(--pre-bg);border-radius:var(--r-sm);margin:1.5em 0;padding:16px 20px;overflow-x:auto}.ProseMirror pre code{color:var(--editor-text);background:0 0;padding:0}.ProseMirror hr{border:none;border-top:2px solid var(--editor-border);width:50%;margin:2.5em auto}.ProseMirror .is-editor-empty:before{content:attr(data-placeholder);float:left;color:var(--editor-placeholder);pointer-events:none;height:0;font-style:italic}.ProseMirror ::selection{background:var(--accent-subtle)}.editor-stats{border-top:1px solid var(--editor-border);background:var(--editor-stats-bg);color:var(--text-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 16px;font-size:11px;display:flex}.editor-stats-left{align-items:center;gap:14px;display:flex}.editor-stats-scope{letter-spacing:.1em;text-transform:uppercase;color:var(--toolbar-btn-color);background:color-mix(in srgb, var(--toolbar-btn-color) 12%, transparent);border-radius:20px;padding:2px 7px;font-size:9px;font-weight:700}.editor-stats-left span{align-items:center;gap:4px;display:flex}.editor-stats strong{color:var(--toolbar-btn-color)}.editor-zoom-controls{align-items:center;gap:4px;display:flex}.zoom-btn{border-radius:var(--r-xs);width:22px;height:22px;color:var(--toolbar-btn-color);transition:background var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.zoom-btn:hover{background:var(--toolbar-hover-bg);color:var(--accent)}.zoom-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.zoom-level{color:var(--toolbar-btn-color);text-align:center;-webkit-user-select:none;user-select:none;min-width:34px;font-size:11px;font-weight:600}.agent-selector{border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:10px 12px}.agent-chips{flex-wrap:wrap;gap:6px;min-height:32px;margin-bottom:8px;display:flex}.agent-chip{transition:opacity var(--t-fast);border:1px solid;border-radius:20px;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-size:11px;font-weight:600;display:inline-flex}.agent-chip-remove{opacity:.55;transition:opacity var(--t-fast);border-radius:50%;padding:0 0 0 2px;font-size:14px;line-height:1}.agent-chip-remove:hover{opacity:1}.agent-selector-note{color:var(--text-muted);font-size:11px}.agent-add{position:relative}.agent-add-trigger{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-secondary);cursor:pointer;transition:border-color var(--t-base), color var(--t-base);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.agent-add-trigger:hover{border-color:var(--accent-border);color:var(--text-primary)}.agent-add-trigger[aria-expanded=true]{border-color:var(--border-focus);color:var(--text-primary)}.agent-add-caret{color:var(--text-muted);transition:transform var(--t-base);flex-shrink:0;transform:rotate(90deg)}.agent-add-caret.open{transform:rotate(270deg)}.agent-add-menu{z-index:60;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);max-height:288px;box-shadow:var(--shadow-lg);animation:message-in var(--t-fast) ease both;scrollbar-width:auto;scrollbar-color:var(--accent) var(--bg-hover);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.agent-add-menu::-webkit-scrollbar{width:12px}.agent-add-menu::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:8px;margin:4px 0}.agent-add-menu::-webkit-scrollbar-thumb{background:var(--accent);border:3px solid var(--bg-elevated);background-clip:padding-box;border-radius:8px}.agent-add-menu::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.agent-add-option{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text-secondary);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:8px;padding:8px 9px;font-size:12.5px;display:flex}.agent-add-option:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-add-option-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.agent-add-option-emoji{flex-shrink:0}.agent-add-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-tabs{border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-shrink:0;display:flex;overflow-x:auto}.agent-tabs::-webkit-scrollbar{display:none}.agent-tab{color:var(--text-muted);white-space:nowrap;transition:color var(--t-base), border-color var(--t-base);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:9px 12px;font-size:12px;font-weight:500;display:flex}.agent-tab:hover{color:var(--text-secondary)}.agent-tab.active{color:var(--text-primary);border-bottom-color:currentColor}.agent-tab-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.chat-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-mode-bar{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.chat-mode-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:11px;font-weight:600}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:10px;padding:14px 12px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.chat-empty{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.chat-empty-icon{background:var(--accent-subtle);border:1px solid var(--accent-border);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:26px;display:flex}.chat-empty-title{color:var(--text-secondary);font-size:13px;font-weight:600}.chat-empty-sub{max-width:220px;font-size:12px;line-height:1.6}.chat-message{max-width:100%;animation:message-in var(--t-slow) ease both;flex-direction:column;gap:4px;display:flex}@keyframes message-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.message-header{align-items:center;gap:6px;padding:0 2px;font-size:11px;font-weight:600;display:flex}.message-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.message-bubble{border-radius:var(--r-md);white-space:pre-wrap;word-break:break-word;padding:10px 13px;font-size:13px;line-height:1.65}.message-user .message-bubble{background:var(--accent-subtle);border:1px solid var(--accent-border);color:var(--text-primary);border-radius:var(--r-md) var(--r-md) var(--r-xs) var(--r-md);margin-left:24px}.message-agent .message-bubble{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-md) var(--r-md) var(--r-md) var(--r-xs);margin-right:24px}.message-bubble--streaming:after{content:"";vertical-align:text-bottom;background:var(--accent);border-radius:1px;width:2px;height:1.05em;margin-left:2px;animation:1s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.message-thinking{align-items:center;gap:4px;padding:10px 13px;display:flex}.thinking-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.chat-input-area{border-top:1px solid var(--border-subtle);flex-shrink:0;padding:10px 12px}.chat-context-badge{color:var(--accent);background:var(--accent-subtle);border:1px solid var(--accent-border);border-radius:var(--r-xs);align-items:center;gap:6px;margin-bottom:8px;padding:4px 8px;font-size:11px;display:flex}.chat-context-badge button{color:var(--accent);opacity:.7;transition:opacity var(--t-fast);margin-left:auto;font-size:14px;line-height:1}.chat-context-badge button:hover{opacity:1}.chat-input-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-base), box-shadow var(--t-base);align-items:flex-end;gap:8px;padding:8px 10px;display:flex}.chat-input-box:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.chat-textarea{max-height:270px;color:var(--text-primary);resize:none;scrollbar-width:thin;background:0 0;border:none;outline:none;flex:1;font-size:13px;line-height:1.5}.chat-textarea::placeholder{color:var(--text-muted)}.chat-send-btn{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--accent-hover), var(--accent));color:#fff;width:32px;height:32px;box-shadow:0 1px 2px #00000024, 0 2px 8px var(--accent-subtle);transition:filter var(--t-base), box-shadow var(--t-base), transform var(--t-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:hover{filter:brightness(1.08);box-shadow:0 2px 12px var(--accent-border)}.chat-send-btn:active{transform:scale(.94)}.chat-send-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.incoherency-card{background:var(--danger-subtle);border-radius:var(--r-md);border:1px solid #ef444438;margin:6px 12px;padding:10px 12px}.incoherency-text{color:var(--text-primary);margin-bottom:8px;font-size:12px;line-height:1.6}.incoherency-actions{flex-wrap:wrap;gap:6px;display:flex}.incoherency-card.resolved{opacity:.6;background:#22c55e14;border-color:#22c55e33}.resolved-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--success);margin-bottom:4px;font-size:10px;font-weight:700}.chapter-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-fast);margin:6px 12px;padding:10px 12px}.chapter-card.active{border-color:var(--accent-border)}.chapter-card-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.chapter-card-open{text-align:left;color:var(--text-primary);transition:color var(--t-fast);font-size:12px;font-weight:600}.chapter-card-open:hover,.chapter-card.active .chapter-card-open{color:var(--accent)}.chapter-card-body{color:var(--text-secondary);font-size:12px;line-height:1.6}.empty-state{text-align:center;color:var(--text-muted);padding:24px 14px;font-size:12px;line-height:1.7}.spinner{border:2px solid var(--border);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.no-agent-placeholder{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 20px;display:flex}.no-agent-placeholder .icon{opacity:.7;font-size:34px}.no-agent-placeholder p{max-width:220px;font-size:12px;line-height:1.7}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.character-count{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:16px;padding:0 6px;font-size:10px;font-weight:700;display:flex}.character-list{flex-direction:column;gap:5px;padding:4px 8px 8px;display:flex}.character-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.character-card:hover{background:var(--bg-hover);border-color:var(--border)}.character-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.character-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.character-card-role{color:var(--accent);font-size:11px;font-weight:500}.character-card-meta{color:var(--text-muted);font-size:10px}.character-card-delete{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);width:20px;height:20px;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.character-card-delete:hover{background:var(--danger-subtle);color:var(--danger)}.character-add-btn{align-self:flex-start;margin-top:2px}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;box-shadow:0 24px 64px #00000073}.modal-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.modal-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);width:28px;height:28px;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:13px;display:flex}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.modal-section{flex-direction:column;gap:12px;display:flex}.modal-row-3{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.modal-field{flex-direction:column;gap:5px;display:flex}.modal-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.modal-required{color:var(--accent)}.modal-input,.modal-select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-primary);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.modal-input:focus,.modal-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.modal-input::placeholder{color:var(--text-muted)}.password-input{display:block;position:relative}.password-input-field{padding-right:38px}.password-toggle{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-primary);background:var(--bg-subtle,var(--bg-elevated))}.modal-select{cursor:pointer}.modal-textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-primary);resize:vertical;width:100%;transition:border-color var(--t-fast), box-shadow var(--t-fast);scrollbar-width:thin;scrollbar-color:var(--border) transparent;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.55}.modal-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.modal-textarea::placeholder{color:var(--text-muted);white-space:pre-line}.modal-divider{border:none;border-top:1px solid var(--border-subtle);margin:2px 0}.modal-field--error .modal-input{border-color:var(--danger)}.modal-error-msg{color:var(--danger);font-size:11px}.modal-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px;display:flex}.dialog-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:420px;animation:dialog-pop var(--t-fast) ease both;padding:22px 24px 18px;box-shadow:0 24px 64px #00000073}@keyframes dialog-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 8px;font-size:18px;font-weight:600}.dialog-message{color:var(--text-secondary);white-space:pre-line;margin:0 0 20px;font-size:13.5px;line-height:1.6}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.editor-body{flex:1;min-height:0;display:flex;overflow:hidden}.editor-stats-right{align-items:center;gap:8px;display:flex}.editor-jump-to-page{align-items:center;display:flex}.editor-jump-input{width:84px;height:22px;color:var(--toolbar-btn-color);border:1px solid var(--editor-border);border-radius:var(--r-xs);transition:border-color var(--t-fast);appearance:textfield;background:0 0;outline:none;padding:0 7px;font-size:11px}.editor-jump-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.editor-jump-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.editor-jump-input::placeholder{color:var(--editor-placeholder);opacity:.8}.editor-jump-input:focus{border-color:var(--accent)}.page-break{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;display:block;position:relative}.page-break-fill{position:relative}.page-break-number{right:0;bottom:calc(var(--page-pad-y) - 20px);letter-spacing:.12em;color:var(--editor-secondary);opacity:.5;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;position:absolute}.page-break-gap{margin:0 calc(-1 * var(--page-pad-x));background:var(--editor-bg);box-shadow:inset 0 10px 10px -10px #0000004d,inset 0 -10px 10px -10px #0000004d}.chapter-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 6px;font-size:9px;font-weight:700}.chapter-nav{flex-direction:column;min-width:0;display:flex}.chapter-nav-slot{flex-shrink:0;min-width:0;display:flex}.chapter-nav--editor{background:var(--editor-bg);scrollbar-width:thin;scrollbar-color:var(--editor-border) transparent;border-right:1px solid #8080a01a;flex:1;min-width:0;padding:14px 10px 16px;overflow-y:auto}.chapter-nav-head{align-items:center;padding:0 4px 8px;display:flex}.chapter-nav-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:700}.chapter-nav-add{border-radius:var(--r-sm);border:1px dashed var(--accent-border);background:var(--accent-subtle);width:100%;color:var(--accent);transition:background var(--t-fast), border-color var(--t-fast);justify-content:center;align-items:center;gap:5px;margin-bottom:10px;padding:7px 8px;font-size:12px;font-weight:600;display:flex}.chapter-nav-add:hover{background:var(--accent-border);border-style:solid}.chapter-nav-list{flex-direction:column;gap:2px;list-style:none;display:flex}.chapter-nav-row{border-radius:var(--r-sm);transition:background var(--t-fast);align-items:center;gap:2px;display:flex}.chapter-nav-row:hover{background:var(--bg-hover)}.chapter-nav-row.active{background:var(--accent-subtle);box-shadow:inset 2px 0 0 var(--accent)}.chapter-nav-select{text-align:left;min-width:0;color:var(--text-secondary);border-radius:var(--r-sm);flex:1;align-items:baseline;gap:5px;padding:7px 8px;font-size:12px;line-height:1.35;display:flex}.chapter-nav-row.active .chapter-nav-select{color:var(--accent);font-weight:600}.chapter-nav-index{color:var(--text-muted);flex-shrink:0;font-size:10px;font-weight:700}.chapter-nav-row.active .chapter-nav-index{color:var(--accent)}.chapter-nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chapter-nav-actions{opacity:0;transition:opacity var(--t-fast);align-items:center;gap:1px;padding-right:4px;display:flex}.chapter-nav-row:hover .chapter-nav-actions,.chapter-nav-row.active .chapter-nav-actions,.chapter-nav-row:focus-within .chapter-nav-actions{opacity:1}.chapter-nav-action{border-radius:var(--r-xs);width:22px;height:22px;color:var(--text-muted);transition:background var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;display:inline-flex}.chapter-nav-action:hover{background:var(--bg-elevated);color:var(--text-primary)}.chapter-nav-action--danger:hover{background:var(--danger-subtle);color:var(--danger)}.chapter-nav-action:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.chapter-nav-rename{min-width:0;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-focus);border-radius:var(--r-sm);box-shadow:0 0 0 3px var(--accent-subtle);flex:1;margin:2px 0;padding:6px 8px;font-size:12px}.chapter-nav--panel{padding:0 0 10px}.chapter-nav--panel .chapter-nav-head{display:none}.chapter-nav--panel .chapter-nav-add{margin-bottom:8px}.note-anchor{cursor:pointer;background:#d9a44147;border-bottom:1.5px dotted #926815cc}.note-anchor--flash{animation:1.6s note-flash}@keyframes note-flash{0%,55%{background:#d9a44199}to{background:#d9a44147}}.editor-note-bubble{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-md);white-space:nowrap;z-index:20;transition:color var(--t-fast), border-color var(--t-fast);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.editor-note-bubble:hover{color:var(--accent);border-color:var(--accent-border)}.editor-note-bubble:after{content:"";background:var(--bg-elevated);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.editor-caret-menu{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-md);white-space:nowrap;z-index:20;border-radius:999px;align-items:center;gap:2px;padding:4px 6px;display:inline-flex;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.editor-caret-menu:after{content:"";background:var(--bg-elevated);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.editor-caret-menu-btn{color:var(--text-primary);transition:color var(--t-fast), background var(--t-fast);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.editor-caret-menu-btn:hover:not(:disabled){color:var(--accent);background:var(--accent-subtle)}.editor-caret-menu-btn:disabled{opacity:.45;cursor:default}.editor-caret-menu-sep{background:var(--border);width:1px;height:14px;margin:0 2px}.editor-note-popover{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md);width:260px;box-shadow:var(--shadow-lg);z-index:21;padding:10px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.editor-note-input{width:100%;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);resize:vertical;transition:border-color var(--t-fast);outline:none;padding:7px 9px;font-size:12px;line-height:1.5}.editor-note-input:focus{border-color:var(--accent)}.editor-note-input::placeholder{color:var(--text-muted)}.editor-note-popover-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.editor-note-delete-btn{color:var(--danger);margin-right:auto}.editor-note-tooltip{max-width:280px;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);white-space:pre-wrap;pointer-events:none;z-index:22;padding:8px 11px;font-size:12px;line-height:1.55;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.editor-note-tooltip-label{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:3px;font-size:9px;font-weight:700}.note-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);margin:6px 12px;padding:10px 12px}.note-card-meta{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:6px;font-size:10px;font-weight:600;display:flex}.note-card-orphan{color:var(--warning)}.note-card-excerpt{color:var(--text-secondary);border-left:2px solid var(--gold-border);margin-bottom:6px;padding-left:8px;font-size:11px;font-style:italic;line-height:1.5}.note-card-text{color:var(--text-primary);white-space:pre-wrap;margin-bottom:8px;font-size:12px;line-height:1.6}.note-card-editor{width:100%;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-sm);resize:vertical;transition:border-color var(--t-fast);outline:none;margin-bottom:8px;padding:7px 9px;font-size:12px;line-height:1.5}.note-card-editor:focus{border-color:var(--accent)}.note-card-actions{flex-wrap:wrap;gap:6px;display:flex}@media (width<=1280px){:root{--panel-l-w:290px;--panel-r-w:340px}.editor-page{--page-pad-x:52px}}@media (width<=960px){:root{--panel-l-w:300px;--panel-r-w:320px}.panel-slot-left,.panel-slot-right{z-index:100;box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0}.panel-slot-left .panel,.panel-slot-right .panel{background:color-mix(in srgb, var(--bg-panel) 84%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4)}.panel-slot-left{left:0}.panel-slot-right{right:0}.panel-slot--hidden{box-shadow:none;width:0!important}.word-count-badge{display:none}.editor-scroll{padding:32px 20px 64px}.editor-page{--page-pad-x:40px;--page-pad-y:56px}}@media (width<=600px){:root{--header-h:52px}.header{gap:8px;padding:0 10px}.header-logo .logo-wordmark{display:none}.book-title-input{width:160px;font-size:13px}.theme-select,.theme-switcher{display:none}.editor-scroll{padding:24px 12px 48px}.editor-page{--page-pad-x:20px;--page-pad-y:40px;min-height:600px}:root{--panel-l-w:min(300px, calc(100vw - 48px));--panel-r-w:min(320px, calc(100vw - 48px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.landing{background:radial-gradient(1100px 520px at 50% -10%, var(--accent-subtle), transparent 70%), var(--grad-app,var(--bg-app));height:100vh;color:var(--text-primary);scrollbar-width:thin;scrollbar-color:var(--border) transparent;background-attachment:fixed;overflow-y:auto}.landing-nav{z-index:20;background:color-mix(in srgb, var(--bg-app) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px clamp(20px,6vw,80px);display:flex;position:sticky;top:0}.landing-nav:after{content:"";background:var(--forge-line,var(--grad-fire));opacity:.5;pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0}.landing-logo{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:9px;font-size:23px;font-weight:600;display:inline-flex}.landing-logo--sm{gap:7px;font-size:18px}.landing-nav-links{align-items:center;gap:22px;display:flex}.landing-nav-links a,.landing-nav-links .landing-nav-link{color:var(--text-secondary);transition:color var(--t-fast);cursor:pointer;font-size:13px;font-weight:500;text-decoration:none}.landing-nav-links a:hover,.landing-nav-links .landing-nav-link:hover{color:var(--text-primary)}.landing-logo--btn{cursor:pointer;background:0 0;border:none}.landing-lang{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);height:30px;color:var(--text-primary);cursor:pointer;appearance:auto;transition:border-color var(--t-fast);padding:0 8px;font-size:12px}.landing-lang:hover{border-color:var(--accent-border)}.landing-lang:focus{border-color:var(--border-focus);outline:none}.landing-hero{text-align:center;flex-direction:column;align-items:center;max-width:1000px;margin:0 auto;padding:clamp(48px,9vw,110px) 20px 60px;display:flex}.landing-hero-emblem{justify-content:center;margin-bottom:20px;display:flex;position:relative}.landing-hero-emblem:before{content:"";background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--accent) 30%, transparent), color-mix(in srgb, var(--gold) 12%, transparent) 42%, transparent 70%);filter:blur(4px);z-index:0;pointer-events:none;width:280px;height:240px;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.landing-hero-emblem .logo-mark{z-index:1;filter:drop-shadow(0 10px 24px #00000052);position:relative}.landing-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--gold-soft);background:var(--gold-subtle);border:1px solid var(--gold-border);border-radius:20px;align-items:center;gap:6px;margin-bottom:26px;padding:5px 14px;font-size:12px;font-weight:600;display:inline-flex}.landing-title{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.018em;max-width:16ch;margin-bottom:22px;font-size:clamp(40px,7vw,76px);font-weight:600;line-height:1.02}.landing-title .accent{background:linear-gradient(115deg, var(--gold-soft), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:500}.landing-subtitle{color:var(--text-secondary);max-width:58ch;margin-bottom:32px;font-size:clamp(16px,2vw,20px);line-height:1.6}.landing-cta-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-cta{border-radius:var(--r-md);padding:11px 24px;font-size:14px}.landing-preview{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg-panel);width:min(1240px,92vw);box-shadow:var(--shadow-lg);text-align:left;margin-top:64px;overflow:hidden}.landing-preview-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-panel-alt);align-items:center;gap:7px;padding:10px 14px;display:flex}.lp-dot{background:var(--border);border-radius:50%;width:11px;height:11px}.lp-dot:first-child{background:#e0685f}.lp-dot:nth-child(2){background:#e8c15b}.lp-dot:nth-child(3){background:#63c088}.lp-bar-title{font-family:var(--font-display);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-left:10px;font-size:12px;overflow:hidden}.landing-preview-zoom{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.landing-preview-img{width:100%;height:auto;display:block}.landing-lightbox{z-index:600;-webkit-backdrop-filter:blur(7px);cursor:zoom-out;background:#060409d6;justify-content:center;align-items:center;padding:clamp(12px,3vw,44px);animation:.15s lightbox-in;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.landing-lightbox-img{border-radius:var(--r-md);border:1px solid var(--border);width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:var(--shadow-lg)}.landing-lightbox-close{color:#f2ece2;cursor:pointer;width:38px;height:38px;transition:background var(--t-fast);background:#ffffff1a;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:fixed;top:16px;right:20px}.landing-lightbox-close:hover{background:#fff3}.landing-section{text-align:center;max-width:1080px;margin:0 auto;padding:clamp(50px,8vw,90px) clamp(20px,5vw,40px)}.landing-section-title{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;margin-bottom:12px;font-size:clamp(28px,4vw,42px);font-weight:600}.landing-section-title:after{content:"";background:linear-gradient(90deg, var(--gold), var(--accent));border-radius:3px;width:52px;height:3px;margin:16px auto 0;display:block}.landing-section-sub{color:var(--text-secondary);max-width:56ch;margin:0 auto 44px;font-size:16px;line-height:1.6}.landing-features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.landing-feature-card{text-align:left;border-radius:var(--r-lg);border:1px solid var(--border-subtle);background:var(--bg-panel);transition:transform var(--t-base), border-color var(--t-base);padding:24px}.landing-feature-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-3px)}.landing-feature-icon{border-radius:var(--r-md);background:var(--accent-subtle);border:1px solid var(--accent-border);justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;display:inline-flex}.landing-feature-card h3{font-family:var(--font-display);margin:14px 0 8px;font-size:18px;font-weight:600}.landing-feature-card p{color:var(--text-secondary);font-size:13.5px;line-height:1.6}.landing-author-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.landing-author-card{text-align:center;border-radius:var(--r-lg);border:1px solid var(--border-subtle);background:var(--bg-panel);border-top:3px solid var(--author-color,var(--accent));transition:transform var(--t-base);padding:24px 18px}.landing-author-card:hover{transform:translateY(-3px)}.landing-author-emoji{background:color-mix(in srgb, var(--author-color) 16%, transparent);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;font-size:24px;display:inline-flex}.landing-author-name{font-family:var(--font-display);margin-bottom:8px;font-size:17px;font-weight:600}.landing-author-desc{color:var(--text-secondary);font-size:12.5px;line-height:1.55}.landing-authors-note{color:var(--text-muted);margin-top:28px;font-size:13px;font-style:italic}.landing-authors-more{justify-content:center;margin-top:32px;display:flex}.authors-page-cta{margin-top:40px}.landing-final{text-align:center;max-width:720px;margin:0 auto;padding:clamp(60px,9vw,110px) 20px}.landing-final h2{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;margin-bottom:14px;font-size:clamp(30px,4vw,46px);font-weight:600}.landing-final p{color:var(--text-secondary);margin-bottom:28px;font-size:16px;line-height:1.6}.landing-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:24px clamp(20px,6vw,80px);font-size:12px;display:flex}@media (width<=760px){.landing-nav-links a,.landing-nav-links .landing-nav-link{display:none}}.error-boundary{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-boundary-card{text-align:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,12px);width:100%;max-width:460px;padding:32px 28px}.error-boundary-icon{font-size:40px;line-height:1}.error-boundary-title{color:var(--text-primary);margin:16px 0 8px;font-size:20px}.error-boundary-msg{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.5}.error-boundary-detail{background:var(--danger-subtle);border:1px solid var(--danger);color:var(--danger);text-align:left;white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0 0 20px;padding:10px 12px;font-size:12px;overflow-x:auto}.auth-panel{text-align:center;max-width:420px;padding:32px 30px 24px;position:relative}.auth-close{position:absolute;top:12px;right:12px}.auth-head{margin-bottom:22px}.auth-logo{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;justify-content:center;align-items:center;gap:10px;font-size:30px;font-weight:600;display:inline-flex}.auth-subtitle{color:var(--text-secondary);margin-top:6px;font-size:14px}.auth-form{text-align:left;flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field span{color:var(--text-secondary);font-size:12px;font-weight:600}.auth-mismatch{color:var(--danger);font-size:12px;font-weight:500}.auth-error{color:var(--danger);background:var(--danger-subtle);border-radius:var(--r-sm);border:1px solid #ef444440;padding:8px 10px;font-size:12.5px}.auth-submit{justify-content:center;margin-top:4px;padding:10px;font-size:14px}.auth-switch{color:var(--text-secondary);margin-top:18px;font-size:13px}.auth-switch button{color:var(--accent);font-size:13px;font-weight:600}.auth-switch button:hover{text-decoration:underline}.auth-disclaimer{color:var(--text-muted);border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:14px;font-size:11px;line-height:1.5}.dashboard{background:radial-gradient(900px 420px at 80% -10%, var(--accent-subtle), transparent 65%), var(--grad-app,var(--bg-app));scrollbar-width:thin;scrollbar-color:var(--border) transparent;background-attachment:fixed;height:100vh;overflow-y:auto}.dashboard-top{z-index:20;background:color-mix(in srgb, var(--bg-app) 80%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px clamp(20px,5vw,56px);display:flex;position:sticky;top:0}.dashboard-top:after{content:"";background:var(--forge-line,var(--grad-fire));opacity:.55;pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0}.dashboard-top-actions{align-items:center;gap:10px;display:flex}.dashboard-main{max-width:1080px;margin:0 auto;padding:clamp(28px,5vw,52px) clamp(20px,5vw,40px) 80px}.dashboard-greeting h1{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;font-size:clamp(28px,4vw,40px);font-weight:600}.dashboard-greeting p{color:var(--text-secondary);margin-top:8px;font-size:15px}.dashboard-projects-head{justify-content:space-between;align-items:center;margin:36px 0 18px;display:flex}.dashboard-projects-head h2{font-family:var(--font-display);align-items:center;gap:8px;font-size:21px;font-weight:600;display:flex}.dashboard-count{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:1px 9px;font-size:12px;font-weight:700}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.project-card{border-radius:var(--r-lg);border:1px solid var(--border);background:linear-gradient(160deg, color-mix(in srgb, var(--gold) 5%, transparent), transparent 46%), var(--bg-panel);cursor:pointer;text-align:left;min-height:132px;transition:transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base);gap:12px;padding:18px 16px 16px 20px;display:flex;position:relative}.project-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md), 0 12px 30px -14px color-mix(in srgb, var(--accent) 55%, transparent);transform:translateY(-3px)}.project-card-spine{background:linear-gradient(var(--gold-soft), var(--accent));width:5px;box-shadow:1px 0 4px -1px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:0 3px 3px 0;position:absolute;top:12px;bottom:12px;left:0}.project-card-main{flex-direction:column;flex:1;min-width:0;display:flex}.project-card-title{font-family:var(--font-display);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:600;overflow:hidden}.project-card-meta{color:var(--text-secondary);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.project-card-dot{color:var(--text-muted)}.project-card-updated{color:var(--text-muted);margin-top:auto;padding-top:10px;font-size:11px}.project-card-actions{opacity:0;transition:opacity var(--t-fast);flex-direction:column;gap:2px;display:flex}.project-card:hover .project-card-actions,.project-card:focus-within .project-card-actions{opacity:1}.project-card-delete:hover{color:var(--danger);background:var(--danger-subtle)}.project-rename{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-focus);border-radius:var(--r-sm);box-shadow:0 0 0 3px var(--accent-subtle);width:100%;padding:4px 8px;font-size:15px;font-weight:700}.project-card--new{color:var(--accent);border:1px dashed var(--accent-border);background:var(--accent-subtle);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.project-card--new:hover{border-style:solid;transform:translateY(-3px)}.dashboard-empty{text-align:center;border:1px dashed var(--border);border-radius:var(--r-lg);background:var(--bg-panel);flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.dashboard-empty-icon{font-size:40px}.dashboard-empty h3{font-family:var(--font-display);font-size:20px;font-weight:600}.dashboard-empty p{color:var(--text-secondary);max-width:40ch;font-size:14px;line-height:1.6}.dashboard-empty .btn{margin-top:6px}.account-menu{position:relative}.account-trigger{border:1px solid var(--border);background:var(--bg-elevated);transition:border-color var(--t-fast), background var(--t-fast);border-radius:20px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.account-trigger:hover{border-color:var(--accent-border)}.account-avatar{color:#fff;background:linear-gradient(135deg, var(--accent-hover), var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:inline-flex}.account-avatar--lg{width:40px;height:40px;font-size:15px}.account-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:13px;font-weight:600;overflow:hidden}.account-dropdown{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);width:240px;box-shadow:var(--shadow-lg);z-index:300;animation:message-in var(--t-base) ease both;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.account-dropdown-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;margin-bottom:6px;padding:10px 8px 12px;display:flex}.account-dropdown-id{min-width:0}.account-dropdown-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.account-dropdown-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.account-item{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text-secondary);transition:background var(--t-fast), color var(--t-fast);padding:9px 10px;font-size:13px;display:block}.account-item:hover{background:var(--bg-hover);color:var(--text-primary)}.account-item--danger:hover{background:var(--danger-subtle);color:var(--danger)}.profile-meta{color:var(--text-muted);font-size:12px}.account-avatar--img{object-fit:cover;background:0 0;padding:0}.profile-avatar-row{align-items:center;gap:16px;display:flex}.profile-avatar{color:#fff;background:linear-gradient(135deg, var(--accent-hover), var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:700;display:inline-flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.profile-photo-remove{color:var(--danger)}.profile-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0;font-size:12px;font-weight:700}.profile-pw-ok{color:var(--accent);font-size:11px}.header-projects-btn{border-radius:var(--r-sm);color:var(--text-secondary);border:1px solid var(--border-subtle);transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);align-items:center;gap:4px;padding:5px 10px 5px 6px;font-size:12.5px;font-weight:600;display:inline-flex}.header-projects-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}@media (width<=600px){.header-projects-btn span,.account-name{display:none}}.admin-main{max-width:1040px}.admin-tabs{border-bottom:1px solid var(--border-subtle);gap:4px;margin:28px 0 8px;display:flex}.admin-tab{color:var(--text-secondary);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex}.admin-tab:hover{color:var(--text-primary)}.admin-tab--active{color:var(--text-primary);border-bottom-color:var(--accent)}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;display:flex}.admin-search{border:1px solid var(--border);border-radius:var(--r-md,10px);background:var(--bg-elevated);min-width:220px;max-width:420px;color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.admin-search:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-subtle)}.admin-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:9px 0;font-size:14px}.admin-icon-spin{animation:.8s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.admin-icon-spin{animation:none}}.admin-status{color:var(--text-secondary);padding:28px 4px;font-size:14px}.admin-activity-note{color:var(--text-secondary);margin:16px 0;font-size:13px}.admin-status--error{color:var(--danger)}.admin-table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);scrollbar-width:thin;scrollbar-color:var(--border) transparent;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:13px 18px}.admin-table thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--accent-subtle)}.admin-cell-email{color:var(--text-secondary)}.admin-col-actions{text-align:right}.admin-role{text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.admin-role--admin{color:var(--fire-2,#ff7a29);background:color-mix(in srgb, var(--fire-2,#ff7a29) 16%, transparent);border:1px solid color-mix(in srgb, var(--fire-2,#ff7a29) 40%, transparent)}.admin-role--user{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border)}.admin-cell-when{color:var(--text-secondary);white-space:nowrap}.admin-actor{text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.admin-actor--self{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border)}.admin-actor--admin{color:var(--fire-2,#ff7a29);background:color-mix(in srgb, var(--fire-2,#ff7a29) 16%, transparent);border:1px solid color-mix(in srgb, var(--fire-2,#ff7a29) 40%, transparent)}.admin-actor--system{color:var(--accent);background:var(--accent-subtle);border:1px solid var(--accent-border)}.admin-actor-name{color:var(--text-secondary);margin-left:8px;font-size:13px}.modal-hint{color:var(--text-secondary);margin-bottom:14px;font-size:13px;line-height:1.5}.admin-approval{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.admin-approval--approved{color:#1f9d55;background:#1f9d5529;border:1px solid #1f9d5566}.admin-approval--pending{color:var(--fire-2,#ff7a29);background:color-mix(in srgb, var(--fire-2,#ff7a29) 16%, transparent);border:1px solid color-mix(in srgb, var(--fire-2,#ff7a29) 40%, transparent)}.admin-approval--denied{color:#d64545;background:#d6454529;border:1px solid #d6454566}.admin-muted{color:var(--text-secondary)}.admin-approve{color:#1f9d55}.admin-deny{color:#d64545}.pending-card{text-align:center;max-width:520px;margin:48px auto 0}.pending-card h1{margin-bottom:12px}.pending-card p{color:var(--text-secondary);margin-bottom:12px;line-height:1.6}.pending-account{font-size:13px}.pending-card .btn{margin-top:8px}
