:root{color-scheme:dark;--bg: #1c1c1e;--bg-deep: #161618;--surface: #242426;--surface-raised: #2c2c2e;--hover: #2e2e31;--btn-bg: #3a3a3c;--btn-bg-hover: #444447;--border: #38383a;--border-strong: #48484a;--hairline: rgba(255, 255, 255, .07);--fg: #f5f5f7;--fg-soft: #e5e5ea;--fg-2: #c7c7cc;--fg-3: #b0b0b7;--fg-4: #a8a8af;--fg-dim: #636366;--accent: #f06a9b;--accent-2: #e58bb5;--accent-text: #ff9dc0;--accent-soft: rgba(240, 106, 155, .12);--accent-soft-hover: rgba(240, 106, 155, .2);--accent-soft-solid: #43333b;--accent-border: rgba(240, 106, 155, .45);--accent-ring: rgba(240, 106, 155, .28);--accent-strong: #d93a75;--accent-strong-hover: #e2457f;--effort-stick: #f5a0bf;--effort-short: #e66a9b;--effort-novel: #cc3a73;--edit-off: #d9cdfb;--edit-moderate: #a78bfa;--edit-strict: #7c3aed;--grad: linear-gradient(120deg, #f06a9b 0%, #f58a7d 55%, #f5a66a 100%);--grad-btn: linear-gradient(135deg, #d93a75 0%, #ea5a8b 60%, #f07a86 100%);--grad-border: linear-gradient(135deg, rgba(240, 106, 155, .9), rgba(245, 166, 106, .5));--glow: 0 10px 30px -10px rgba(240, 106, 155, .55);--gold: #ffd27a;--ok: #86d29a;--ok-soft: #1f2d23;--ok-soft-hover: #27392c;--ok-border: #36573f;--ok-edge: rgba(134, 210, 154, .5);--ok-glow: rgba(134, 210, 154, .22);--sheet: #fbfaf7;--sheet-rule: rgba(38, 34, 31, .24);--spark: #a78bfa;--spark-text: #c4b5fd;--spark-strong: #7c3aed;--spark-soft: rgba(167, 139, 250, .12);--spark-soft-hover: rgba(167, 139, 250, .2);--spark-soft-solid: #3b3746;--spark-soft-solid-hover: #443f57;--spark-border: rgba(167, 139, 250, .5);--spark-ring: rgba(167, 139, 250, .3);--grad-spark: linear-gradient(135deg, #6d28d9 0%, #8b5cf6 45%, #c026d3 100%);--grad-spark-lines: linear-gradient(90deg, #7c3aed, #a78bfa, #e879f9, #a78bfa, #7c3aed);--spark-glow: 0 10px 30px -10px rgba(139, 92, 246, .75);--spark-shine: rgba(255, 255, 255, .35);--kind-close: #7cc4f0;--kind-progress: #86d29a;--kind-twist: #f0a3e8;--suggest: #e9cf6c;--suggest-soft: #33301c;--suggest-border: #6e6226;--warn: #f0b36a;--warn-soft: #362b1f;--warn-border: #73532f;--danger: #f07a7a;--danger-soft: #3a2427;--danger-soft-hover: #472b2f;--danger-border: #6a363c;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 22px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .28), 0 24px 48px -32px rgba(0, 0, 0, .7);--ground: radial-gradient(900px 520px at 80% -14%, rgba(240, 106, 155, .035), transparent 62%), radial-gradient(720px 480px at 104% 110%, rgba(139, 92, 246, .03), transparent 64%), var(--bg);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.2, .8, .2, 1);--font-ui: "Manrope", system-ui, -apple-system, sans-serif;--font-prose: "Lora", Georgia, "Times New Roman", serif;--av-ink: #17131c;--av-shade: rgba(23, 19, 28, .2);--av-shine: rgba(255, 255, 255, .55);--av-skin: #f0c39c;--av-hair: #4b3427;--av-hair-light: #e3b55c;--av-hair-grey: #d9d4dd;--av-cloth: #4d6fae;--av-cloth-2: #b2475f;--av-cloth-3: #4f8a62;--av-coat: #9c7a52;--av-metal: #b9c2cf;--av-gold: #e8bb43;--av-paper: #f6f1e7;--av-green: #79b85e;--av-purple: #8b6cc9;--av-fur: #c38a55;--av-fur-dark: #5d4c47;--av-fur-light: #efe3d0;--av-blank: #3a3a3c;--av-tint-0: #3c4d70;--av-tint-1: #613f62;--av-tint-2: #3d5f4e;--av-tint-3: #6e4a36;--av-tint-4: #5c5a39;--av-tint-5: #355661;--av-skin-0: #f7d7c0;--av-skin-1: #f0c39c;--av-skin-2: #d9a477;--av-skin-3: #b97f52;--av-skin-4: #8d5a3b;--av-skin-5: #5e3b28;--av-hair-0: #231c1f;--av-hair-1: #4b3427;--av-hair-2: #7b4a2b;--av-hair-3: #9b3b27;--av-hair-4: #d4743a;--av-hair-5: #e3b55c;--av-hair-6: #f1e2b6;--av-hair-7: #d9d4dd;--av-hair-8: #4a86c8;--av-hair-9: #d97aa6;--av-shirt-0: #4d6fae;--av-shirt-1: #b2475f;--av-shirt-2: #4f8a62;--av-shirt-3: #d9a62e;--av-shirt-4: #8b6cc9;--av-shirt-5: #d9773a;--av-shirt-6: #3a9a9a;--av-shirt-7: #e08aa8;--av-shirt-8: #9a9aa6;--av-shirt-9: #ece6da;--av-shirt-10: #9c7a52;--av-shirt-11: #3d3a44}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;text-size-adjust:none}body{margin:0;font-family:var(--font-ui);font-size:calc(14px / var(--tz, 1));color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:none;outline:none}ul{list-style:none;padding:0;margin:0}.app{display:grid;grid-template-columns:312px 1fr var(--side-w, 0px);height:100vh;height:100dvh;background:var(--ground)}@supports not (height: 1dvh){.app{height:100vh}}@supports (padding: max(0px)){.sidebar{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-bottom:env(safe-area-inset-bottom)}.editor-head{padding-top:max(14px,env(safe-area-inset-top));padding-right:max(24px,env(safe-area-inset-right))}.editor{padding-right:max(48px,env(safe-area-inset-right));padding-bottom:max(40px,env(safe-area-inset-bottom))}.status-bar{padding-bottom:max(6px,env(safe-area-inset-bottom))}}.sidebar{display:flex;flex-direction:column;min-height:0;margin:10px 0 10px 10px;border:1px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(130% 30% at 0% 0%,rgba(240,106,155,.06),transparent 62%),linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 45%,var(--bg-deep)) 100%);box-shadow:inset 0 1px 0 var(--hairline),0 30px 60px -40px #000000e6;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}@supports not (color: color-mix(in srgb,red,blue)){.sidebar{background:radial-gradient(130% 30% at 0% 0%,rgba(240,106,155,.06),transparent 62%),linear-gradient(180deg,var(--surface) 0%,rgba(calc(var(--surface__r) * .45 + var(--bg-deep__r) * .55),calc(var(--surface__g) * .45 + var(--bg-deep__g) * .55),calc(var(--surface__b) * .45 + var(--bg-deep__b) * .55),calc(var(--surface__a) * .45 + var(--bg-deep__a) * .55)) 100%)}}.brand{display:flex;align-items:center;gap:8px;padding:16px 14px 8px 18px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.brand>span{white-space:nowrap}.brand-home{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;white-space:nowrap}.brand-home:hover .brand-name{color:var(--accent-text)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 3px 0 1px;font-family:Lora,Georgia,serif;font-style:italic;font-weight:500;font-size:calc(26px / var(--tz, 1));line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-name{color:var(--fg);font-size:calc(15px / var(--tz, 1));letter-spacing:.2px;transition:color .14s}.panel{display:flex;flex-direction:column;flex-shrink:0}.panel-grow{flex:1 1 auto;min-height:140px}.panel-grow .chapter-list{flex:1 1 auto;min-height:0;max-height:none}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 6px 20px;color:var(--fg-3);font-family:var(--font-ui);font-size:calc(10.5px / var(--tz, 1));font-weight:800;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;font-style:normal}.panel-head>span{display:inline-block;white-space:nowrap;font-style:normal}.icon-btn{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border-radius:8px;color:var(--fg-3);font-size:calc(16px / var(--tz, 1));line-height:1;transition:background .14s,color .14s,transform .14s}.icon-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .24s var(--ease-out)}.icon-btn:disabled,.icon-btn:disabled:hover{opacity:.35;cursor:default;background:none;color:var(--fg-3)}.icon-btn:hover{background:var(--accent-soft);color:var(--accent-text)}.icon-btn:hover svg{transform:rotate(90deg)}.icon-btn:active{transform:scale(.92)}.text-btn{color:var(--fg-2);font-size:calc(12px / var(--tz, 1));padding:2px 6px;border-radius:4px;transition:background .12s,color .12s}.text-btn:hover{background:var(--btn-bg);color:var(--fg)}.text-btn svg{width:13px;height:13px;margin-right:4px;vertical-align:-2px}.text-btn.danger:hover{color:var(--danger)}.project-header{flex-shrink:0}.project-header:after{content:"";display:block;height:1px;margin:0 18px;background:linear-gradient(90deg,var(--border-strong),transparent)}.project-current{padding:6px 14px 16px 18px}.project-title-row{display:flex;align-items:center;gap:4px}.project-title{flex:1;min-width:0;margin:0;font-family:var(--font-prose);font-size:calc(24px / var(--tz, 1));font-weight:500;line-height:1.25;letter-spacing:-.005em;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-publish-btn{flex-shrink:0;position:relative;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-text);font-size:calc(11.5px / var(--tz, 1));font-weight:700;line-height:1;padding:5px 11px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .14s,border-color .14s,color .14s,transform .14s}.project-publish-btn:hover{background:var(--grad-btn);border-color:transparent;color:#fff}.project-publish-btn:active{transform:scale(.95)}.project-publish-btn:after{content:"";position:absolute;top:-10px;right:-6px;bottom:-10px;left:-6px}.project-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;color:var(--fg-soft);cursor:pointer;font-size:calc(13px / var(--tz, 1));transition:background .12s}.project-item:hover{background:var(--hover)}.project-item.active{background:var(--accent-soft);color:var(--accent-text)}.chapter-list{padding:2px 10px 10px;overflow-y:auto;max-height:240px;scrollbar-width:thin}.chapter-item{position:relative;display:flex;align-items:center;gap:10px;min-height:36px;padding:5px 6px 5px 10px;border-radius:10px;color:var(--fg-2);cursor:pointer;font-size:calc(13.5px / var(--tz, 1));font-weight:600;transition:background .14s,color .14s}.chapter-item+.chapter-item{margin-top:2px}.chapter-item{content-visibility:auto;contain-intrinsic-size:auto 36px}.chapter-spacer{list-style:none;margin:0;padding:0;pointer-events:none}.chapter-item:hover{background:var(--hover);color:var(--fg)}.chapter-item.active{background:var(--accent-soft);color:var(--fg)}.chapter-item.active:before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--grad);animation:chapter-bar-in .4s var(--ease-out)}@keyframes chapter-bar-in{0%{transform:scaleY(.2);opacity:0}}.chapter-item .chapter-num{color:var(--fg-4);font-variant-numeric:tabular-nums;font-size:calc(11.5px / var(--tz, 1));font-weight:700;min-width:14px;text-align:right;transition:color .14s}.chapter-item.active .chapter-num{color:var(--accent-text)}.chapter-item .chapter-title-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-item .chapter-actions{display:flex;gap:0;transition:opacity .16s}@media(hover:hover){.chapter-item .chapter-actions{opacity:0}.chapter-item:hover .chapter-actions,.chapter-item:focus-within .chapter-actions{opacity:1}}.chapter-item .chapter-actions button{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;color:var(--fg-3);border-radius:7px;transition:background .14s,color .14s}.chapter-item .chapter-actions svg{width:14px;height:14px}.chapter-item .chapter-actions button:hover{background:var(--btn-bg-hover);color:var(--fg)}.chapter-item .chapter-actions .chapter-delete-btn:hover{background:var(--danger-soft);color:var(--danger)}.chapter-item .chapter-actions button:disabled{opacity:.25;cursor:default}.chapter-item .chapter-actions button:disabled:hover{background:transparent;color:var(--fg-3)}.chapter-item.reordering{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;animation:chapter-wiggle .32s ease-in-out infinite alternate;animation-delay:var(--wiggle-delay, 0ms)}.chapter-item.reordering .chapter-actions{opacity:1}.chapter-list.list-dragging .chapter-item{transition:transform .2s cubic-bezier(.2,.8,.2,1),background .14s,color .14s}.chapter-list.list-dragging .chapter-item.dragging,.chapter-item.dragging{z-index:2;animation:none;rotate:none;cursor:grabbing;will-change:transform;background:var(--surface);color:var(--fg);box-shadow:0 0 0 1px var(--accent-soft),0 10px 28px -6px #00000073;transition:box-shadow .16s}@keyframes chapter-wiggle{0%{rotate:-.6deg}to{rotate:.6deg}}.chapter-list-footer{flex:0 0 auto;position:relative;z-index:1;background:transparent}.chapter-list-footer:empty{display:none}.panel-grow .chapter-list-footer{margin:auto 0 -4px}.chapter-reorder-hint{display:flex;justify-content:center;padding:0 10px;background:transparent}.chapter-reorder-hint button,.chapter-reorder-hint button:hover,.chapter-reorder-hint button:active,.chapter-reorder-hint button:focus,.chapter-reorder-hint button:focus-visible{background:transparent;box-shadow:none}.chapter-reorder-hint button{padding:0;border:0;font-size:calc(10.5px / var(--tz, 1));font-weight:500;line-height:1.2;color:var(--fg-3);cursor:pointer;-webkit-tap-highlight-color:transparent}.chapter-reorder-hint button:hover,.chapter-reorder-hint button:focus-visible{color:var(--fg-2);opacity:1}.chapter-reorder-hint button:focus{outline:none}.chapter-reorder-hint button:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:3px}.chapter-reorder-hint .chapter-reorder-done{color:var(--accent-text);font-weight:700;opacity:1}@media(min-width:801px){.chapter-reorder-hint .chapter-reorder-toggle{font-size:calc(9.5px / var(--tz, 1))}}.chapter-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.chapter-item.reordering{animation:none;box-shadow:inset 0 0 0 1px var(--accent-soft)}.chapter-list.list-dragging .chapter-item{transition:none}}.spinner{display:inline-block;width:10px;height:10px;border:2px solid var(--border-strong);border-top-color:var(--accent-2);border-radius:50%;animation:spin .8s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.bible-status{padding:0 16px 6px;color:var(--fg-2);font-size:calc(11px / var(--tz, 1));font-style:italic;min-height:0}.bible-status.busy{color:var(--accent-2)}.bible-status.error{color:var(--danger)}.models-panel{padding:4px 12px 12px}.models-hint{font-size:calc(11px / var(--tz, 1));color:var(--fg-3);margin:0 0 8px;line-height:1.4}.models-hint a{color:var(--accent-2);text-decoration:underline}.models-list{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:3px}.model-row{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:calc(12px / var(--tz, 1));color:var(--fg-soft)}.model-row.disabled{opacity:.4}.model-row input[type=checkbox]{accent-color:var(--accent-2);cursor:pointer}.model-id{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(11px / var(--tz, 1));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-badge{font-size:calc(9.5px / var(--tz, 1));padding:1px 5px;border-radius:3px;background:var(--btn-bg-hover);color:var(--fg-2);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.model-badge.paid{background:var(--accent-soft);color:var(--accent-text)}.model-badge.mistral{background:#2b2338;color:#d3b8f0}.model-row .model-actions{display:flex;gap:1px;flex-shrink:0}.model-row .model-actions button{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:calc(13px / var(--tz, 1));line-height:1;color:var(--fg-2);border-radius:4px}.model-row .model-actions button:hover{background:var(--btn-bg-hover);color:var(--fg)}.model-row .model-actions button[data-action=remove]:hover{color:var(--danger)}.models-add{display:flex;gap:6px}.models-add input{flex:1;min-width:0;padding:6px 8px;font-size:calc(11px / var(--tz, 1));background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.models-add input:focus{border-color:var(--accent-border);outline:none}.voice-editor{display:block;width:calc(100% - 24px);box-sizing:border-box;margin:0 12px 12px;padding:10px 12px;background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;min-height:80px;max-height:220px;resize:vertical;font-size:calc(13px / var(--tz, 1));line-height:1.55;color:var(--fg-soft);font-family:inherit}.voice-editor:focus{border-color:var(--accent-border);outline:none}.voice-editor::placeholder{color:var(--fg-4);font-style:italic;font-size:calc(12px / var(--tz, 1))}.bible-empty{margin:0 12px 10px;font-size:calc(12px / var(--tz, 1));color:var(--fg-3);line-height:1.5}.bible-entry-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px;padding:22px max(24px,5vw);overflow-y:auto}.bible-entry-row{display:flex;gap:12px}.bible-entry-field{display:flex;flex-direction:column;gap:5px}.bible-entry-field-grow{flex:1 1 auto;min-width:0}.bible-entry-field-fill{flex:1 1 auto;min-height:0}.bible-entry-label{display:flex;justify-content:space-between;font-size:calc(11px / var(--tz, 1));font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2)}.bible-entry-count{font-weight:400;text-transform:none;letter-spacing:0;color:var(--fg-3)}.bible-entry-count.over{color:var(--danger)}.bible-entry-input,.bible-entry-select{padding:9px 11px;background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:calc(14px / var(--tz, 1));font-family:inherit}.bible-entry-input:focus,.bible-entry-select:focus{border-color:var(--accent-border);outline:none}.bible-entry-content{flex:1 1 auto;min-height:200px;resize:none;padding:12px 14px;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-family:Lora,Georgia,serif;font-size:calc(15px / var(--tz, 1));line-height:1.7}.bible-entry-content:focus{border-color:var(--accent-border);outline:none}.bible-entry-actions{display:flex;justify-content:space-between;gap:8px}.bible-entry-refresh{padding:8px 12px;border-radius:7px;background:var(--accent-soft);color:var(--accent-2);border:1px solid var(--accent-border);font-size:calc(13px / var(--tz, 1));cursor:pointer;transition:background .12s,color .12s}.bible-entry-refresh:hover:not(:disabled){background:var(--accent-soft-hover);color:var(--accent-2)}.bible-entry-refresh:disabled{opacity:.6;cursor:default}.bible-entry-delete{padding:8px 12px;border-radius:7px;background:var(--danger-soft);color:var(--danger);font-size:calc(13px / var(--tz, 1));cursor:pointer;transition:background .12s,color .12s}.bible-entry-delete:hover:not(:disabled){background:var(--danger-soft-hover);color:var(--danger)}.bible-entry-delete:disabled{opacity:.6;cursor:default}.api-key-hint{margin:0;font-size:calc(12px / var(--tz, 1));color:var(--fg-2);line-height:1.5}.api-key-hint a{color:var(--accent-2)}.api-key-row{display:flex;gap:6px;align-items:center}.api-key-input{flex:1;min-width:0;padding:7px 9px;background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:calc(13px / var(--tz, 1));font-family:monospace}.api-key-input:focus{border-color:var(--accent-border);outline:none}.api-key-input.masked{-webkit-text-security:disc;text-security:disc}.api-key-status{font-size:calc(12px / var(--tz, 1));font-style:italic;line-height:1.3}.api-key-status.has-key{color:var(--ok)}.api-key-status.no-key{color:var(--danger)}.hidden{display:none!important}.app-hidden{visibility:hidden;pointer-events:none}.auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:1000;padding:24px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px;animation:overlay-in .18s ease-out both}@keyframes overlay-in{0%{background-color:transparent}}@media(prefers-reduced-motion:reduce){.modal-overlay{animation:none}}.onboard-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--hairline);padding:32px 28px 24px;max-width:440px;width:100%;box-shadow:0 24px 60px #0009;display:flex;flex-direction:column;gap:0}.onboard-dots{display:flex;gap:6px;justify-content:center;margin-bottom:28px}.onboard-dot{width:8px;height:8px;border-radius:50%;background:var(--btn-bg-hover);transition:background .2s}.onboard-dot.active{background:var(--accent-strong)}.onboard-step{display:none;flex-direction:column;gap:16px}.onboard-step.active{display:flex}.onboard-emoji{font-size:calc(36px / var(--tz, 1));text-align:center;line-height:1}.onboard-title{margin:0;font-size:calc(20px / var(--tz, 1));font-weight:600;color:var(--fg);text-align:center}.onboard-body{margin:0;font-size:calc(14px / var(--tz, 1));color:var(--fg-2);line-height:1.6;text-align:center}.onboard-body strong{color:var(--fg)}.onboard-context{margin:0;font-size:calc(12.5px / var(--tz, 1));color:var(--accent-2);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:6px;padding:7px 12px;text-align:center;line-height:1.5}.onboard-context strong{color:var(--accent-text)}.onboard-steps-list{margin:0;padding-left:20px;font-size:calc(14px / var(--tz, 1));color:var(--fg-soft);line-height:1.9;text-align:left}.onboard-steps-list strong{color:var(--fg)}.onboard-steps-list em{color:var(--accent-2);font-style:normal}.onboard-steps-list code{background:var(--btn-bg);padding:1px 5px;border-radius:4px;font-size:calc(12px / var(--tz, 1));color:var(--accent-2)}.onboard-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--accent-strong);color:#fff;border-radius:8px;font-size:calc(14px / var(--tz, 1));font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:background .12s;text-align:center}.onboard-btn-primary:hover{background:var(--accent-strong-hover)}.onboard-btn-primary:disabled{background:var(--accent-border);color:var(--fg-3);cursor:not-allowed}.onboard-btn-ghost{background:none;border:none;color:var(--fg-2);font-size:calc(13px / var(--tz, 1));cursor:pointer;padding:4px 0;transition:color .12s}.onboard-btn-ghost:hover{color:var(--fg-soft)}.onboard-nav{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.onboard-key-input{width:100%;padding:10px 12px;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:calc(13px / var(--tz, 1));font-family:monospace;outline:none;transition:border-color .12s}.onboard-key-input:focus{border-color:var(--accent)}.onboard-skip{background:none;border:none;color:var(--fg-4);font-size:calc(12px / var(--tz, 1));cursor:pointer;text-align:center;padding:4px;transition:color .12s}.onboard-skip:hover{color:var(--fg-2)}.mode-toggle{display:flex;width:fit-content;margin:0 auto 10px;background:var(--btn-bg);border:1px solid var(--border-strong);border-radius:999px;padding:3px;gap:2px}.mode-opt{border:none;background:transparent;color:var(--fg-2);font-size:calc(13px / var(--tz, 1));font-weight:600;padding:6px 22px;border-radius:999px;cursor:pointer;transition:background .12s,color .12s}.mode-opt.active{background:var(--accent-strong);color:#fff}.provider-toggle{display:flex;width:100%;margin:0 0 10px;background:var(--btn-bg);border:1px solid var(--border-strong);border-radius:999px;padding:3px;gap:2px}.provider-opt{flex:1;border:none;background:transparent;color:var(--fg-2);font-size:calc(13px / var(--tz, 1));font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .12s,color .12s}.provider-opt.active{background:var(--accent-strong);color:#fff}.request-log-body{flex:1;min-height:0;width:100%;overflow-y:auto;padding:14px 16px 40px}.request-log-inner{max-width:900px;margin:0 auto}.request-log-hint{color:var(--fg-2);font-size:calc(12px / var(--tz, 1));line-height:1.5;margin:0 0 14px}.req-entry{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--surface-raised);overflow:hidden}.req-summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;list-style:none;font-size:calc(13px / var(--tz, 1))}.req-summary::-webkit-details-marker{display:none}.req-status{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--fg-3)}.req-status.req-ok{background:var(--ok)}.req-status.req-error{background:var(--danger)}.req-status.req-pending{background:var(--warn)}.req-label{font-weight:600;color:var(--fg)}.req-meta{color:var(--fg-2);margin-left:auto;font-size:calc(11.5px / var(--tz, 1))}.req-detail{padding:4px 12px 12px;border-top:1px solid var(--border)}.req-detail-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}.req-detail-meta{color:var(--fg-3);font-size:calc(11px / var(--tz, 1))}.req-error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border);border-radius:6px;padding:6px 9px;font-size:calc(12px / var(--tz, 1));margin-bottom:8px}.req-note{background:var(--accent-soft);color:var(--fg-2);border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-size:calc(12px / var(--tz, 1));margin-bottom:8px}.req-msg{margin-bottom:10px}.req-credits{color:var(--fg);font-weight:600}.req-took{font-variant-numeric:tabular-nums}.req-group{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;background:var(--surface);overflow:hidden}.req-group-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 14px;cursor:pointer;list-style:none}.req-group-summary::-webkit-details-marker{display:none}.req-group-name{font-weight:700;font-size:calc(14px / var(--tz, 1));color:var(--fg)}.req-group-name:before{content:"▸";display:inline-block;width:1em;color:var(--fg-3);transition:transform .12s}.req-group[open]>.req-group-summary .req-group-name:before{transform:rotate(90deg)}.req-group-meta{color:var(--fg-2);font-size:calc(12px / var(--tz, 1));margin-left:auto}.req-group-meta b{color:var(--fg)}.req-group-body{padding:0 10px 2px}.pc-page{max-width:1040px}.pc-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px}.pc-field{display:flex;flex-direction:column;gap:4px;font-size:calc(11px / var(--tz, 1));color:var(--fg-3);min-width:0}.pc-field select,.pc-field input{font:inherit;font-size:calc(13px / var(--tz, 1));color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;padding:6px 8px;min-width:0}.pc-field-beat{flex:1 1 260px}.pc-field-beat select{width:100%}.pc-field-grow{flex:1 1 200px}.pc-run{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:calc(12px / var(--tz, 1));color:var(--fg-2);margin-bottom:14px}.pc-run label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.pc-run-note{color:var(--fg-3);font-size:calc(11.5px / var(--tz, 1))}.pc-go{margin-left:auto;padding:6px 16px;border-radius:6px;font-size:calc(13px / var(--tz, 1));font-weight:700;background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-border)}.pc-go:hover:not(:disabled){background:var(--accent-border)}.pc-go:disabled{opacity:.5;cursor:default}.pc-go.pc-stop{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.pc-progress{display:flex;align-items:center;gap:8px;font-size:calc(13px / var(--tz, 1));color:var(--fg-2);margin:0 0 12px}.pc-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:calc(13px / var(--tz, 1));font-weight:600;color:var(--fg);margin-bottom:12px}.pc-copy{font:inherit;font-size:calc(11.5px / var(--tz, 1));font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-strong);background:transparent;color:var(--fg-2);cursor:pointer}.pc-copy:hover{color:var(--fg);background:var(--hover)}.pc-flow{display:flex;flex-direction:column;margin-bottom:24px}.pc-down{text-align:center;color:var(--fg-3);font-size:calc(15px / var(--tz, 1));line-height:1;padding:5px 0}.pc-step{border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:8px;padding:10px 12px;background:var(--surface-raised)}.pc-step.pc-st-ran{border-left-color:var(--ok)}.pc-step.pc-st-reused{border-left-color:var(--accent)}.pc-step.pc-st-failed{border-left-color:var(--danger)}.pc-step.pc-st-stopped{border-left-color:var(--warn)}.pc-step.pc-st-pending,.pc-step.pc-st-not-run,.pc-step.pc-st-skipped{opacity:.72}.pc-step-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pc-step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:calc(11.5px / var(--tz, 1));font-weight:700}.pc-step-title{font-weight:700;color:var(--fg);font-size:calc(14px / var(--tz, 1))}.pc-status{font-size:calc(10.5px / var(--tz, 1));font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 8px;border-radius:999px;border:1px solid var(--border-strong);color:var(--fg-3)}.pc-status.pc-st-ran{color:var(--ok);border-color:var(--ok-border);background:var(--ok-soft)}.pc-status.pc-st-reused{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-soft)}.pc-status.pc-st-failed{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.pc-status.pc-st-stopped{color:var(--warn);border-color:var(--warn-border);background:var(--warn-soft)}.pc-kind{font-size:calc(10.5px / var(--tz, 1));font-weight:700;letter-spacing:.03em;padding:1px 7px;border-radius:4px;border:1px solid var(--border-strong);color:var(--fg-2);background:var(--bg-deep);white-space:nowrap}.pc-kind-ai{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-soft)}.pc-kind-mixed{color:var(--accent-text);border-color:var(--accent-border);background:linear-gradient(90deg,var(--accent-soft) 50%,var(--bg-deep) 50%)}.pc-split{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:calc(12px / var(--tz, 1));color:var(--fg-2);line-height:1.45}.pc-split li{display:flex;gap:7px;align-items:baseline}.pc-split .pc-kind{flex-shrink:0;min-width:34px;text-align:center}.pc-step-meta{font-size:calc(11.5px / var(--tz, 1));color:var(--fg-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pc-step-head .pc-copy{margin-left:auto}.pc-step-what{margin:4px 0 0;font-size:calc(12.5px / var(--tz, 1));color:var(--fg-2);line-height:1.45}.pc-step-why{margin:4px 0 0;font-size:calc(12.5px / var(--tz, 1));color:var(--fg);font-style:italic}.pc-io{display:flex;flex-direction:column;gap:4px;margin-top:10px}.pc-io-box{border:1px solid var(--accent-border);border-radius:6px;background:var(--bg-deep);font-size:calc(12.5px / var(--tz, 1))}.pc-io-box>summary{display:flex;align-items:baseline;gap:8px;padding:6px 9px;cursor:pointer;list-style:none}.pc-io-box>summary::-webkit-details-marker{display:none}.pc-io-box>summary:before{content:"▸";color:var(--accent-text);font-size:calc(10px / var(--tz, 1))}.pc-io-box[open]>summary:before{content:"▾"}.pc-io-label{font-weight:700;color:var(--accent-text);min-width:70px}.pc-results{display:flex;flex-direction:column;gap:3px;margin-top:8px}.pc-item{border:1px solid var(--border);border-radius:6px;background:var(--bg-deep);font-size:calc(12.5px / var(--tz, 1));min-width:0}.pc-item>summary,.pc-item-flat{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:5px 8px;list-style:none}.pc-item>summary{cursor:pointer}.pc-item>summary::-webkit-details-marker{display:none}.pc-item>summary:before{content:"▸";color:var(--accent-text);font-size:calc(10px / var(--tz, 1))}.pc-item[open]>summary:before{content:"▾"}.pc-item-flat:before{content:"·";color:var(--fg-3);font-size:calc(10px / var(--tz, 1))}.pc-item-name{color:var(--fg);font-weight:600}.pc-item-size{color:var(--fg-2);font-size:calc(11.5px / var(--tz, 1))}.pc-item-value{color:var(--fg-soft)}.pc-item-empty{opacity:.55}.pc-item-empty .pc-item-size{font-style:italic}.pc-item .pc-pre,.pc-io-box .pc-pre{margin:4px 8px 8px;max-height:420px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(11.5px / var(--tz, 1));line-height:1.5;color:var(--fg-soft);white-space:pre-wrap;word-break:break-word}.pc-flags{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.pc-flag{display:flex;gap:7px;align-items:baseline;font-size:calc(12.5px / var(--tz, 1));line-height:1.45;color:var(--fg-2)}.pc-flag-icon{font-weight:700;width:12px;flex-shrink:0;text-align:center}.pc-flag-fail{color:var(--danger)}.pc-flag-warn{color:var(--warn)}.pc-flag-info .pc-flag-icon{color:var(--fg-3)}@media(max-width:720px){.pc-go{margin-left:0}}.req-msg-role{font-size:calc(10.5px / var(--tz, 1));text-transform:uppercase;letter-spacing:.5px;color:#b79bd8;font-weight:600;margin-bottom:3px}.req-msg-role-resp{color:#7fb0d8}.req-msg-content{margin:0;background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;padding:9px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(12px / var(--tz, 1));line-height:1.5;color:var(--fg-soft);white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto}.usage-box{margin:0 0 10px;padding:9px 11px;background:#221b2e;border:1px solid #3a2f4a;border-radius:8px;font-size:calc(12px / var(--tz, 1))}.usage-head{color:#b79bd8;font-weight:600;font-size:calc(11px / var(--tz, 1));text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.usage-figures{color:var(--fg)}.usage-figures strong{color:#fff;font-weight:600}.usage-dot{margin:0 5px;color:#6f6480}.usage-link{display:inline-block;margin-top:6px;color:#d3b8f0;font-size:calc(11.5px / var(--tz, 1));text-decoration:none}.usage-link:hover{text-decoration:underline}#settings-view [hidden]{display:none}@media(prefers-reduced-motion:reduce){.kudoai-credits-btn.celebrate{animation:none}}.settings-view-body{flex:1;overflow-y:auto}.settings-section{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:inset 0 1px 0 var(--hairline),var(--shadow-card)}.settings-view.open .settings-page:not([hidden])>.settings-section{animation:beat-rise .6s var(--ease-out) backwards}.settings-view.open .settings-page:not([hidden])>.settings-section:nth-child(2){animation-delay:60ms}.settings-view.open .settings-page:not([hidden])>.settings-section:nth-child(3){animation-delay:.12s}.settings-view.open .settings-page:not([hidden])>.settings-section:nth-child(n+4){animation-delay:.18s}.settings-view.open .settings-page:not([hidden])>.settings-slot>.settings-section{animation:beat-rise .6s var(--ease-out) .12s backwards}.settings-section-title{margin:0 0 2px;font-size:calc(12px / var(--tz, 1));font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}.settings-section .models-panel{padding:0}.settings-section .text-btn{align-self:flex-start}.settings-section .kudoai-balance,.settings-section .kudoai-balance strong{font-size:calc(18px / var(--tz, 1))}.settings-section .provider-toggle{max-width:420px}.claude-models{display:grid;gap:14px;margin-top:16px}.claude-slot-label{font-weight:600;font-size:calc(14px / var(--tz, 1))}.claude-slot .api-key-hint{margin:2px 0 6px}.claude-slot-select{width:100%;max-width:420px;padding:8px 10px;border-radius:var(--r-md, 10px);border:1px solid var(--line, rgba(255,255,255,.14));background:var(--surface, transparent);color:inherit;font:inherit}.claude-slot-custom{display:block;margin-top:8px;max-width:420px}.bible-page{padding:16px 28px 64px}.bible-page .bible-empty{margin:0 0 16px;font-size:calc(13px / var(--tz, 1))}.bible-page .bible-status{padding:0 0 6px;font-size:calc(12px / var(--tz, 1))}.bible-page .voice-editor{width:100%;margin:0 0 12px;font-size:calc(14px / var(--tz, 1));max-height:420px}.bible-glyph{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:calc(18px / var(--tz, 1));border-radius:var(--r-sm);background:var(--hover)}.bible-glyph.cat-locations{background:var(--ok-soft);color:var(--ok)}.bible-glyph.cat-items{background:var(--spark-soft);color:var(--spark-text)}.bible-glyph.cat-events{background:var(--warn-soft);color:var(--warn)}.bible-role-seg{display:inline-flex;padding:2px;background:var(--bg-deep);border:1px solid var(--border-strong);border-radius:var(--r-sm)}.bible-role-seg button{padding:6px 12px;min-height:32px;font:inherit;font-size:calc(12.5px / var(--tz, 1));color:var(--fg-2);background:transparent;border:1px solid transparent;border-radius:calc(var(--r-sm) - 2px);cursor:pointer}.bible-role-seg button:hover{color:var(--fg-soft);background:var(--hover)}.bible-role-seg button.on{color:var(--accent-text);background:var(--accent-soft)}.bible-role-seg button.on.guessed{background:transparent;border:1px dashed var(--accent-border)}.bible-drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.bible-drawer-wrap.open{pointer-events:auto}.bible-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;opacity:0;transition:opacity .16s}.bible-drawer-wrap.open .bible-drawer-backdrop{opacity:1}.bible-drawer{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;gap:12px;width:min(420px,100%);padding:16px 18px;overflow-y:auto;background:var(--surface-raised);border-left:1px solid var(--border-strong);box-shadow:-12px 0 32px #00000059;transform:translate(100%);transition:transform .2s ease}.bible-drawer-wrap.open .bible-drawer{transform:none}.bible-drawer-head{display:flex;align-items:center;gap:12px}.bible-drawer-face{position:relative;flex:none;padding:0;background:transparent;border:0;border-radius:50%;cursor:pointer}.bible-drawer-face:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.bible-drawer-face-edit{position:absolute;right:-2px;bottom:-2px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:calc(12px / var(--tz, 1));color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);border-radius:50%}.bible-drawer-title{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.bible-drawer-name{margin:0;font-size:calc(18px / var(--tz, 1));font-weight:700;color:var(--fg);overflow-wrap:anywhere}.bible-drawer-cat{align-self:flex-start}.bible-drawer-close{flex:none;align-self:flex-start}.bible-drawer-row{display:flex;flex-direction:column;gap:6px}.bible-drawer-hint{font-size:calc(11.5px / var(--tz, 1));color:var(--fg-4)}.bible-drawer-pick{align-self:flex-start}.bible-drawer-desc{margin:0;font-size:calc(14px / var(--tz, 1));line-height:1.5;color:var(--fg-soft)}.bible-drawer-content{margin:0;font-family:var(--font-prose);font-size:calc(14px / var(--tz, 1));line-height:1.6;color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere}.bible-drawer-foot{margin-top:auto;padding-top:8px;display:flex;justify-content:flex-end}.av{display:block;flex:none;border-radius:50%}.av-picker{display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--r-md)}.av-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.av-picker-cell{display:flex;align-items:center;justify-content:center;padding:3px;background:transparent;border:2px solid transparent;border-radius:50%;cursor:pointer}.av-picker-cell:hover{border-color:var(--border-strong)}.av-picker-cell.on{border-color:var(--accent)}.av-tints{display:flex;flex-wrap:wrap;gap:8px}.av-tint-swatch{width:24px;height:24px;padding:0;border:2px solid var(--border-strong);border-radius:50%;cursor:pointer}.av-tint-swatch.on{border-color:var(--fg);box-shadow:0 0 0 2px var(--accent-ring)}.av-picker-layer{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;padding-top:8px;border-top:1px solid var(--border)}.av-picker-layer .av-picker-cell{padding:1px}.av-shuffle{align-self:flex-start;padding:5px 12px;background:transparent;color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;font:inherit;font-size:calc(13px / var(--tz, 1))}.av-shuffle:hover{border-color:var(--accent)}@media(max-width:800px){.bible-drawer{top:auto;left:0;width:100%;max-height:88%;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-left:0;border-top:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -12px 32px #00000059;transform:translateY(100%)}}@media(max-width:480px){.bible-page{padding:12px 14px 56px}}@media(prefers-reduced-motion:reduce){.bible-drawer,.bible-drawer-backdrop{transition:none}}.projects-page{padding:20px 28px 64px;display:flex;flex-direction:column;gap:16px}.projects-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.projects-new,.projects-import{white-space:nowrap}.committed-view-save.projects-new{position:relative;overflow:hidden;padding:0 18px 0 14px;background:var(--grad-btn);color:#fff;font-weight:700;box-shadow:var(--glow),inset 0 1px #ffffff38;animation:new-book-glow 2.8s ease-in-out .6s infinite;transition:transform .16s var(--ease-out),filter .16s}.committed-view-save.projects-new:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.34) 50%,transparent 62%) no-repeat;background-size:260% 100%;background-position:130% 0;animation:new-book-sheen 3.6s ease-in-out .9s infinite;pointer-events:none}.committed-view-save.projects-new svg{width:16px;height:16px;stroke-width:2.2;transition:transform .32s var(--ease-out)}.committed-view-save.projects-new:hover{background:var(--grad-btn);color:#fff;transform:translateY(-1px);filter:brightness(1.08)}.committed-view-save.projects-new:hover svg{transform:rotate(90deg)}.committed-view-save.projects-new:active{transform:translateY(0) scale(.97)}@keyframes new-book-sheen{0%{background-position:130% 0}45%,to{background-position:-30% 0}}@keyframes new-book-glow{0%,to{box-shadow:0 10px 26px -12px #f06a9b8c,inset 0 1px #ffffff38}50%{box-shadow:0 12px 34px -10px #f06a9bd9,inset 0 1px #ffffff38}}@media(prefers-reduced-motion:reduce){.committed-view-save.projects-new,.committed-view-save.projects-new:after{animation:none}}.side-nav{gap:2px;padding:6px 10px 12px}.panel-nav{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border:none;border-radius:10px;background:none;color:var(--fg-2);font:inherit;font-size:calc(13.5px / var(--tz, 1));font-weight:600;text-align:left;white-space:nowrap;cursor:pointer;transition:background .14s,color .14s}.panel-nav:hover{background:var(--hover);color:var(--fg)}.panel-nav:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.side-nav-icon,.side-nav-go{flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transition:color .16s,transform .2s var(--ease-out)}.side-nav-icon{width:18px;height:18px;stroke-width:1.7;color:var(--fg-3)}.side-nav-go{width:15px;height:15px;margin-left:auto;stroke-width:2;color:var(--fg-4)}.panel-nav:hover .side-nav-icon{color:var(--accent-text)}.panel-nav:hover .side-nav-go{color:var(--fg-2);transform:translate(2px)}.key-setup .onboard-card{position:relative}.key-setup-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:7px;border:none;background:transparent;color:var(--fg-3);font-size:calc(14px / var(--tz, 1));cursor:pointer;transition:background .12s,color .12s}.key-setup-close:hover{background:var(--btn-bg);color:var(--fg)}.key-setup .provider-toggle{width:fit-content;margin:0 auto 10px}.key-setup .provider-opt{flex:0 0 auto;padding:6px 22px}.key-setup-models{list-style:none;margin:4px 0 2px;padding:0;max-height:190px;overflow-y:auto;display:flex;flex-direction:column;gap:5px}.key-setup-model-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-deep);border:1px solid var(--border);border-radius:7px;padding:7px 10px}.key-setup-model-id{font-size:calc(12px / var(--tz, 1));color:var(--fg-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-panel{display:flex;flex-direction:column;background:transparent;min-width:0;min-height:0;height:100%;position:relative;overflow:hidden;overflow:clip}.editor-head{display:flex;align-items:center;gap:8px;min-height:66px;padding:14px 28px 8px 38px;flex-wrap:nowrap;flex-shrink:0}.chapter-title{flex:1 1 0;min-width:120px;margin:0 8px 0 -10px;padding:5px 10px;border-radius:10px;font-family:var(--font-prose);font-size:calc(22px / var(--tz, 1));font-weight:500;letter-spacing:-.01em;color:var(--fg);text-overflow:ellipsis;transition:background .16s,box-shadow .16s}.chapter-title:hover{background:color-mix(in srgb,var(--hover) 70%,transparent)}@supports not (color: color-mix(in srgb,red,blue)){.chapter-title:hover{background:rgba(var(--hover__r),var(--hover__g),var(--hover__b),calc(var(--hover__a) * .7))}}.chapter-title:focus{background:var(--bg-deep);box-shadow:inset 0 0 0 1px var(--border-strong)}.chapter-title::placeholder{color:var(--fg-4)}.editor-head .kudoai-credits-btn{height:36px;padding:0 14px 0 12px}.ms-cue-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;pointer-events:none;overflow:hidden}.ms-cue-layer>div{position:fixed;left:0;top:0}.sc-lock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1599;touch-action:none;background:transparent}.ms-cue-ring{width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:2px solid var(--accent);opacity:0}.ms-cue-spark{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--accent);opacity:0}.ms-cue-spark.s1{background:var(--warn)}.ms-cue-spark.s2{background:var(--ok)}.ms-cue-bubble{position:fixed;z-index:1601;display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:min(280px,calc(100vw - 24px));padding:10px 14px 11px;border-radius:var(--r-md);border:1px solid var(--accent-border);background:var(--surface-raised);box-shadow:0 18px 40px #0000008c,var(--glow),inset 0 1px 0 var(--hairline);color:var(--fg);text-align:left}.ms-cue-bubble:hover{border-color:var(--accent)}.ms-cue-arrow{position:absolute;top:-6px;width:10px;height:10px;margin-left:-5px;background:var(--surface-raised);border-left:1px solid var(--accent-border);border-top:1px solid var(--accent-border);transform:rotate(45deg)}.ms-cue-bubble:hover .ms-cue-arrow{border-color:var(--accent)}.ms-cue-title{font-size:calc(13.5px / var(--tz, 1));font-weight:700;line-height:1.35}.ms-cue-title:before{content:"✓ ";color:var(--ok)}.ms-cue-sub{font-size:calc(12.5px / var(--tz, 1));font-weight:600;color:var(--accent-text)}.sc-chip{max-width:140px;overflow:hidden;padding:3px 9px;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface-raised);color:var(--fg);font:600 calc(11px / var(--tz, 1)) var(--font-ui);white-space:nowrap;text-overflow:ellipsis;box-shadow:0 8px 20px -8px #0009,var(--glow);opacity:0;will-change:transform,opacity}.sc-beat{display:flex;flex-direction:column;gap:4px;width:200px;padding:7px 64px 7px 10px;border:1px solid var(--accent-border);border-radius:8px;background:var(--surface-raised);box-shadow:0 10px 24px -10px #0009,var(--glow);opacity:0;will-change:transform,opacity}.sc-beat span{display:block;height:4px;border-radius:2px;background:linear-gradient(90deg,#d93a75,#f58a7d,#f5a66a)}.sc-beat span:nth-child(2){width:82%}.sc-beat span:nth-child(3){width:58%}.sc-beat b{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:calc(9.5px / var(--tz, 1));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);white-space:nowrap}.sc-lit{color:var(--accent-text)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px var(--accent-border),var(--glow);animation:scBreathe 1.8s ease-in-out .6s infinite}.sc-lit.ms-cue-gulp{animation:scGulp .52s cubic-bezier(.3,.7,.4,1.4),scBreathe 1.8s ease-in-out .6s infinite}@keyframes scGulp{0%{transform:scale(1)}35%{transform:scale(1.06)}70%{transform:scale(.98)}to{transform:scale(1)}}@keyframes scBreathe{0%,to{box-shadow:inset 0 0 0 1px var(--accent-border),var(--glow)}50%{box-shadow:inset 0 0 0 2px var(--accent-ring),var(--glow)}}.ms-cue-bubble.is-beside .ms-cue-arrow{left:-6px;margin:-5px 0 0;transform:rotate(-45deg)}@media(prefers-reduced-motion:reduce){.sc-lit,.sc-lit.ms-cue-gulp{animation:none}}.sections-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:26px 28px 6px;display:flex;flex-direction:column;gap:24px;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px);mask-image:linear-gradient(to bottom,transparent 0,#000 14px)}@keyframes beat-rise{0%{opacity:0;transform:translateY(18px)}}.beat-steer{display:flex;flex-direction:column;gap:6px}.beat-steer-row{position:relative;display:flex;align-items:center;gap:6px;margin-top:8px;padding:4px 4px 4px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--bg-deep));transition:border-color .18s,box-shadow .22s,background .18s}@supports not (color: color-mix(in srgb,red,blue)){.beat-steer-row{border:1px solid rgba(calc(var(--accent__r) * .3 + var(--border__r) * .7),calc(var(--accent__g) * .3 + var(--border__g) * .7),calc(var(--accent__b) * .3 + var(--border__b) * .7),calc(var(--accent__a) * .3 + var(--border__a) * .7));background:rgba(calc(var(--accent__r) * .06 + var(--bg-deep__r) * .94),calc(var(--accent__g) * .06 + var(--bg-deep__g) * .94),calc(var(--accent__b) * .06 + var(--bg-deep__b) * .94),calc(var(--accent__a) * .06 + var(--bg-deep__a) * .94))}}.beat-steer-row:focus-within{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent) 9%,var(--bg-deep));box-shadow:0 0 0 4px var(--accent-ring)}@supports not (color: color-mix(in srgb,red,blue)){.beat-steer-row:focus-within{background:rgba(calc(var(--accent__r) * .09 + var(--bg-deep__r) * .91),calc(var(--accent__g) * .09 + var(--bg-deep__g) * .91),calc(var(--accent__b) * .09 + var(--bg-deep__b) * .91),calc(var(--accent__a) * .09 + var(--bg-deep__a) * .91))}}.beat-steer-label{position:absolute;top:-10px;left:12px;z-index:2;display:inline-flex;align-items:center;height:20px;padding:0 9px;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface-raised);color:var(--accent-text);font-size:calc(10px / var(--tz, 1));font-weight:800;letter-spacing:.09em;text-transform:uppercase;line-height:1}.beat-steer-input{flex:1 1 auto;min-width:0;background:transparent;border:0;outline:0;color:var(--fg);font-size:calc(14px / var(--tz, 1));padding:9px 0 7px}.beat-steer-input::placeholder{color:var(--fg-3)}.beat-steer-focus-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:calc(11px / var(--tz, 1));font-weight:500;font-style:italic;letter-spacing:0;text-transform:none;color:var(--fg);animation:steer-focus-in .26s var(--ease-out)}@keyframes steer-focus-in{0%{opacity:0}}.beat-steer-focus-x{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--fg-2);cursor:pointer}.beat-steer-focus-x svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.beat-steer-focus-x:hover{background:var(--btn-bg);color:var(--fg)}@media(prefers-reduced-motion:reduce){.beat-steer-focus-text{animation:none}}.beat-steer-go{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:11px;background:var(--btn-bg);color:var(--fg);box-shadow:inset 0 1px 0 var(--hairline);cursor:pointer;transition:background .16s,color .16s,box-shadow .22s,transform .16s var(--ease-out),filter .16s}.beat-steer-clear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--fg-3);cursor:pointer;animation:rwFadeUp .18s ease both;transition:background .12s,color .12s}.beat-steer-clear svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.beat-steer-clear:hover{background:var(--btn-bg);color:var(--fg)}.beat-steer-clear:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-ring)}.beat-steer-go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s var(--ease-out)}.beat-steer-go:hover:not(:disabled){background:var(--btn-bg-hover)}.beat-steer-go:hover:not(:disabled) svg{transform:translate(2px)}.beat-steer-go:active:not(:disabled){transform:scale(.94)}.beat-steer-go:disabled{cursor:not-allowed;background:var(--btn-bg);color:var(--fg-3);box-shadow:inset 0 1px 0 var(--hairline)}.beat-steer-go:disabled svg{opacity:.5}.beat-mind{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;height:22px;padding:0 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-raised);color:var(--fg-2);font:inherit;font-size:calc(10.5px / var(--tz, 1));line-height:1;box-shadow:0 6px 14px -8px #000000b3;cursor:pointer;transition:color .16s,border-color .16s}.beat-mind:hover,.beat-mind.open{color:var(--fg);border-color:var(--fg-3)}.committed-view{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;background:var(--ground);transform:translate(100%);visibility:hidden;transition:transform .42s var(--ease-out),visibility 0s linear .42s;pointer-events:none}.committed-view.open{transform:translate(0);visibility:visible;transition:transform .42s var(--ease-out),visibility 0s;pointer-events:auto;box-shadow:-30px 0 60px #00000073}@media(prefers-reduced-motion:reduce){.committed-view{transition:none}}.committed-view-head{display:flex;align-items:center;gap:10px;min-height:66px;padding:14px 24px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.committed-view-back{display:inline-flex;align-items:center;gap:3px;flex:none;height:36px;padding:0 15px 0 9px;border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 70%,transparent);box-shadow:inset 0 0 0 1px var(--border),inset 0 1px 0 var(--hairline);color:var(--fg-soft);font-size:calc(13px / var(--tz, 1));font-weight:600;cursor:pointer;transition:background .14s,color .14s,box-shadow .14s,transform .14s}@supports not (color: color-mix(in srgb,red,blue)){.committed-view-back{background:rgba(var(--surface-raised__r),var(--surface-raised__g),var(--surface-raised__b),calc(var(--surface-raised__a) * .7))}}.committed-view-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s var(--ease-out)}.committed-view-back:hover{background:var(--btn-bg-hover);color:#fff;box-shadow:inset 0 0 0 1px var(--border-strong)}.committed-view-back:hover svg{transform:translate(-2px)}.committed-view-back:active{transform:scale(.96)}.committed-view-title{flex:1;min-width:0;display:flex;align-items:center;gap:10px;font-family:var(--font-prose);font-size:calc(20px / var(--tz, 1));font-weight:500;letter-spacing:-.005em;color:var(--fg)}.committed-view-save{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:999px;background:var(--btn-bg);box-shadow:inset 0 1px 0 var(--hairline);color:var(--fg-2);font-size:calc(13px / var(--tz, 1));font-weight:600;white-space:nowrap;cursor:pointer;transition:background .14s,color .14s,transform .14s}.committed-view-save svg,.committed-view-export svg{width:15px;height:15px;flex:none}.committed-view-save:active:not(:disabled),.committed-view-export:active{transform:scale(.96)}.committed-view-save:disabled{cursor:default;opacity:.6}.committed-view-save.dirty{background:var(--accent-soft);color:var(--accent-text)}.committed-view-save.dirty:hover{background:var(--accent-border);color:#fff}.committed-export-wrap,.committed-aa-wrap{position:relative;display:inline-flex}.committed-view-aa{font-family:var(--font-prose);padding-left:11px;padding-right:11px}.committed-aa-wrap .lib-reader-settings{z-index:31}.committed-view-export{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 15px;border-radius:999px;background:var(--btn-bg);color:var(--fg-soft);font-size:calc(13px / var(--tz, 1));font-weight:600;cursor:pointer;transition:background .14s,color .14s,transform .14s}.committed-view-export:hover{background:var(--btn-bg-hover);color:#fff}.committed-export-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.committed-export-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:31;min-width:232px;background:linear-gradient(180deg,var(--surface-raised) 0%,var(--surface) 100%);border:1px solid var(--border-strong);border-radius:16px;padding:6px;box-shadow:inset 0 1px 0 var(--hairline),0 30px 70px -24px #000000e6;transform-origin:calc(100% - 20px) 0;animation:menu-pop .32s var(--ease-out);display:flex;flex-direction:column;gap:1px}@keyframes menu-pop{0%{opacity:0;transform:translateY(-6px) scale(.96)}}.committed-export-menu button{text-align:left;padding:8px 10px;border-radius:10px;background:transparent;color:var(--fg-soft);font-size:calc(13px / var(--tz, 1));font-weight:500;cursor:pointer;transition:background .12s,color .12s}.committed-export-menu button:hover{background:var(--btn-bg-hover);color:#fff}.committed-export-hint{padding:2px 10px 6px;font-size:calc(11px / var(--tz, 1));color:var(--fg-3);line-height:1.4}.committed-export-sep{height:1px;background:var(--btn-bg-hover);margin:4px 2px}.beat-rewrite-fab{position:fixed;left:50%;top:calc(var(--vv-top, 0px) + max(7px,env(safe-area-inset-top)));z-index:400;transform:translate(-50%) translateY(-180%);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .2s ease}.beat-rewrite-fab.show{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.beat-rewrite-fab{display:flex;align-items:center;gap:6px}@media(prefers-reduced-motion:reduce){.beat-rewrite-fab{transition:opacity .2s ease}}.beat-rewrite-fab button{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border:none;border-radius:999px;background:var(--accent-strong);color:#fff;font-size:calc(14px / var(--tz, 1));font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:0 10px 28px -6px #0000008c,0 2px 6px #0000004d;transition:background .12s,transform .12s}.beat-rewrite-fab button:hover{background:var(--accent-strong-hover);transform:translateY(-1px)}.section-draft-input{width:100%;min-height:50px;max-height:140px;resize:vertical;padding:8px 10px;background:var(--bg-deep);border:1px solid var(--border-strong);border-radius:6px;color:var(--fg);font-size:calc(13px / var(--tz, 1));line-height:1.5;font-family:var(--font-ui)}.section-draft-input:focus{border-color:var(--accent);outline:none}.ai-draft-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px 30px 22px;max-width:600px;width:100%;box-shadow:0 24px 60px #0009;display:flex;flex-direction:column;gap:14px;animation:aiDraftIn .18s ease}@keyframes aiDraftIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.ai-draft-card{animation:none}}.ai-draft-x{background:transparent;border:none;color:var(--fg-2);font-size:calc(15px / var(--tz, 1));cursor:pointer;padding:4px 9px;border-radius:6px;line-height:1}.ai-draft-x:hover{background:var(--btn-bg);color:var(--fg)}.beat-split-working{display:flex;align-items:center;gap:10px;padding:18px 2px 4px;font-size:calc(14px / var(--tz, 1));color:var(--fg-soft)}.gear-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:start}.gear-line,.gear-fill{position:absolute;top:calc(var(--dot) / 2 - 1px);height:2px;border-radius:2px;background:var(--border-strong)}.gear-fill{background:var(--accent);transition:width .45s cubic-bezier(.3,.8,.25,1.1)}.gear-stop{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--fg-2)}.gear-dot{width:var(--dot);height:var(--dot);box-sizing:border-box;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface);transition:background .3s,border-color .3s,box-shadow .3s}.gear-stop.done .gear-dot{border-color:var(--accent)}.gear-stop.on .gear-dot{border-color:var(--accent);background:var(--accent)}.gear-name{font-size:calc(12.5px / var(--tz, 1));font-weight:500;transition:color .2s}.gear-stop.on .gear-name{color:var(--accent-text)}@media(prefers-reduced-motion:reduce){.gear-fill,.gear-dot{transition:none}}@keyframes rwFadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.switch{flex:none;position:relative;width:42px;height:24px;box-sizing:border-box;border-radius:999px;border:1px solid var(--border-strong);background:var(--btn-bg);transition:background .25s,border-color .25s,box-shadow .25s}.switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--fg-2);box-shadow:0 1px 3px #0006;transition:transform .3s cubic-bezier(.3,1.5,.5,1),background .2s,width .2s}@media(prefers-reduced-motion:reduce){.switch,.switch-knob{transition:none}}button.has-edit-led{position:relative;overflow:visible}.edit-badge-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.edit-led{position:absolute;top:5px;right:5px;width:2.5px;height:2.5px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#f5f0ff 0,#f5f0ff 22%,#b69cff 50%,#8b5cf6);box-shadow:0 0 1.5px .5px #a78bfaf2,0 0 4px 1px #8b5cf6b3,0 0 9px 2px #8b5cf64d;animation:editLedOn .5s ease-out both}.beat-steer-go .edit-led{top:4px;right:4px;width:2px;height:2px}.effort-dots{position:absolute;top:5px;left:6px;display:flex;gap:2px;pointer-events:none;--lv: var(--effort-short)}@supports not (color: color-mix(in srgb,red,blue)){.effort-dots{--lv__r: var(--effort-short__r);--lv__g: var(--effort-short__g);--lv__b: var(--effort-short__b);--lv__a: var(--effort-short__a)}}.effort-dots[data-effort=stick]{--lv: var(--effort-stick)}@supports not (color: color-mix(in srgb,red,blue)){.effort-dots[data-effort=stick]{--lv__r: var(--effort-stick__r);--lv__g: var(--effort-stick__g);--lv__b: var(--effort-stick__b);--lv__a: var(--effort-stick__a)}}.effort-dots[data-effort=novel]{--lv: var(--effort-novel)}@supports not (color: color-mix(in srgb,red,blue)){.effort-dots[data-effort=novel]{--lv__r: var(--effort-novel__r);--lv__g: var(--effort-novel__g);--lv__b: var(--effort-novel__b);--lv__a: var(--effort-novel__a)}}.effort-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.22;transition:opacity .2s,background .2s,box-shadow .2s}.effort-dot.is-lit{opacity:1;background:var(--lv);box-shadow:0 0 3px color-mix(in srgb,var(--lv) 70%,transparent)}@supports not (color: color-mix(in srgb,red,blue)){.effort-dot.is-lit{box-shadow:0 0 3px rgba(var(--lv__r),var(--lv__g),var(--lv__b),calc(var(--lv__a) * .7))}}@keyframes editLedOn{0%{opacity:0;box-shadow:none}40%{opacity:1;box-shadow:0 0 2px 1px #a78bfa,0 0 6px 2px #8b5cf6d9,0 0 14px 3px #8b5cf666}to{opacity:1}}@media(prefers-reduced-motion:reduce){.edit-led{animation:none}}@keyframes modal-drawer{0%{transform:translateY(48px);opacity:0}}@keyframes side-in{0%{opacity:0;transform:translate(-16px)}}.status-bar{display:flex;justify-content:space-between;padding:2px 32px 10px;color:var(--fg-4);font-size:calc(11.5px / var(--tz, 1));font-weight:500;flex-shrink:0}.status-right{display:flex;align-items:center;gap:14px}.status-model{color:var(--fg-2);font-variant-numeric:tabular-nums}.status-words{font-variant-numeric:tabular-nums}.status-text-busy{color:var(--accent-2)}.status-text-error{color:var(--danger)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--btn-bg-hover);border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.sidebar-toggle,.sidebar-close,.sidebar-backdrop,.sidebar-close .sc-panel{display:none}@media(min-width:801px){.sidebar{position:relative;z-index:2;transition:transform .42s var(--ease-out),opacity .3s ease;will-change:transform}.app.sidebar-hidden{grid-template-columns:0px 1fr var(--side-w, 0px)}.app.sidebar-hidden .sidebar{width:302px;transform:translate(calc(-100% - 24px));opacity:0;pointer-events:none}.sidebar-close{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:auto;padding:0;border-radius:10px;background:transparent;color:var(--fg-3, var(--fg-2));cursor:pointer;transition:background .14s,color .14s,transform .14s}.sidebar-close .sc-x{display:none}.sidebar-close .sc-panel{display:block}.sidebar-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-close:hover{background:var(--btn-bg);color:var(--fg)}.sidebar-close:active{transform:scale(.92)}.app.sidebar-hidden .sidebar-toggle{display:inline-grid;place-items:center;width:36px;height:36px;margin-left:-14px;padding:0;border-radius:11px;background:none;color:var(--fg-soft);cursor:pointer;flex-shrink:0;animation:side-in .42s var(--ease-out) backwards;transition:background .14s,color .14s,transform .14s}.app.sidebar-hidden .sidebar-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app.sidebar-hidden .sidebar-toggle:hover{background:var(--btn-bg);color:var(--fg)}.app.sidebar-hidden .sidebar-toggle:active{transform:scale(.94)}}@media(max-width:800px){.app{grid-template-columns:1fr;grid-template-rows:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(340px,88vw);max-width:100%;margin:0;z-index:50;border:0;border-radius:0 26px 26px 0;background:radial-gradient(130% 30% at 0% 0%,rgba(240,106,155,.16),transparent 62%),radial-gradient(90% 26% at 100% 100%,rgba(139,92,246,.1),transparent 70%),linear-gradient(180deg,var(--surface-raised) 0%,var(--surface) 48%,var(--bg-deep) 100%);box-shadow:inset -1px 0 0 var(--border-strong),28px 0 80px -22px #000c;transform:translate(calc(-100% - 32px));transition:transform .32s cubic-bezier(.4,0,.2,1);will-change:transform}.app.sidebar-open .sidebar{transform:translate(0);transition:transform .48s var(--ease-out)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#08060a9e;z-index:40;opacity:0;pointer-events:none;transition:opacity .28s ease}.app.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto;transition-duration:.38s}.sidebar-toggle{display:inline-grid;place-items:center;width:40px;height:40px;margin-left:-6px;padding:0;border-radius:12px;background:none;color:var(--fg-soft);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background .14s,color .14s,transform .14s}.sidebar-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-toggle:hover,.sidebar-toggle:active{background:var(--btn-bg);color:var(--fg)}.sidebar-toggle:active{transform:scale(.94)}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;border-radius:12px;background:transparent;color:var(--fg-2);line-height:1;cursor:pointer;transition:background .14s,color .14s,transform .14s}.sidebar-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.sidebar-close:hover{background:var(--btn-bg);color:var(--fg)}.sidebar-close:active{transform:scale(.92)}.app.sidebar-open .sidebar>*{animation:side-in .56s var(--ease-out) backwards}.app.sidebar-open .sidebar>:nth-child(2){animation-delay:60ms}.app.sidebar-open .sidebar>:nth-child(3){animation-delay:.1s}.app.sidebar-open .sidebar>:nth-child(4){animation-delay:.14s}.app.sidebar-open .sidebar>:nth-child(n+5){animation-delay:.18s}.editor-panel{grid-column:1}.editor-head{min-height:0;padding:10px 14px 6px;gap:6px;flex-wrap:nowrap}.chapter-title{font-size:calc(17px / var(--tz, 1));min-width:0;flex:1 1 0;margin:0 2px 0 -4px;padding:5px 6px}.kudoai-credits-btn{padding:0 11px 0 9px}.editor-head .sidebar-toggle{gap:4px}.editor{padding:18px 18px 60px;font-size:calc(18px / var(--tz, 1))}.status-bar{display:none}.sections-list{padding:12px 14px;gap:16px;-webkit-mask-image:none;mask-image:none}.modal-overlay,.pub-overlay{top:var(--vv-top, 0px);bottom:auto;height:var(--vv-h, 100dvh);padding:12px;align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none}@supports not (height: 1dvh){.modal-overlay,.pub-overlay{height:var(--vv-h, 100vh)}}.modal-overlay:not(.ss-overlay):not(.sm-overlay)>*,.pub-overlay>*{max-height:100%;animation:modal-drawer .34s cubic-bezier(.2,.9,.3,1) both}.ai-draft-overlay{padding:12px}.ai-draft-card{max-width:none;width:100%;height:auto;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:18px}.sidebar .brand{padding:12px 12px 8px 18px;font-size:calc(15px / var(--tz, 1))}.sidebar .panel-head{padding:16px 14px 6px 20px;font-size:calc(11px / var(--tz, 1));flex-wrap:nowrap}.sidebar .panel-head>span{display:inline-block;flex:0 0 auto;white-space:nowrap;font-style:normal}.sidebar .panel-head>button{flex-shrink:0}.sidebar .icon-btn{width:32px;height:32px;border-radius:10px}.sidebar .icon-btn svg{width:17px;height:17px}.sidebar .text-btn{padding:6px 10px;font-size:calc(13px / var(--tz, 1))}.sidebar .chapter-list{padding:2px 12px 12px}.sidebar .chapter-item{font-size:calc(15px / var(--tz, 1));min-height:44px;padding:6px 6px 6px 12px;gap:12px;border-radius:12px}.sidebar .chapter-item.active:before{left:-12px;top:12px;bottom:12px}.sidebar .chapter-item .chapter-num{font-size:calc(12px / var(--tz, 1));min-width:16px}.sidebar .chapter-item .chapter-actions button{width:30px;height:30px}.sidebar .side-nav{padding:6px 12px 16px}.sidebar .panel-nav{padding:12px;gap:14px;border-radius:12px;font-size:calc(15px / var(--tz, 1))}.sidebar .side-nav-icon{width:20px;height:20px}}.rotate-lock{display:none}@media(orientation:landscape)and (max-height:500px){.rotate-lock{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;align-items:center;justify-content:center;padding:24px;text-align:center;background:var(--bg);color:var(--fg)}.rotate-lock-inner{max-width:420px}.rotate-lock-icon{font-size:calc(44px / var(--tz, 1));line-height:1;margin-bottom:16px;display:inline-block;animation:rotate-lock-nudge 2s ease-in-out infinite}.rotate-lock p{margin:0;font-size:calc(17px / var(--tz, 1));font-weight:600}.rotate-lock .rotate-lock-sub{margin-top:8px;font-size:calc(14px / var(--tz, 1));font-weight:400;color:var(--fg-2)}}@keyframes rotate-lock-nudge{0%,60%,to{transform:rotate(0)}75%,90%{transform:rotate(-90deg)}}@media(prefers-reduced-motion:reduce){.rotate-lock-icon{animation:none}}.auth-gate{z-index:300}.auth-card{position:relative;gap:14px;max-width:400px}.auth-lang{position:absolute;top:10px;inset-inline-end:10px;z-index:1}.auth-brand{display:flex;justify-content:center;margin-bottom:6px;padding-inline:52px}.auth-brand-home{display:inline-flex;align-items:center;gap:7px;color:var(--fg);text-decoration:none;border-radius:8px}a.auth-brand-home:hover .auth-brand-name{color:var(--accent-text)}a.auth-brand-home:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-brand-mark{padding:0 3px 0 1px;font-family:Lora,Georgia,serif;font-style:italic;font-weight:500;font-size:calc(26px / var(--tz, 1));line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-brand-name{font-size:calc(15px / var(--tz, 1));font-weight:700;letter-spacing:.2px;transition:color .12s}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;background:#fff;color:#1f1f22;border-radius:8px;font-size:calc(14px / var(--tz, 1));font-weight:500;transition:background .12s}.auth-google-btn:hover:not(:disabled){background:#ececef}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-google-mark{flex:none}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--fg-3);font-size:calc(12px / var(--tz, 1))}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--btn-bg-hover)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-label{font-size:calc(12px / var(--tz, 1));color:var(--fg-2)}.auth-input{width:100%;padding:10px 12px;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:calc(14px / var(--tz, 1));transition:border-color .12s}.auth-input:focus{outline:none;border-color:var(--accent)}.auth-submit{width:100%;margin-top:2px}.auth-error,.auth-notice{font-size:calc(12.5px / var(--tz, 1));line-height:1.5;border-radius:6px;padding:8px 11px}.auth-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border)}.auth-notice{color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-border)}.auth-agree{display:flex;gap:9px;align-items:flex-start;font-size:calc(12.5px / var(--tz, 1));line-height:1.45;color:var(--text-muted, inherit);cursor:pointer;text-align:start}.auth-agree input{margin:2px 0 0;flex:none;width:16px;height:16px;accent-color:var(--accent, #c2185b)}.auth-agree a,.auth-legal a{color:inherit;text-decoration:underline}.auth-agree.need{color:var(--danger)}.auth-legal{margin:0;font-size:calc(11.5px / var(--tz, 1));line-height:1.45;opacity:.7;text-align:center}.auth-alt{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.auth-alt-sep{color:var(--fg-4)}.auth-link{background:none;border:none;color:var(--fg-2);font-size:calc(13px / var(--tz, 1));cursor:pointer;padding:2px 0;transition:color .12s}.auth-link:hover{color:var(--accent)}.auth-link:disabled{color:var(--fg-3);cursor:default}.auth-input.is-ok,.auth-input.is-ok:focus{border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-glow)}.auth-input.is-bad,.auth-input.is-bad:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.pw-checks{list-style:none;margin:-2px 0 0;padding:10px 12px;display:flex;flex-direction:column;gap:7px;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px}.pw-checks[hidden]{display:none}.pw-checks:not([hidden]){animation:pw-reveal .24s cubic-bezier(.2,.8,.2,1) both}@keyframes pw-reveal{0%{opacity:0;transform:translateY(-4px)}}.pw-check{display:flex;align-items:center;gap:9px;font-size:calc(12.5px / var(--tz, 1));color:var(--fg-3);transition:color .18s}.pw-check.ok{color:var(--fg)}.pw-check.miss{color:var(--danger)}.pw-tick{flex:none;overflow:visible}.pw-tick-ring{fill:transparent;stroke:var(--fg-dim);stroke-width:1.5;transition:fill .18s,stroke .18s}.pw-tick-mark{fill:none;stroke:#1c1c1e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12;stroke-dashoffset:12;transition:stroke-dashoffset .22s ease-out .08s}.pw-check.ok .pw-tick{animation:pw-pop .34s cubic-bezier(.34,1.56,.64,1)}.pw-check.ok .pw-tick-ring{fill:var(--ok);stroke:var(--ok)}.pw-check.ok .pw-tick-mark{stroke-dashoffset:0}.pw-check.miss .pw-tick-ring{stroke:var(--danger)}.pw-checks.tried .pw-check.miss{animation:pw-nudge .36s ease-in-out}.pw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes pw-pop{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes pw-nudge{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-exists{font-size:calc(12.5px / var(--tz, 1));line-height:1.5;background:var(--warn-soft);border:1px solid var(--warn-border);border-radius:8px;padding:10px 12px;animation:auth-exists-in .28s cubic-bezier(.2,.8,.2,1) both}.auth-exists p{margin:0;color:var(--fg-2)}.auth-exists strong{color:var(--warn);font-weight:600;overflow-wrap:anywhere}.auth-exists-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}.auth-exists-btn{padding:7px 13px;border:none;border-radius:6px;background:var(--warn);color:#1a140c;font-size:calc(13px / var(--tz, 1));font-weight:600;cursor:pointer;transition:filter .12s}.auth-exists-btn:hover{filter:brightness(1.08)}@keyframes auth-exists-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pw-check.ok .pw-tick,.pw-checks.tried .pw-check.miss,.pw-checks:not([hidden]),.auth-exists{animation:none}.pw-tick-mark{transition:none}}.confirm-card{align-items:stretch;animation:confirm-card-in .45s cubic-bezier(.2,.8,.2,1) both}@keyframes confirm-card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.confirm-rise{animation:confirm-rise .45s cubic-bezier(.2,.8,.2,1) both}@keyframes confirm-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.confirm-art{position:relative;align-self:center;width:132px;height:110px;margin:4px 0 -2px;animation:confirm-drop .6s cubic-bezier(.34,1.56,.64,1) both}.confirm-art:before{content:"";position:absolute;top:-18px;right:-26px;bottom:-6px;left:-26px;border-radius:50%;background:radial-gradient(closest-side,rgba(240,106,155,.28),transparent);animation:confirm-glow 3.2s ease-in-out .8s infinite;z-index:0}.confirm-art svg{position:relative;z-index:1;overflow:visible;animation:confirm-float 3.4s ease-in-out 1.7s infinite}@keyframes confirm-drop{0%{opacity:0;transform:translateY(-26px) scale(.75)}to{opacity:1;transform:none}}@keyframes confirm-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-1.5deg)}}@keyframes confirm-glow{0%,to{opacity:.65;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}.confirm-env-back{fill:var(--accent-soft-solid);stroke:var(--accent-border);stroke-width:1}.confirm-env-flap{fill:#b9306a;stroke-linejoin:round;transform-box:fill-box;transform-origin:50% 0;animation:confirm-flap .42s ease-in-out .55s both}@keyframes confirm-flap{0%{transform:scaleY(1)}to{transform:scaleY(-1);fill:#8f2552}}.confirm-env-letter{animation:confirm-letter .7s cubic-bezier(.34,1.56,.64,1) .9s both}@keyframes confirm-letter{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(-8px)}}.confirm-letter-paper{fill:#f3efea}.confirm-letter-line{fill:#d3cdd4}.confirm-letter-code{fill:#f06a9b;animation:confirm-code-glint 1.6s ease-in-out 1.7s infinite}@keyframes confirm-code-glint{0%,to{fill:#f06a9b}50%{fill:#f5a66a}}.confirm-env-front{filter:drop-shadow(0 -2px 3px rgba(0,0,0,.25))}.confirm-spark{position:absolute;z-index:2;color:var(--accent-text);font-size:calc(13px / var(--tz, 1));line-height:1;opacity:0;animation:confirm-twinkle 2.4s ease-in-out infinite}.confirm-spark.s1{top:6px;left:2px;animation-delay:1.3s}.confirm-spark.s2{top:-4px;right:10px;font-size:calc(10px / var(--tz, 1));color:#f5a66a;animation-delay:1.9s}.confirm-spark.s3{bottom:14px;right:-6px;font-size:calc(15px / var(--tz, 1));animation-delay:2.5s}@keyframes confirm-twinkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}45%{opacity:1;transform:scale(1) rotate(25deg)}70%{opacity:.2;transform:scale(.7) rotate(40deg)}}.confirm-check{opacity:0;transform-box:fill-box;transform-origin:center}.confirm-check circle{fill:var(--ok)}.confirm-check path{fill:none;stroke:#1c1c1e;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24}.confirm-art.done .confirm-check{animation:confirm-check-pop .45s cubic-bezier(.34,1.56,.64,1) forwards}.confirm-art.done .confirm-check path{animation:confirm-check-draw .35s ease-out .25s forwards}@keyframes confirm-check-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes confirm-check-draw{to{stroke-dashoffset:0}}.confirm-pill{align-self:center;padding:4px 12px;border-radius:999px;font-size:calc(12px / var(--tz, 1));font-weight:600;color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-border);animation:confirm-rise .4s ease-out .22s both}.confirm-code{position:relative;display:block;cursor:text}.confirm-code input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;opacity:0;border:0;background:transparent;font-size:calc(16px / var(--tz, 1));cursor:text}.confirm-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.confirm-box{height:54px;display:grid;place-items:center;border-radius:10px;background:var(--bg-deep);border:1px solid var(--border-strong);color:var(--fg);font-size:calc(24px / var(--tz, 1));font-weight:700;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s,background .2s,color .2s}.confirm-slot{display:block;animation:confirm-box-in .42s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(.5s + var(--i) * 55ms)}@keyframes confirm-box-in{0%{opacity:0;transform:translateY(10px) scale(.85)}to{opacity:1;transform:none}}.confirm-box.filled{border-color:var(--accent-border);background:var(--accent-soft-solid)}.confirm-box.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.confirm-box.active:after{content:"";width:2px;height:24px;border-radius:1px;background:var(--accent);animation:confirm-caret 1s steps(1) infinite}@keyframes confirm-caret{50%{opacity:0}}.confirm-digit{display:inline-block;animation:confirm-digit-pop .24s cubic-bezier(.34,1.56,.64,1)}@keyframes confirm-digit-pop{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}.confirm-boxes.busy .confirm-box{animation:confirm-wave .9s ease-in-out infinite;animation-delay:calc(var(--i) * 90ms)}@keyframes confirm-wave{0%,to{transform:none}40%{transform:translateY(-4px)}}.confirm-boxes.shake{animation:confirm-shake .42s ease-in-out}.confirm-boxes.shake .confirm-box{border-color:var(--danger-border)}@keyframes confirm-shake{0%,to{transform:none}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.confirm-boxes.ok .confirm-box{border-color:var(--ok-border);background:var(--ok-soft);color:var(--ok);animation:confirm-ok .4s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i) * 45ms)}@keyframes confirm-ok{40%{transform:scale(1.1)}to{transform:none}}.confirm-hint{margin:0 0 6px;text-align:center;font-size:calc(12.5px / var(--tz, 1));color:var(--fg-3)}@media(prefers-reduced-motion:reduce){.confirm-card,.confirm-rise,.confirm-art,.confirm-art svg,.confirm-art:before,.confirm-pill,.confirm-env-letter,.confirm-letter-code,.confirm-spark,.confirm-slot,.confirm-digit,.confirm-boxes.busy .confirm-box,.confirm-boxes.shake,.confirm-boxes.ok .confirm-box{animation:none}.confirm-env-flap{animation:none;transform:scaleY(-1);fill:#8f2552}.confirm-env-letter{transform:translateY(-8px)}.confirm-art.done .confirm-check{animation:none;opacity:1}.confirm-art.done .confirm-check path{animation:none;stroke-dashoffset:0}}.save-state{display:inline-flex;align-items:center;gap:7px;height:36px;font-size:calc(12px / var(--tz, 1));font-weight:600;color:var(--fg-3);padding:0 10px;border-radius:999px;white-space:nowrap;-webkit-user-select:none;user-select:none}.save-state.is-error,.save-state.is-offline{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);cursor:help}.save-state.is-saving{color:var(--fg-2)}.save-state-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);flex:none}.save-state.is-saving .save-state-dot{background:var(--warn)}.save-state.is-error .save-state-dot,.save-state.is-offline .save-state-dot{background:var(--danger)}@media(max-width:800px){.save-state-label{display:none}}.mcp-url{display:block;font-size:calc(11px / var(--tz, 1));line-height:1.5;color:var(--fg);background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;padding:8px;word-break:break-all;-webkit-user-select:all;user-select:all}.mcp-warn{margin:0;font-size:calc(11px / var(--tz, 1));line-height:1.45;color:var(--accent-2)}.consent-actions{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:4px}.consent-actions .onboard-btn-primary{flex:1}.consent-actions .onboard-btn-ghost{flex:1;text-align:center;padding:10px}.onboard-btn-primary,.beat-rewrite-fab button,.committed-view-save.dirty,.mode-opt.active,.provider-opt.active{background:var(--grad-btn);color:#fff;border-color:transparent;box-shadow:var(--glow),inset 0 1px #ffffff2e;transition:filter .12s,transform .12s,opacity .12s}.onboard-btn-primary:hover:not(:disabled),.beat-rewrite-fab button:hover,.committed-view-save.dirty:hover{background:var(--grad-btn);color:#fff;filter:brightness(1.08)}.onboard-btn-primary:disabled{background:var(--btn-bg);color:var(--fg-3);box-shadow:none}.mode-opt.active,.provider-opt.active{box-shadow:var(--glow)}.committed-view-back,.committed-view-export{box-shadow:inset 0 1px 0 var(--hairline)}.section-draft-input:focus,.voice-editor:focus,.bible-entry-input:focus,.bible-entry-select:focus,.bible-entry-content:focus,.models-add input:focus,.api-key-input:focus,.onboard-key-input:focus,.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.save-state-dot{box-shadow:0 0 8px currentColor;color:var(--ok)}.save-state.is-saving .save-state-dot{color:var(--warn)}.save-state.is-error .save-state-dot,.save-state.is-offline .save-state-dot{color:var(--danger)}.req-status.req-ok{box-shadow:0 0 8px var(--ok)}a.panel-nav{text-decoration:none}.panel-chip{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:calc(10.5px / var(--tz, 1));font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap;color:var(--fg-3);animation:panel-chip-in .25s ease both}.panel-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.panel-chip.busy{color:var(--warn)}.panel-chip.busy:before{animation:panel-chip-pulse .9s ease-in-out infinite;box-shadow:0 0 8px currentColor}.panel-chip.ok{color:var(--ok)}.panel-chip.ok:before{box-shadow:0 0 8px currentColor}.panel-chip.warn{color:var(--danger)}.panel-chip.is-delta{color:var(--accent-text);font-variant-numeric:tabular-nums;font-size:calc(11px / var(--tz, 1))}.panel-chip[hidden]{display:none}.panel-nav:has(.panel-chip:not([hidden]))>.side-nav-go{margin-left:6px}@keyframes panel-chip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@keyframes panel-chip-pulse{0%,to{opacity:.35}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.panel-chip,.panel-chip.busy:before{animation:none}}.committed-view-title{min-width:0}@media(max-width:800px){.committed-view-head{gap:8px;padding-left:14px;padding-right:14px}.committed-view-export{padding:7px 11px}}.book-page{padding:24px 28px 64px;display:flex;flex-direction:column;gap:14px}.book-main{flex-direction:row;align-items:flex-start;gap:24px}.book-cover-field{flex:none;width:220px;display:flex;flex-direction:column;gap:10px}.book-cover-actions{display:flex;flex-wrap:wrap;gap:6px}.book-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.book-title-input{font-size:calc(18px / var(--tz, 1));font-weight:700}.book-description{min-height:150px;font-family:var(--font-prose);font-size:calc(14.5px / var(--tz, 1))}.book-field-foot{display:flex;align-items:center;gap:8px;min-height:26px;flex-wrap:wrap}.book-tag-suggestions .pub-chip{font-size:calc(12px / var(--tz, 1));padding:4px 10px;color:var(--fg-3)}.book-tag-suggestions .pub-chip:hover{color:var(--fg)}.book-ratings{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.book-rating{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--bg-deep);text-align:left;transition:border-color .12s,background .12s}.book-rating:hover{border-color:var(--accent-border)}.book-rating.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-border)}.book-rating-badge{flex:none;width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:calc(13px / var(--tz, 1));color:#fff;background:var(--btn-bg-hover)}.rating-general .book-rating-badge{background:#3f8f5d}.rating-teen .book-rating-badge{background:#b9963e}.rating-mature .book-rating-badge{background:#c26a32}.rating-explicit .book-rating-badge{background:#b33a4a}.book-rating-text{display:flex;flex-direction:column;gap:2px;min-width:0}.book-rating-text strong{font-size:calc(13px / var(--tz, 1));color:var(--fg)}.book-rating-text span{font-size:calc(11.5px / var(--tz, 1));line-height:1.4;color:var(--fg-3)}.book-row-2{flex-direction:row;gap:16px}.book-row-2>.pub-field{flex:1;min-width:0}.book-community{gap:12px}.book-community-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.book-community-live{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-weight:700;color:var(--fg);font-size:calc(14px / var(--tz, 1))}.book-live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.book-live-size{font-weight:500;margin-left:4px}.book-stats{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:calc(12.5px / var(--tz, 1));color:var(--fg-3)}.book-stats strong{color:var(--fg-soft);font-variant-numeric:tabular-nums}.book-trend{display:flex;flex-direction:column;gap:6px}.book-trend-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.book-trend-head .pub-hint{font-variant-numeric:tabular-nums}.book-trend-key{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.book-trend-key i{display:inline-block;width:8px;height:8px;border-radius:2px}.book-trend-key i.v{margin-left:6px}.book-trend i.r{background:var(--accent)}.book-trend i.v{background:color-mix(in srgb,var(--accent) 30%,transparent)}@supports not (color: color-mix(in srgb,red,blue)){.book-trend i.v{background:rgba(var(--accent__r),var(--accent__g),var(--accent__b),calc(var(--accent__a) * .3))}}.book-trend-bars{display:flex;align-items:flex-end;gap:2px;height:56px;padding-bottom:1px;border-bottom:1px solid var(--border)}.book-trend-bars span{position:relative;flex:1;height:100%}.book-trend-bars span i{position:absolute;left:0;right:0;bottom:0;border-radius:2px 2px 0 0}.book-trend-bars span i.r{left:20%;right:20%}.book-trend-bars span:hover i.v{background:color-mix(in srgb,var(--accent) 45%,transparent)}@supports not (color: color-mix(in srgb,red,blue)){.book-trend-bars span:hover i.v{background:rgba(var(--accent__r),var(--accent__g),var(--accent__b),calc(var(--accent__a) * .45))}}.book-trend-axis{display:flex;justify-content:space-between;font-size:calc(11px / var(--tz, 1))}.book-chapter-status{display:flex;flex-direction:column;gap:6px;padding-top:4px}.book-ch-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.book-ch-count{font-variant-numeric:tabular-nums}.book-ch-bulk{margin-left:auto}.book-chapter-status ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.book-chapter-status li{display:grid;grid-template-columns:18px 22px minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:calc(13px / var(--tz, 1))}.book-chapter-status li:last-child{border-bottom:none}.book-chapter-status li.on{background:var(--accent-soft);box-shadow:-8px 0 0 var(--accent-soft),8px 0 0 var(--accent-soft)}.book-chapter-status li.is-target{animation:book-ch-target 2.6s ease-out}@keyframes book-ch-target{0%,45%{background:var(--accent-soft);box-shadow:-8px 0 0 var(--accent-soft),8px 0 0 var(--accent-soft)}to{background:transparent;box-shadow:-8px 0 0 transparent,8px 0 0 transparent}}@media(prefers-reduced-motion:reduce){.book-chapter-status li.is-target{animation:none}}.book-ch-check{display:flex;align-items:center;justify-content:center;padding:8px;margin:-8px;cursor:pointer}.book-ch-check input{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer}.book-ch-check input:disabled{cursor:default;opacity:.35}.book-ch-num{color:var(--fg-3);font-variant-numeric:tabular-nums}.book-ch-main{display:flex;flex-direction:column;gap:2px;min-width:0}.book-ch-title{align-self:flex-start;max-width:100%;padding:0;background:none;border:none;font:inherit;text-align:left;color:var(--fg-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.book-ch-title{cursor:pointer}button.book-ch-title:hover{color:var(--fg);text-decoration:underline;text-underline-offset:2px}.book-ch-meta{font-size:calc(11.5px / var(--tz, 1));color:var(--fg-3);font-variant-numeric:tabular-nums}.book-ch-side{display:flex;align-items:center;gap:8px}.book-ch-state{flex:none;font-size:calc(11.5px / var(--tz, 1));font-weight:600;color:var(--fg-3);white-space:nowrap}.book-ch-state.published{color:var(--ok)}.book-ch-state.changed{color:var(--warn)}.book-ch-state.empty{color:var(--fg-4);font-weight:500}.book-ch-actions{flex:none;display:flex;align-items:center;gap:2px}.book-ch-unpublish:hover:not(:disabled){color:var(--danger)!important}.book-danger-row{padding-top:6px;border-top:1px solid var(--border)}@media(max-width:800px){.book-page{padding:16px 12px 48px}.book-main{flex-direction:column;align-items:stretch}.book-cover-field{width:100%;flex-direction:row;flex-wrap:wrap;align-items:flex-start}.book-cover-field .book-cover-lg{width:120px}.book-cover-field .book-cover-lg .book-cover-title{font-size:calc(calc(15px * var(--cover-title-k, 1)) / var(--tz, 1))}.book-cover-field .book-cover-actions{flex-direction:column;align-items:flex-start;flex:1;min-width:120px}.book-cover-field .pub-hint,.book-cover-field .pub-error{flex-basis:100%}.book-row-2{flex-direction:column}.book-chapter-status li{grid-template-columns:18px 22px minmax(0,1fr);row-gap:6px}.book-ch-side{grid-column:3;flex-wrap:wrap;justify-content:space-between}.book-ch-actions{margin-left:auto}.book-ch-bulk{flex-basis:100%}}.toast-stack{position:fixed;right:20px;bottom:44px;z-index:390;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;padding:10px 12px 10px 14px;border-radius:10px;background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:0 10px 28px -6px #0000008c,0 2px 6px #0000004d;color:var(--fg);font-size:calc(12.5px / var(--tz, 1));animation:toast-in .22s ease-out}.toast.ok{border-color:var(--ok)}.toast.warn{border-color:var(--danger-border)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.toast-row{display:flex;align-items:center;gap:8px;min-width:0}.toast-row .spinner{margin-right:0;flex:none}.toast-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--fg-3)}.toast.ok .toast-dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.toast.warn .toast-dot{background:var(--danger)}.toast-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-count{flex:none;color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:calc(11.5px / var(--tz, 1))}.toast-x{flex:none;margin:-4px -6px -4px 0;padding:4px 7px;border-radius:999px;color:var(--fg-3);font-size:calc(11px / var(--tz, 1));cursor:pointer}.toast-x:hover{background:var(--hover);color:var(--fg)}.toast-bar{margin-top:8px;height:3px;border-radius:2px;background:var(--border);overflow:hidden}.toast-bar>i{display:block;height:100%;background:var(--accent-2);border-radius:2px;transition:width .3s ease}@media(max-width:800px){.toast-stack{right:16px;bottom:60px}}@media(prefers-reduced-motion:reduce){.modal-overlay>*,.pub-overlay>*{animation:none!important}}
