*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.w-9{width:2.25rem}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-input{border-color:hsl(var(--input))}.bg-background{background-color:hsl(var(--background))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/90{background-color:hsl(var(--destructive) / .9)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/90{background-color:hsl(var(--primary) / .9)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/80{background-color:hsl(var(--secondary) / .8)}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.outline-1{outline-width:1px}.outline-card{outline-color:hsl(var(--card))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.\!running{animation-play-state:running!important}.running{animation-play-state:running}:root{--background: 0 0% 98%;--foreground: 240 10% 4%;--card: 0 0% 100%;--card-foreground: 240 10% 4%;--popover: 0 0% 100%;--popover-foreground: 240 10% 4%;--primary: 222 47% 11%;--primary-foreground: 210 40% 98%;--secondary: 240 5% 96%;--secondary-foreground: 240 6% 10%;--muted: 240 5% 96%;--muted-foreground: 240 4% 46%;--accent: 240 5% 96%;--accent-foreground: 240 6% 10%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 98%;--border: 240 6% 90%;--input: 240 6% 90%;--ring: 240 5% 65%;--radius: .5rem;--loom-surface: #ffffff;--loom-panel: #fafafa;--loom-subtle: #f4f4f5;--loom-line: #e4e4e7;--loom-line-strong: #d4d4d8;--loom-text: #18181b;--loom-muted: #71717a;--loom-faint: #a1a1aa;--loom-blue: #2563eb;--loom-green: #047857;--loom-amber: #b45309;--workspace-rail-width: 184px;--workspace-rail-collapsed-width: 56px;--workspace-context-width: 272px;--workspace-context-collapsed-width: 28px;--workspace-toolbar-height: 44px;--workspace-page-header-height: 78px;--workspace-content-header-height: calc(var(--workspace-page-header-height) + var(--workspace-toolbar-height));--motion-duration-instant: 80ms;--motion-duration-fast: .12s;--motion-duration-standard: .18s;--motion-duration-slow: .24s;--motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--motion-ease-enter: cubic-bezier(.16, 1, .3, 1);--motion-ease-exit: cubic-bezier(.4, 0, 1, 1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--loom-text);background:var(--loom-panel);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){:root{--motion-duration-instant: 1ms;--motion-duration-fast: 1ms;--motion-duration-standard: 1ms;--motion-duration-slow: 1ms}}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100vh;margin:0}body{background:radial-gradient(circle at top left,rgb(244 244 245 / 92%),transparent 360px),var(--loom-panel)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:disabled:hover{filter:none}a{color:inherit}.disabled-reason-tooltip{position:fixed;z-index:10000;display:block;padding:7px 9px;border:1px solid #09090b;border-radius:6px;background:#18181b;color:#fafafa;font-size:12px;font-weight:650;line-height:1.35;opacity:0;pointer-events:none;text-align:left;white-space:normal;box-shadow:0 12px 26px #18181b47;transform:translateY(-2px);transition:opacity 60ms ease,transform 60ms ease}.disabled-reason-tooltip.visible{opacity:1;transform:translateY(0)}.disabled-reason-tooltip-arrow{position:absolute;width:8px;height:8px;background:#18181b;border:solid #09090b;transform:translate(-50%) rotate(45deg)}.disabled-reason-tooltip[data-placement=top] .disabled-reason-tooltip-arrow{bottom:-5px;border-width:0 1px 1px 0}.disabled-reason-tooltip[data-placement=bottom] .disabled-reason-tooltip-arrow{top:-5px;border-width:1px 0 0 1px}input,textarea,select{min-width:0;border:1px solid var(--loom-line);border-radius:var(--radius);background:var(--loom-surface);color:var(--loom-text);outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}input:focus,textarea:focus,select:focus{border-color:#a1a1aa;box-shadow:0 0 0 3px #18181b12}textarea{resize:vertical}.spin{animation:spin 1s linear infinite}.kicker{margin:0 0 8px;display:inline-flex;align-items:center;gap:6px;color:var(--loom-green);font-size:11px;font-weight:700;letter-spacing:0}.muted-text{color:var(--loom-muted)}.continue-button,.home-start-form button[type=submit],.directory-state button,.topbar-actions button,.drawer-head button,.composer-actions button,.tabs button,.comment-form button,.comment-item button,.revise-button,.approve-button,.params-bar button,.back-link,.generation-actions button,.chapter-row-actions button,.reader-nav button,.final-review-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid var(--loom-line);border-radius:var(--radius);background:var(--loom-surface);color:var(--loom-text);font-size:13px;font-weight:600;text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.continue-button:hover,.topbar-actions button:hover,.drawer-head button:hover,.tabs button:hover,.comment-form button:hover,.comment-item button:hover,.back-link:hover,.generation-actions button:hover,.chapter-row-actions button:hover{background:var(--loom-subtle)}.home-start-form button[type=submit],.composer-actions button[type=submit],.approve-button,.reader-nav button,.generation-actions button:first-child{border-color:#18181b;background:#18181b;color:#fafafa}.workspace-rail{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--loom-line);background:#fafafa;overflow:visible}.workspace-brand-row{min-width:0;min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:0 10px 0 14px;border-bottom:1px solid var(--loom-line)}.workspace-brand-link{min-width:0;display:flex;align-items:center;gap:9px;color:var(--loom-text);text-decoration:none}.workspace-brand-mark{width:26px;height:26px;flex:0 0 26px;display:inline-grid;place-items:center}.workspace-brand-mark img{width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain}.workspace-brand-copy{min-width:0;display:grid;gap:1px}.workspace-brand-copy strong,.workspace-brand-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-brand-copy strong{font-size:13px;font-weight:780;line-height:1.25}.workspace-brand-copy small{color:var(--loom-muted);font-size:11px;font-weight:680;line-height:1.25}.workspace-brand-toggle{width:30px;height:30px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--loom-faint);transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-instant) var(--motion-ease-standard)}.workspace-brand-toggle:active{transform:translateY(1px)}.workspace-brand-toggle:hover{background:var(--loom-subtle);color:var(--loom-text)}.workspace-rail-scroll{min-height:0;flex:1 1 auto;display:grid;align-content:start;gap:14px;padding:16px 10px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--loom-line-strong) transparent}.workspace-rail-footer{min-height:58px;flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:9px 10px;border-top:1px solid var(--loom-line);background:#fafafa}.workspace-nav{display:grid;gap:3px}.workspace-nav>a,.workspace-nav>button,.workspace-rail-link{position:relative;min-width:0;min-height:38px;display:flex;align-items:center;gap:9px;width:100%;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#52525b;font:inherit;font-size:13px;font-weight:650;text-align:left;text-decoration:none;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.workspace-nav>a:hover,.workspace-nav>button:hover,.workspace-rail-link:hover{background:var(--loom-subtle);color:var(--loom-text)}.workspace-nav>a.router-link-exact-active,.workspace-nav>a.is-active,.workspace-nav>button.active{background:#e4e4e7;color:#18181b}.workspace-nav>a svg,.workspace-nav>button svg,.workspace-rail-link svg{flex:0 0 auto;color:var(--loom-faint)}.workspace-nav>a.router-link-exact-active svg,.workspace-nav>a.is-active svg,.workspace-nav>button.active svg{color:#3f3f46}.workspace-primary-link{min-height:40px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:0 13px;border:1px solid #18181b;border-radius:7px;background:#18181b;color:#fafafa;font-size:13px;font-weight:720;text-decoration:none}.workspace-primary-link:hover{border-color:#27272a;background:#27272a}.workspace-rail--compact .workspace-brand-row{grid-template-columns:1fr;justify-items:center;gap:4px;padding:8px 6px}.workspace-rail--compact .workspace-brand-link{justify-content:center}.workspace-rail--compact .workspace-brand-copy,.workspace-rail--compact .workspace-nav span,.workspace-rail--compact .workspace-rail-link span,.workspace-rail--compact .workspace-primary-link span{display:none}.workspace-rail--compact .workspace-brand-toggle{width:28px;height:26px}.workspace-rail--compact .workspace-rail-scroll{padding-inline:6px}.workspace-rail--compact .workspace-nav>a,.workspace-rail--compact .workspace-nav>button,.workspace-rail--compact .workspace-rail-link,.workspace-rail--compact .workspace-primary-link{justify-content:center;padding-inline:0}.workspace-page-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--loom-line)}.workspace-page-header-copy{min-width:0;max-width:680px}.workspace-page-eyebrow,.workspace-page-header h1,.workspace-page-description{margin:0}.workspace-page-eyebrow{color:#52525b;font-size:11px;font-weight:780;line-height:1.35}.workspace-page-header h1{margin-top:4px;font-size:27px;line-height:1.2;letter-spacing:0}.workspace-page-description{margin-top:8px;color:var(--loom-muted);font-size:13px;line-height:1.65}.workspace-page-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px}@media(max-width:760px){.project-sidebar .workspace-brand-toggle{display:none}.workspace-brand-row{min-height:56px;grid-template-columns:1fr;justify-items:center;padding:0 6px}.workspace-brand-link{justify-content:center}.workspace-brand-copy,.workspace-nav span,.workspace-rail-link span,.workspace-primary-link span{display:none}.workspace-rail-scroll{padding:14px 6px}.workspace-rail-footer{justify-content:center;padding-inline:6px}.workspace-nav>a,.workspace-nav>button,.workspace-rail-link,.workspace-primary-link{min-height:42px;justify-content:center;padding-inline:0}.workspace-primary-link{width:42px;margin-inline:auto}}@media(max-width:680px){.workspace-page-header{align-items:stretch;flex-direction:column;gap:14px;padding-bottom:17px}.workspace-page-header h1{font-size:22px}.workspace-page-actions{width:100%;justify-content:stretch}.workspace-page-actions>*{flex:1 1 auto}}.workspace-route-enter-active,.workspace-route-leave-active{transition:opacity var(--motion-duration-standard) var(--motion-ease-standard),transform var(--motion-duration-standard) var(--motion-ease-enter)}.workspace-route-enter-from{opacity:0;transform:translateY(4px)}.workspace-route-leave-active{position:absolute;inset:0;pointer-events:none}.workspace-route-leave-to{opacity:0;transform:translateY(-2px)}.workspace-card-enter-active,.workspace-card-leave-active,.workspace-card-move,.knowledge-stream-card-enter-active,.knowledge-stream-card-leave-active,.knowledge-stream-card-move{transition:opacity var(--motion-duration-standard) var(--motion-ease-standard),transform var(--motion-duration-slow) var(--motion-ease-enter),box-shadow var(--motion-duration-standard) var(--motion-ease-standard)}.workspace-card-enter-from,.knowledge-stream-card-enter-from{opacity:0;transform:translateY(8px) scale(.99)}.workspace-card-leave-to,.knowledge-stream-card-leave-to{opacity:0;transform:scale(.98)}.workspace-card-leave-active,.knowledge-stream-card-leave-active{position:absolute;pointer-events:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important}.workspace-route-enter-from,.workspace-route-leave-to,.workspace-card-enter-from,.workspace-card-leave-to,.knowledge-stream-card-enter-from,.knowledge-stream-card-leave-to{transform:none}}.form-error,.directory-state.error,.message-card.error{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.form-error,.directory-state{margin:0;padding:12px;border:1px solid var(--loom-line);border-radius:10px;font-size:13px;font-weight:600}.form-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.directory-state.error{display:flex;align-items:center;gap:10px}.directory-state.warning{display:flex;align-items:center;gap:10px;border-color:#fde68a;background:#fffbeb;color:#92400e}.card-shell{border:1px solid #e4e4e7;border-radius:10px;background:#fff}.card-shell--row{border-radius:8px}.card-shell--flat{border-color:transparent;background:transparent}.card-shell--hoverable:hover,.card-shell:hover{border-color:#d4d4d8;box-shadow:0 1px 8px #18181b0d}.project-tile,.setting-package-card,.content-list article,.chapter-card,.fact-list article,.state-panel,.section-head,.document-surface,.comment-panel,.review-index,.ai-summary-card,.question-card,.message-card,.composer-sidebar,.final-reader-surface,.done-page,.generation-hero,.generated-preview,.chapter-plan-list,.chapter-generation-context{border:1px solid var(--loom-line);border-radius:12px;background:var(--loom-surface);box-shadow:0 1px 2px #18181b0a}.composer{border:1px solid var(--loom-line);border-radius:12px;background:var(--loom-surface);box-shadow:0 1px 2px #18181b0a,0 18px 40px #18181b12}.composer textarea,.comment-form textarea{width:100%;border:0;box-shadow:none}.editable-field{width:100%;min-width:0;border:1px solid #e4e4e7;border-radius:6px;background:#fff;color:inherit;font:inherit;line-height:inherit;white-space:pre-wrap;overflow-wrap:anywhere;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}div.editable-field{min-height:1.4em;padding:4px 7px}input.editable-field{min-height:30px;padding:4px 7px}.editable-field[contenteditable=true]:empty:before{color:var(--loom-faint);content:attr(aria-placeholder)}.editable-field:focus{background:#fff;border-color:#a1a1aa;box-shadow:0 0 0 3px #a1a1aa29}.editable-field.dirty{border-color:#f59e0b;background:#fffbeb;color:#713f12}.editable-field.readonly{border-color:transparent;background:transparent}.inline-edit-select{max-width:100%;min-height:24px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;line-height:inherit}.inline-edit-select:focus{background:#fff;box-shadow:inset 0 0 0 1px #a1a1aa,0 0 0 3px #a1a1aa29}.inline-edit-select.dirty{background:#fffbeb;box-shadow:inset 0 0 0 1px #f59e0b;color:#713f12}.inline-edit-select.compact{width:74px}.inline-edit-select.add-select{flex:1 1 220px;color:var(--loom-muted)}.page-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--loom-line);border-radius:9px;background:#fafafa}.page-save-status{margin:0;color:var(--loom-muted);font-size:12px;font-weight:650}.page-save-status.dirty{color:#92400e}.page-save-status.error{color:#b91c1c}.page-save-bar button{min-height:32px}.composer textarea{min-height:108px;padding:16px 16px 8px}.composer-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 12px 12px}.composer-error{margin:0;padding:0 16px 8px;color:#b91c1c;font-size:13px;font-weight:600}.app-confirm-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;background:#18181b6b;backdrop-filter:blur(4px)}.app-confirm-dialog{width:min(420px,100%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px;border:1px solid var(--loom-line);border-radius:10px;background:var(--loom-surface);box-shadow:0 22px 64px #18181b2e;outline:none}.app-confirm-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2ff;color:#3730a3}.app-confirm-icon.destructive{background:#fee2e2;color:#b91c1c}.app-confirm-content{min-width:0}.app-confirm-title{margin:0;color:var(--loom-text);font-size:16px;font-weight:720}.app-confirm-message{margin:7px 0 0;color:#52525b;font-size:13px;line-height:1.55;white-space:pre-line}.app-confirm-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.select-menu{position:relative;min-width:0}.select-menu-trigger{width:100%;min-height:34px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border:1px solid var(--loom-line);border-radius:7px;background:#fff;color:var(--loom-text);font:inherit;font-size:13px;line-height:1.3;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.select-menu-trigger:hover,.select-menu.open .select-menu-trigger{border-color:var(--loom-line-strong);box-shadow:0 0 0 3px #a1a1aa1f}.select-menu-trigger:disabled{cursor:not-allowed;opacity:.58}.select-menu-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu-value.placeholder{color:var(--loom-faint)}.select-menu-chevron{flex:0 0 auto;color:var(--loom-muted);transition:transform .12s ease}.select-menu.open .select-menu-chevron{transform:rotate(180deg)}.select-menu-list{position:fixed;z-index:10020;min-width:180px;max-height:240px;overflow:auto;padding:4px;border:1px solid var(--loom-line);border-radius:8px;background:#fff;box-shadow:0 16px 42px #18181b29}.select-menu-option{width:100%;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:#27272a;font:inherit;font-size:13px;line-height:1.35;text-align:left;cursor:pointer}.select-menu-option span{min-width:0;overflow-wrap:anywhere}.select-menu-option.active,.select-menu-option:hover{background:#f4f4f5}.select-menu-option.selected{color:#18181b;font-weight:680}.select-menu-option:disabled{cursor:not-allowed;color:#a1a1aa}.select-menu-option:disabled:hover{background:transparent}.select-menu.fsh-inline-select{width:100%;max-width:none;min-width:0}.select-menu.fsh-inline-select .select-menu-trigger{min-height:18px;padding:0 1px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:10px;font-weight:650;box-shadow:none}.select-menu.fsh-inline-select .select-menu-value{max-width:120px}.select-menu.fsh-inline-select .select-menu-chevron{width:12px;height:12px;color:currentColor;opacity:.68}.select-menu-list.fsh-inline-select-list{min-width:200px}.select-menu.event-select-menu{width:100%}.select-menu.event-select-menu .select-menu-trigger{min-height:30px;padding:5px 7px;font-size:12px}.select-menu.outline-focus-select-dropdown{flex:1}.select-menu.outline-focus-select-dropdown .select-menu-trigger{min-height:30px;padding:4px 8px;border-color:#d4d4d8;border-radius:7px;color:#27272a;font-size:13px}.select-menu.outline-focus-select-dropdown.open .select-menu-trigger{border-color:var(--loom-green);box-shadow:0 0 0 2px #10b9811f}.comment-panel{display:flex;position:relative;min-height:0;flex-direction:column;gap:12px;overflow-y:auto;transition:min-width var(--motion-duration-slow) var(--motion-ease-standard),padding var(--motion-duration-slow) var(--motion-ease-standard),border-color var(--motion-duration-standard) var(--motion-ease-standard)}.comment-panel.collapsed{min-width:var(--workspace-context-collapsed-width)!important;padding:0;overflow:visible}.comment-panel-content{min-width:0;min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:12px;overflow:hidden}.workspace-panel-content-enter-active,.workspace-panel-content-leave-active{transition:opacity var(--motion-duration-standard) var(--motion-ease-standard),transform var(--motion-duration-slow) var(--motion-ease-enter)}.workspace-panel-content-enter-from,.workspace-panel-content-leave-to{opacity:0;transform:translate(8px)}.panel-collapse-toggle{position:absolute;z-index:10;top:50%;left:0;display:grid;width:22px;height:56px;place-items:center;border:1px solid var(--loom-line);border-radius:7px;background:#fbfbfb;color:#a1a1aa;cursor:pointer;transform:translate(-50%,-50%);transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-standard) var(--motion-ease-standard)}.comment-panel h2{margin:0;font-size:17px;font-weight:680}.comment-hint{margin:0;padding:0 0 12px;border:0;border-bottom:1px solid var(--loom-line);border-radius:0;background:transparent;color:var(--loom-muted);font-size:13px;line-height:1.6}.selected-quote-preview{display:grid;gap:6px;margin:0;padding:10px 12px;border:0;border-left:3px solid #60a5fa;border-radius:0;background:#eff6ff}.review-panel-home{display:grid;gap:12px;padding:0 0 12px;border:0;border-bottom:1px solid var(--loom-line);border-radius:0;background:transparent}.panel-eyebrow{margin:0;color:var(--loom-faint);font-size:12px;font-weight:750}.review-panel-home p:last-child{margin:0;color:var(--loom-muted);font-size:13px;line-height:1.6}.panel-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.panel-stat-grid div{display:grid;gap:2px;padding:9px 8px;border:1px solid var(--loom-line);border-radius:8px;background:#fff}.panel-stat-grid strong{color:#18181b;font-size:16px;font-weight:750;line-height:1}.panel-stat-grid span{color:var(--loom-faint);font-size:11px}.selected-quote-preview span{color:#1d4ed8;font-size:11px;font-weight:750}.selected-quote-preview p{display:-webkit-box;margin:0;overflow:hidden;color:#1e3a8a;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.comment-form{display:grid;gap:8px;margin:0}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px}.comment-clear-selection-button{display:inline-flex;align-items:center;gap:4px;min-height:28px;margin-left:auto;padding:4px 7px;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;color:#2563eb;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.comment-clear-selection-button:hover{border-color:#93c5fd;background:#dbeafe}.comment-form textarea{min-height:86px;padding:12px;border:1px solid var(--loom-line)}.comment-form textarea:disabled{background:#f4f4f5;color:var(--loom-faint)}.comment-form button{justify-self:start}.comment-list{display:grid;flex:0 0 auto;align-content:start;gap:8px;overflow:visible}.comment-item{position:relative;display:grid;gap:9px;padding:0;border:0;background:transparent}.comment-item+.comment-item{margin-top:8px}.comment-item-edit-box{position:relative;overflow:hidden;border:1px solid #e4e4e7;border-radius:10px;background:#fff;box-shadow:0 1px 2px #18181b0a;transition:border-color .14s ease,box-shadow .14s ease}.comment-item-edit-box.dirty{border-color:#f59e0b}.comment-item-edit-box.saving{border-color:#93c5fd}.comment-item-edit-box.error{border-color:#fca5a5}.comment-item-head{display:flex;min-height:36px;align-items:flex-start;gap:7px;padding:9px 36px 8px 11px;border:0;border-bottom:1px solid #f4f4f5;border-radius:0;background:#fafafa;color:#71717a}.comment-item .comment-item-head span{display:-webkit-box;overflow:hidden;color:#52525b;font-size:12px;font-weight:650;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.comment-item-head>svg{flex:0 0 auto;margin-top:1px}.comment-item button.comment-item-delete{position:absolute;top:5px;right:6px;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;border-color:transparent;background:transparent;color:#a1a1aa;line-height:1}.comment-item-delete>svg{width:14px;flex:0 0 14px}.comment-item-delete:hover:not(:disabled){background:#f4f4f5;color:#52525b}.comment-item-edit-input{width:100%;height:66px;min-height:64px;max-height:120px;resize:none;display:block;border:0;border-radius:0;padding:11px 12px 14px;color:var(--loom-ink);font:inherit;font-size:13px;line-height:1.6;background:#fff}.comment-item-edit-input:focus{outline:none;background:#fefefe}.annotation-question-card{border-color:#dbeafe}.annotation-question-card .comment-item-head{background:#f8fbff;color:#3b82f6}.annotation-question-card.compact{transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.annotation-question-toggle{display:grid;width:100%;min-height:62px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px 42px 10px 11px;border:0;background:#f8fbff;color:#3b82f6;font:inherit;text-align:left;cursor:pointer}.annotation-question-toggle>svg{margin-top:2px;flex:0 0 auto}.annotation-question-toggle>svg:last-child{align-self:center;color:#71717a;transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.annotation-question-toggle>svg:last-child.expanded{transform:rotate(180deg)}.annotation-question-toggle>span{display:grid;min-width:0;gap:3px}.annotation-question-toggle small,.annotation-question-toggle strong,.annotation-question-toggle em{min-width:0}.annotation-question-toggle small{color:#3b82f6;font-size:10px;font-weight:750;line-height:1.2}.annotation-question-toggle strong{display:-webkit-box;overflow:hidden;color:#27272a;font-size:12px;font-weight:650;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.annotation-question-toggle em{overflow:hidden;color:#a1a1aa;font-size:10px;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.annotation-question-toggle:hover,.annotation-question-toggle:focus-visible{background:#eff6ff}.annotation-question-toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:-2px}.annotation-question-card.compact.expanded .annotation-question-answer{margin-top:10px}.annotation-question-content{padding:10px 12px 8px}.annotation-question-content p{margin:0;color:#27272a;font-size:13px;font-weight:650;line-height:1.55}.annotation-question-content small{display:block;margin-top:5px;color:#a1a1aa;font-size:10px;line-height:1.4}.annotation-question-answer{display:block;box-sizing:border-box;width:calc(100% - 20px);min-height:58px;margin:0 10px;padding:8px 9px;resize:none;border:1px solid #e4e4e7;border-radius:7px;outline:none;background:#fff;color:#18181b;font:inherit;font-size:12px;line-height:1.55;transition:border-color .14s ease,box-shadow .14s ease}.annotation-question-answer:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61a}.annotation-question-answer::-moz-placeholder{color:#a1a1aa}.annotation-question-answer::placeholder{color:#a1a1aa}.annotation-question-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;padding:8px 10px 10px}.annotation-question-actions button{display:inline-flex;min-height:27px;align-items:center;gap:4px;padding:0 8px;border-radius:6px;font-size:11px}.annotation-question-actions button:last-child{border-color:#18181b;background:#18181b;color:#fff}.annotation-question-actions button:last-child:hover:not(:disabled){border-color:#27272a;background:#27272a}.annotation-question-actions button:last-child:disabled{border-color:#e4e4e7;background:#f4f4f5;color:#a1a1aa;opacity:1}.comment-item-save-line{position:absolute;right:10px;bottom:8px;display:flex;align-items:center;justify-content:flex-end;min-height:0;padding:0;pointer-events:none}.comment-item-save-status{padding:3px 6px;border:1px solid rgb(228 228 231 / 80%);border-radius:999px;background:#ffffffeb;color:#71717a;font:inherit;font-size:11px;font-weight:650;line-height:1;box-shadow:0 1px 4px #18181b0f}.comment-item-save-status.saving{border-color:#bfdbfe;color:#2563eb}.comment-item-save-status.saved{border-color:#bbf7d0;color:#047857}.comment-item-save-status.retry{border-color:#fecaca;background:#fff1f2f0;box-shadow:0 1px 4px #dc262614;color:#dc2626;cursor:pointer;pointer-events:auto}.comment-item-save-status.retry:hover:not(:disabled){color:#991b1b;text-decoration:underline}.proposal-compose-card{min-height:280px;flex:1 1 auto;align-content:stretch}.comment-form .proposal-submit-button{width:100%;min-height:40px;border-color:var(--loom-green);background:var(--loom-green);color:#fff}.comment-form .proposal-submit-button:hover:not(:disabled){border-color:#065f46;background:#065f46;color:#fff}.comment-form .proposal-submit-button:disabled{border-color:#e4e4e7;background:#f4f4f5;color:#a1a1aa;opacity:1}.comment-empty{margin:0;padding:14px 0;border-top:1px solid var(--loom-line);color:var(--loom-faint);font-size:13px}.comment-actions{display:grid;flex:0 0 auto;gap:12px;margin-top:4px;padding-top:16px;border-top:1px solid var(--loom-line);background:var(--loom-surface)}.approve-button,.revise-button,.rollback-button{width:100%;min-height:40px;margin-top:0}.rollback-button{border-color:#dc2626;background:#fff1f2;color:#b91c1c}.rollback-button:hover:not(:disabled){border-color:#b91c1c;background:#ffe4e6;color:#991b1b}.revise-button,.final-review-actions button:last-child{border-color:#047857;background:#047857;color:#fff}.revise-button:disabled,.final-review-actions button:last-child:disabled{border-color:#e4e4e7;background:#f4f4f5;color:#a1a1aa;opacity:1}.sidebar-action-hint{margin:-4px 0 0;color:var(--loom-faint);font-size:12px;line-height:1.5}.approve-button:disabled,.generation-actions button:disabled,.chapter-row-actions button:disabled,.reader-nav button:disabled{opacity:.55}.comment-panel:has(>.comment-panel-content>.annotation-composer),.timeline-comment-panel:has(>.comment-panel-content>.annotation-composer){overflow:hidden}.annotation-composer{display:contents}.annotation-comment-navigation{order:0;display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:10px;padding:0 0 10px;border-bottom:1px solid var(--loom-line)}.annotation-comment-navigation>div,.annotation-comment-navigation nav{display:flex;align-items:center}.annotation-comment-navigation>div{flex-wrap:wrap;gap:6px;color:#71717a}.annotation-position-label,.annotation-open-question-count{display:inline-flex;align-items:center;gap:5px}.annotation-comment-navigation>div .annotation-position-label{color:#52525b;font-size:11px;font-weight:700}.annotation-comment-navigation>div .annotation-open-question-count{padding:3px 6px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.annotation-comment-navigation nav{gap:5px}.annotation-comment-navigation button{display:inline-flex;width:30px;min-width:30px;height:28px;min-height:28px;align-items:center;justify-content:center;padding:0;border:1px solid #e4e4e7;border-radius:7px;background:#fff;color:#52525b;font-size:11px;font-weight:650;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.annotation-comment-navigation svg,.annotation-submit-button svg{flex:0 0 auto}.annotation-comment-navigation button:hover:not(:disabled){border-color:#d4d4d8;background:#f4f4f5;color:#18181b}.annotation-comment-navigation button:disabled{background:#fafafa;color:#c4c4ca;cursor:not-allowed}.annotation-comment-region{order:1;display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:10px;padding:2px 2px 10px;overflow-y:auto;overscroll-behavior:contain}.annotation-comment-region.following{overflow:hidden}.annotation-comment-region.flowing .comment-list{flex:0 0 auto}.annotation-comment-region.flowing .comment-item{animation:annotation-card-pop var(--motion-duration-standard) var(--motion-ease-enter)}.annotation-revision-result{flex:0 0 auto;padding:11px 12px;border:1px solid var(--loom-line);border-left:3px solid var(--loom-green);border-radius:8px;background:var(--loom-surface);box-shadow:0 1px 3px hsl(var(--foreground) / 6%)}.annotation-revision-result>div{display:flex;align-items:center;gap:6px;color:var(--loom-green)}.annotation-revision-result strong{font-size:12px;line-height:1.4}.annotation-revision-result p{margin:7px 0 0;color:var(--loom-text);font-size:12px;line-height:1.6}.annotation-revision-result small{display:block;margin-top:7px;color:var(--loom-muted);font-size:10px;line-height:1.5}.annotation-comment-region .comment-list{min-height:0;flex:1 1 auto}.annotation-comment-region .comment-list.follows-document{position:relative;display:block;min-height:100%}.annotation-comment-region .comment-list.follows-document .comment-item{position:absolute;inset:0 0 auto;margin:0;transition:opacity .14s ease,transform .14s ease;will-change:opacity,transform}.annotation-comment-region .comment-list.follows-document .comment-item.anchored{cursor:pointer}.annotation-comment-region .comment-item.active .comment-item-edit-box,.annotation-comment-region .comment-item.anchored:hover .comment-item-edit-box{border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f61a,0 4px 14px #18181b12}.selectable-text.active-comment-anchor{border-radius:4px;background:hsl(var(--accent));box-shadow:0 0 0 4px hsl(var(--accent))}.comment-panel>.comment-panel-content>.comment-actions,.comment-panel>.comment-panel-content>.revise-button,.timeline-comment-panel>.comment-panel-content>.comment-actions,.timeline-comment-panel>.comment-panel-content>.revise-button{order:2;flex:0 0 auto;margin-top:0}.annotation-comment-dock{z-index:4;order:3;display:grid;flex:0 0 auto;gap:8px;margin:0 -18px -20px;padding:11px 18px 14px;border-top:1px solid var(--loom-line);background:#fafafa;box-shadow:0 -1px #fffc}.annotation-comment-dock.popping{transform-origin:center bottom;animation:annotation-dock-pop var(--motion-duration-standard) var(--motion-ease-enter)}.annotation-dock-title{display:flex;align-items:center;gap:7px}.annotation-dock-title>svg{color:#71717a}.annotation-dock-title strong{color:var(--loom-text);font-size:12px;line-height:1.4}.annotation-dock-title span{margin-left:auto;color:var(--loom-muted);font-size:10px;font-weight:650}.annotation-dock-selection{position:relative;padding:9px 30px 9px 11px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;animation:annotation-selection-pop var(--motion-duration-standard) var(--motion-ease-enter)}.annotation-dock-selection span{color:var(--loom-blue);font-size:10px;font-weight:750}.annotation-dock-selection p{display:-webkit-box;margin:3px 0 0;overflow:hidden;color:var(--loom-text);font-size:11px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.annotation-dock-selection button{position:absolute;top:6px;right:7px;display:grid;width:22px;height:22px;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:var(--loom-muted);cursor:pointer}.annotation-dock-selection button:hover{background:hsl(var(--muted));color:var(--loom-text)}.annotation-comment-dock .comment-hint{padding:0;border:0;font-size:11px;line-height:1.5}.annotation-comment-dock .comment-form{gap:0;overflow:hidden;border:1px solid #d4d4d8;border-radius:10px;background:#fff;box-shadow:0 1px 2px #18181b0a;transition:border-color .14s ease,box-shadow .14s ease}.annotation-comment-dock .comment-form:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61a}.comment-panel .annotation-comment-dock .comment-form textarea,.timeline-comment-panel .annotation-comment-dock .comment-form textarea{min-height:40px;max-height:112px;padding:11px 12px 6px;resize:none;border:0;border-radius:0;background:#fff;font-size:13px;line-height:1.6;transition:min-height .15s ease,border-color .15s ease,box-shadow .15s ease}.comment-panel .annotation-comment-dock.expanded .comment-form textarea,.timeline-comment-panel .annotation-comment-dock.expanded .comment-form textarea{min-height:72px}.comment-panel .annotation-comment-dock .comment-form textarea:focus,.timeline-comment-panel .annotation-comment-dock .comment-form textarea:focus{outline:none;box-shadow:none}.annotation-comment-dock .comment-form-actions{min-height:38px;padding:5px 7px 7px 11px}.annotation-comment-dock .comment-form-actions>span{color:var(--loom-muted);font-size:10px}.annotation-comment-dock .comment-form-actions>button{min-height:28px;margin-left:auto;padding:0 10px;border-color:#18181b;border-radius:7px;background:#18181b;color:#fafafa;font-size:11px}.annotation-comment-dock .comment-form-actions>button:hover:not(:disabled){border-color:#27272a;background:#27272a;color:#fff}.annotation-comment-dock .comment-form-actions>button:disabled{border-color:#e4e4e7;background:#f4f4f5;color:#a1a1aa;opacity:1}.annotation-comment-dock>.composer-error{padding:0}@keyframes annotation-dock-pop{0%{opacity:.72;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes annotation-selection-pop{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes annotation-card-pop{0%{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.annotation-comment-dock.popping,.annotation-dock-selection,.annotation-comment-region.flowing .comment-item{animation:none;transform:none}}.workspace-stream-item{min-width:0}.streaming-structured .workspace-stream-item.stream-updated{animation:workspace-stream-highlight var(--motion-duration-slow) var(--motion-ease-enter) both}.streaming-structured .workspace-stream-surface.stream-updated{border-color:#bfdbfe;background:#f8fbff;box-shadow:0 14px 34px #2563eb1f}.session-change-new,.session-change-updated{transition:border-color var(--motion-duration-standard) var(--motion-ease-standard),background var(--motion-duration-standard) var(--motion-ease-standard),box-shadow var(--motion-duration-standard) var(--motion-ease-standard)}.session-change-new{border-color:#bfdbfe!important;background:#f8fbff!important;box-shadow:0 0 0 2px #2563eb14}.session-change-updated{border-color:#fde68a!important;background:#fffdf5!important;box-shadow:0 0 0 2px #d9770612}.session-change-badge{min-height:20px;display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:0 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:750;line-height:1;white-space:nowrap}.session-change-updated .session-change-badge,.session-change-badge.is-updated{background:#fef3c7;color:#a16207}@keyframes workspace-stream-highlight{0%{opacity:.58;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.streaming-structured .workspace-stream-item.stream-updated{animation:none}}.open-question-box{min-width:0;max-width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa}.open-question-box strong{display:inline-flex;align-items:center;gap:6px;color:#71717a;font-size:12px;font-weight:700}.open-question-box p{margin:0;color:#27272a;line-height:1.6}.open-question-item{min-width:0;max-width:100%;box-sizing:border-box;margin-top:8px;padding:8px 10px;border:1px solid #e4e4e7;border-left:3px solid #93c5fd;border-radius:7px;background:#fff}.open-question-item>p{min-width:0;overflow-wrap:anywhere}.diff-drawer-layer{position:fixed;inset:0;z-index:80}.diff-drawer-backdrop{position:absolute;inset:0;border:0;background:#0f172a42}.diff-drawer{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(920px,100vw);height:100%;background:#fff;border-left:1px solid #d4d4d8;box-shadow:-18px 0 48px #0f172a2e}.diff-drawer-head,.diff-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e4e4e7;background:#fff}.diff-drawer-footer{border-top:1px solid #e4e4e7;border-bottom:0;justify-content:flex-end}.diff-drawer-head h2{display:flex;align-items:center;gap:8px;margin:4px 0 0;color:#18181b;font-size:18px}.diff-error,.diff-loading,.diff-empty{margin:16px 22px;color:#71717a;font-size:13px}.diff-error{padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c}.diff-loading{display:flex;align-items:center;gap:8px}.diff-resource-tabs{display:flex;gap:8px;padding:12px 22px;overflow-x:auto;border-bottom:1px solid #e4e4e7;background:#fafafa}.diff-resource-tabs button,.diff-history-list button{border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#3f3f46;cursor:pointer}.diff-resource-tabs button{flex:0 0 auto;padding:8px 10px;font-size:12px}.diff-resource-tabs button.active,.diff-history-list button.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.diff-history-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:0;flex:1}.diff-history-list{min-height:0;padding:14px;overflow-y:auto;border-right:1px solid #e4e4e7;background:#fafafa}.diff-history-list button{display:block;width:100%;padding:10px;margin-bottom:8px;text-align:left}.diff-history-list strong,.diff-history-list span{display:block}.diff-history-list strong{font-size:13px}.diff-history-list span{margin-top:4px;color:#71717a;font-size:12px}.diff-content-panel{min-height:0;flex:1;padding:18px 22px;overflow-y:auto;background:#fff}.diff-meta-row,.diff-summary-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.diff-meta-row span,.diff-summary-row span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#f4f4f5;color:#52525b;font-size:12px}.diff-summary-row .added{background:#dcfce7;color:#166534}.diff-summary-row .removed{background:#fee2e2;color:#991b1b}.diff-summary-row .modified{background:#dbeafe;color:#1e40af}.json-diff-view,.text-diff-view{display:grid;gap:10px}.json-diff-change{overflow:hidden;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.json-diff-change header{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid #e4e4e7;background:#fafafa}.json-diff-change header span{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#e4e4e7;color:#52525b;font-size:12px}.json-diff-change.is-add header span{background:#dcfce7;color:#166534}.json-diff-change.is-remove header span{background:#fee2e2;color:#991b1b}.json-diff-change.is-modify header span{background:#dbeafe;color:#1e40af}.json-diff-change header strong{min-width:0;color:#27272a;font-size:13px;overflow-wrap:anywhere}.json-diff-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.json-diff-single,.json-diff-columns>div{min-width:0;padding:11px}.json-diff-columns>div+div{border-left:1px solid #e4e4e7}.json-diff-single small,.json-diff-columns small{display:block;margin-bottom:6px;color:#71717a;font-size:12px}.json-diff-view pre{max-height:220px;margin:0;padding:10px;overflow:auto;border-radius:6px;background:#f8fafc;color:#18181b;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.text-diff-block{overflow:hidden;border:1px solid #e4e4e7;border-radius:8px}.text-diff-line{display:grid;grid-template-columns:52px 24px minmax(0,1fr);min-height:26px;border-bottom:1px solid rgba(228,228,231,.65);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.7}.text-diff-line:last-child{border-bottom:0}.line-number,.line-prefix{color:#71717a;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.line-number{padding:2px 8px;background:#f4f4f5cc}.line-prefix{padding:2px 6px}.line-content{min-width:0;padding:2px 10px;white-space:pre-wrap;overflow-wrap:anywhere}.text-diff-block.is-added .text-diff-line{background:#f0fdf4}.text-diff-block.is-removed .text-diff-line{background:#fef2f2}.text-diff-block.is-unchanged .text-diff-line{background:#fff}@media(max-width:760px){.diff-drawer{width:100vw}.diff-history-layout,.json-diff-columns{grid-template-columns:1fr}.diff-history-list{max-height:180px;border-right:0;border-bottom:1px solid #e4e4e7}.json-diff-columns>div+div{border-left:0;border-top:1px solid #e4e4e7}}.home-page,.directory-page{min-height:100vh;background:linear-gradient(180deg,#ffffffb3,#fafafaeb),var(--loom-panel)}.home-page{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;gap:28px;padding:22px 28px 36px}.home-header{width:min(1180px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.home-brand{min-width:0;display:inline-flex;align-items:center;gap:10px}.home-brand-mark{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center}.home-brand-mark img{width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain}.home-brand div{min-width:0;display:grid;gap:1px}.home-brand strong{color:#18181b;font-size:14px;font-weight:750}.home-brand span{color:var(--loom-muted);font-size:12px;font-weight:600}.home-header-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px}.home-workspace{width:min(1180px,100%);margin:0 auto;align-self:start}.home-footer{width:min(1180px,100%);display:flex;justify-content:center;gap:12px;margin:0 auto;color:var(--loom-faint);font-size:11px;line-height:1.5}.home-footer a{color:inherit;text-decoration:none}.home-footer a:hover{color:var(--loom-muted);text-decoration:underline}.home-start-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:16px;align-items:stretch}.home-composer,.home-setup-panel{min-width:0;display:grid;gap:16px;padding:22px;border:1px solid var(--loom-line);border-radius:8px;background:var(--loom-surface);box-shadow:0 1px 2px #18181b0a,0 22px 58px #18181b12}.home-setup-panel{align-self:stretch;contain:size layout;display:flex;flex-direction:column;gap:0;min-height:0;height:100%;padding:0;position:sticky;top:88px;overflow:hidden}.home-setup-scroll{min-height:0;display:grid;align-content:start;gap:14px;overflow:auto;padding:16px}.home-setup-actions{display:grid;flex:0 0 auto;gap:10px;border-top:1px solid var(--loom-line);padding:14px 16px 16px;background:var(--loom-surface)}.home-composer[aria-disabled=true],.home-setup-scroll[aria-disabled=true]{opacity:.68}.creation-attempt-warning{display:grid;gap:8px;padding:10px 12px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed}.creation-attempt-warning p{margin:0;color:var(--loom-muted);font-size:12px;line-height:1.5}.creation-attempt-abandon{justify-self:start;border:0;padding:0;background:transparent;color:#b91c1c;font-size:12px;font-weight:650;cursor:pointer}.creation-attempt-abandon:disabled{cursor:not-allowed;opacity:.55}.home-title-block{display:grid;gap:8px;text-align:left}.home-composer h1{max-width:620px;margin:0;color:#09090b;text-align:left;font-size:36px;font-weight:680;line-height:1.08;letter-spacing:0}.home-title-block>p:last-child{max-width:560px;margin:0;color:var(--loom-muted);font-size:14px;line-height:1.65}.home-mode-switch{display:inline-flex;width:-moz-fit-content;width:fit-content;border:1px solid var(--loom-line);border-radius:8px;padding:3px;background:#f4f4f5}.home-mode-switch button{min-height:32px;border:0;border-radius:6px;padding:0 12px;background:transparent;color:#52525b;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.home-mode-switch button.active{background:#fff;color:#18181b;box-shadow:0 1px 2px #18181b14}.home-step-card{min-width:0;display:grid;gap:14px;padding:16px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa}.home-worldview-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-worldview-sources button{min-width:0;display:grid;gap:5px;min-height:88px;border:1px solid var(--loom-line);border-radius:8px;padding:12px;background:#fff;color:#52525b;text-align:left;cursor:pointer}.home-worldview-sources button:hover,.home-worldview-sources button.active{border-color:#18181b;color:#18181b}.home-worldview-sources button.active{box-shadow:inset 0 0 0 1px #18181b}.home-worldview-sources strong{font-size:13px}.home-worldview-sources span,.home-worldview-blank-note,.home-worldview-flow p{color:var(--loom-muted);font-size:12px;line-height:1.55}.home-worldview-blank-note{margin:0;border:1px dashed var(--loom-line);border-radius:8px;padding:14px;background:#fff}.home-worldview-flow{display:grid;gap:10px}.home-worldview-flow article{display:grid;grid-template-columns:26px minmax(0,1fr);gap:9px;align-items:start}.home-worldview-flow article>span{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#18181b;color:#fff;font-size:12px;font-weight:750}.home-worldview-flow article div{display:grid;gap:2px}.home-worldview-flow article p,.home-worldview-flow>p{margin:0}.home-worldview-flow>p{border-top:1px solid var(--loom-line);padding-top:10px}.home-script-spec{display:grid;gap:14px}.home-script-spec>p{margin:0;color:var(--loom-muted);font-size:13px;line-height:1.6}.home-script-spec-grid,.home-script-constraints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-script-constraints-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--loom-line);border-radius:10px;background:#fafafa;color:#27272a}.home-script-constraints{padding:14px;border:1px solid var(--loom-line);border-radius:12px;background:#fafafa}.home-script-constraints label{display:grid;gap:7px;color:var(--loom-muted);font-size:12px}.home-script-constraints label.wide{grid-column:1 / -1}.home-script-constraints input,.home-script-constraints select{min-height:40px;padding:8px 10px;border:1px solid var(--loom-line);border-radius:9px;background:#fff;color:#27272a}.home-step-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.home-step-head>span{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:8px;background:#18181b;color:#fff;font-size:12px;font-weight:780}.home-step-head>div{display:grid;gap:3px}.home-step-head h2{margin:0;color:#18181b;font-size:18px;font-weight:760}.home-step-label{padding-top:4px}.home-step-label>span{color:#18181b;font-size:13px;font-weight:780}.home-group-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-field{display:grid;gap:7px}.home-field span,.tag-field-head span{color:#52525b;font-size:12px;font-weight:700}.home-field input{min-height:42px;padding:0 12px}.home-composer textarea{width:100%;min-height:252px;padding:12px}.home-setup-head{display:grid;gap:10px;padding-bottom:2px}.home-setup-head>div{display:grid;gap:4px}.home-setup-head h2{margin:0;color:#18181b;font-size:20px;font-weight:720}.home-setup-head>span{min-height:28px;display:inline-flex;align-items:center;color:var(--loom-muted);font-size:12px;font-weight:650;line-height:1.45}.home-group-note{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--loom-line);border-radius:8px;padding:12px;background:#fafafa;color:var(--loom-muted);font-size:13px;line-height:1.55}.home-group-note svg{flex:0 0 auto;margin-top:2px;color:var(--loom-green)}.home-group-note strong,.home-group-note span{display:block}.home-group-note strong{color:var(--loom-text);font-weight:750}.tag-field{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa}.tag-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tag-field-head button{padding:0;border:0;background:transparent;color:#52525b;font-size:12px;font-weight:700;cursor:pointer}.tag-field-head button:disabled{color:#a1a1aa;cursor:default}.style-package-head-actions{display:inline-flex;align-items:center;gap:8px}.tag-field-head .style-package-create-button{padding:0 8px;border:1px solid #18181b;border-radius:6px;background:#18181b;color:#fff;line-height:26px}.style-tag-groups{min-width:0;display:grid;gap:8px}.style-tag-groups section{display:grid;gap:6px}.style-tag-groups strong{color:var(--loom-faint);font-size:11px;font-weight:700}.style-tags,.tag-row,.tabs,.generation-actions,.chapter-row-actions,.params-bar{display:flex;flex-wrap:wrap;gap:8px}.home-start-form button[type=submit]{width:100%;min-height:42px}.style-tags button,.tag-row span,.project-tile span,.chapter-card span,.stage-badge{min-height:26px;display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:650}.style-tags button{padding:0 10px;border:1px solid var(--loom-line);background:var(--loom-surface);color:#3f3f46}.style-tags button.active,.tabs button.active{border-color:#18181b;background:#18181b;color:#fafafa}.setting-package-picker,.style-package-showcase{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa}.setting-package-list,.style-package-list{max-height:170px;overflow:auto;display:grid;gap:7px}.setting-package-option{width:100%;min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--loom-line);border-radius:8px;background:var(--loom-surface);color:#3f3f46;text-align:left;cursor:pointer}.setting-package-option-with-preview{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:4px;cursor:default}.setting-package-option.active{border-color:#18181b;background:#18181b;color:#fafafa}.setting-package-select{min-width:0;min-height:38px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}.setting-package-select:hover{background:#18181b0d}.setting-package-option.active .setting-package-select:hover{background:#ffffff1a}.setting-package-preview-button{min-height:34px;align-self:center;padding:0 10px;border:1px solid #d4d4d8;border-radius:6px;background:#fff;color:#18181b;font-size:12px;font-weight:750;cursor:pointer}.setting-package-preview-button:hover{border-color:#a1a1aa;background:#f4f4f5}.setting-package-option.active .setting-package-preview-button{border-color:#fff;background:#fff;color:#18181b}.setting-package-option svg{color:currentColor}.setting-package-option span,.style-package-option span{min-width:0;display:grid;gap:3px}.setting-package-option strong,.setting-package-option small,.style-package-option strong,.style-package-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-package-option strong,.style-package-option strong{font-size:13px;font-weight:750}.setting-package-option small,.style-package-option small{color:currentColor;opacity:.68;font-size:12px;font-weight:600}.style-package-option{width:100%;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:9px 10px;border:1px solid var(--loom-line);border-radius:8px;background:var(--loom-surface);color:#3f3f46;font:inherit;text-align:left;cursor:pointer}.style-package-option-with-preview{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px;cursor:default}.style-package-select{min-width:0;min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:7px 6px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.style-package-select:hover{background:#18181b0d}.style-package-option.active .style-package-select:hover{background:#ffffff1a}.style-package-preview-button{min-height:34px;align-self:center;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #d4d4d8;border-radius:6px;background:#fff;color:#18181b;font-size:12px;font-weight:750;cursor:pointer}.style-package-preview-button:hover{border-color:#a1a1aa;background:#f4f4f5}.style-package-option.active .style-package-preview-button{border-color:#fff;background:#fff;color:#18181b}.style-package-option svg{margin-top:2px;color:currentColor}.style-package-preview-button svg{margin-top:0}.style-package-option:hover{border-color:#cbd5e1;background:#fff}.style-package-option.active{border-color:#18181b;background:#18181b;color:#fafafa}.setting-package-helper{margin:0;color:var(--loom-muted);font-size:12px;font-weight:650;line-height:1.4}.setting-package-helper-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.setting-package-helper-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-package-helper-row button{flex:0 0 auto;padding:0;border:0;background:transparent;color:#2563eb;font:inherit;font-size:12px;font-weight:760;cursor:pointer}.home-style-package-overlay{position:fixed;inset:0;z-index:1160;display:grid;place-items:center;padding:24px;background:#18181b73;backdrop-filter:blur(4px)}.home-style-package-dialog{position:relative;width:min(720px,100%);max-height:min(820px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--loom-line);border-radius:8px;background:var(--loom-surface);box-shadow:0 24px 72px #18181b2e}.home-style-package-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--loom-line)}.home-style-package-dialog-head h2{margin:2px 0 0;color:#09090b;font-size:21px;font-weight:720;letter-spacing:0}.home-style-package-dialog-head button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--loom-line);border-radius:8px;background:#fff;color:#52525b;cursor:pointer}.home-style-package-dialog-head button:disabled{color:#a1a1aa;cursor:default}.home-style-package-form{min-height:0;overflow:auto;display:grid;gap:14px;padding:18px 20px 20px}.home-style-package-form textarea{width:100%;min-height:170px;padding:10px;border:1px solid var(--loom-line);border-radius:7px;background:#fff;color:var(--loom-text);font:inherit;font-size:13px;line-height:1.55;resize:vertical;outline:0}.home-style-package-form textarea:disabled{background:#f4f4f5;color:#a1a1aa}.home-style-package-visibility,.home-style-package-file{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--loom-line);border-radius:7px;background:#fff;color:#3f3f46;font-size:13px;font-weight:650}.home-style-package-file{cursor:pointer}.home-style-package-file input[type=file]{display:none}.home-style-package-success{margin:0;padding:9px 11px;border-radius:8px;background:#ecfdf5;color:#047857;font-size:13px;font-weight:650}.home-style-package-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.home-style-package-preview-dialog{width:min(780px,100%)}.home-style-package-preview-body{min-height:0;overflow:auto;display:grid;gap:14px;padding:18px 20px 20px}.home-style-package-preview-state{min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--loom-muted);font-size:13px;font-weight:650}.home-style-package-preview-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--loom-muted);font-size:12px;font-weight:700}.home-style-package-preview-meta span+span:before{content:"/";margin-right:6px;color:#d4d4d8}.home-style-package-preview-description{margin:0;color:#3f3f46;font-size:13px;font-weight:600;line-height:1.6}.home-style-package-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.home-style-package-preview-grid div,.home-style-package-preview-rules section,.home-style-package-preview-cards article{min-width:0;display:grid;gap:6px;padding:12px;border:1px solid var(--loom-line);border-radius:8px;background:#fff}.home-style-package-preview-grid span,.home-style-package-preview-cards span{color:var(--loom-muted);font-size:12px;font-weight:650;line-height:1.45}.home-style-package-preview-grid strong,.home-style-package-preview-cards strong{color:#18181b;font-size:13px;font-weight:740;line-height:1.55}.home-style-package-preview-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.home-style-package-preview-rules h3{margin:0;color:#18181b;font-size:13px;font-weight:740}.home-style-package-preview-rules p{margin:0;color:#52525b;font-size:13px;font-weight:600;line-height:1.6}.home-style-package-preview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.home-style-package-working{position:absolute;inset:0;z-index:2;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;background:#ffffffd1;color:#52525b;text-align:center;backdrop-filter:blur(3px)}.home-style-package-working strong{color:#18181b;font-size:16px;font-weight:720}.home-style-package-working span{max-width:280px;color:var(--loom-muted);font-size:13px;line-height:1.55}.home-style-package-spin{animation:spin .9s linear infinite}@media(max-width:860px){.home-start-form,.home-group-fields{grid-template-columns:1fr}.home-setup-panel{position:static;max-height:none;overflow:visible}.home-setup-scroll{overflow:visible}}@media(max-width:560px){.home-worldview-sources,.home-script-spec-grid,.home-script-constraints{grid-template-columns:1fr}.home-script-constraints label.wide{grid-column:auto}.home-footer{flex-wrap:wrap;gap:4px 10px;text-align:center}}.script-workspace-page{height:100%;min-height:0;grid-template-columns:minmax(0,1fr);background:var(--loom-surface);color:var(--loom-text);overflow:hidden}.script-workspace-page:has(>.comment-panel){grid-template-columns:minmax(0,1fr) var(--workspace-context-width)}.script-workspace-page:has(>.comment-panel.collapsed){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.script-workspace-document{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.script-workspace-body{min-height:0;padding:24px 30px 36px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--loom-surface)}.script-page-header{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:1180px;margin:0 auto 24px}.script-page-header>div:first-child{display:grid;gap:7px}.script-page-header p{margin:0;color:#71717a;font-size:12px;font-weight:760;letter-spacing:.12em}.script-page-header h1{margin:0;font-size:clamp(26px,3vw,38px);letter-spacing:-.035em}.script-page-header span{max-width:720px;color:#71717a;line-height:1.65}.script-link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 14px;border:1px solid #d4d4d8;border-radius:7px;background:#fff;color:#27272a;font-size:14px;font-weight:600;text-decoration:none}.script-link-button:hover{background:#f4f4f5}.script-inline-message{display:flex;align-items:center;gap:9px;max-width:1180px;margin:0 auto 18px;padding:11px 14px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa;color:#52525b;font-size:13px}.script-inline-message.is-error{border-color:#efcaca;background:#fff3f3;color:#9b3535}.script-inline-message.is-success{border-color:#d4d4d8;background:#fafafa;color:#3f3f46}.script-page-state{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:min(100%,760px);margin:0 auto}.script-page-state>button{margin-left:auto}.script-spin{animation:spin .9s linear infinite}.script-panel,.script-card{border:1px solid #e4e4e7;border-radius:8px;background:#fff;box-shadow:none}.script-panel{max-width:1180px;margin:0 auto 18px;padding:22px}.script-panel-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}.script-panel-head h2,.script-card h2,.script-card h3{margin:0}.script-panel-head p,.script-card p{margin:5px 0 0;color:#71717a;line-height:1.55}.script-panel-actions{display:flex;gap:8px;flex-wrap:wrap}.script-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.script-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.script-field{display:grid;gap:7px;min-width:0}fieldset.script-field{margin:0;padding:0;border:0}.script-field.wide{grid-column:1 / -1}.script-field>span,.script-field>legend{padding:0;color:#52525b;font-size:12px;font-weight:720}.script-field small{color:#71717a;line-height:1.45}.script-field input,.script-field select,.script-field textarea{width:100%;min-width:0;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#27272a;font:inherit}.script-field input,.script-field select{min-height:42px;padding:8px 10px}.script-field textarea{min-height:105px;padding:10px 12px;resize:vertical;line-height:1.6}.script-field textarea.script-editor{min-height:540px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.script-field input:disabled,.script-field select:disabled,.script-field textarea:disabled{background:#f4f4f5;color:#71717a}.script-content-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;max-width:1180px;margin:0 auto}.script-list-panel{align-self:start;position:sticky;top:20px;padding:12px}.script-list-panel header{padding:8px 8px 12px}.script-list-panel h2{margin:0;font-size:16px}.script-list{display:grid;gap:7px;max-height:calc(100vh - 230px);overflow:auto}.script-list button{display:grid;gap:3px;width:100%;padding:10px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#3f3f46;text-align:left}.script-list button:hover{background:#f4f4f5}.script-list button.active{border-color:#d4d4d8;background:#f4f4f5;color:#18181b}.script-list button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-list button small{color:#71717a}.script-card{padding:20px}.script-empty{display:grid;place-items:center;gap:9px;min-height:220px;padding:28px;text-align:center;color:#71717a}.script-empty strong{color:#3f3f46}.script-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.script-character-card{display:grid;gap:13px;padding:18px}.script-card-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:3px 8px;border-radius:999px;background:#f4f4f5;color:#52525b;font-size:11px;font-weight:750}.script-order-actions{display:flex;gap:6px}.script-export-content{min-height:420px;max-height:65vh;overflow:auto;margin:0;padding:20px;border-radius:10px;background:#18181b;color:#f4f4f5;white-space:pre-wrap;font:14px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace}.script-summary-strip{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.script-summary-strip span{padding:7px 10px;border-radius:999px;background:#f4f4f5;color:#52525b;font-size:12px}.script-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.script-review-field{min-width:0;display:grid;align-content:start;gap:7px;padding:14px 15px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa}.script-review-field.wide{grid-column:1 / -1}.script-review-field.compact{padding:0;border:0;background:transparent}.script-review-field>span{color:#71717a;font-size:12px;font-weight:720}.script-review-field p{margin:0;color:#27272a;font-size:14px;line-height:1.72;white-space:pre-wrap}.script-review-field .selectable-text{cursor:text}.script-character-card h3,.script-information-card h3{margin:8px 0 0;font-size:17px}.script-information-card{min-width:0}.script-information-review{display:grid;gap:15px}.script-info-flags{display:flex;flex-wrap:wrap;gap:7px}.script-info-flags span{padding:4px 8px;border-radius:999px;background:#f4f4f5;color:#71717a;font-size:11px;font-weight:650}.script-info-flags span.active{background:#e4e4e7;color:#27272a}.script-reveal-plan{display:grid;gap:8px;margin:0}.script-reveal-plan div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px}.script-reveal-plan dt{color:#71717a;font-size:12px}.script-reveal-plan dd{margin:0;color:#3f3f46;font-size:12px}.script-check-grid{display:flex;flex-wrap:wrap;gap:8px 14px}.script-check-grid>span{color:#a1a1aa;font-size:12px}.script-check-grid label{display:inline-flex;align-items:center;gap:5px;color:#52525b;font-size:13px}.script-check-grid input{width:auto;min-height:0}.script-annotation-head{display:grid;gap:3px}.script-annotation-head p,.script-annotation-head h2{margin:0}.script-workspace-page>.comment-panel .revise-button{width:100%;margin-top:auto}.script-character-arc-review{display:grid;gap:13px}.script-state-review{display:grid;gap:10px;margin:0}.script-state-review div{min-width:0;padding-top:9px;border-top:1px solid #f4f4f5}.script-state-review dt{margin:0 0 4px;color:#71717a;font-size:11px;font-weight:720}.script-state-review dd{margin:0;color:#27272a;font-size:13px;line-height:1.65;white-space:pre-wrap}.script-episode-document{width:min(100%,960px);margin:0 auto}.script-document-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,34%);gap:28px;padding:6px 0 24px;border-bottom:1px solid #e4e4e7}.script-document-head h1{margin:3px 0 7px;color:#09090b;font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:-.025em}.script-document-head p{margin:0;color:#71717a;font-size:13px}.script-document-eyebrow{color:#71717a;font-size:11px;font-weight:760;letter-spacing:.08em}.script-document-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-self:end;margin:0}.script-document-metadata div{min-width:0;padding:10px 11px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa}.script-document-metadata dt{color:#71717a;font-size:10px;font-weight:700}.script-document-metadata dd{margin:3px 0 0;overflow:hidden;color:#27272a;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.script-document-section{padding:26px 0;border-bottom:1px solid #e4e4e7}.script-document-section>h2{margin:0 0 16px;color:#27272a;font-size:15px;font-weight:720}.script-beat-list{display:grid;gap:0;margin:0 0 16px;padding:0;list-style:none}.script-beat-list li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid #f4f4f5}.script-beat-list li>span{color:#a1a1aa;font:600 11px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.script-beat-list p{margin:0;color:#27272a;font-size:14px;line-height:1.7}.script-scene-directory{display:grid;gap:8px}.script-scene-directory-group{min-width:0;display:grid;gap:3px}.script-scene-episode-button{min-width:0;min-height:38px;display:flex;align-items:center;gap:8px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:#3f3f46;text-align:left}.script-scene-episode-button:hover,.script-scene-episode-button.active{background:#f4f4f5;color:#18181b}.script-scene-sidebar-nav{margin-left:14px;padding-left:8px;border-left:1px solid #e4e4e7}.script-scene-sidebar-nav button{min-height:34px}.script-scene-directory-empty{margin:2px 0 3px 31px;color:#a1a1aa;font-size:11px}@media(max-width:900px){.script-content-layout{grid-template-columns:1fr}.script-list-panel{position:static}.script-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));max-height:none}.script-form-grid.three{grid-template-columns:1fr 1fr}.script-workspace-page:has(>.comment-panel){grid-template-columns:minmax(0,1fr);overflow:auto}.script-workspace-page>.comment-panel{min-height:360px;border-top:1px solid var(--loom-line);border-left:0}.script-document-head{grid-template-columns:1fr;gap:14px}}@media(max-width:620px){.script-workspace-body{padding:16px 14px 42px}.script-page-header{align-items:start;flex-direction:column}.script-form-grid,.script-form-grid.three{grid-template-columns:1fr}.script-field.wide{grid-column:auto}.script-review-grid{grid-template-columns:1fr}.script-review-field.wide{grid-column:auto}.script-workspace-document{overflow:visible}.script-document-metadata{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,#ffffffc2,#fafafaf0),var(--loom-panel)}.auth-brand{position:fixed;top:24px;left:24px;min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--loom-line);border-radius:8px;background:#fff;color:#18181b;font-size:13px;font-weight:750;text-decoration:none}.auth-brand img{width:18px;height:18px;display:block;-o-object-fit:contain;object-fit:contain}.auth-panel{width:min(420px,100%);display:grid;gap:18px}.auth-copy{display:grid;gap:8px;text-align:center}.auth-copy h1{margin:0;color:#09090b;font-size:34px;font-weight:720;line-height:1.08;letter-spacing:0}.auth-form{display:grid;gap:12px;padding:16px;border:1px solid var(--loom-line);border-radius:12px;background:var(--loom-surface);box-shadow:0 1px 2px #18181b0d,0 24px 80px #18181b14}.auth-form label{display:grid;gap:7px;color:#3f3f46;font-size:13px;font-weight:650}.auth-form input{min-height:42px;padding:0 12px}.password-rules{display:grid;gap:5px;margin:-2px 0 0;padding:0;list-style:none}.password-rules li,.auth-hint{margin:0;color:var(--loom-muted);font-size:12px;font-weight:600;line-height:1.45}.password-rules li:before{content:"·";margin-right:6px;color:var(--loom-faint)}.password-rules li.done{color:var(--loom-green)}.password-rules li.done:before{content:"✓";color:var(--loom-green)}.auth-hint.error{color:#b91c1c}.auth-form button[type=submit]{width:100%}.auth-switch{margin:0;color:var(--loom-muted);font-size:13px;font-weight:600;text-align:center}.auth-switch a{display:inline-flex;align-items:center;gap:4px;color:#18181b;font-weight:750}.project-group-page{height:100vh;min-width:0;display:grid;grid-template-columns:var(--workspace-rail-width) minmax(0,1fr);overflow:hidden;background:#fff;color:var(--loom-text)}.project-group-page *,.project-group-page *:before,.project-group-page *:after{box-sizing:border-box}.project-group-page a{text-decoration:none}.project-group-rail{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--loom-line);background:#fbfbfb}.project-group-rail-head{min-width:0;min-height:60px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:11px 10px;border-bottom:1px solid #ececef}.project-group-home-link{width:28px;height:28px;display:grid;place-items:center}.project-group-home-link img{width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain}.project-group-rail-summary{min-width:0;display:grid;gap:2px}.project-group-rail-summary small,.project-group-rail-summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-group-rail-summary small{color:#a1a1aa;font-size:10px;font-weight:700}.project-group-rail-summary strong{color:#18181b;font-size:13px;font-weight:760}.project-group-rail-scroll{min-height:0;flex:1 1 auto;display:grid;align-content:start;gap:10px;padding:10px 8px 14px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.project-group-back-link,.project-group-sidebar a,.project-group-creation-link{min-width:0;min-height:34px;display:flex;align-items:center;gap:9px;border-radius:7px;padding:0 9px;color:#71717a;font-size:12px;font-weight:680}.project-group-back-link{border:1px solid var(--loom-line);background:#fff;color:#3f3f46}.project-group-back-link:hover,.project-group-sidebar a:hover,.project-group-creation-link:hover{background:#f4f4f5;color:#18181b}.project-group-sidebar{min-width:0;display:grid;gap:14px}.project-group-sidebar nav{display:grid;gap:2px}.project-group-sidebar a{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto}.project-group-sidebar a[aria-current=page]{background:var(--loom-subtle);color:#09090b}.project-group-sidebar a[aria-current=page]:before{position:absolute;top:8px;bottom:8px;left:0;width:3px;border-radius:999px;background:#18181b;content:""}.project-group-sidebar a>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-group-sidebar a small{min-width:19px;min-height:19px;display:inline-grid;place-items:center;border-radius:999px;padding:0 5px;background:#e4e4e7;color:#52525b;font-size:10px;font-weight:760}.project-group-sidebar-role{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--loom-line);padding:12px 9px 0}.project-group-sidebar-role span{color:var(--loom-muted);font-size:11px;font-weight:680}.project-group-sidebar-role strong{color:#3f3f46;font-size:11px;font-weight:760}.project-group-rail-footer{min-width:0;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:9px 8px 10px;border-top:1px solid var(--loom-line);background:#fbfbfbf5}.project-group-creation-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-group-main{min-width:0;min-height:0;padding:24px clamp(22px,3vw,38px) 48px;overflow:auto;background:#fff}.project-group-mobile-identity{display:none}.project-group-state{min-height:116px;display:flex;align-items:center;gap:12px;padding:20px 0;border-block:1px solid var(--loom-line);color:#52525b}.project-group-state>div{min-width:0;flex:1 1 auto;display:grid;gap:4px}.project-group-state strong{color:#18181b;font-size:14px}.project-group-state span{color:var(--loom-muted);font-size:13px}.project-group-state.is-error,.project-group-state.is-error strong,.project-group-state.is-error span{color:#b91c1c}.project-group-content{min-width:0;min-height:420px;overflow-x:clip}.project-group-page a:focus-visible,.project-group-page button:focus-visible,.project-group-page input:focus-visible,.project-group-page select:focus-visible,.project-group-page textarea:focus-visible{outline:3px solid rgb(37 99 235 / 28%);outline-offset:2px}@media(max-width:760px){.project-group-page{grid-template-columns:var(--workspace-rail-collapsed-width) minmax(0,1fr)}.project-group-rail-head{grid-template-columns:1fr;justify-items:center;padding-inline:6px}.project-group-rail-summary,.project-group-back-link span,.project-group-sidebar a>span,.project-group-sidebar a small,.project-group-sidebar-role,.project-group-creation-link span{display:none}.project-group-rail-scroll{padding-inline:6px}.project-group-back-link,.project-group-sidebar a,.project-group-creation-link{width:36px;min-width:36px;justify-content:center;padding:0}.project-group-sidebar a{grid-template-columns:1fr;justify-items:center}.project-group-rail-footer{grid-template-columns:1fr;justify-items:center;padding-inline:6px}.project-group-main{padding:20px 16px 36px}.project-group-mobile-identity{min-width:0;display:grid;gap:2px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--loom-line)}.project-group-mobile-identity small{color:var(--loom-faint);font-size:10px;font-weight:720}.project-group-mobile-identity strong{min-width:0;overflow:hidden;color:#18181b;font-size:16px;font-weight:760;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}}.project-group-view{width:min(100%,960px);max-width:100%;min-width:0;display:grid;gap:24px}.project-group-view-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--loom-line)}.project-group-view-header>div{min-width:0}.project-group-view-kicker{margin:0 0 6px;color:var(--loom-green);font-size:11px;font-weight:760;letter-spacing:.08em}.project-group-view-header h1,.project-group-view-header h2{margin:0;color:#18181b;font-size:clamp(22px,3vw,28px);line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}.project-group-view-header p:last-child{max-width:680px;margin:8px 0 0;color:var(--loom-muted);font-size:13px;line-height:1.65}.project-group-view-section{min-width:0;border-top:1px solid var(--loom-line);padding-top:20px}.project-group-view-empty{margin:0;border:1px dashed var(--loom-line-strong);border-radius:12px;padding:18px;color:var(--loom-muted);font-size:13px;line-height:1.6}@media(max-width:640px){.project-group-view{gap:18px}.project-group-view-header{min-width:0;gap:16px;padding-bottom:16px}.project-group-view-header>div,.project-group-view-header h1,.project-group-view-header h2,.project-group-view-header p{min-width:0;overflow-wrap:anywhere}}.project-shell{width:100%;height:100vh;display:grid;grid-template-rows:minmax(0,1fr);margin:0;border:0;border-radius:0;background:var(--loom-panel);box-shadow:none;overflow:hidden}.project-shell.job-stream-shell{grid-template-rows:auto minmax(0,1fr)}.project-shell.chapter-workspace-shell .project-body{grid-template-columns:var(--workspace-rail-width) minmax(0,1fr)}.project-shell.chapter-workspace-shell .project-main{overflow:hidden;padding:0}.stage-track{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}.stage-track::-webkit-scrollbar{display:none}.stage-transition-error{margin:6px 0 0;color:#dc2626;font-size:12px;font-weight:600;line-height:1.4}.stage-step{min-width:0;width:100%;min-height:34px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:0 6px 0 0;border:0;border-radius:7px;background:transparent;color:#71717a;font:inherit;text-align:left}.stage-gap{min-height:10px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:stretch;-moz-column-gap:8px;column-gap:8px;padding-right:6px}.stage-gap.has-control{min-height:40px}.stage-connector{grid-column:1;grid-row:1;width:1px;height:auto;justify-self:center;background:#d4d4d8}.stage-gap.done .stage-connector{background:#71717a}.stage-transition-button,.stage-rollback-button{z-index:1;grid-column:2;grid-row:1;align-self:center;justify-self:start}.stage-transition-button{position:static;width:92px;min-width:92px;height:28px;justify-content:space-between;gap:4px;padding:0 10px;border-color:#18181b!important;border-radius:7px;background:#18181b!important;color:#fafafa!important;opacity:1!important;box-shadow:none}.stage-transition-button:disabled{border-color:#e4e4e7!important;background:#f4f4f5!important;color:#a1a1aa!important;opacity:1!important;box-shadow:none}.stage-step span{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4d4d8;border-radius:999px;background:var(--loom-surface);color:#71717a;font-size:9px;font-weight:700}.stage-step small{min-width:0;overflow:hidden;font-size:12px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.stage-step.done,.stage-step.active{color:#18181b}.stage-step.done span{border-color:#6b7280;background:#18181b;color:#fff}.stage-step.active span{border-color:#3f3f46;background:#52525b;color:#fff;box-shadow:0 0 0 3px #f4f4f5,0 6px 10px #18181b1a}.stage-step.active small{color:#18181b;font-size:12px;font-weight:700}.stage-step.active{background:#f1f1f3}.stage-step.clickable{cursor:pointer}.stage-step.clickable:hover span{border-color:#3f3f46}.stage-step.clickable:hover{background:#f4f4f5}.stage-step.current span{border-color:#a1a1aa;background:#e4e4e7;color:#52525b}.stage-step.current small{color:#52525b}.stage-rollback-button{position:static;width:92px;min-width:92px;height:28px;justify-content:space-between;gap:4px;padding:0 10px;border:1px solid #d4d4d8!important;border-radius:7px;background:#fff!important;color:#52525b!important;opacity:1!important;box-shadow:none;margin-right:0}.stage-rollback-button:hover:not(:disabled){border-color:#a1a1aa!important;background:#f4f4f5!important;color:#18181b!important}.stage-rollback-button:disabled{border-color:#e4e4e7!important;background:#f4f4f5!important;color:#a1a1aa!important;opacity:1!important}.job-billing-link{min-width:0;max-width:210px;min-height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 7px;border:1px solid var(--loom-line);border-radius:7px;background:var(--loom-surface);color:#3f3f46;font-size:10px;font-weight:740;text-decoration:none}.job-billing-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-billing-link.is-low{border-color:#f0c98b;background:#fff7e6;color:#9a5707}.job-billing-link:hover{border-color:var(--loom-line-strong);background:var(--loom-subtle)}.job-billing-link.is-low:hover{border-color:#e6a84f;background:#fff1d6;color:#854d0e}.billing-badge{min-width:-moz-max-content;min-width:max-content;padding:3px 8px;border:1px solid var(--loom-line);border-radius:999px;background:var(--loom-surface);color:#2563eb;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s,border-color .15s}.billing-badge:hover{background:#eef2ff;border-color:#c7d2fe}.chapter-context-menu{position:relative;flex:0 0 auto}.chapter-context-trigger{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--loom-line);border-radius:8px;background:#fff;color:#3f3f46;cursor:pointer;box-shadow:0 1px 2px #18181b0a;transition:background .15s,border-color .15s,color .15s}.chapter-context-trigger:hover,.chapter-context-trigger[aria-expanded=true]{border-color:var(--loom-line-strong);background:#fafafa;color:#18181b}.chapter-context-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:220px;overflow:hidden;border:1px solid var(--loom-line);border-radius:8px;background:#fff;box-shadow:0 18px 48px #18181b29}.chapter-context-title{padding:12px 12px 8px;border-bottom:1px solid var(--loom-line);color:#18181b;font-size:12px;font-weight:780}.chapter-context-list{display:grid;padding:6px}.chapter-context-item{min-height:36px;display:flex;align-items:center;gap:8px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:#3f3f46;font:inherit;font-size:13px;font-weight:680;text-align:left;text-decoration:none;cursor:pointer}.chapter-context-item:hover{background:#f4f4f5;color:#18181b}.project-body{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:var(--workspace-rail-width) minmax(0,1fr);margin:0;border:0;border-radius:0;box-shadow:none;transition:grid-template-columns var(--motion-duration-slow) var(--motion-ease-standard)}.project-body:has(.project-sidebar.collapsed){grid-template-columns:var(--workspace-rail-collapsed-width) minmax(0,1fr)}.project-sidebar.collapsed{width:var(--workspace-rail-collapsed-width)}.project-main{position:relative;min-width:0;min-height:0;border-radius:0;box-shadow:none}.workspace-route-view{width:100%;height:100%;min-width:0;min-height:0}.sidebar-utility-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:2px 0 4px}.sidebar-utility-spacer{min-width:0;flex:1 1 auto}.project-parent-link{min-width:0;min-height:26px;flex:1 1 auto;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--loom-line);border-radius:7px;background:#fff;color:#3f3f46;font-size:12px;font-weight:740;line-height:1;text-decoration:none}.project-parent-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-parent-link:hover{border-color:var(--loom-line-strong);background:#f4f4f5;color:#18181b}.project-sidebar.collapsed .project-parent-link,.project-sidebar.collapsed .sidebar-utility-spacer,.project-sidebar.collapsed .nav-label,.project-sidebar.collapsed .sidebar-section-label,.project-sidebar.collapsed .chapter-sidebar-copy,.project-sidebar.collapsed .creation-center-link span,.project-sidebar.collapsed .job-billing-link span{display:none}.project-sidebar.collapsed .project-nav a,.project-sidebar.collapsed .project-nav button,.project-sidebar.collapsed .workspace-rail-link{justify-content:center;padding:0}.project-sidebar.collapsed .stage-step{grid-template-columns:1fr;justify-items:center;padding:0}.project-sidebar.collapsed .stage-step small,.project-sidebar.collapsed .stage-action-label{display:none}.project-sidebar.collapsed .stage-gap{grid-template-columns:1fr;padding-right:0}.project-sidebar.collapsed .stage-gap.has-control{min-height:34px}.project-sidebar.collapsed .stage-connector{grid-column:1;justify-self:center}.project-sidebar.collapsed .stage-transition-button,.project-sidebar.collapsed .stage-rollback-button{grid-column:1;width:26px;min-width:26px;height:26px;justify-self:center;justify-content:center;gap:0;padding:0;border-radius:7px}.project-sidebar.collapsed .project-nav a svg,.project-sidebar.collapsed .project-nav button svg{margin:0}.project-sidebar-section{min-width:0;display:grid;gap:4px}.project-stage-section{padding:2px 0 10px;border-bottom:1px solid #ececef}.project-stage-section>.sidebar-section-label{margin-left:0}.project-context-section{margin-top:6px;padding-top:10px;border-top:1px solid #ececef}.project-sidebar.collapsed .project-sidebar-section{width:100%}.sidebar-section-label{margin:0 10px 2px;color:#a1a1aa;font-size:11px;font-weight:760;line-height:1.2}.nav-label{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-attention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;flex:0 0 auto;padding:1px 5px;border:1px solid #fff;border-radius:999px;background:#fef2f2;color:#dc2626;box-shadow:0 0 0 2px #dc262614;font-size:10px;font-weight:700;line-height:1.2}.project-sidebar.collapsed .nav-attention-badge{position:absolute;right:10px;top:7px;width:7px;height:7px;padding:0;border-radius:999px;background:#dc2626;color:transparent;font-size:0;box-shadow:0 0 0 2px #dc26261a}.project-main{min-width:0;min-height:0;overflow:auto;padding:18px 28px 28px}.project-shell.content-workspace-shell .project-main{padding:0;overflow:hidden;background:#fff}.project-shell.content-workspace-shell :where(.review-layout,.section-page.with-comments,.chapter-outline-page,.final-review-reader,.story-strategy-page){gap:0;background:#fff}.project-shell.content-workspace-shell :where(.section-main,.document-surface,.chapter-outline-document,.final-reader-surface,.timeline-area){border:0;border-radius:0;background:#fff;box-shadow:none}.project-shell.content-workspace-shell .section-main{padding:0 28px 32px}.project-shell.content-workspace-shell .section-main>.workspace-content-toolbar{margin:0 -28px 18px}.project-shell.content-workspace-shell :where(.comment-panel,.timeline-comment-panel){border:0;border-left:1px solid #e4e4e7;border-radius:0;background:#fafafa;box-shadow:none}.project-shell.content-workspace-shell :where(.comment-panel,.timeline-comment-panel).collapsed{border-left:1px solid #e4e4e7;border-radius:0;background:#fafafa;box-shadow:none}.project-chapter-section{padding-top:8px;border-top:1px solid #ececef}.chapter-sidebar-nav{overflow:visible}.chapter-sidebar-nav button{min-height:38px}.chapter-sidebar-nav button.active,.chapter-sidebar-nav button.router-link-exact-active{background:#f4f4f5;color:#18181b}.chapter-sidebar-nav button.done>svg{color:#047857}.chapter-sidebar-copy{min-width:0;display:grid;gap:1px}.chapter-sidebar-copy strong,.chapter-sidebar-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-sidebar-copy strong{color:inherit;font-size:11px;font-weight:750}.chapter-sidebar-copy small{color:#a1a1aa;font-size:10px;font-weight:620}.project-sidebar .workspace-rail-footer{position:relative;z-index:20;display:grid;gap:7px;background:#fbfbfbf5}.sidebar-account-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 6px}.creation-center-link{grid-column:1;grid-row:2;width:auto;min-width:0;min-height:36px;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 9px;border-radius:7px;color:#3f3f46;font-size:12px;font-weight:720;text-decoration:none}.creation-center-link span{min-width:0;display:inline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-row>.billing-badge{grid-column:1 / -1;grid-row:1;justify-self:start}.sidebar-account-row>.account-menu{grid-column:2;grid-row:2}.creation-center-link:hover{background:#f4f4f5;color:#18181b}.project-sidebar.collapsed .workspace-rail-footer{padding-inline:6px}.project-sidebar.collapsed .sidebar-account-row{display:grid;grid-template-columns:1fr;justify-items:center}.project-sidebar.collapsed .creation-center-link{grid-column:1;grid-row:auto;width:36px;flex:0 0 36px;justify-content:center;padding:0}.project-sidebar.collapsed .sidebar-account-row>.account-menu{grid-column:1;grid-row:auto}.project-sidebar.collapsed .billing-badge,.project-sidebar.collapsed .job-billing-link{display:none}.project-shell .chapter-outline-page:has(>.comment-panel),.project-shell .final-review-reader:has(>.comment-panel){grid-template-columns:minmax(0,1fr) var(--workspace-context-width)}.project-shell .chapter-outline-page:has(>.comment-panel.collapsed),.project-shell .final-review-reader:has(>.comment-panel.collapsed){grid-template-columns:minmax(0,1fr) auto}@media(max-width:900px){.project-shell .chapter-outline-page:has(>.comment-panel),.project-shell .final-review-reader:has(>.comment-panel),.project-shell .chapter-outline-page:has(>.comment-panel.collapsed),.project-shell .final-review-reader:has(>.comment-panel.collapsed){grid-template-columns:minmax(0,1fr);overflow:auto}}.project-context-page{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.project-context-page-body{min-height:0;overflow:auto}.section-head h2{margin:0;color:#09090b;font-size:20px;font-weight:680;line-height:1.25;letter-spacing:0}.section-head p{margin:4px 0 0;color:var(--loom-muted);font-size:13px}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--loom-subtle);color:#3f3f46;font-size:12px;font-weight:700}.job-status-bar{position:relative;z-index:3;width:100%;min-height:32px;height:32px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;box-sizing:border-box;margin:0;padding:0 12px;border:0;border-bottom:1px solid rgb(255 255 255 / 18%);border-radius:0;background:linear-gradient(110deg,#38bdf8,#818cf8 34%,#f472b6 68%,#f59e0b,#38bdf8);background-size:260% 100%;box-shadow:none;color:#fff;font-size:12px;font-weight:700;font-family:inherit;text-align:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:job-gradient-shift 5s ease-in-out infinite}.job-status-bar:hover{filter:brightness(1.05)}.job-status-bar:active{filter:brightness(.96)}.job-status-bar-slide-enter-active{transition:opacity var(--motion-duration-standard) var(--motion-ease-standard),transform var(--motion-duration-slow) var(--motion-ease-enter)}.job-status-bar-slide-leave-active{transition:none}.job-status-bar-slide-enter-from,.job-status-bar-slide-leave-to{opacity:0;transform:translateY(-8px)}.job-status-main{position:relative;z-index:1;min-width:0;max-width:min(52vw,720px);grid-column:2;justify-self:center;display:inline-flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;white-space:nowrap}.job-status-main>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-status-progress{position:relative;z-index:1;min-width:0;max-width:min(100%,420px);grid-column:3;justify-self:end;display:inline-flex;align-items:center;min-height:0;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;color:#ffffffc7}.job-spinner{animation:spin .85s linear infinite;color:#fffffff2}.job-status-progress-fade-enter-active,.job-status-progress-fade-leave-active{transition:opacity var(--motion-duration-standard) var(--motion-ease-standard),transform var(--motion-duration-standard) var(--motion-ease-standard)}.job-status-progress-fade-enter-from{opacity:0;transform:translateY(4px)}.job-status-progress-fade-leave-to{opacity:0;transform:translateY(-4px)}@keyframes job-gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:760px){.job-status-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:0 8px}.job-status-main{max-width:calc(100vw - 48px);justify-content:center}.job-status-progress{display:none}}.conversation-page,.chapter-generation-page{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);grid-template-rows:minmax(0,1fr) auto;gap:16px;overflow:hidden}.world-building-page{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.world-building-page .conversation-main{display:block;padding:0;overflow:auto}.world-building-page .conversation-main>*+*{margin-top:14px}.world-building-loading{min-height:min(520px,100%);display:grid;justify-items:center;align-content:center;gap:12px;padding:40px 20px;border:1px solid var(--loom-line);border-radius:8px;background:#fff;color:var(--loom-muted);text-align:center}.world-building-loading h3{margin:0;color:#52525b;font-size:15px;font-weight:650}.world-building-loading p{max-width:320px;margin:0;color:#a1a1aa;font-size:13px;line-height:1.5}.world-building-loading-spinner{color:var(--loom-blue, #3b82f6);animation:spin 1s linear infinite}.world-building-seed{display:grid;gap:8px;padding:16px 18px;border:1px solid var(--loom-line);border-radius:8px;background:#fff}.world-building-seed p{margin:0}.world-building-seed p:not(.kicker){color:#27272a;font-size:14px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}.world-building-stream-board{display:grid;gap:12px;padding:16px;border:1px solid #dbeafe;border-radius:8px;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),linear-gradient(120deg,#dbeafe,#dcfce7 45%,#fef3c7);box-shadow:0 10px 26px #0f172a0d}.world-stream-board-enter-active,.world-stream-board-leave-active{transition:opacity .26s ease,transform .28s cubic-bezier(.16,1,.3,1),filter .26s ease}.world-stream-board-enter-from,.world-stream-board-leave-to{opacity:0;filter:blur(3px);transform:translateY(12px) scale(.985)}.world-building-stream-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px}.world-building-stream-head h3{margin:2px 0 0;color:#18181b;font-size:16px;font-weight:720;line-height:1.35;overflow-wrap:anywhere}.world-building-stream-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#2563eb}.world-building-stream-count{padding:4px 8px;border:1px solid #e4e4e7;border-radius:999px;background:#fff;color:#52525b;font-size:12px;font-weight:700;white-space:nowrap}.world-building-stream-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.world-building-stream-section{min-width:0;display:grid;align-content:start;gap:10px;min-height:188px;padding:12px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;animation:world-stream-section-in .36s cubic-bezier(.16,1,.3,1) backwards}.world-building-stream-section:nth-child(2){animation-delay:45ms}.world-building-stream-section:nth-child(3){animation-delay:90ms}.world-building-stream-section:nth-child(4){animation-delay:135ms}.world-building-stream-section.active{border-color:#93c5fd;box-shadow:0 10px 22px #3b82f61a;transform:translateY(-1px)}.world-building-stream-section>header{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px}.world-building-stream-section h4{margin:0;color:#18181b;font-size:14px;font-weight:720;line-height:1.25}.world-building-stream-section header span{color:#71717a;font-size:12px}.world-building-stream-section-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#f4f4f5;color:#52525b}.world-building-stream-section.stream-characters .world-building-stream-section-icon{background:#ecfeff;color:#0891b2}.world-building-stream-section.stream-world-rules .world-building-stream-section-icon{background:#eff6ff;color:#2563eb}.world-building-stream-section.stream-terminology .world-building-stream-section-icon{background:#f0fdf4;color:#16a34a}.world-building-stream-section.stream-truth .world-building-stream-section-icon{background:#fff7ed;color:#ea580c}.world-building-stream-spin{color:#3b82f6;animation:spin 1s linear infinite}.world-building-stream-items{display:grid;gap:8px}.world-building-stream-item{min-width:0;padding:10px;border:1px solid #eef2f7;border-radius:8px;background:#fafafa;animation:world-stream-rise .26s ease-out both}.world-building-stream-item strong{display:block;color:#27272a;font-size:13px;font-weight:720;line-height:1.4;overflow-wrap:anywhere}.world-building-stream-item p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;overflow:hidden;color:#71717a;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.world-building-stream-placeholder{display:grid;gap:8px;padding-top:6px}.world-building-stream-placeholder span{height:32px;border-radius:8px;background:linear-gradient(90deg,#f4f4f5,#e4e4e7,#f4f4f5);background-size:220% 100%;animation:world-stream-skeleton 1.6s ease-in-out infinite}.world-building-stream-placeholder span:last-child{width:74%}.world-stream-item-enter-active,.world-stream-item-leave-active,.world-stream-item-move{transition:opacity .18s ease,transform .18s ease}.world-stream-item-enter-from,.world-stream-item-leave-to{opacity:0;transform:translateY(8px)}.world-stream-placeholder-enter-active,.world-stream-placeholder-leave-active{transition:opacity .18s ease,transform .18s ease}.world-stream-placeholder-enter-from,.world-stream-placeholder-leave-to{opacity:0;transform:translateY(6px)}@keyframes world-stream-section-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes world-stream-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes world-stream-skeleton{0%{background-position:120% 0}to{background-position:-120% 0}}.world-building-overview{display:flex;align-items:center;justify-content:flex-start;padding:0;border:1px solid var(--loom-line);border-radius:8px;background:#fff;overflow:hidden}.world-building-summary{width:100%;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:0;border-radius:0;background:#fff7ed;color:#9a3412;font-size:13px;font-weight:650}.world-building-summary span{min-width:0;overflow-wrap:anywhere}.world-building-summary.ready{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.world-building-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.world-building-stat-row div{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--loom-line);border-radius:8px;background:#fff}.world-building-stat-row span{color:#18181b;font-size:20px;font-weight:720;line-height:1}.world-building-stat-row small{color:var(--loom-muted);font-size:12px}.world-building-workbench{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;min-height:0}.world-building-card{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:flex-start;gap:12px;padding:16px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;color:inherit;text-decoration:none}.world-building-card:hover{border-color:#cbd5e1;background:#fafafa}.world-building-card.ready{border-color:#dcfce7}.world-building-card-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #e4e4e7;border-radius:8px;background:#f8fafc;color:#3f3f46}.world-building-card-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.world-building-card-title h3{margin:0;color:#09090b;font-size:16px;font-weight:700}.world-building-status{min-width:-moz-max-content;min-width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.world-building-status.pending-answer{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.world-building-status.pending-submit{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}.world-building-status.ready{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.world-building-status.waiting{border:1px solid #e4e4e7;background:#f4f4f5;color:#52525b}.world-building-card.ready .world-building-card-title span{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.world-building-card-body p{margin:7px 0 0;color:var(--loom-muted);font-size:13px;line-height:1.6}.world-building-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;color:#52525b;font-size:12px;font-weight:650}.world-building-card-meta span{padding:4px 7px;border-radius:6px;background:#f4f4f5}.world-building-card-arrow{margin-top:10px;color:#a1a1aa}.world-building-next-step{display:grid;grid-template-columns:minmax(max-content,auto) minmax(0,1fr);align-items:start;-moz-column-gap:12px;column-gap:12px;row-gap:4px;padding:12px 14px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa;color:var(--loom-muted);font-size:13px;line-height:1.55}.world-building-next-step strong{min-width:0;color:#18181b;line-height:1.55}.world-building-next-step span{min-width:0;overflow-wrap:break-word}@media(max-width:640px){.world-building-stream-head,.world-building-next-step{grid-template-columns:1fr}}@media(max-width:1040px){.world-building-stream-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.world-building-stream-grid{grid-template-columns:1fr}}.conversation-main{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden}.stage-line{display:flex;align-items:center;gap:10px;color:var(--loom-muted);font-size:13px}.stage-badge{padding:0 9px;border:1px solid var(--loom-line);background:var(--loom-surface);color:#27272a}.idea-collection-content,.conversation-stream,.chapter-generation-main,.chapter-generation-context,.chapter-outline-document,.comment-panel,.review-index,.document-surface,.final-reader-surface,.novel-page{min-height:0;overflow:auto}.idea-collection-content,.conversation-stream,.chapter-generation-main{display:grid;align-content:start;gap:14px;padding-right:4px}.ai-summary-card,.question-card,.message-card{width:min(100%,860px);padding:22px}.ai-summary-card h2,.question-card h2,.message-card h3,.doc-block h3,.content-list h3,.fact-list h3,.state-panel h3,.outline-card h3,.chapter-row h3{margin:0 0 10px;color:#18181b;font-size:17px;font-weight:650;line-height:1.35}.question-text{margin:0;white-space:pre-wrap;overflow-wrap:break-word}.question-text.muted{color:var(--loom-faint)}.next-step-card{text-align:center}.next-step-card .kicker{justify-content:center}.next-step-actions{display:flex;justify-content:center;margin-top:18px}.next-step-error{padding:12px 0 0}.message-body{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.chapter-generation-context{display:grid;align-content:start;gap:14px;padding:16px}.chapter-generation-context section{padding-bottom:14px;border-bottom:1px solid var(--loom-line)}.chapter-generation-context section:last-child{padding-bottom:0;border-bottom:0}.idea-info-list,.info-list{display:grid;gap:8px;margin:0}.idea-info-list div{display:grid;gap:3px;padding:10px;border:1px solid var(--loom-line);border-radius:9px;background:#fafafa}.idea-info-list dt,.info-list dt,.context-list p,.comment-item span,.content-list span,.fact-list span{color:var(--loom-muted);font-size:12px}.idea-info-list dd,.info-list dd{margin:0;color:var(--loom-text);font-size:13px;font-weight:650}.drawer-handle{position:fixed;top:50%;right:0;z-index:20;width:28px;min-height:92px;border:1px solid var(--loom-line);border-right:0;border-radius:8px 0 0 8px;background:var(--loom-surface);color:#27272a;writing-mode:vertical-rl;font-size:12px;font-weight:700}.drawer-handle svg{margin-bottom:6px}.drawer-backdrop{position:fixed;inset:0;z-index:30;background:#18181b33}.context-drawer{position:fixed;top:0;right:0;z-index:40;width:min(420px,92vw);height:100vh;overflow:auto;padding:22px;border-left:1px solid var(--loom-line);background:#fbfbfb;transform:translate(100%);transition:transform .18s ease}.context-drawer.open{transform:translate(0)}.drawer-head,.final-reader-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.drawer-head{margin-bottom:18px}.drawer-head h2{margin:0;font-size:22px;font-weight:680}.drawer-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.drawer-section{padding:16px;margin-bottom:12px;border:1px solid var(--loom-line);border-radius:12px;background:var(--loom-surface)}.drawer-section h3{margin:0 0 12px;font-size:15px;font-weight:650}.tag-row span{padding:0 9px;background:#ecfdf5;color:var(--loom-green)}.context-list{display:grid;gap:12px}.context-list article{padding-bottom:12px;border-bottom:1px solid var(--loom-line)}.context-list article:last-child{padding-bottom:0;border-bottom:0}.plain-list{margin:0;padding-left:18px}.discussion-reopen-fab{position:fixed;bottom:22px;right:22px;z-index:8000;display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #dbeafe;border-radius:999px;background:#fff;color:#2563eb;font-size:13px;font-weight:550;cursor:pointer;box-shadow:0 8px 22px #0f172a1f;transition:all .15s ease;white-space:nowrap}.discussion-reopen-fab:hover{background:#eff6ff;border-color:#bfdbfe;box-shadow:0 10px 26px #0f172a29;transform:translateY(-1px)}.discussion-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:stretch;justify-content:flex-end;padding:20px;pointer-events:none}.discussion-backdrop{position:absolute;inset:0;background:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none}.discussion-card{position:relative;z-index:1;display:flex;flex-direction:column;width:min(520px,calc(100vw - 40px));height:calc(100vh - 40px);max-height:none;border:1px solid var(--loom-line);border-radius:8px;background:var(--loom-surface);box-shadow:0 16px 48px #0f172a24,0 2px 10px #0f172a0f;overflow:hidden;pointer-events:auto}.discussion-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--loom-line);background:var(--loom-surface)}.discussion-header h3{margin:0;font-size:15px;font-weight:650;color:var(--loom-text)}.discussion-title-block{min-width:0}.discussion-topic-meta{display:block;margin-top:2px;font-size:12px;color:var(--loom-faint)}.discussion-header-actions{display:flex;align-items:center;gap:6px}.discussion-close-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--loom-line);border-radius:8px;background:transparent;color:var(--loom-muted);cursor:pointer;transition:all .15s ease}.discussion-close-btn:hover{background:var(--loom-subtle);color:var(--loom-text)}.discussion-overlay.fullscreen-overlay{z-index:10001;align-items:stretch;padding:0;pointer-events:auto}.discussion-overlay.fullscreen-overlay .discussion-backdrop{display:block}.discussion-card.fullscreen{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}.discussion-topic-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;border-bottom:1px solid var(--loom-line);background:#fff}.discussion-topic-pill{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:170px;padding:5px 7px;border:1px solid var(--loom-line);border-radius:8px;background:var(--loom-surface);color:var(--loom-muted);font-size:12px;white-space:nowrap;flex:0 0 auto;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.discussion-topic-pill:hover,.discussion-topic-pill.selected{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.discussion-topic-pill:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.discussion-topic-pill.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.discussion-topic-pill.decided{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.discussion-topic-status-dot{width:6px;height:6px;border-radius:50%;background:#94a3b8;flex:0 0 auto}.discussion-topic-pill.active .discussion-topic-status-dot{background:#2563eb}.discussion-topic-pill.decided .discussion-topic-status-dot{background:#16a34a}.discussion-topic-pill-text{overflow:hidden;text-overflow:ellipsis}.discussion-topic-status{display:none}.discussion-topic-waiting{flex:0 0 auto;padding:1px 5px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:700}.discussion-active-topic{display:grid;gap:5px;margin:10px 14px 0;padding:11px 12px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa}.discussion-active-topic-kicker{display:block;margin-bottom:4px;color:var(--loom-faint);font-size:12px}.discussion-active-topic strong{display:block;color:var(--loom-text);font-size:13px;line-height:1.45}.discussion-active-topic p{display:-webkit-box;margin:0;overflow:hidden;color:var(--loom-muted);font-size:12px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.discussion-suggestions{flex:0 0 auto;padding:10px 11px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa}.discussion-suggestions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.discussion-suggestions.expanded .discussion-suggestions-header{margin-bottom:8px}.discussion-suggestions-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--loom-muted)}.discussion-suggestions-toggle{padding:2px 8px;border:none;background:transparent;color:var(--loom-faint);font-size:11px;cursor:pointer;transition:color .12s ease}.discussion-suggestions-toggle:hover{color:var(--loom-muted)}.discussion-suggestions-grid{display:grid;grid-template-columns:1fr;gap:7px}.discussion-suggestion-card{display:flex;flex-direction:column;gap:8px;padding:9px 10px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa;cursor:pointer;transition:all .15s ease}.discussion-suggestion-card:hover{border-color:#bfdbfe;background:#eff6ff;box-shadow:none}.discussion-suggestion-card.selected{border-color:#93c5fd;background:#eff6ff}.discussion-suggestion-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;cursor:pointer}.discussion-suggestion-card input{width:15px;height:15px;margin-top:2px;accent-color:#2563eb}.discussion-suggestion-opinion{width:100%;min-height:54px;resize:vertical;padding:8px 9px;border:1px solid #bfdbfe;border-radius:6px;background:#fff;color:var(--loom-text);font-size:13px;line-height:1.45;outline:none}.discussion-suggestion-opinion:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #2563eb1a}.discussion-suggestion-body{display:grid;min-width:0;gap:3px}.discussion-suggestion-text{display:block;margin:0;font-size:13px;font-weight:550;color:var(--loom-text);line-height:1.5}.discussion-suggestion-reason{display:-webkit-box;margin:0;overflow:hidden;font-size:12px;color:var(--loom-faint);line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.discussion-messages{flex:1 1 auto;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px;min-height:0;background:#fff}.discussion-message{display:flex;max-width:100%}.discussion-message.user{align-self:flex-end}.discussion-message.assistant{align-self:stretch}.discussion-bubble{padding:9px 11px;border-radius:8px;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.discussion-message.user .discussion-bubble{max-width:min(86%,360px);background:#2563eb;color:#fff}.discussion-message.assistant .discussion-bubble{width:100%;background:#f8fafc;color:var(--loom-text);border:1px solid var(--loom-line)}.discussion-bubble-role{display:block;font-size:11px;font-weight:600;margin-bottom:4px;opacity:.7}.discussion-message.user .discussion-bubble-role{color:#fffc}.discussion-message.assistant .discussion-bubble-role{color:var(--loom-muted)}.discussion-loading{display:flex;align-items:center;gap:8px;padding:9px 11px;color:var(--loom-muted);font-size:13px;align-self:flex-start}.discussion-loading .spinner{animation:discussion-spin 1s linear infinite;color:#6366f1}.discussion-decided-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:0 14px 14px;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:14px;font-weight:550;align-self:stretch}.discussion-topic-closed-notice{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid #bbf7d0;background:#f0fdf4;color:#166534;font-size:13px;font-weight:650}.discussion-input-area{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-top:1px solid var(--loom-line);background:var(--loom-surface)}.discussion-input-area textarea{width:100%;min-height:42px;max-height:108px;padding:9px 11px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa;font-size:14px;line-height:1.55;color:var(--loom-text);resize:none;outline:none;transition:border-color .15s ease;font-family:inherit}.discussion-input-area textarea:focus{border-color:#93c5fd;background:var(--loom-surface)}.discussion-input-area textarea::-moz-placeholder{color:var(--loom-faint)}.discussion-input-area textarea::placeholder{color:var(--loom-faint)}.discussion-input-area textarea:disabled{opacity:.5;cursor:not-allowed}.discussion-input-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.discussion-cancel-discussion-btn{margin-right:auto;border-color:transparent!important;background:transparent!important;color:#b91c1c!important}.discussion-cancel-discussion-btn:hover{background:#fef2f2!important;border-color:#fecaca!important}.discussion-error{padding:8px 20px;color:#dc2626;font-size:12px;background:#fef2f2;border-top:1px solid #fecaca}.discussion-fade-enter-active{transition:opacity .25s ease}.discussion-fade-leave-active{transition:opacity .2s ease}.discussion-fade-enter-from,.discussion-fade-leave-to{opacity:0}.discussion-fade-enter-active .discussion-card{animation:discussion-card-slide .28s cubic-bezier(.16,1,.3,1)}@keyframes discussion-spin{to{transform:rotate(360deg)}}@keyframes discussion-card-slide{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.review-layout,.chapter-outline-page,.final-review-reader{height:100%;min-height:0;display:grid;gap:0;overflow:visible;transition:grid-template-columns var(--motion-duration-slow) var(--motion-ease-standard)}.review-layout{grid-template-columns:minmax(154px,190px) minmax(0,1fr) var(--workspace-context-width)}.chapter-outline-page,.final-review-reader{grid-template-columns:minmax(0,1fr) var(--workspace-context-width)}.review-layout>.document-surface,.review-layout>.chapter-outline-document,.final-review-reader>*{min-height:0;overflow:auto}.review-layout>.document-surface{overflow:auto}.chapter-outline-page>.chapter-outline-document{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:0;border-radius:0;overflow:hidden}.chapter-outline-page{grid-template-columns:minmax(0,1fr) var(--workspace-context-width)}.review-layout:has(.comment-panel.collapsed),.final-review-reader:has(.comment-panel.collapsed){grid-template-columns:minmax(154px,190px) minmax(0,1fr) var(--workspace-context-collapsed-width)}.final-review-reader:has(.comment-panel.collapsed){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.chapter-outline-page:has(:where(.comment-panel.collapsed)){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.strategy-review-layout,.outline-review-layout{grid-template-columns:minmax(0,1fr) var(--workspace-context-width)}.strategy-review-layout:has(.comment-panel.collapsed),.outline-review-layout:has(.comment-panel.collapsed){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.review-index,.comment-panel{padding:20px 18px}.review-index{display:grid;align-content:start;gap:6px}.review-index a{padding:8px 10px;border-radius:7px;color:#52525b;font-size:13px;font-weight:600;text-decoration:none}.review-index a:hover{background:var(--loom-subtle);color:#09090b}.document-surface{padding:24px 30px}.outline-review-layout .document-surface{padding:0 30px 24px}.section-main>.workspace-content-toolbar,.document-surface>.workspace-content-toolbar,.final-reader-surface>.workspace-content-toolbar{position:sticky;top:0;z-index:8}.outline-review-layout .document-surface>.workspace-content-toolbar{margin:0 -30px 18px}.doc-block{padding:22px 0;border-top:1px solid var(--loom-line)}.outline-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.event-type-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:4px;background:#f4f4f5;color:#52525b;font-size:12px;font-weight:500;vertical-align:middle}.event-purpose{margin-top:8px;color:#71717a;font-size:14px;line-height:1.6}.outline-hero-block{display:grid;gap:8px;margin-bottom:20px;padding:16px 18px;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.outline-hero-block h3,.outline-section-head h3{margin:0;color:#09090b;font-size:16px;font-weight:700}.outline-hero-block p{margin:0;color:#27272a;font-size:15px;font-weight:600;line-height:1.7}.outline-change-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.outline-hero-block>.outline-change-heading{margin-bottom:0}.outline-change-heading>:is(h3,strong){min-width:0;margin:0}.outline-stream-sections{display:grid;gap:0}.outline-stream-sections .outline-hero-block{margin-bottom:0}.outline-empty{min-height:360px;display:grid;align-content:center;justify-items:center;gap:12px;padding:48px 24px;border:1px solid #e4e4e7;border-radius:8px;background:#fbfbfb;text-align:center}.outline-empty-icon{width:48px;height:48px;display:grid;place-items:center;border:2px dashed #d4d4d8;border-radius:8px;color:#a1a1aa}.outline-empty h3{margin:0;color:#52525b;font-size:15px;font-weight:650}.outline-empty p{max-width:320px;margin:0;color:#a1a1aa;font-size:13px;line-height:1.5}.outline-empty-spinner{color:var(--loom-blue, #3b82f6);animation:spin 1s linear infinite}.outline-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.outline-section-head .kicker{margin-right:auto}.outline-section-head span{color:var(--loom-faint);font-size:12px;font-weight:700}.outline-structure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.outline-card,.chapter-plan article,.chapter-row{padding:16px;border:1px solid var(--loom-line);border-radius:10px;background:#fafafa}.outline-review-layout .outline-card{padding:14px;border-radius:8px;background:#fff}.outline-review-layout .outline-card h3{font-size:14px}.outline-review-layout .outline-card p{color:#3f3f46;font-size:13px;line-height:1.65}.outline-card.lead{grid-column:1 / -1;background:var(--loom-surface)}.outline-card p,.chapter-plan p{margin:0}.outline-phase-section{display:grid;gap:10px}.outline-phase-timeline{display:grid;gap:8px}.outline-phase-card{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--loom-line);border-radius:8px;background:#fff}.outline-phase-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.outline-phase-title-group{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.outline-phase-index,.outline-phase-card header small{color:var(--loom-faint);font-size:11px;font-weight:700}.outline-phase-index{min-height:20px;display:inline-flex;align-items:center;padding:0 7px;border:1px solid var(--loom-line);border-radius:999px;background:#fafafa;line-height:1;white-space:nowrap}.outline-phase-card header .outline-pressure{display:inline-flex;align-items:center;gap:6px;color:var(--loom-faint);white-space:nowrap}.outline-phase-card header .outline-pressure strong{min-width:20px;min-height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:var(--loom-subtle);color:#3f3f46;font-size:11px}.outline-phase-card h4{min-width:0;margin:0;color:#18181b;font-size:14px;line-height:1.35}.outline-phase-card p{margin:0;color:#3f3f46;font-size:13px;line-height:1.62}.outline-phase-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.outline-phase-card dt{color:var(--loom-faint);font-size:11px;font-weight:700}.outline-phase-card dd{margin:3px 0 0;color:#52525b;font-size:12px;line-height:1.45}.outline-obligation-tags{display:flex;flex-wrap:wrap;gap:6px}.outline-obligation-tags button{position:relative;min-height:24px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid #d4d4d8;border-radius:999px;background:#fff;color:#3f3f46;font-size:12px;font-weight:650;cursor:help}.outline-obligation-tags button:after{position:absolute;z-index:20;left:50%;bottom:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:260px;padding:7px 9px;border-radius:7px;background:#18181b;color:#fff;content:attr(data-tooltip);font-size:12px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%) translateY(4px);transition:opacity .12s ease,transform .12s ease;white-space:normal}.outline-obligation-tags button:hover:after,.outline-obligation-tags button:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.outline-policy-layout{display:grid;gap:18px}.outline-policy-column{display:grid;align-content:start;gap:10px}.outline-policy-wide{min-width:0}.outline-reveal-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.outline-policy-item{padding:14px;border:1px solid var(--loom-line);border-radius:10px;background:#fafafa}.outline-policy-item strong{display:block;margin-bottom:8px;color:#27272a;font-size:13px}.outline-policy-item p{margin:0;color:#3f3f46;line-height:1.62}.outline-rule-tags{display:flex;flex-wrap:wrap;gap:6px}.outline-rule-tags>span{min-height:22px;display:inline-flex;align-items:center;padding:0 7px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:11px;font-weight:700}.outline-rule-tags>span.avoid{background:#fff7ed;color:#c2410c}.outline-arc-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.outline-arc-rules>div{display:grid;align-content:start;gap:7px;padding:10px;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.outline-arc-rules b{color:var(--loom-faint);font-size:11px}.outline-rule-list{display:grid;gap:8px;margin:0;padding-left:20px}.outline-rule-list li{color:#3f3f46;line-height:1.6}.strategy-knowledge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.strategy-obligation-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.strategy-knowledge-grid article,.strategy-reveal-list article,.strategy-obligation-grid article,.strategy-question-list article{border:1px solid var(--loom-line);border-radius:10px;background:#fafafa}.strategy-knowledge-grid article{padding:14px}.strategy-knowledge-grid strong,.strategy-obligation-grid strong,.strategy-question-list strong{color:#27272a;font-size:14px}.strategy-knowledge-grid div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.strategy-knowledge-grid span{min-height:22px;display:inline-flex;align-items:center;padding:0 7px;border-radius:999px;background:var(--loom-subtle);color:#52525b;font-size:11px;font-weight:700}.strategy-reveal-list,.strategy-question-list{display:grid;gap:8px}.strategy-reveal-list article{display:grid;grid-template-columns:70px 70px minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px}.strategy-reveal-list span,.strategy-reveal-list strong{color:#52525b;font-size:12px;font-weight:700}.strategy-reveal-list p,.strategy-obligation-grid p,.strategy-question-list p{margin:0;color:#3f3f46;line-height:1.62}.strategy-obligation-grid article{display:grid;gap:10px;padding:14px}.strategy-obligation-grid .strategy-obligation-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.strategy-fact-edit{min-width:0}.strategy-obligation-grid small{color:var(--loom-faint);font-size:12px;font-weight:700}.strategy-char-grid{display:grid;gap:14px}.strategy-char-card{border:1px solid var(--loom-line);border-radius:12px;background:var(--loom-surface);box-shadow:0 1px 2px #18181b0a;overflow:hidden}.strategy-char-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--loom-line)}.strategy-char-toggle{min-width:0;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#09090b;font-size:19px;font-weight:680;text-align:left;cursor:pointer}.strategy-char-toggle span{min-width:0;overflow-wrap:anywhere}.strategy-char-chevron{flex:0 0 auto;transition:transform .14s ease}.strategy-char-chevron.collapsed{transform:rotate(-90deg)}.strategy-char-body{padding:18px 20px 20px;background:#f6f8fb}.strategy-char-role{flex:0 0 auto;min-height:24px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;background:var(--loom-subtle);color:#52525b;font-size:12px;font-weight:650}.strategy-claim-group{margin-bottom:16px;padding:14px;border:1px solid #dbe4ef;border-radius:8px;background:#fff}.strategy-claim-group:last-child{margin-bottom:0}.strategy-group-label{margin:0 0 10px;color:var(--loom-muted);font-size:13px;font-weight:650}.strategy-claim-tags{display:flex;flex-wrap:wrap;gap:8px}.strategy-claim-tag{min-width:0;max-width:100%;display:block;padding:3px 10px;border-radius:8px;background:var(--loom-subtle);color:#3f3f46;font-size:12px;font-weight:650;line-height:1.65;overflow-wrap:anywhere}.strategy-claim-tag>span{display:inline}.strategy-future-list{display:grid;gap:8px}.strategy-future-item{display:grid;gap:9px;align-items:start;padding:10px 12px;border:1px solid #dbe4ef;border-left:3px solid #64748b;border-radius:8px;background:#fff}.strategy-future-item .strategy-claim-tag{min-height:0}.strategy-reason{margin:0;color:var(--loom-muted);font-size:13px;line-height:1.62}.strategy-obligation-card{padding:16px;border:1px solid var(--loom-line);border-radius:10px;background:#fff}.strategy-obligation-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.strategy-obligation-head strong{color:#27272a;font-size:14px}.strategy-obligation-type{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;background:#ede9fe;color:#6d28d9}.strategy-obligation-type.mystery{background:#fef3c7;color:#92400e}.strategy-obligation-type.world{background:#dbeafe;color:#1e40af}.strategy-obligation-type.relationship{background:#ede9fe;color:#6d28d9}.strategy-obligation-type.goal{background:#dcfce7;color:#166534}.strategy-obligation-type.emotion{background:#fee2e2;color:#991b1b}.strategy-obligation-type.theme{background:#e0f2fe;color:#0369a1}.strategy-obligation-type.fate{background:#f3e8ff;color:#7e22ce}.strategy-obligation-type.conflict{background:#ffedd5;color:#c2410c}.strategy-obligation-card p{margin:0;color:#3f3f46;line-height:1.65}.strategy-fact-group{margin-top:12px;display:grid;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.strategy-fact-toggle{width:100%;min-height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;border:0;background:#f8fafc;color:#3f3f46;font-size:12px;font-weight:650;text-align:left;cursor:pointer}.strategy-fact-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strategy-fact-detail{display:grid;gap:6px;padding:9px 10px 10px 31px;border-top:1px solid #e5e7eb;background:#fff}.strategy-fact-detail p{position:relative;margin:0;padding-left:12px;color:#52525b;font-size:12px;line-height:1.55}.strategy-fact-detail p:before{position:absolute;top:.7em;left:0;width:4px;height:4px;content:"";border-radius:999px;background:#64748b}.outline-rule-tags .selected-text-highlight{padding:1px 0}.chapter-plan{display:grid;gap:12px}.chapter-plan-stream-sections{display:grid;gap:0}.empty-plan-card{display:grid;justify-items:start;gap:10px;padding:22px;border:1px solid var(--loom-line);border-radius:10px;background:#fff}.chapter-plan-empty-card{min-height:320px;align-content:center;justify-items:center;border-radius:8px;background:#fbfbfb;text-align:center}.empty-plan-card h3{margin:0;color:#18181b;font-size:18px}.empty-plan-card p{margin:0;color:var(--loom-muted);line-height:1.6}.chapter-plan-empty-card p:not(.kicker){max-width:340px}.chapter-plan strong{display:block;margin-bottom:6px;color:#27272a;font-size:13px;font-weight:700}.compact-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manuscript p,.novel-page p{width:100%;max-width:none;color:#18181b;font-size:17px;line-height:1.5;text-indent:2em;margin-bottom:1em}.outline-focus-edit{display:flex;flex-direction:column;gap:6px}.outline-focus-row{display:flex;align-items:center;gap:6px}.outline-focus-select-dropdown{flex:1}.outline-item-delete-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:#a1a1aa;cursor:pointer;flex-shrink:0;transition:all .12s ease}.outline-item-delete-btn:hover{border-color:#fecaca;background:#fff1f2;color:#dc2626}.outline-phase-card-header-right{display:flex;align-items:center;gap:8px}.outline-policy-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.outline-policy-item-head strong{margin-bottom:0}.outline-policy-item-head .editable-field{flex:1}.outline-tag-delete-btn{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:transparent;color:#a1a1aa;cursor:pointer;padding:0;margin-left:2px;flex-shrink:0;transition:all .1s ease}.outline-tag-delete-btn:hover{background:#fee2e2;color:#dc2626}.outline-tag-add-btn{min-height:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;border:1px dashed #d4d4d8;border-radius:999px;background:transparent;color:#a1a1aa;cursor:pointer;padding:0;transition:all .12s ease}.outline-tag-add-btn:hover{border-color:var(--loom-green);color:var(--loom-green);background:#f0fdf4}.outline-add-item-btn{margin-top:12px;width:100%}.outline-section-flow-enter-active,.outline-section-flow-leave-active,.outline-section-flow-move,.chapter-plan-section-flow-enter-active,.chapter-plan-section-flow-leave-active,.chapter-plan-section-flow-move{transition:opacity .36s ease,transform .36s ease}.outline-section-flow-enter-from,.outline-section-flow-leave-to,.chapter-plan-section-flow-enter-from,.chapter-plan-section-flow-leave-to{opacity:0;transform:translateY(14px)}.streaming-structured .outline-card.stream-updated,.streaming-structured .outline-phase-card.stream-updated,.streaming-structured .outline-policy-item.stream-updated,.streaming-structured .chapter-plan article.stream-updated{animation:structured-stream-rise .76s ease-out both;border-color:#bfdbfe;box-shadow:0 14px 34px #2563eb1f}.streaming-structured .outline-card.stream-updated,.streaming-structured .outline-policy-item.stream-updated{background:#f8fbff}.streaming-structured .manuscript p{animation:structured-stream-rise .52s ease-out both}@keyframes structured-stream-rise{0%{opacity:.58;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-page,.viewer-page{height:100%;display:grid;align-content:start;gap:16px;min-height:0;overflow:auto}.section-head{padding:18px 20px}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.content-list article,.fact-list article,.state-panel,.generation-hero,.generated-preview,.chapter-plan-list{padding:18px}.knowledge-page{padding-bottom:2px}.knowledge-empty-state{min-height:min(430px,calc(100vh - 300px));display:grid;justify-items:center;align-content:center;gap:10px;padding:44px 24px;border:1px dashed #d4d4d8;border-radius:8px;background:#fff;text-align:center}.knowledge-empty-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #e4e4e7;border-radius:8px;background:#f8fafc;color:#71717a}.knowledge-empty-state h3{margin:2px 0 0;color:#27272a;font-size:16px;font-weight:700}.knowledge-empty-state p{max-width:360px;margin:0;color:#71717a;font-size:13px;line-height:1.55}.knowledge-empty-state button{margin-top:6px}.knowledge-empty-state-loading{border-style:solid}.knowledge-empty-spinner{animation:spin 1s linear infinite}.section-page.with-composer{grid-template-columns:minmax(0,1fr) var(--workspace-context-width);gap:16px;align-content:stretch}.section-page.with-comments{grid-template-columns:minmax(0,1fr) var(--workspace-context-width);gap:0;align-content:stretch;overflow:visible}.section-page.with-comments:has(.comment-panel.collapsed){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.section-main{min-width:0;min-height:0;width:100%;box-sizing:border-box;overflow:auto}.world-building-guide{margin:0 0 8px;padding:12px 14px;border:1px solid #e0e7ff;border-radius:8px;background:#f8fafc}.world-building-guide p{margin:0;color:#475569;font-size:13px;line-height:1.6}.composer-sidebar{display:flex;flex-direction:column;min-height:0}.composer-sidebar .composer{flex:1;display:flex;flex-direction:column}.composer-sidebar .composer textarea{flex:1;min-height:160px;resize:none}.project-info-strip{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:0 0 4px;font-size:12px;color:var(--loom-muted)}.project-info-strip .info-strip-title{font-weight:600;color:#6b7280}.project-info-strip span+span:before{content:"·";margin-right:16px;color:var(--loom-line)}.open-question-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.open-question-links a{padding:6px 14px;border:1px solid var(--loom-line);border-radius:8px;background:var(--loom-surface);font-size:13px;font-weight:550;color:#27272a;text-decoration:none}.open-question-links a:hover{border-color:var(--loom-accent);color:var(--loom-accent)}.knowledge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.knowledge-card,.knowledge-row,.truth-group,.term-group{border:1px solid #e4e4e7;border-radius:8px;background:#fff}.knowledge-card:hover,.knowledge-row:hover,.truth-group:hover,.term-group:hover{border-color:#d4d4d8;box-shadow:0 1px 4px #18181b0a}.streaming-knowledge .knowledge-card.stream-updated,.streaming-knowledge .knowledge-row.stream-updated,.streaming-knowledge .truth-group.stream-updated{border-color:#93c5fd;background:linear-gradient(180deg,#ffffffeb,#f8fafceb),linear-gradient(120deg,#dbeafe,#dcfce7);box-shadow:0 10px 24px #3b82f61a;animation:knowledge-stream-highlight .9s ease-out both}.knowledge-stream-card-enter-active,.knowledge-stream-card-leave-active,.knowledge-stream-card-move{transition:opacity .26s ease,filter .26s ease,transform .28s cubic-bezier(.16,1,.3,1)}.knowledge-stream-card-enter-from,.knowledge-stream-card-leave-to{opacity:0;filter:blur(3px);transform:translateY(12px) scale(.985)}.knowledge-card{position:relative;min-width:0;padding:18px}.knowledge-row,.truth-group{position:relative}.knowledge-manual-actions{display:flex;justify-content:flex-end;margin:-4px 0 12px}.knowledge-item-delete{position:absolute;top:10px;right:10px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--loom-line);border-radius:6px;background:#fff;color:#a1a1aa;cursor:pointer;z-index:2}.knowledge-item-delete:hover{border-color:#fecaca;background:#fef2f2;color:#dc2626}.knowledge-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.knowledge-card-head svg{color:var(--loom-faint)}.knowledge-title-line{display:flex;align-items:center;gap:8px;min-width:0}.support-badge{min-height:22px;flex:0 0 auto;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px;font-weight:750}.support-badge.inferred{background:#fef3c7;color:#92400e}.knowledge-card h3,.truth-group h3,.term-group h3{margin:8px 0 0;color:#09090b;font-size:20px;font-weight:680;line-height:1.28}.knowledge-title-line h3,.knowledge-title-line h4{margin-top:0}.term-card h4{margin:10px 0 8px;color:#09090b;font-size:17px;font-weight:680}.term-card .knowledge-title-line h4{margin:0 0 8px}.knowledge-role,.term-card p,.claim-item p,.knowledge-row p{margin:10px 0 0;color:var(--loom-muted);line-height:1.68}.knowledge-fields{display:grid;gap:10px;margin:16px 0 0}.knowledge-fields div{padding-top:10px;border-top:1px solid var(--loom-line)}.knowledge-fields dt{color:var(--loom-faint);font-size:12px;font-weight:700}.knowledge-fields dd{margin:5px 0 0;color:#3f3f46;line-height:1.62}.knowledge-list{display:grid;gap:10px}.knowledge-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:16px}.knowledge-index{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--loom-line);border-radius:999px;color:#52525b;font-size:12px;font-weight:700}.world-rule-list{gap:8px}.world-rule-list .knowledge-row{grid-template-columns:minmax(86px,auto) minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px}.world-rule-meta{display:grid;justify-items:start;gap:7px;padding-top:4px}.world-rule-list .knowledge-index{width:auto;height:auto;border:0;border-radius:0;color:#a1a1aa;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.support-marker{position:relative;width:14px;height:14px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;cursor:default}.support-marker:before{width:7px;height:7px;content:"";border-radius:999px;background:#10b981;box-shadow:0 0 0 3px #dcfce7,0 1px 2px #10b98147}.support-marker:after{position:absolute;z-index:20;left:50%;bottom:calc(100% + 8px);min-width:-moz-max-content;min-width:max-content;padding:5px 7px;border-radius:6px;background:#18181b;color:#fff;content:attr(data-label);font-size:12px;font-weight:650;line-height:1;opacity:0;pointer-events:none;transform:translate(-50%) translateY(3px);transition:opacity .12s ease,transform .12s ease}.support-marker:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.support-marker.inferred:before{background:#f59e0b;box-shadow:0 0 0 3px #fef3c7,0 1px 2px #f59e0b47}.world-rule-list .knowledge-row p{margin:0;color:#27272a;line-height:1.68}.terminology-layout,.truth-layout{display:grid;gap:16px}.terminology-layout{min-width:0;width:100%}.term-group{min-width:0;width:100%;box-sizing:border-box;padding:16px}.term-group>.knowledge-grid{min-width:0;width:100%;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.term-group>h3{margin:0 0 14px;font-size:18px}.statement-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px}.statement-list li{position:relative;padding-left:14px;font-size:13px;line-height:1.55;color:var(--loom-muted)}.statement-list li:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--loom-line)}.truth-group{display:grid;gap:14px;padding:16px}.truth-group header h3{margin-top:0}.claim-list{display:grid;gap:8px}.claim-item{display:grid;grid-template-columns:minmax(76px,auto) minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid var(--loom-line);border-radius:8px;background:#fafafa}.claim-item.without-support{grid-template-columns:minmax(0,1fr)}.claim-item .support-marker{margin-top:5px}.claim-item p{margin:1px 0 0}.world-rule-list .knowledge-row .open-question-box{grid-column:1 / -1}@keyframes knowledge-stream-highlight{0%{box-shadow:0 0 #3b82f600}42%{box-shadow:0 14px 32px #3b82f629}to{box-shadow:0 10px 24px #3b82f61a}}.chapter-toolbar-stack{position:relative;z-index:3;min-width:0;background:#fff}.chapter-document-toolbar{width:100%}.chapter-document-toolbar button{height:28px;min-height:28px;flex:0 0 auto;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#52525b;font-size:12px;font-weight:650;line-height:1;box-shadow:none;white-space:nowrap}.chapter-document-toolbar button:hover:not(:disabled){background:#f4f4f5;color:#18181b;box-shadow:none}.chapter-document-toolbar button>svg{width:14px;height:14px}.chapter-document-toolbar button:disabled{cursor:not-allowed;opacity:.5}.chapter-document-toolbar button[aria-busy=true]{cursor:progress;opacity:.72}.chapter-toolbar-tabs{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;gap:0;padding:0 6px 0 0;border:0;border-right:1px solid #e4e4e7;border-radius:0;background:transparent}.chapter-document-toolbar .chapter-toolbar-tabs button{position:relative;height:28px;min-height:28px;padding:0 10px;border-radius:6px;background:transparent;color:#71717a;font-size:12px;font-weight:650}.chapter-document-toolbar .chapter-toolbar-tabs button:after{position:absolute;right:10px;bottom:2px;left:10px;height:2px;border-radius:999px;background:transparent;content:""}.chapter-document-toolbar .chapter-toolbar-tabs button:hover:not(:disabled){background:transparent;color:#18181b;box-shadow:none}.chapter-document-toolbar .chapter-toolbar-tabs button.active{background:transparent;color:#18181b;box-shadow:none}.chapter-document-toolbar .chapter-toolbar-tabs button.active:after{background:#18181b}.chapter-toolbar-more-menu{position:relative;flex:0 0 auto}.chapter-toolbar-more-popover{position:fixed;z-index:60;min-width:176px;padding:6px;border:1px solid #e4e4e7;border-radius:9px;background:#fff;box-shadow:0 14px 32px #18181b24}.chapter-toolbar-more-popover button{width:100%;justify-content:flex-start}.chapter-toolbar-more-popover button:hover:not(:disabled){background:#f4f4f5;box-shadow:none}.chapter-document-toolbar .chapter-toolbar-continue{width:auto;min-width:82px;border:1px solid #18181b;background:#18181b;color:#fff;font-weight:700;box-shadow:none}.chapter-document-toolbar .chapter-toolbar-continue:hover:not(:disabled){background:#27272a;color:#fff;box-shadow:none}.chapter-toolbar-errors{display:grid;gap:4px;padding:6px 12px;border-bottom:1px solid #e4e4e7;background:#fff}.chapter-toolbar-error{min-width:0;margin:0;padding:5px 8px;border:1px solid #fecaca;border-radius:6px;background:#fff1f2;color:#b91c1c;font-size:11px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.chapter-document-scroll{min-height:0;padding:24px 30px 36px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff}.chapter-draft-page .doc-block.manuscript,.chapter-draft-page .doc-block.manuscript p{color:#09090b}.chapter-annotation-panel{min-width:0;min-height:0;padding:16px;border:0;border-left:1px solid var(--loom-line);background:#fafafa;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.chapter-annotation-panel.collapsed{width:28px;border:0;border-left:1px solid var(--loom-line);border-radius:0;background:#fafafa;box-shadow:none}.chapter-annotation-head{flex:0 0 auto;display:grid;gap:3px;padding-bottom:2px}.chapter-proposal-layer{position:fixed;z-index:1450;inset:0;display:grid;place-items:center;padding:24px;isolation:isolate}.chapter-proposal-backdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;padding:0;border:0;background:#18181b7a;backdrop-filter:blur(3px);cursor:default}.chapter-proposal-dialog{position:relative;z-index:1;width:min(680px,calc(100vw - 48px));max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;border:1px solid #d4d4d8;border-radius:12px;background:#fff;box-shadow:0 28px 80px #18181b3d}.chapter-proposal-dialog:focus-visible{outline:3px solid rgb(59 130 246 / 28%);outline-offset:3px}.chapter-proposal-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 16px 24px;border-bottom:1px solid #e4e4e7;background:#fafafa}.chapter-proposal-header>div{min-width:0}.chapter-proposal-kicker{margin:0 0 5px;color:#71717a;font-size:11px;font-weight:760;letter-spacing:.08em}.chapter-proposal-header h2{margin:0;color:#18181b;font-size:18px;font-weight:720;line-height:1.35;overflow-wrap:anywhere}.chapter-proposal-close{flex:0 0 auto}.chapter-proposal-dialog>.proposal-compose-card{min-height:0;align-content:start;padding:20px 24px;overflow-y:auto;background:#fff}.chapter-proposal-dialog .proposal-compose-card textarea{min-height:240px;resize:vertical;padding:14px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#18181b;line-height:1.6}.chapter-proposal-dialog .proposal-compose-card textarea:focus{border-color:#60a5fa;outline:3px solid rgb(59 130 246 / 16%);outline-offset:0}.chapter-proposal-dialog .proposal-compose-card textarea:disabled{border-color:#e4e4e7;background:#f4f4f5;color:#a1a1aa;cursor:not-allowed}.chapter-proposal-dialog .comment-form .proposal-submit-button{width:auto;min-width:180px;justify-self:end}.chapter-proposal-dialog .comment-form .proposal-submit-button:disabled{cursor:not-allowed}.chapter-proposal-dialog>.composer-error{margin:0;padding:0 24px 14px;background:#fff}.chapter-proposal-busy-note{margin:0;padding:11px 24px 14px;border-top:1px solid #e4e4e7;background:#fafafa;color:#52525b;font-size:12px;line-height:1.5}.chapter-proposal-fade-enter-active,.chapter-proposal-fade-leave-active{transition:opacity .16s ease}.chapter-proposal-fade-enter-active .chapter-proposal-dialog,.chapter-proposal-fade-leave-active .chapter-proposal-dialog{transition:opacity .16s ease,transform .16s ease}.chapter-proposal-fade-enter-from,.chapter-proposal-fade-leave-to{opacity:0}.chapter-proposal-fade-enter-from .chapter-proposal-dialog,.chapter-proposal-fade-leave-to .chapter-proposal-dialog{opacity:0;transform:translateY(8px) scale(.985)}.continuous-generation-toggle{height:28px;min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#52525b;font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer}.continuous-generation-toggle:hover{background:#fff}.continuous-generation-toggle.active{background:#fff;color:#166534;box-shadow:0 1px 2px #18181b1a}.continuous-generation-toggle:disabled{cursor:not-allowed;opacity:.55}.continuous-generation-toggle i{width:24px;height:14px;position:relative;border-radius:999px;background:#d4d4d8;transition:background .14s ease}.continuous-generation-toggle i:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #18181b2e;transition:transform .14s ease}.continuous-generation-toggle.active i{background:#22c55e}.continuous-generation-toggle.active i:after{transform:translate(10px)}.chapter-meta-line{display:flex;flex-wrap:wrap;gap:6px;margin:0}.chapter-meta-line span{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid #e4e4e7;border-radius:999px;background:#fafafa;color:#71717a;font-size:10px;font-weight:650}.chapter-draft-page .outline-card.lead{padding:16px 18px;border-radius:8px;background:#fff}.chapter-draft-page .doc-block{padding:18px 0}.chapter-draft-page .chapter-plan{gap:8px}.chapter-draft-page .chapter-plan h3{margin-bottom:2px}.chapter-draft-page .chapter-plan article{display:grid;grid-template-columns:minmax(74px,118px) minmax(0,1fr);gap:10px 14px;align-items:start;padding:12px 14px;border-radius:8px;background:#fff}.chapter-draft-page .chapter-plan article:hover{border-color:#d4d4d8;box-shadow:0 1px 6px #18181b0d}.chapter-draft-page .chapter-plan strong{margin:0;color:#52525b;font-size:12px}.chapter-draft-page .chapter-plan p{min-width:0;color:#27272a;font-size:13px;line-height:1.65}@media(max-width:760px){.chapter-draft-page .chapter-plan article{grid-template-columns:1fr}}.chapter-continuous-overlay{position:fixed;inset:0;z-index:1350;display:flex;align-items:center;justify-content:center;padding:24px;background:#18181b6b;backdrop-filter:blur(4px)}.chapter-continuous-dialog{width:min(430px,100%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px;border:1px solid var(--loom-line);border-radius:10px;background:var(--loom-surface);box-shadow:0 22px 64px #18181b2e}.chapter-continuous-countdown{width:46px;height:46px;display:grid;place-items:center;border-radius:999px;background:#ecfeff;color:#0f766e;font-size:20px;font-weight:760;line-height:1}.chapter-continuous-copy{min-width:0}.chapter-continuous-copy h2{margin:2px 0 7px;color:var(--loom-text);font-size:17px;font-weight:720}.chapter-continuous-copy p:not(.kicker){margin:0;color:#52525b;font-size:13px;line-height:1.55}.chapter-continuous-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.chapter-continuous-fade-enter-active,.chapter-continuous-fade-leave-active{transition:opacity .16s ease}.chapter-continuous-fade-enter-from,.chapter-continuous-fade-leave-to{opacity:0}.inline-action{width:auto;margin-top:0}.demo-jump{position:fixed;left:18px;bottom:18px;z-index:50}.demo-jump>button{min-height:36px;padding:0 12px;border:1px solid #18181b;border-radius:999px;background:#18181b;color:#fafafa;font-size:12px;font-weight:700}.demo-jump nav{position:absolute;left:0;bottom:44px;width:164px;display:grid;gap:4px;padding:8px;border:1px solid var(--loom-line);border-radius:12px;background:var(--loom-surface);box-shadow:0 18px 42px #18181b1f}.demo-jump a{padding:8px 10px;border-radius:7px;color:#3f3f46;font-size:13px;font-weight:600;text-decoration:none}.demo-jump a:hover{background:var(--loom-subtle)}.final-reader-surface{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.final-reader-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;border-bottom:1px solid var(--loom-line)}.final-reader-head>div{min-width:0}.final-reader-head h2{margin:0;font-size:26px;font-weight:680}.final-export-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.final-export-scope button{min-height:30px;padding:0 12px;font-size:12px}.final-export-buttons{display:inline-flex;align-items:center;gap:6px}.final-export-buttons button{min-width:74px;justify-content:center}.final-export-error{margin:10px 28px 0}.novel-page{padding:42px clamp(28px,8vw,96px)}.novel-page p{margin-right:0;margin-left:0;white-space:pre-wrap}.streaming-structured .novel-page p{animation:final-stream-rise .52s ease-out both}.reader-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-top:1px solid var(--loom-line)}.reader-nav span{color:var(--loom-muted);font-size:13px;font-weight:700}@media(max-width:760px){.final-reader-head{align-items:flex-start;flex-direction:column}.final-export-controls{justify-content:flex-start}}.done-page{height:100%;display:grid;place-items:center;padding:32px}.done-page-copy{display:grid;gap:10px;text-align:center}.done-page h2{margin:0;color:#09090b;font-size:clamp(36px,7vw,72px);font-weight:720;line-height:1.02;letter-spacing:0}.chapter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.chapter-row.active{border-color:var(--loom-line-strong);background:var(--loom-surface)}@keyframes final-stream-rise{0%{opacity:.58;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.project-body,.project-shell.chapter-workspace-shell .project-body{grid-template-columns:var(--workspace-rail-width) minmax(0,1fr)}.home-start-form{grid-template-columns:1fr}.project-main{overflow:auto}}@media(max-width:900px){.conversation-page,.chapter-generation-page,.review-layout,.chapter-outline-page,.final-review-reader,.section-page.with-comments,.section-page.with-composer{grid-template-columns:1fr;overflow:auto}}@media(max-width:760px){.home-page{padding:24px 16px;gap:18px}.home-header,.directory-account-actions{width:100%}.home-header{flex-wrap:wrap;align-items:flex-start}.home-header-actions,.directory-account-actions{display:flex;justify-content:flex-start;flex-wrap:wrap}.continue-button{position:static;justify-self:start}.outline-card-grid,.outline-reveal-policy-grid,.outline-arc-rules,.compact-meta-grid,.chapter-row{grid-template-columns:1fr}.directory-page{padding:28px 18px}.project-body,.project-shell.chapter-workspace-shell .project-body{grid-template-columns:var(--workspace-rail-collapsed-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.project-sidebar{position:static;width:var(--workspace-rail-collapsed-width);height:100vh;flex-direction:column;align-items:stretch;overflow:visible;padding:0;border-right:1px solid var(--loom-line);border-bottom:0}.project-sidebar .nav-label,.project-sidebar .sidebar-section-label,.project-sidebar .chapter-sidebar-copy,.project-sidebar .creation-center-link span,.project-sidebar .job-billing-link,.project-sidebar .billing-badge,.project-sidebar .stage-step small,.project-sidebar .stage-action-label,.project-sidebar .project-parent-link,.project-sidebar .sidebar-utility-spacer{display:none}.project-sidebar .stage-step{grid-template-columns:1fr;justify-items:center;padding:0}.project-sidebar .stage-connector{grid-column:1;justify-self:center}.project-sidebar .stage-gap{grid-template-columns:1fr;padding-right:0}.project-sidebar .stage-gap.has-control{min-height:34px}.project-sidebar .stage-transition-button,.project-sidebar .stage-rollback-button{grid-column:1;width:26px;min-width:26px;height:26px;justify-self:center;justify-content:center;gap:0;padding:0}.project-sidebar .project-nav a,.project-sidebar .project-nav button{justify-content:center;padding:0}.project-sidebar .workspace-rail-footer{padding-inline:6px}.sidebar-account-row{display:grid;grid-template-columns:1fr;justify-items:center}.creation-center-link{grid-column:1;grid-row:auto;width:36px;flex:0 0 36px;justify-content:center;padding:0}.sidebar-account-row>.account-menu{grid-column:1;grid-row:auto}.project-main{padding:18px}.project-shell.content-workspace-shell .project-main{padding:0}}.segmented-control{display:inline-flex;background:var(--loom-line);border-radius:999px;padding:3px}.segmented-control button{min-height:30px;display:inline-flex;align-items:center;padding:0 16px;border:none;border-radius:999px;background:transparent;color:#71717a;font-size:13px;font-weight:600;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.segmented-control button.active{background:#fff;color:#18181b;box-shadow:0 1px 3px #0000001f}.segmented-control button:disabled{opacity:.4;cursor:not-allowed}.edit-mode-switch{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;border-radius:0;background:transparent}.edit-mode-switch button{min-height:34px;justify-content:center;padding:0 10px;border:1px solid var(--loom-line);border-radius:7px;background:#fff;color:#52525b;box-shadow:none}.edit-mode-switch button.active{border-color:#a1a1aa;background:#f4f4f5;color:#18181b;box-shadow:none}.edit-mode-switch button:disabled:not(.active){background:#fafafa;color:#a1a1aa}.bible-page{height:100%;min-height:0;overflow:hidden}.bible-page .section-main{min-height:0;overflow:auto}.bible-page .section-head{padding:0 0 12px;border:0;border-radius:0;background:transparent;box-shadow:none}.bible-page .section-title-row{align-items:center}.bible-page .section-head h2{font-size:18px;font-weight:720}.bible-page .section-head p{color:var(--loom-muted)}.bible-review-layout{grid-template-columns:minmax(0,1fr) var(--workspace-context-width)}.bible-review-layout:has(.comment-panel.collapsed){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.bible-empty-state{min-height:min(460px,calc(100vh - 270px))}.bible-tabs{display:flex;flex-wrap:wrap;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;margin-bottom:14px;padding:4px;border:1px solid var(--loom-line);border-radius:8px;background:#f4f4f5}.bible-tab{min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:6px;background:none;font-size:13px;font-weight:650;color:var(--loom-muted);cursor:pointer;transition:background var(--motion-duration-standard) var(--motion-ease-standard),box-shadow var(--motion-duration-standard) var(--motion-ease-standard),color var(--motion-duration-standard) var(--motion-ease-standard)}.bible-tab:hover{color:var(--loom-ink)}.bible-tab.active{background:#fff;color:#18181b;box-shadow:0 1px 2px #18181b14}.bible-card{padding:20px 24px 24px;border:0;border-radius:0;background:#fff;scroll-margin-top:calc(var(--workspace-toolbar-height) + 12px)}.bible-card:hover{box-shadow:none}.bible-card-head{position:sticky;top:var(--workspace-toolbar-height);z-index:10;display:grid;gap:12px;margin-bottom:18px;padding:0 0 16px;background:#fff;border-bottom:1px solid var(--loom-line);box-shadow:0 8px 14px -14px #0000002e}.bible-card-eyebrow{margin:0 0 4px;color:var(--loom-faint);font-size:11px;font-weight:750}.bible-card-head .bible-guide-title{margin:0;color:#09090b;font-size:20px;font-weight:720;line-height:1.25;letter-spacing:0;overflow-wrap:anywhere}.bible-card-head .bible-guide-name,.bible-guide-title-suffix{color:inherit;font:inherit;line-height:inherit}.bible-card-head .bible-guide-name-edit{width:auto;max-width:min(320px,100%);display:inline-block;vertical-align:baseline}.bible-formal-name{margin:4px 0 0;font-size:13px;color:var(--loom-muted)}.bible-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.bible-summary-strip div{min-width:0;padding:10px 12px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa}.bible-summary-strip dt{margin:0 0 4px;color:var(--loom-faint);font-size:11px;font-weight:700}.bible-summary-strip dd{display:-webkit-box;margin:0;overflow:hidden;color:#27272a;font-size:12px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.bible-section{margin-bottom:16px;padding-top:16px;border-top:1px solid #f4f4f5}.bible-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.bible-section h4{margin:0;font-size:13px;font-weight:650;text-transform:uppercase;letter-spacing:.6px;color:var(--loom-muted)}.character-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0}.character-profile-item{min-width:0;padding-top:10px;border-top:1px solid #f4f4f5}.character-profile-item dt{margin:0 0 5px;color:var(--loom-faint);font-size:11px;font-weight:720}.character-profile-item dd{margin:0;color:var(--loom-ink);font-size:13px;line-height:1.65;white-space:pre-wrap}.bible-section-actions{display:inline-flex;align-items:center;gap:6px}.bible-add-button,.bible-section-actions button,.bible-item-delete{min-height:26px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--loom-line);border-radius:6px;background:#fff;color:#52525b;font-size:12px;font-weight:650}.bible-add-button,.bible-section-actions button{padding:0 8px}.bible-add-button:hover,.bible-section-actions button:hover{border-color:#a1a1aa;color:#18181b}.bible-item-delete{width:28px;flex:0 0 28px;padding:0;color:#a1a1aa}.bible-item-delete:hover{border-color:#fecaca;background:#fef2f2;color:#dc2626}.bible-editable-list-item{display:flex;align-items:flex-start;gap:8px}.bible-editable-list-item .editable-field{flex:1 1 auto}.bible-double{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:860px){.bible-double,.character-profile-grid{grid-template-columns:1fr}}@media(max-width:900px){.bible-review-layout{grid-template-columns:1fr;overflow:auto}.bible-page{height:auto;min-height:100%;overflow:visible}.bible-page .section-main{overflow:visible}}@media(max-width:760px){.bible-page .section-head{padding-top:0}.bible-tabs{flex-wrap:nowrap;overflow-x:auto}.bible-tab{flex:0 0 auto}.bible-card{padding:18px}.bible-summary-strip{grid-template-columns:1fr}.bible-tab{min-height:40px;padding:0 16px}.bible-card-head .bible-guide-title{font-size:18px}}.bible-guidelines{margin:0;padding:0;list-style:none;display:grid;gap:6px}.bible-guidelines li{position:relative;padding-left:16px;font-size:13px;line-height:1.6;color:var(--loom-ink)}.bible-guidelines li:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--loom-line)}.bible-avoid{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px}.bible-avoid li{position:relative;padding:8px 12px 8px 28px;font-size:13px;line-height:1.6;color:#92400e;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:0 6px 6px 0}.bible-avoid li:before{content:"!";position:absolute;left:10px;top:8px;font-size:12px;font-weight:700;color:#f59e0b}.bible-address-table{display:grid;gap:6px}.bible-address-row{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(120px,1fr) minmax(140px,1.2fr);gap:12px;padding:8px 12px;background:var(--loom-subtle);border-radius:8px;font-size:13px;align-items:center}.bible-address-row:has(.bible-item-delete),.bible-address-row-head:has(.bible-address-delete-head){grid-template-columns:minmax(100px,.8fr) minmax(120px,1fr) minmax(140px,1.2fr) 28px}.bible-address-row-head{background:transparent;color:var(--loom-muted);font-size:11px;font-weight:700}.bible-address-name{font-weight:650;color:var(--loom-ink)}.bible-address-user,.bible-address-occasion{color:var(--loom-muted)}.bible-functions{margin:0;padding:0 0 0 20px;display:grid;gap:6px}.bible-functions li{font-size:13px;line-height:1.6;color:var(--loom-ink)}.bible-goals{margin:0;display:grid;gap:12px}.bible-goals>div{padding:12px 16px;background:var(--loom-subtle);border-radius:8px}.bible-goals dt{margin-bottom:4px;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.5px;color:var(--loom-muted)}.bible-goals dd{margin:0;font-size:13px;line-height:1.6;color:var(--loom-ink)}.bible-writing-notes{margin:0;padding:0;list-style:none;display:grid;gap:6px}.bible-writing-notes li{position:relative;padding:10px 12px 10px 28px;font-size:13px;line-height:1.55;color:var(--loom-ink);background:var(--loom-subtle);border-radius:8px}.bible-writing-notes li:before{content:"✎";position:absolute;left:10px;top:10px;font-size:13px;color:var(--loom-muted)}.timeline-layout{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--workspace-context-width);gap:0;transition:grid-template-columns var(--motion-duration-slow) var(--motion-ease-standard)}.timeline-layout:has(.timeline-comment-panel.collapsed){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.timeline-area{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.timeline-area>.workspace-content-toolbar{flex:0 0 auto}.foreshadowing-slot{display:contents}.timeline-layout .editable-field.dirty,.timeline-layout .editable-field:focus{background:#fff}.timeline-layout .editable-field.dirty{background:#fffbeb}.timeline-save-btn{position:relative}.timeline-zoom-controls{display:inline-flex;align-items:center;gap:2px;padding:0 6px;border:1px solid #e4e4e7;border-radius:6px;background:#fff;margin-right:4px}.timeline-zoom-reset{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:26px;padding:0 6px;border:none;border-radius:4px;background:transparent;color:#52525b;font-size:11px;font-weight:650;font-family:inherit;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.timeline-zoom-reset:hover{background:#f4f4f5;color:#18181b}.timeline-zoom-fit-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;min-width:26px;height:26px;padding:0;border:none;border-radius:4px;background:transparent;color:#a1a1aa;cursor:pointer;font-size:11px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.timeline-zoom-fit-btn:hover{background:#f4f4f5;color:#52525b}.timeline-save-btn.has-dirty:after{position:absolute;top:-3px;right:-3px;width:8px;height:8px;content:"";border-radius:50%;background:#f59e0b;box-shadow:0 0 0 2px #fff}.timeline-scroll{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;position:relative}.timeline-scroll.zoom-fit{overflow:hidden;display:flex;align-items:center;justify-content:center}.timeline-zoom-container{position:relative;overflow:visible}.timeline-h-track{position:relative;display:flex;align-items:stretch;min-width:-moz-max-content;min-width:max-content;min-height:auto;padding:18px 60px 320px}.timeline-h-track:before{position:absolute;left:60px;right:60px;bottom:var(--timeline-line-bottom, 243px);height:2px;content:"";background:var(--loom-line);border-radius:1px;z-index:0}.timeline-event-col{display:flex;flex-direction:column;align-items:center;width:260px;flex-shrink:0;position:relative;z-index:1}.timeline-event-card{width:100%;min-height:188px;flex:0 0 auto;padding:14px 16px;border:1px solid #e4e4e7;border-radius:10px;background:#fff;flex-shrink:0;display:flex;flex-direction:column;overflow:visible;transition:border-color .14s ease,box-shadow .14s ease}.timeline-event-card:hover{border-color:#d4d4d8;box-shadow:0 1px 8px #18181b0d}.timeline-event-card.is-focus-target,.timeline-event-card:focus-visible{border-color:#6366f1;outline:none;box-shadow:0 0 0 4px #6366f124,0 12px 28px #18181b1f}.timeline-event-col.fsh-linked-event .timeline-event-card{border-color:#18181b;box-shadow:0 8px 24px #18181b1f}.timeline-event-col.fsh-linked-event.fsh-color-0 .timeline-event-card{border-color:#14b8a6;background:linear-gradient(180deg,#f0fdfab3,#fff 42%)}.timeline-event-col.fsh-linked-event.fsh-color-1 .timeline-event-card{border-color:#60a5fa;background:linear-gradient(180deg,#eff6ffc7,#fff 42%)}.timeline-event-col.fsh-linked-event.fsh-color-2 .timeline-event-card{border-color:#a78bfa;background:linear-gradient(180deg,#f5f3ffc7,#fff 42%)}.timeline-event-col.fsh-linked-event.fsh-color-3 .timeline-event-card{border-color:#fb923c;background:linear-gradient(180deg,#fff7edd1,#fff 42%)}.timeline-event-col.fsh-linked-event.fsh-color-4 .timeline-event-card{border-color:#f472b6;background:linear-gradient(180deg,#fdf2f8d1,#fff 42%)}.timeline-event-card.dirty{border-color:#e4e4e7;background:#fff}.timeline-event-card.dirty:hover{border-color:#d4d4d8}.streaming-structured .timeline-event-card.stream-updated{animation:timeline-stream-pulse .9s ease-out both;box-shadow:0 18px 40px #2563eb24}.event-order{position:absolute;top:-9px;left:-9px;min-width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:#18181b;color:#fafafa;font-size:11px;font-weight:700;box-shadow:0 0 0 3px #fff}.event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.event-title{flex:1;min-width:0}.event-title .editable-field{font-size:15px;font-weight:650;color:#18181b;padding:3px 7px;background:transparent}.event-title .editable-field.dirty{color:#18181b}.event-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;transition:opacity .12s ease}.timeline-event-card:hover .event-actions{opacity:1}.event-actions button{min-height:26px;min-width:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:1px solid transparent;border-radius:5px;background:transparent;color:#a1a1aa;font-size:11px;cursor:pointer;transition:all .1s ease}.event-actions button:hover{background:#f4f4f5;color:#52525b}.event-actions button.danger:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.event-desc{min-width:0}.event-desc .editable-field{font-size:13px;color:#3f3f46;line-height:1.6;min-height:22px;padding:4px 7px;background:transparent}.event-desc .editable-field.dirty{color:#3f3f46}.event-open-questions{margin-top:9px;padding:9px 10px;border:1px solid #e4e4e7;border-radius:7px;background:#fafafa;color:#52525b}.event-open-questions-title{display:flex;align-items:center;gap:5px;margin-bottom:6px;font-size:11px;font-weight:700}.event-open-questions-title button{margin-left:auto;padding:0;border:0;background:transparent;color:#2563eb;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.event-open-questions-title button:hover,.event-open-questions-title button:focus-visible{color:#1d4ed8;text-decoration:underline}.event-open-questions-title button:focus-visible{border-radius:3px;outline:2px solid #93c5fd;outline-offset:2px}.event-open-question-text,.event-open-question-note{overflow-wrap:anywhere;margin:0;line-height:1.45}.event-open-question-text{display:-webkit-box;overflow:hidden;padding-left:7px;border-left:2px solid #93c5fd;color:#27272a;font-size:12px;font-weight:600;-webkit-box-orient:vertical;-webkit-line-clamp:2}.event-open-question-note{margin-top:4px;color:#71717a;font-size:11px}.event-fsh-tags{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;min-width:0}.event-card-footer{flex-shrink:0;margin-top:10px;padding-top:9px;border-top:1px solid #f4f4f5}.event-inline-action{min-height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:1px solid #e4e4e7;border-radius:5px;background:#fff;color:#71717a;font-family:inherit;font-size:11px;font-weight:650;cursor:pointer}.event-inline-action:hover{border-color:#a1a1aa;color:#18181b;background:#fafafa}.fsh-tag{display:inline-flex;max-width:100%;min-width:0;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;border:0;font-family:inherit;font-size:10px;font-weight:650;cursor:default;transition:box-shadow .12s ease,transform .12s ease,filter .12s ease}.fsh-tag-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.fsh-tag{cursor:pointer}button.fsh-tag:hover:not(:disabled),button.fsh-tag:focus-visible{outline:none;box-shadow:0 0 0 2px #18181b24;filter:saturate(1.2)}button.fsh-tag:disabled{cursor:not-allowed;opacity:.56}.fsh-tag.fsh-linked-hover{box-shadow:0 0 0 2px #18181b24;filter:saturate(1.35);transform:translateY(-1px)}.fsh-tag.plant{background:#ccfbf1;color:#0f766e}.fsh-tag.payoff{background:#ecfeff;color:#0891b2}.fsh-tag.broken{background:#fee2e2;color:#dc2626}.fsh-tag.plant.fsh-color-0{background:#ccfbf1;color:#0f766e}.fsh-tag.payoff.fsh-color-0{background:#ecfeff;color:#0891b2}.fsh-tag.plant.fsh-color-1{background:#dbeafe;color:#1d4ed8}.fsh-tag.payoff.fsh-color-1{background:#eff6ff;color:#2563eb}.fsh-tag.plant.fsh-color-2{background:#ede9fe;color:#6d28d9}.fsh-tag.payoff.fsh-color-2{background:#f5f3ff;color:#7c3aed}.fsh-tag.plant.fsh-color-3{background:#ffedd5;color:#c2410c}.fsh-tag.payoff.fsh-color-3{background:#fff7ed;color:#ea580c}.fsh-tag.plant.fsh-color-4{background:#fce7f3;color:#be185d}.fsh-tag.payoff.fsh-color-4{background:#fdf2f8;color:#db2777}.event-stem{width:100%;min-height:60px;flex:1 1 auto;position:relative}.event-stem:after{position:absolute;top:0;left:50%;width:2px;bottom:14px;content:"";background:#d4d4d8;transform:translate(-50%)}.event-dot{position:absolute;left:50%;bottom:0;width:14px;height:14px;border:2.5px solid #a1a1aa;border-radius:50%;background:#fff;z-index:1;transform:translate(-50%);transition:all .14s ease}.timeline-event-col:hover .event-dot{border-color:#52525b;background:#52525b;box-shadow:0 0 0 5px #52525b1a}.timeline-event-col.foreshadow-plant .event-dot{border-color:#0f766e;box-shadow:0 0 0 5px #0f766e1f}.timeline-event-col.foreshadow-payoff .event-dot{border-color:#67e8f9;box-shadow:0 0 0 5px #67e8f924}.timeline-event-col.has-broken-fsh .event-dot{border-color:#ef4444;box-shadow:0 0 0 5px #ef44441f}.timeline-event-col.fsh-linked-event .event-dot{background:#18181b;border-color:#18181b;box-shadow:0 0 0 7px #18181b1f;transform:translate(-50%) scale(1.12)}.timeline-event-col.fsh-linked-event.fsh-color-0 .event-dot{background:#14b8a6;border-color:#14b8a6;box-shadow:0 0 0 7px #14b8a629}.timeline-event-col.fsh-linked-event.fsh-color-1 .event-dot{background:#60a5fa;border-color:#60a5fa;box-shadow:0 0 0 7px #60a5fa2e}.timeline-event-col.fsh-linked-event.fsh-color-2 .event-dot{background:#a78bfa;border-color:#a78bfa;box-shadow:0 0 0 7px #a78bfa2e}.timeline-event-col.fsh-linked-event.fsh-color-3 .event-dot{background:#fb923c;border-color:#fb923c;box-shadow:0 0 0 7px #fb923c2e}.timeline-event-col.fsh-linked-event.fsh-color-4 .event-dot{background:#f472b6;border-color:#f472b6;box-shadow:0 0 0 7px #f472b62e}.timeline-connector{width:64px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:stretch;height:auto;padding-top:88px;position:relative;z-index:1}.connector-add-area{display:flex;flex-direction:column;align-items:center;gap:5px}.connector-add-btn{min-height:22px;display:inline-flex;align-items:center;gap:3px;padding:0 7px;border:1px solid #e4e4e7;border-radius:5px;background:#fff;color:#71717a;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .12s ease;font-family:inherit}.connector-add-btn:hover{border-color:#a1a1aa;color:#18181b;background:#fafafa}.connector-add-btn svg{flex-shrink:0}.timeline-inline-col{display:flex;flex-direction:column;align-items:center;width:260px;flex-shrink:0;align-self:flex-start}.timeline-inline-form{width:100%;padding:14px 16px;border:2px dashed #d4d4d8;border-radius:10px;background:#fafafa;display:grid;gap:8px}.event-foreshadowing-form{margin-top:10px;border-style:solid}.timeline-foreshadowing-dock{position:absolute;bottom:18px;width:360px;margin:0;border-style:solid;background:#fff;z-index:2}.timeline-inline-form input,.timeline-inline-form textarea{width:100%;padding:7px 9px;border:1px solid #e4e4e7;border-radius:6px;background:#fff;font-size:13px;font-family:inherit;color:#18181b}.timeline-inline-form input::-moz-placeholder,.timeline-inline-form textarea::-moz-placeholder{color:#a1a1aa}.timeline-inline-form input::placeholder,.timeline-inline-form textarea::placeholder{color:#a1a1aa}.timeline-inline-form textarea{min-height:56px;resize:vertical}.timeline-inline-form-actions{display:flex;align-items:center;gap:6px}.event-select-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-select-row label{display:grid;gap:3px}.event-select-row label>span{color:#71717a;font-size:11px;font-weight:650}.event-select-row .event-select-menu{width:100%}.foreshadow-bars-layer{position:absolute;left:60px;right:60px;bottom:110px;height:140px;pointer-events:none;z-index:0}.foreshadow-bar{position:absolute;height:28px;border:2px solid #14b8a6;border-top:0;border-radius:0 0 10px 10px;background:#14b8a612;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;transition:background .12s ease,box-shadow .12s ease,filter .12s ease}.foreshadow-bar.fsh-linked-hover{box-shadow:0 6px 18px #18181b24,0 0 0 3px #18181b14;filter:saturate(1.35);z-index:3}.foreshadow-bar:hover{background:#14b8a621}.foreshadow-bar.broken{border-color:#ef4444;background:#ef44440f}.foreshadow-bar.broken:hover{background:#ef444424}.foreshadow-bar-label{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:#ccfbf1;color:#0f766e;font-size:11px;font-weight:650;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis}.foreshadow-bar.broken .foreshadow-bar-label{background:#fee2e2;color:#dc2626}.foreshadow-bar.fsh-color-0{border-color:#14b8a6;background:#14b8a612}.foreshadow-bar.fsh-color-0:hover{background:#14b8a621}.foreshadow-bar.fsh-color-0 .foreshadow-bar-label{background:#ccfbf1;color:#0f766e}.foreshadow-bar.fsh-color-1{border-color:#60a5fa;background:#60a5fa14}.foreshadow-bar.fsh-color-1:hover{background:#60a5fa24}.foreshadow-bar.fsh-color-1 .foreshadow-bar-label{background:#dbeafe;color:#1d4ed8}.foreshadow-bar.fsh-color-2{border-color:#a78bfa;background:#a78bfa14}.foreshadow-bar.fsh-color-2:hover{background:#a78bfa24}.foreshadow-bar.fsh-color-2 .foreshadow-bar-label{background:#ede9fe;color:#6d28d9}.foreshadow-bar.fsh-color-3{border-color:#fb923c;background:#fb923c14}.foreshadow-bar.fsh-color-3:hover{background:#fb923c24}.foreshadow-bar.fsh-color-3 .foreshadow-bar-label{background:#ffedd5;color:#c2410c}.foreshadow-bar.fsh-color-4{border-color:#f472b6;background:#f472b614}.foreshadow-bar.fsh-color-4:hover{background:#f472b624}.foreshadow-bar.fsh-color-4 .foreshadow-bar-label{background:#fce7f3;color:#be185d}.timeline-empty{display:grid;justify-items:center;align-content:center;gap:12px;padding:40px 20px;text-align:center;flex:1}.timeline-empty-icon{width:48px;height:48px;display:grid;place-items:center;border:2px dashed #d4d4d8;border-radius:12px;color:#a1a1aa}.timeline-empty h3{margin:0;color:#52525b;font-size:15px;font-weight:650}.timeline-empty p{margin:0;color:#a1a1aa;font-size:13px;max-width:260px;line-height:1.5}.timeline-empty-spinner{color:var(--loom-blue, #3b82f6);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.timeline-empty .form-error{color:#dc2626;max-width:320px}.foreshadowing-section{max-height:min(230px,35%);padding:12px 24px;border-top:0;border-bottom:1px solid var(--loom-line);background:#fafafa;flex-shrink:0;overflow:hidden}.foreshadowing-section-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:8px}.foreshadowing-section.collapsed .foreshadowing-section-header{margin-bottom:0}.foreshadowing-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:28px;gap:4px;padding:0 8px;border:1px solid #e4e4e7;border-radius:6px;background:#fff;color:#71717a;font-family:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:all .1s ease;flex-shrink:0}.foreshadowing-collapse-toggle:hover{background:#f4f4f5;color:#18181b;border-color:#d4d4d8}.foreshadowing-section.collapsed{padding:8px 24px}.foreshadowing-section-header h3{margin:0;color:#09090b;font-size:14px;font-weight:680}.foreshadowing-section-header p{min-width:0;margin:0;overflow:hidden;color:#71717a;font-size:12px;line-height:1.4;text-align:right;text-overflow:ellipsis;white-space:nowrap}.foreshadowing-section.collapsed .foreshadowing-section-header p{display:none}.foreshadowing-grid{position:relative;display:flex;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-gutter:stable}.foreshadowing-card{flex:0 0 300px;width:300px;padding:10px 14px;border:1px solid #e4e4e7;border-left:3px solid #8b5cf6;border-radius:8px;background:#fff;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.foreshadowing-card.fsh-linked-hover{border-color:#d4d4d8;box-shadow:0 8px 24px #18181b21;transform:translateY(-1px)}.foreshadowing-card.is-focus-target,.foreshadowing-card:focus-visible{border-color:#6366f1;outline:none;box-shadow:0 0 0 4px #6366f124,0 12px 28px #18181b1f;transform:translateY(-1px)}.foreshadowing-card.fsh-linked-hover.fsh-color-0{border-color:#14b8a6;background:linear-gradient(180deg,#f0fdfab3,#fff 45%)}.foreshadowing-card.fsh-linked-hover.fsh-color-1{border-color:#60a5fa;background:linear-gradient(180deg,#eff6ffc7,#fff 45%)}.foreshadowing-card.fsh-linked-hover.fsh-color-2{border-color:#a78bfa;background:linear-gradient(180deg,#f5f3ffc7,#fff 45%)}.foreshadowing-card.fsh-linked-hover.fsh-color-3{border-color:#fb923c;background:linear-gradient(180deg,#fff7edd1,#fff 45%)}.foreshadowing-card.fsh-linked-hover.fsh-color-4{border-color:#f472b6;background:linear-gradient(180deg,#fdf2f8d1,#fff 45%)}.foreshadowing-card.fsh-color-0{border-left-color:#14b8a6}.foreshadowing-card.fsh-color-1{border-left-color:#60a5fa}.foreshadowing-card.fsh-color-2{border-left-color:#a78bfa}.foreshadowing-card.fsh-color-3{border-left-color:#fb923c}.foreshadowing-card.fsh-color-4{border-left-color:#f472b6}.foreshadowing-card-new{border-left-color:#a1a1aa}.foreshadowing-card.dirty{border-color:#e4e4e7;background:#fff}.foreshadowing-card.dirty.fsh-color-0{border-left-color:#14b8a6}.foreshadowing-card.dirty.fsh-color-1{border-left-color:#60a5fa}.foreshadowing-card.dirty.fsh-color-2{border-left-color:#a78bfa}.foreshadowing-card.dirty.fsh-color-3{border-left-color:#fb923c}.foreshadowing-card.dirty.fsh-color-4{border-left-color:#f472b6}.foreshadowing-card.broken{border-left-color:#ef4444;background:#fef2f2}.foreshadowing-card.broken .foreshadowing-card-head:before{content:"已断开";display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:#fee2e2;color:#dc2626;font-size:10px;font-weight:700;flex-shrink:0}.foreshadowing-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:3px}.foreshadowing-card-title{font-size:13px;font-weight:650;color:#18181b;flex:1;min-width:0}.foreshadowing-card-head .session-change-badge{flex:0 0 auto}.foreshadowing-card-title .editable-field{font-size:13px;font-weight:650}.foreshadowing-card-title .editable-field.dirty{color:#18181b}.foreshadowing-card-meta{display:flex;align-items:center;gap:4px;margin-bottom:3px;flex-wrap:nowrap}.foreshadowing-card-meta .fsh-tag{min-width:0;flex:1 1 0;white-space:nowrap}.foreshadowing-card-meta button.fsh-tag{overflow:hidden}.foreshadowing-card-meta>svg{flex:0 0 auto}.foreshadowing-card-desc .editable-field{font-size:12px;color:#52525b;line-height:1.55;min-height:18px}.foreshadowing-card-desc .editable-field.dirty{color:#52525b}.foreshadowing-card-edit{margin:8px 0}.foreshadowing-card-edit .event-select-row{grid-template-columns:1fr}.foreshadowing-card-save-actions{margin-top:8px}.fsh-inline-select{width:100%;max-width:none;min-width:0;border:0;background:transparent;color:inherit;font:inherit;font-size:10px;font-weight:650;outline:none;text-overflow:ellipsis}.foreshadowing-add-card{flex:0 0 180px;width:180px;min-height:96px;padding:12px 14px;border:1px dashed #d4d4d8;border-radius:8px;background:#fff;color:#71717a;display:grid;place-items:center;align-content:center;gap:6px;font-family:inherit;font-size:13px;font-weight:650;cursor:pointer}.foreshadowing-add-card:hover{border-color:#a1a1aa;color:#18181b;background:#fafafa}.foreshadowing-card-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;transition:opacity .12s ease}.foreshadowing-card:hover .foreshadowing-card-actions,.foreshadowing-section.editable .foreshadowing-card-actions{opacity:1}.foreshadowing-card-actions button{min-height:24px;min-width:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px;background:transparent;color:#a1a1aa;font-size:11px;cursor:pointer}.foreshadowing-card-actions button:hover{background:#f4f4f5;color:#52525b}.foreshadowing-card-actions button.danger:hover{background:#fee2e2;color:#dc2626}.foreshadowing-modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#18181b52}.foreshadowing-modal{width:min(520px,100%);padding:16px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;box-shadow:0 20px 48px #18181b2e}.foreshadowing-modal h3{margin:0 0 12px;color:#18181b;font-size:16px;font-weight:680}.foreshadowing-modal .timeline-inline-form{border:0;padding:0;background:transparent}.timeline-comment-panel{min-height:0;overflow:auto;padding:20px 18px;border-left:1px solid var(--loom-line);background:#fbfbfb;display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;max-width:none;transition:padding var(--motion-duration-slow) var(--motion-ease-standard),border-color var(--motion-duration-standard) var(--motion-ease-standard),background-color var(--motion-duration-standard) var(--motion-ease-standard);position:relative}.timeline-comment-panel.collapsed{width:100%;min-width:0;padding:0;overflow:visible}.panel-collapse-toggle{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);width:22px;height:56px;display:grid;place-items:center;border:1px solid var(--loom-line);border-radius:7px;background:#fbfbfb;color:#a1a1aa;cursor:pointer;z-index:10}.panel-collapse-toggle:hover{background:#fff;color:#18181b}.timeline-comment-panel h2{margin:0;font-size:17px;font-weight:680;flex-shrink:0}.edit-mode-switch.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.edit-mode-switch.three-up button{display:inline-flex;align-items:center;gap:4px;padding:0 6px}.edit-mode-switch.three-up button span{font-size:12px}.timeline-comment-panel .comment-form{display:grid;gap:8px}.timeline-comment-panel .comment-form textarea{min-height:86px;padding:12px;border:1px solid var(--loom-line);border-radius:8px;background:#fff;font-family:inherit;font-size:13px;resize:vertical;color:#18181b;outline:none}.timeline-comment-panel .comment-form textarea::-moz-placeholder{color:#a1a1aa}.timeline-comment-panel .comment-form textarea::placeholder{color:#a1a1aa}.timeline-comment-panel .comment-form textarea:disabled{background:#f4f4f5;color:var(--loom-faint)}.timeline-comment-panel .comment-list{min-height:0}.timeline-chat{flex:1 1 auto;min-height:120px;overflow:auto;display:flex;flex-direction:column;gap:10px}.chat-empty{padding:14px 12px;border:1px dashed #d4d4d8;border-radius:8px;color:var(--loom-muted);font-size:13px;line-height:1.6}.chat-message{display:block}.chat-bubble{position:relative;flex:1;min-width:0;padding:12px 38px 12px 12px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;display:grid;gap:8px}.chat-bubble p{min-width:0;margin:0;color:#3f3f46;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.chat-bubble-delete{position:absolute;top:6px;right:6px;min-width:24px;width:24px;min-height:24px;height:24px;padding:0;color:#71717a}.chat-compose-card{padding:12px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;box-shadow:0 1px 6px #18181b0a}.proposal-compose-card{flex:1 1 auto;min-height:280px;align-content:stretch}.proposal-compose-card textarea{min-height:220px;flex:1 1 auto}.selectable-text{margin:0;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text;line-height:1.6;font-size:13px;color:#3f3f46}.selected-text-highlight{padding:0 1px;border-radius:2px;background:#dbeafe;box-shadow:inset 0 -2px #93c5fd;-webkit-box-decoration-break:clone;box-decoration-break:clone}.marked-text{padding:0 1px;border-radius:2px;background:#eff6ff;-webkit-box-decoration-break:clone;box-decoration-break:clone;text-decoration:underline;text-decoration-color:#60a5fa;text-decoration-thickness:2px;text-underline-offset:3px}.selected-quote-preview{padding:10px 12px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb}.selected-quote-preview span{display:block;margin-bottom:4px;font-size:11px;font-weight:650;color:#a16207;text-transform:uppercase;letter-spacing:.04em}.selected-quote-preview p{margin:0;font-size:13px;line-height:1.55;color:#3f3f46;max-height:100px;overflow-y:auto}.comment-quote{display:block;padding:6px 8px;border-left:3px solid #fde68a;background:#fffbeb;font-size:12px;line-height:1.5;color:#78716c;border-radius:0 4px 4px 0}.timeline-minimap{position:fixed;z-index:10;border-radius:8px;box-shadow:0 2px 12px #0000001f;cursor:pointer;opacity:.85;transition:opacity .2s;pointer-events:auto}.timeline-minimap:hover{opacity:1}.story-strategy-page{grid-template-columns:minmax(0,1fr) var(--workspace-context-width);gap:0;overflow:visible}.story-strategy-page:has(.timeline-comment-panel.collapsed){grid-template-columns:minmax(0,1fr) var(--workspace-context-collapsed-width)}.story-strategy-page .timeline-area,.story-strategy-page .timeline-comment-panel{border:0;border-radius:0;background:#fff;box-shadow:none}.story-strategy-page .timeline-area{overflow:hidden}.story-strategy-page .timeline-scroll{background:#fff}.story-strategy-page .timeline-h-track{padding:24px 60px 320px}.story-strategy-page .timeline-event-card,.story-strategy-page .foreshadowing-card{border:1px solid #e4e4e7;border-radius:10px;background:#fff}.story-strategy-page .timeline-event-card{min-height:198px;padding:16px 18px;box-shadow:none}.story-strategy-page .timeline-event-card:hover,.story-strategy-page .foreshadowing-card:hover{border-color:#d4d4d8;box-shadow:0 1px 8px #18181b0d}.story-strategy-page .event-order{box-shadow:0 0 0 3px #fff}.story-strategy-page .foreshadowing-section{padding:16px 20px 18px;background:#fff}.story-strategy-page .foreshadowing-grid{gap:10px;justify-content:start}.story-strategy-page .foreshadowing-card{flex-basis:300px;padding:12px 14px;border-left-width:3px}.story-strategy-page .foreshadowing-add-card{flex-basis:180px;border-radius:10px;background:#fff}.story-strategy-page .timeline-comment-panel{width:auto;min-width:0;padding:14px;border-left:1px solid #e4e4e7;gap:12px}.story-strategy-page .timeline-comment-panel.collapsed{width:100%;min-width:0;border:0;border-left:1px solid #e4e4e7;border-radius:0;background:#fafafa;box-shadow:none}.story-strategy-page .timeline-comment-panel h2{font-size:17px}.story-strategy-page .timeline-comment-panel :where(.review-panel-home,.comment-hint,.chat-empty,.chat-bubble,.chat-compose-card){border:0;border-bottom:1px solid var(--loom-line);border-radius:0;background:transparent;box-shadow:none}.story-strategy-page .timeline-comment-panel .comment-form textarea{background:#fff}.story-strategy-page .selected-quote-preview{border:0;border-left:3px solid #f59e0b;border-radius:0;background:#fffbeb}@media(max-width:900px){.story-strategy-page,.story-strategy-page:has(.timeline-comment-panel.collapsed){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(620px,1fr) auto;overflow-y:auto}.story-strategy-page .timeline-comment-panel,.story-strategy-page .timeline-comment-panel.collapsed{width:100%;min-width:0;max-width:none;min-height:320px;padding:16px;border:0;border-top:1px solid #e4e4e7;overflow:visible}.story-strategy-page .timeline-comment-panel.collapsed{min-height:36px;padding:0}}@keyframes timeline-stream-pulse{0%{opacity:.62;transform:translateY(10px) scale(.98)}45%,to{opacity:1;transform:translateY(0) scale(1)}}.section-head p,.drawer-copy,.plain-list,.doc-block p{color:var(--loom-muted);line-height:1.72}.setting-package-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.disabled\:opacity-50:disabled{opacity:.5}.preference-discrete-slider[data-v-53e65eaf]{position:relative;min-width:0;padding-top:4px}.preference-range-input[data-v-53e65eaf]{position:relative;z-index:1;left:var(--preference-range-left);width:var(--preference-range-width);height:24px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.preference-range-rail[data-v-53e65eaf]{position:absolute;top:14.5px;left:var(--preference-range-left);width:var(--preference-rail-width);height:3px;overflow:hidden;border-radius:999px;background:#d4d4d8}.preference-range-disabled-tail[data-v-53e65eaf]{position:absolute;top:0;right:0;bottom:0;width:var(--preference-disabled-tail-width);background:repeating-linear-gradient(90deg,#d4d4d8 0 5px,#fff 5px 8px)}.preference-range-input[data-v-53e65eaf]::-webkit-slider-runnable-track{height:3px;background:transparent}.preference-range-input[data-v-53e65eaf]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6.5px;-webkit-appearance:none;appearance:none;border:2px solid #18181b;border-radius:999px;background:#fff;box-shadow:0 1px 3px #18181b33}.preference-range-input[data-v-53e65eaf]::-moz-range-track{height:3px;background:transparent}.preference-range-input[data-v-53e65eaf]::-moz-range-thumb{width:13px;height:13px;border:2px solid #18181b;border-radius:999px;background:#fff;box-shadow:0 1px 3px #18181b33}.preference-range-labels[data-v-53e65eaf]{display:grid;align-items:start}.preference-range-option[data-v-53e65eaf]{min-width:0;display:grid;justify-items:center;gap:5px;padding:0 3px;border:0;background:transparent;color:#71717a;font:inherit;font-size:11px;line-height:1.25;text-align:center}.preference-range-dot[data-v-53e65eaf]{width:9px;height:9px;display:inline-grid;place-items:center;border:2px solid #d4d4d8;border-radius:999px;background:#fff;color:#a1a1aa}.preference-range-option[data-v-53e65eaf]:hover:not(:disabled),.preference-range-option.active[data-v-53e65eaf]{color:#18181b}.preference-range-option.active[data-v-53e65eaf]{font-weight:760}.preference-range-option.active .preference-range-dot[data-v-53e65eaf]{border-color:#18181b;background:#18181b}.preference-range-option.disabled[data-v-53e65eaf]{color:#a1a1aa;cursor:not-allowed}.preference-range-option.disabled .preference-range-dot[data-v-53e65eaf]{width:18px;height:18px;margin-top:-4px;border:1px dashed #d4d4d8;background:#f4f4f5}.preference-range-option small[data-v-53e65eaf]{color:#a1a1aa;font-size:9px;font-weight:650}.creator-preferences-layer[data-v-e95b043e]{position:fixed;inset:0;z-index:1600}.creator-preferences-backdrop[data-v-e95b043e]{position:absolute;inset:0;width:100%;border:0;background:#18181b57;backdrop-filter:blur(2px)}.creator-preferences-drawer[data-v-e95b043e]{position:absolute;top:0;right:0;bottom:0;width:min(500px,100vw);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border-left:1px solid #d4d4d8;background:#fafafa;box-shadow:-24px 0 64px #18181b2e}.creator-preferences-head[data-v-e95b043e]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 16px;background:#fff}.creator-preferences-title-row[data-v-e95b043e]{display:flex;align-items:center;gap:11px}.creator-preferences-mark[data-v-e95b043e]{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:9px;background:#18181b;color:#fff}.creator-preferences-title-row p[data-v-e95b043e],.creator-preferences-title-row h2[data-v-e95b043e]{margin:0}.creator-preferences-title-row p[data-v-e95b043e]{color:#71717a;font-size:10px;font-weight:760;letter-spacing:.08em}.creator-preferences-title-row h2[data-v-e95b043e]{color:#18181b;font-size:18px;font-weight:760}.creator-preferences-close[data-v-e95b043e]{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#71717a}.creator-preferences-close[data-v-e95b043e]:hover{border-color:#e4e4e7;background:#f4f4f5;color:#18181b}.creator-preferences-intro[data-v-e95b043e]{margin:0;padding:0 24px 18px;border-bottom:1px solid #e4e4e7;background:#fff;color:#71717a;font-size:12px;line-height:1.55}.creator-preferences-body[data-v-e95b043e]{display:grid;align-content:start;gap:12px;overflow:auto;padding:18px 20px 28px}.creator-preference-section[data-v-e95b043e]{display:grid;gap:12px;padding:18px;border:1px solid #e4e4e7;border-radius:10px;background:#fff;box-shadow:0 1px 2px #18181b08}.creator-preference-section-head[data-v-e95b043e]{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.creator-preference-section-head span[data-v-e95b043e],.creator-preference-section-head h3[data-v-e95b043e],.creator-preference-section>p[data-v-e95b043e]{margin:0}.preference-option-guide[data-v-e95b043e]{display:grid;gap:5px;margin:2px 0 0;padding:0;list-style:none}.preference-option-guide li[data-v-e95b043e]{display:grid;grid-template-columns:108px minmax(0,1fr);gap:9px;padding:7px 8px;border-radius:7px;color:#71717a;font-size:10px;line-height:1.4}.preference-option-guide li.active[data-v-e95b043e]{background:#f4f4f5;color:#3f3f46}.preference-option-guide li.disabled[data-v-e95b043e]{color:#a1a1aa}.preference-option-guide strong[data-v-e95b043e]{color:#3f3f46;font-weight:740}.preference-option-guide li.disabled strong[data-v-e95b043e]{color:#a1a1aa}.creator-preference-section-head>div>span[data-v-e95b043e]{color:#71717a;font-size:10px;font-weight:740}.creator-preference-section-head h3[data-v-e95b043e]{margin-top:2px;color:#18181b;font-size:16px;font-weight:760}.creator-preference-section-head>svg[data-v-e95b043e]{color:#71717a}.creator-preference-value[data-v-e95b043e]{flex:0 0 auto;padding:4px 7px;border-radius:6px;background:#f4f4f5;color:#52525b;font-size:10px;font-weight:720}.creativity-reset-button[data-v-e95b043e]{min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #d4d4d8;border-radius:7px;background:#fff;color:#52525b;font:inherit;font-size:10px;font-weight:720}.creativity-reset-button[data-v-e95b043e]:hover:not(:disabled){border-color:#a1a1aa;background:#f4f4f5;color:#18181b}.creativity-reset-button[data-v-e95b043e]:disabled{border-color:#e4e4e7;color:#a1a1aa;cursor:not-allowed}.creator-preference-section>p[data-v-e95b043e]{min-height:36px;color:#52525b;font-size:12px;line-height:1.5}.creativity-range[data-v-e95b043e]{width:100%;height:24px;margin:2px 0 0;accent-color:#18181b;cursor:pointer}.creativity-range-labels[data-v-e95b043e]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;color:#52525b;font-size:10px;font-weight:700}.creativity-range-labels span[data-v-e95b043e]{display:grid;gap:2px}.creativity-range-labels span[data-v-e95b043e]:first-child{justify-items:start}.creativity-range-labels span[data-v-e95b043e]:nth-child(2){justify-items:center}.creativity-range-labels span[data-v-e95b043e]:last-child{justify-items:end}.creativity-range-labels small[data-v-e95b043e]{color:#a1a1aa;font-size:9px;font-weight:600}.creator-preferences-status[data-v-e95b043e]{min-height:48px;display:flex;align-items:center;gap:7px;padding:0 24px;border-top:1px solid #e4e4e7;background:#fff;color:#71717a;font-size:11px;font-weight:680}.creator-preferences-status.saved[data-v-e95b043e]{color:#047857}.creator-preferences-status.error[data-v-e95b043e]{color:#b91c1c}.is-spinning[data-v-e95b043e]{animation:creator-preferences-spin-e95b043e .8s linear infinite}.creator-preferences-enter-active[data-v-e95b043e],.creator-preferences-leave-active[data-v-e95b043e]{transition:opacity .16s ease}.creator-preferences-enter-active .creator-preferences-drawer[data-v-e95b043e],.creator-preferences-leave-active .creator-preferences-drawer[data-v-e95b043e]{transition:transform .18s ease}.creator-preferences-enter-from[data-v-e95b043e],.creator-preferences-leave-to[data-v-e95b043e]{opacity:0}.creator-preferences-enter-from .creator-preferences-drawer[data-v-e95b043e],.creator-preferences-leave-to .creator-preferences-drawer[data-v-e95b043e]{transform:translate(24px)}@keyframes creator-preferences-spin-e95b043e{to{transform:rotate(360deg)}}@media(max-width:560px){.creator-preferences-drawer[data-v-e95b043e]{width:100vw}.creator-preferences-head[data-v-e95b043e]{padding:18px 18px 14px}.creator-preferences-intro[data-v-e95b043e]{padding:0 18px 15px}.creator-preferences-body[data-v-e95b043e]{padding:14px 12px 24px}.creator-preference-section[data-v-e95b043e]{padding:15px 12px}}.toast-stack[data-v-ffdd3cfd]{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:400px;pointer-events:none}.toast-item[data-v-ffdd3cfd]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:#fff;box-shadow:0 4px 24px #0000001f,0 1px 3px #00000014;font-size:13px;font-weight:550;pointer-events:auto;animation:toast-in-ffdd3cfd .25s ease-out}.toast-item.error[data-v-ffdd3cfd]{border-left:3px solid #ef4444;color:#991b1b}.toast-item.error .toast-icon[data-v-ffdd3cfd]{color:#ef4444;flex-shrink:0}.toast-item.success[data-v-ffdd3cfd]{border-left:3px solid #22c55e;color:#166534}.toast-item.success .toast-icon[data-v-ffdd3cfd]{color:#22c55e;flex-shrink:0}.toast-item.info[data-v-ffdd3cfd]{border-left:3px solid var(--loom-blue, #3b82f6);color:#1e40af}.toast-item.info .toast-icon[data-v-ffdd3cfd]{color:var(--loom-blue, #3b82f6);flex-shrink:0}.toast-message[data-v-ffdd3cfd]{flex:1;line-height:1.4}.toast-dismiss[data-v-ffdd3cfd]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:inherit;opacity:.5;cursor:pointer;flex-shrink:0}.toast-dismiss[data-v-ffdd3cfd]:hover{opacity:1;background:#0000000f}@keyframes toast-in-ffdd3cfd{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}
