/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-serif:var(--font-book);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:.4rem;padding:.4rem 1rem;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--text-muted);background:var(--text)}@supports (color:color-mix(in lab, red, red)){.btn:hover:not(:disabled){background:color-mix(in oklab, var(--text) 5%, var(--surface))}}.btn:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn[aria-pressed=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn[aria-pressed=true]{background:color-mix(in oklab, var(--accent) 14%, var(--surface))}}.btn[aria-pressed=true]{border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.btn-primary:hover:not(:disabled){border-color:var(--accent);background:var(--accent);filter:brightness(1.1)}.btn-icon{color:var(--text-muted);background:0 0;border-color:#0000;padding:.4rem}.btn-icon:hover:not(:disabled){color:var(--text);background:var(--text)}@supports (color:color-mix(in lab, red, red)){.btn-icon:hover:not(:disabled){background:color-mix(in oklab, var(--text) 8%, transparent)}}.btn-icon:hover:not(:disabled){box-shadow:none;border-color:#0000;transform:none}.btn-icon[aria-pressed=true]{color:var(--accent);background:0 0;border-color:#0000}.field{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;padding:.5rem .75rem}select.field{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23918a7f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.book-card{overflow-wrap:anywhere;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);height:100%;min-height:11rem;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);flex-direction:column;gap:.75rem;padding:1.25rem 1.25rem 1rem;display:flex}a.book-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.binder-row{border-radius:var(--radius-sm);height:2rem;font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-out);align-items:center;gap:.375rem;padding-right:.25rem;display:flex;position:relative}.binder-row:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.binder-row:hover{background:color-mix(in oklab, var(--text) 5%, transparent)}}.binder-row.is-selected{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.binder-row.is-selected{background:color-mix(in oklab, var(--accent) 14%, transparent)}}.binder-row[data-system=true] .binder-title{color:var(--text-muted);font-style:italic}.binder-row.is-dragging{opacity:.4}.binder-row.drop-inside{outline:2px solid var(--accent);outline-offset:-2px}.binder-row.drop-before:before,.binder-row.drop-after:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;left:4px;right:4px}.binder-row.drop-before:before{top:-1px}.binder-row.drop-after:after{bottom:-1px}.binder-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.binder-title.is-placeholder{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.binder-title.is-placeholder{color:color-mix(in oklab, var(--text) 78%, var(--bg))}}.binder-title.is-placeholder{font-style:italic}.binder-rename{border:1px solid var(--accent);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:4px;flex:1;height:1.5rem;padding:0 .375rem}.chev{width:1rem;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out);display:inline-flex}.chev.is-open{transform:rotate(90deg)}.row-more{color:var(--text-muted);border-radius:6px;padding:2px;display:none}.binder-row:hover .row-more,.binder-row:focus-within .row-more{display:inline-flex}.row-more:hover{background:var(--bg);color:var(--text)}.resizer{z-index:5;cursor:col-resize;width:5px;transition:background-color var(--dur-fast);background:0 0;margin:0 -2px}.resizer:hover,.resizer.is-active,.resizer:focus-visible{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.resizer:hover,.resizer.is-active,.resizer:focus-visible{background:color-mix(in oklab, var(--accent) 45%, transparent)}}.title-field,.project-title{width:100%;color:var(--text);outline-offset:4px;border-radius:var(--radius-sm);background:0 0;border:0}.title-field{font-family:var(--font-book);font-size:var(--text-2xl);padding:.25rem 0;font-weight:600;line-height:1.3}.title-field::placeholder,.project-title::placeholder{color:var(--text-muted);opacity:.7}.project-title{max-width:28rem;padding:.25rem .5rem;font-weight:600}.project-title:hover{background:var(--bg)}.editor-sheet{--measure:var(--user-measure,54rem);--sheet-pad-left:max(clamp(2.75rem, 6vw, 6rem), calc((100% - var(--measure)) / 2));--sheet-pad-right:max(clamp(1.25rem, 4vw, 4.5rem), calc((100% - var(--measure)) / 2));flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}@media (max-width:640px){.editor-sheet{--sheet-pad-left:1rem;--sheet-pad-right:1rem}}.sheet-gutter{padding-left:var(--sheet-pad-left);padding-right:var(--sheet-pad-right)}.sheet-toolbar{padding:.375rem calc(var(--sheet-pad-right) - .5rem) .375rem calc(var(--sheet-pad-left) - .5rem);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.125rem;display:flex}.sheet-scroll{overscroll-behavior:contain;flex:1;min-height:0;scroll-padding-block:6rem;position:relative;overflow-y:auto}.sheet-footer{padding:.375rem var(--sheet-pad-right) .375rem var(--sheet-pad-left);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;display:flex}.book-page{padding:1.5rem var(--sheet-pad-right) 45vh var(--sheet-pad-left)}.block-handle{z-index:4}.block-grip{width:1.5rem;height:1.75rem;color:var(--text-muted);cursor:grab;opacity:.55;transition:opacity var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-radius:6px;place-items:center;margin-top:.25rem;display:grid}.block-grip:hover,.block-grip:focus-visible{opacity:1;background:var(--text)}@supports (color:color-mix(in lab, red, red)){.block-grip:hover,.block-grip:focus-visible{background:color-mix(in oklab, var(--text) 8%, transparent)}}.block-grip:hover,.block-grip:focus-visible{color:var(--text)}.block-grip:active{cursor:grabbing}.book-text{caret-color:var(--accent);font-family:var(--book-font,var(--font-book));font-size:var(--book-size,1.1875rem);line-height:var(--book-leading,1.75);letter-spacing:var(--book-tracking,0);font-kerning:var(--book-kerning,normal);counter-reset:footnote;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;outline:none;min-height:40vh}.book-text:focus,.book-text:focus-visible{outline:none}.book-text ::selection{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.book-text ::selection{background:color-mix(in oklab, var(--accent) 30%, transparent)}}.book-text>.ProseMirror-selectednode:not(hr){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.book-text>.ProseMirror-selectednode:not(hr){background:color-mix(in oklab, var(--accent) 12%, transparent)}}.book-text>.ProseMirror-selectednode:not(hr){border-radius:var(--radius-sm);box-shadow:0 0 0 .35rem var(--accent)}@supports (color:color-mix(in lab, red, red)){.book-text>.ProseMirror-selectednode:not(hr){box-shadow:0 0 0 .35rem color-mix(in oklab, var(--accent) 12%, transparent)}}.book-text>.ProseMirror-selectednode:not(hr){outline:none}.book-text p{margin:0 0 .85em}.book-text h1,.book-text h2,.book-text h3{text-wrap:balance;margin:1.6em 0 .6em;font-weight:600;line-height:1.25}.book-text h1{font-size:var(--text-2xl)}.book-text h2{font-size:var(--text-xl)}.book-text h3{font-size:var(--text-lg)}.book-text blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:1em 0;padding-left:1.25rem;font-style:italic}.book-text ul,.book-text ol{margin:0 0 .85em;padding-left:1.75rem}.book-text li>p{margin:0}.book-text hr[data-scene-break]{text-align:center;cursor:pointer;border:0;height:auto;margin:1.75em 0}.book-text hr[data-scene-break]:after{content:"*   *   *";letter-spacing:.35em;color:var(--text-muted)}.book-text hr[data-scene-break].ProseMirror-selectednode{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.book-text hr[data-scene-break].ProseMirror-selectednode{background:color-mix(in oklab, var(--accent) 12%, transparent)}}.book-text hr[data-scene-break].ProseMirror-selectednode{box-shadow:0 0 0 .35rem var(--accent)}@supports (color:color-mix(in lab, red, red)){.book-text hr[data-scene-break].ProseMirror-selectednode{box-shadow:0 0 0 .35rem color-mix(in oklab, var(--accent) 12%, transparent)}}.book-text hr[data-scene-break].ProseMirror-selectednode{border-radius:var(--radius-sm);outline:none}.book-text p.is-empty:before,.book-text p.is-editor-empty:before{content:attr(data-placeholder);color:var(--text-muted);opacity:.7;float:left;pointer-events:none;height:0}button:not(:disabled),[role=button],[role=menuitem]:not(:disabled),[role=radio],[role=tab],[role=treeitem],a[href],select:not(:disabled),summary,label[for],input[type=checkbox],input[type=radio]{cursor:pointer}button:disabled,[role=menuitem]:disabled{cursor:default}.menu-panel{transform-origin:0 0;animation:pop-in var(--dur-fast) var(--ease-out)}.menu-item{text-align:left;width:100%;transition:background-color var(--dur-fast) var(--ease-out), padding-left var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:.375rem .75rem;display:block}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--accent);outline:none;padding-left:1rem}@supports (color:color-mix(in lab, red, red)){.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:color-mix(in oklab, var(--accent) 14%, transparent)}}.menu-item.is-danger{color:var(--danger)}.menu-item.is-danger:hover:not(:disabled),.menu-item.is-danger:focus-visible{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.menu-item.is-danger:hover:not(:disabled),.menu-item.is-danger:focus-visible{background:color-mix(in oklab, var(--danger) 14%, transparent)}}.menu-item:disabled{opacity:.4}dialog[open]{animation:pop-in var(--dur-base) var(--ease-out)}dialog::backdrop{background:#00000073}dialog[open]::backdrop{animation:fade-in var(--dur-base) var(--ease-out)}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-full{bottom:100%}.left-0{left:0}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-dvh{min-height:100dvh}.w-6{width:calc(var(--spacing) * 6)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-60{width:calc(var(--spacing) * 60)}.w-80{width:calc(var(--spacing) * 80)}.w-\[min\(28rem\,calc\(100vw-2rem\)\)\]{width:min(28rem,100vw - 2rem)}.w-\[min\(48rem\,calc\(100vw-2rem\)\)\]{width:min(48rem,100vw - 2rem)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-\[40rem\]{min-width:40rem}.min-w-\[64rem\]{min-width:64rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[3px\]{gap:3px}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--border)}.border-danger{border-color:var(--danger)}.bg-accent{background-color:var(--accent)}.bg-bg{background-color:var(--bg)}.bg-border{background-color:var(--border)}.bg-surface{background-color:var(--surface)}.bg-white{background-color:var(--color-white)}.object-cover{object-fit:cover}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:var(--spacing)}.pr-20{padding-right:calc(var(--spacing) * 20)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-serif{font-family:var(--font-book)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-all{word-break:break-all}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--accent)}.text-accent-contrast{color:var(--accent-contrast)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.text-text{color:var(--text)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-1{text-decoration-thickness:1px}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.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,)}.sepia{--tw-sepia:sepia(100%);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,)}.transition-\[color\,background-color\,transform\]{transition-property:color,background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}@media (hover:hover){.hover\:bg-bg:hover{background-color:var(--bg)}.hover\:bg-surface:hover{background-color:var(--surface)}.hover\:text-danger:hover{color:var(--danger)}.hover\:text-text:hover{color:var(--text)}}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:opacity-40:disabled{opacity:.4}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mt-8{margin-top:calc(var(--spacing) * 8)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_1fr_auto\]{grid-template-columns:1fr 1fr 1fr auto}.sm\:grid-cols-\[2fr_1fr_1fr_auto\]{grid-template-columns:2fr 1fr 1fr auto}.sm\:grid-cols-\[repeat\(5\,1fr\)_auto\]{grid-template-columns:repeat(5,1fr) auto}.sm\:items-end{align-items:flex-end}.sm\:gap-6{gap:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (min-width:64rem){.lg\:inline{display:inline}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-normal-DLqwHbi6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-normal-e3e57Shi.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-normal-CO1l-giJ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-normal-LcSrhZ7T.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-normal-BnEbWgdZ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-normal-DLxlUchJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui:"Onest Variable", system-ui, sans-serif;--font-book:"Literata Variable", Georgia, "Times New Roman", serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--text-3xl:2.074rem;--text-4xl:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--dur-fast:.15s;--dur-base:.3s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ai:#e0a030;--ai-soft:var(--ai)}@supports (color:color-mix(in lab, red, red)){:root{--ai-soft:color-mix(in oklab, var(--ai) 18%, transparent)}}:root,[data-theme=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf7f2;--surface:#fffdf9;--text:#2a2622;--text-muted:#6b645b;--border:#e6dfd3;--accent:#3f3d8f;--accent-contrast:#fff;--danger:#b3261e;--success:#2f7d4f;--status-draft:#b3680a;--status-revised:#2f6fa8;--status-final:#2f7d4f;--shadow-color:36 28 16}[data-theme=ink]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1c1b1a;--surface:#252321;--text:#ece7df;--text-muted:#a39b8f;--border:#36332f;--accent:#a3a6f7;--accent-contrast:#1c1b1a;--danger:#f2998f;--success:#7bc89a;--status-draft:#e0a95a;--status-revised:#6fa8dc;--status-final:#7bc89a;--shadow-color:0 0 0}[data-theme=sepia]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1e6d0;--surface:#f7eedc;--text:#3b2f20;--text-muted:#6c5c44;--border:#dccba9;--accent:#8a4b2a;--accent-contrast:#fff8ec;--danger:#a3261b;--success:#4a7a3f;--status-draft:#9a5a08;--status-revised:#2a5f8f;--status-final:#3d6f34;--shadow-color:59 38 12}:root{--shadow-sm:0 1px 2px rgb(var(--shadow-color) / .06), 0 1px 1px rgb(var(--shadow-color) / .04);--shadow-md:0 4px 12px rgb(var(--shadow-color) / .08), 0 1px 3px rgb(var(--shadow-color) / .06)}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur-base:.01ms}}.reader{--bar:3.25rem;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;position:fixed;inset:0;overflow:hidden}.reader-prose{font-family:var(--r-font);font-size:var(--r-size);line-height:var(--r-lh);text-align:var(--r-align);hyphens:var(--r-hyphens);-webkit-hyphens:var(--r-hyphens);overflow-wrap:break-word;font-variant-numeric:oldstyle-nums;text-rendering:optimizelegibility}.reader-prose p{orphans:2;widows:2;margin:0 0 .85em}.reader[data-paragraphs=indent] .reader-prose p{text-indent:1.5em;margin:0}.reader[data-paragraphs=indent] .reader-prose :is(h1,h2,h3,h4,hr,header)+p,.reader[data-paragraphs=indent] .reader-prose :is(blockquote,li,.reader-poem) p,.reader[data-paragraphs=indent] .reader-prose .reader-chapter-head+p{text-indent:0}.reader-prose :is(h3,h4,h5,h6){text-align:left;break-after:avoid;margin:1.6em 0 .6em;line-height:1.25}.reader-prose a{color:var(--accent);text-underline-offset:.15em;text-decoration:underline}.reader-prose blockquote{border-left:2px solid var(--border);margin:1em 0 1em .8em;padding-left:1em;font-style:italic}.reader-prose blockquote.reader-epigraph{text-align:left;border-left:0;width:min(24em,82%);margin:1.2em 0 1.6em auto;padding-left:0;font-size:.95em}.reader-prose blockquote.reader-epigraph>p:last-child:not(:first-child){text-align:right;font-style:normal}.reader-prose .reader-poem{white-space:pre-wrap;text-align:left;margin:1em 0 1em 1.6em}.reader-prose .reader-poem p{text-indent:0;margin:0 0 1em}.reader-prose :is(ul,ol){margin:0 0 .85em;padding-left:1.6em}.reader-prose li>p{margin:0 0 .3em}.reader-prose hr.reader-break{text-align:center;break-inside:avoid;border:0;height:auto;margin:1.6em 0}.reader-prose hr.reader-break:after{content:"*  *  *";color:var(--text-muted);letter-spacing:.3em}.reader-prose .reader-figure{text-align:center;break-inside:avoid;margin:1.4em 0}.reader-prose .reader-figure img{max-width:100%;max-height:var(--figure-max,70vh);border-radius:var(--radius-sm);margin:0 auto .4em;display:block}.reader-prose .reader-figure figcaption{color:var(--text-muted);font-size:.85em}.reader-fn{min-width:1.4em;color:var(--accent);font:inherit;font-family:var(--font-ui);vertical-align:super;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:.1em .3em;font-size:.7em;font-weight:600;line-height:1;display:inline-block}.reader-fn:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.reader-fn:hover{background:color-mix(in oklab, var(--accent) 16%, transparent)}}.reader-chapter-head{break-after:avoid}.reader-chapter-title{text-align:center;text-wrap:balance;-webkit-hyphens:manual;hyphens:manual;margin:2.4em 0 1.1em;font-size:1.55em;font-weight:600;line-height:1.2}.reader-part{text-align:center;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin:3.5em 0 0;font-size:.72em}.reader-end{text-align:center;font-family:var(--font-ui);break-inside:avoid;margin:4rem 0 6rem}.reader-end-mark{color:var(--text-muted);font-size:2rem}.reader-scroll{overscroll-behavior:contain;overflow-anchor:none;scroll-behavior:auto;outline:none;position:absolute;inset:0;overflow-y:auto}.reader-flow{box-sizing:content-box;max-width:var(--r-measure);padding:calc(var(--bar) + 1rem) var(--r-margin) 7rem;font-size:var(--r-size);margin:0 auto}.reader-flow .reader-chapter:first-child .reader-chapter-title{margin-top:1.2em}.reader-pages{box-sizing:border-box;padding:calc(var(--bar) + .5rem + env(safe-area-inset-top,0px)) var(--r-margin) calc(4.4rem + env(safe-area-inset-bottom,0px));font-size:var(--r-size);touch-action:pan-y;-webkit-user-select:text;user-select:text;outline:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reader-pageview{flex:none;position:relative;overflow:hidden}.reader-columns{column-fill:auto;will-change:transform;--figure-max:calc(var(--page-h,60vh) - 3em)}@media (prefers-reduced-motion:no-preference){.reader-columns{transition:transform .24s var(--ease-out)}}.reader-columns .reader-chapter-title{margin-top:.8em}.reader-loading{color:var(--text-muted);place-items:center;display:grid;position:absolute;inset:0}.reader-bar{z-index:5;background:var(--bg);align-items:center;gap:.25rem;padding:.5rem .75rem;display:flex;position:absolute;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.reader-bar{background:color-mix(in oklab, var(--bg) 95%, transparent)}}.reader-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear 0s}.reader-bar.is-top{min-height:var(--bar);box-sizing:border-box;padding-top:calc(.5rem + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);top:0}.reader-bar.is-bottom{padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);flex-direction:column;align-items:stretch;gap:.1rem;bottom:0}.reader-bar[data-hidden=true]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base)}.reader-bar.is-top[data-hidden=true]{transform:translateY(-100%)}.reader-bar.is-bottom[data-hidden=true]{transform:translateY(100%)}.reader-seek{width:100%;height:1.6rem;accent-color:var(--accent);cursor:pointer}.reader-banner{top:calc(var(--bar) + .75rem + env(safe-area-inset-top,0px));z-index:6;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:max-content;max-width:min(36rem,100% - 1.5rem);box-shadow:var(--shadow-md);font-family:var(--font-ui);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem 1rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.reader-toast{bottom:calc(5rem + env(safe-area-inset-bottom,0px));z-index:6;border-radius:var(--radius-full);background:var(--text);color:var(--bg);font-family:var(--font-ui);font-size:var(--text-sm);padding:.5rem 1rem;position:absolute;left:50%;transform:translate(-50%)}dialog.reader-sheet{border:0;border-left:1px solid var(--border);background:var(--surface);width:min(26rem,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--text);box-shadow:var(--shadow-md);font-family:var(--font-ui);margin:0;padding:0;position:fixed;inset:0 0 0 auto}dialog.reader-sheet.is-bottom,dialog.reader-sheet.is-bottom[open]{border-left:0;border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:auto;max-height:60dvh;inset:auto 0 0}@media (max-width:640px){dialog.reader-sheet{border-left:0;border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:auto;max-height:86dvh;inset:auto 0 0}}dialog.reader-sheet[open]{animation:reader-sheet-in var(--dur-base) var(--ease-out)}dialog.reader-sheet.is-bottom[open]{animation-name:reader-sheet-up}@media (max-width:640px){dialog.reader-sheet[open]{animation-name:reader-sheet-up}}@keyframes reader-sheet-in{0%{opacity:0;transform:translate(24px)}}@keyframes reader-sheet-up{0%{opacity:0;transform:translateY(24px)}}.reader-sheet-body{max-height:inherit;height:100%;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex}.reader-sheet-head{justify-content:space-between;align-items:center;padding:.9rem 1rem .5rem;display:flex}.reader-sheet-scroll{flex:1;overflow-y:auto}.reader-toc,.reader-toc ol{margin:0;padding:0 .5rem;list-style:none}.reader-toc-part{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:.9rem .5rem .2rem}.reader-toc-item{border-radius:var(--radius-sm);width:100%;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .75rem;display:flex}.reader-toc-item:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.reader-toc-item:hover{background:color-mix(in oklab, var(--text) 7%, transparent)}}.reader-toc-item[aria-current=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.reader-toc-item[aria-current=true]{background:color-mix(in oklab, var(--accent) 14%, transparent)}}.reader-toc-item[aria-current=true]{font-weight:600}.reader-setting{border-bottom:1px solid var(--border);flex-direction:column;gap:.4rem;padding:.7rem 0;display:flex}.reader-setting [role=radiogroup]{flex-wrap:wrap}.reader-setting input[type=range]{accent-color:var(--accent)}.reader-setting-label{font-size:var(--text-sm);color:var(--text-muted)}.reader-note-text{font-family:var(--font-book);font-size:1.05rem;line-height:1.55}.reader-audio{align-items:center;gap:.15rem;padding-bottom:.25rem;display:flex}.reader-audio .reader-audio-play,.reader-audio .reader-audio-play:hover:not(:disabled){border-radius:var(--radius-full);background:var(--accent);min-width:2.75rem;min-height:2.75rem;color:var(--accent-contrast);margin:0 .15rem}.reader-audio-info{min-width:0;font-family:var(--font-ui);font-size:var(--text-sm);flex-direction:column;flex:auto;margin:0 .4rem;line-height:1.25;display:flex}.reader[data-audio=on] .reader-pages{padding-bottom:calc(7.2rem + env(safe-area-inset-bottom,0px))}.reader[data-audio=on] .reader-toast{bottom:calc(8.5rem + env(safe-area-inset-bottom,0px))}::highlight(bindery-tts){background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){::highlight(bindery-tts){background-color:color-mix(in oklab, var(--accent) 7%, transparent)}}::highlight(bindery-tts){color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){::highlight(bindery-tts){-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 70%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 70%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 70%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 70%, transparent)}}::highlight(bindery-tts){-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:.22em;text-decoration-thickness:1.5px}.reader-prose [data-tts]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.reader-prose [data-tts]{background-color:color-mix(in oklab, var(--accent) 7%, transparent)}}.reader-prose [data-tts]{box-shadow:-.6rem 0 0 -.45rem var(--accent);border-radius:6px}.read-progress{border-radius:var(--radius-full);background:var(--text);height:4px;display:block;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.read-progress{background:color-mix(in oklab, var(--text) 14%, transparent)}}.read-progress>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.book-cover-mini{aspect-ratio:2/3;flex:none;width:3.5rem}.book-cover-mini .book-cover-title{display:none}.shelf-progress{z-index:1;pointer-events:none;position:absolute;bottom:8px;left:5px;right:5px}.shelf-progress .read-progress{background:#ffffff59}.shelf-progress .read-progress>span{background:#fff}.reader-toc-item[aria-current=true] .text-muted{color:var(--text)}.is-drop{outline:2px dashed var(--accent);outline-offset:8px;border-radius:12px;position:relative}.drop-hint{z-index:2;background:var(--accent);color:var(--accent-contrast);border-radius:999px;align-self:center;padding:.5rem 1rem;font-weight:600;position:sticky;top:8px}html{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);font-size:16px;line-height:1.5}body{min-height:100dvh;margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--text) transparent}@supports (color:color-mix(in lab, red, red)){*{scrollbar-color:color-mix(in oklab, var(--text) 24%, transparent) transparent}}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--text) 20%, transparent)}}::-webkit-scrollbar-thumb{background-clip:content-box;border:4px solid #0000;border-radius:9999px;min-height:3rem}::-webkit-scrollbar-thumb:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab, var(--text) 38%, transparent)}}::-webkit-scrollbar-thumb:hover{background-clip:content-box}::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.book-text:focus,.book-text:focus-visible{outline:none}[data-paragraphs=indent] .book-text p{text-indent:1.5em;margin:0}[data-paragraphs=indent] .book-text>:is(h1,h2,h3,hr)+p,[data-paragraphs=indent] .book-text>p:first-child,[data-paragraphs=indent] .book-text li>p,[data-paragraphs=indent] .book-text blockquote p,[data-paragraphs=indent] .book-text [data-poem] p{text-indent:0}.book-text a{color:var(--accent);text-underline-offset:.15em;cursor:pointer;text-decoration:underline}.book-text sup.footnote{counter-increment:footnote;vertical-align:super;text-align:center;cursor:pointer;min-width:1.1em;color:var(--accent);line-height:1;font-family:var(--font-ui);padding:0 .15em;font-size:.75em;display:inline-block}.book-text sup.footnote:after{content:counter(footnote);font-weight:600}.book-text sup.footnote.ProseMirror-selectednode{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.book-text sup.footnote.ProseMirror-selectednode{background:color-mix(in oklab, var(--accent) 18%, transparent)}}.book-text sup.footnote.ProseMirror-selectednode{border-radius:4px}.book-text blockquote[data-epigraph]{text-align:left;border-left:0;width:min(26rem,70%);margin:1.5em 0 1.5em auto;padding-left:0;font-size:.95em}.book-text blockquote[data-epigraph]>p:last-child:not(:first-child){text-align:right;font-style:normal}.book-text [data-poem]{white-space:pre-wrap;margin:1em 0 1em 2rem}.book-text [data-poem] p{margin:0 0 1em}.book-figure{text-align:center;margin:1.5em 0}.book-figure img{border-radius:var(--radius-sm);max-width:100%;max-height:70vh;margin:0 auto .5rem;display:block}.book-figure.ProseMirror-selectednode img{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.book-figure.ProseMirror-selectednode img{outline:3px solid color-mix(in oklab, var(--accent) 55%, transparent)}}.book-figure.ProseMirror-selectednode img{outline-offset:3px}.figure-input{width:min(100%,30rem);color:var(--text-muted);font:inherit;text-align:center;background:0 0;border:0;border-bottom:1px dashed #0000;margin:0 auto;font-size:.875rem;display:block}.figure-input:hover,.figure-input:focus{border-bottom-color:var(--border);outline:none}.figure-alt{opacity:.7;font-size:.75rem}.book-figure:not(.ProseMirror-selectednode) .figure-alt:not(:focus):placeholder-shown{display:none}.search-hit,.search-mark{background:var(--ai)}@supports (color:color-mix(in lab, red, red)){.search-hit,.search-mark{background:color-mix(in oklab, var(--ai) 38%, transparent)}}.search-hit,.search-mark{color:var(--text);border-radius:3px}.focus-mode .book-text>:not(.is-current){opacity:.28;transition:opacity var(--dur-base) var(--ease-out)}.focus-mode .book-text>.is-current{opacity:1;transition:opacity var(--dur-base) var(--ease-out)}.focus-mode .sheet-footer{opacity:.5;transition:opacity var(--dur-base) var(--ease-out)}.focus-mode .sheet-footer:hover,.focus-mode .sheet-footer:focus-within{opacity:1}.typewriter .book-page{padding-top:40vh}.focus-exit{z-index:40;opacity:.35;transition:opacity var(--dur-fast) var(--ease-out);position:fixed;top:.75rem;right:.75rem}.focus-exit:hover,.focus-exit:focus-visible{opacity:1}.slash-menu{z-index:60;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:17rem;max-height:20rem;font-size:var(--text-sm);padding:.25rem;position:fixed;overflow-y:auto}.slash-item{border-radius:var(--radius-sm);text-align:left;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.4rem .6rem;display:flex}.slash-item.is-active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.slash-item.is-active{background:color-mix(in oklab, var(--accent) 14%, transparent)}}.palette-backdrop{z-index:70;background:#00000059;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transform-origin:top;flex-direction:column;width:min(40rem,100vw - 2rem);max-height:70vh;display:flex;overflow:hidden}.palette-input{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;font-size:var(--text-lg);background:0 0;outline:none;padding:1rem 1.25rem}.palette-list{margin:0;padding:.25rem;list-style:none;overflow-y:auto}.palette-group{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:.6rem .75rem .2rem;font-weight:600}.palette-item{border-radius:var(--radius-sm);text-align:left;width:100%;font-size:var(--text-sm);align-items:center;gap:1rem;padding:.5rem .75rem;display:flex}.palette-item.is-active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.palette-item.is-active{background:color-mix(in oklab, var(--accent) 14%, transparent)}}.search-panel{z-index:45;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;width:min(26rem,100vw - 2rem);display:flex;position:fixed;top:3.75rem;bottom:1rem;right:1rem;overflow:hidden}.tab{border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-sm);padding:.25rem .9rem}.tab:hover{color:var(--text)}.tab.is-active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tab.is-active{background:color-mix(in oklab, var(--accent) 14%, transparent)}}.tab.is-active{color:var(--text)}.search-hit-row{border-radius:var(--radius-sm);text-align:left;width:100%;transition:background-color var(--dur-fast) var(--ease-out);padding:.5rem .75rem;display:block}.search-hit-row:hover,.search-hit-row:focus-visible{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.search-hit-row:hover,.search-hit-row:focus-visible{background:color-mix(in oklab, var(--text) 6%, transparent)}}.kbd{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-xs);white-space:nowrap;border-radius:6px;padding:.05rem .4rem}.label-dot{border-radius:9999px;flex-shrink:0;width:.5rem;height:.5rem;display:inline-block}.swatch{border:2px solid #0000;border-radius:9999px;width:1.4rem;height:1.4rem;box-shadow:inset 0 0 0 1px #00000026}.swatch.is-selected{border-color:var(--surface);outline:2px solid var(--text)}.status-link{color:var(--text-muted);font-size:inherit;border-radius:var(--radius-sm);padding:0 .25rem}.status-link:hover{color:var(--text);text-decoration:underline}.goal-track{background:var(--border);border-radius:9999px;width:5rem;height:.375rem;display:inline-block;overflow:hidden}.goal-fill{background:var(--accent);height:100%;transition:width var(--dur-base) var(--ease-out);display:block}.goal-fill.is-done{background:var(--success)}.history-panel{z-index:45;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;width:min(54rem,100vw - 2rem);display:flex;position:fixed;top:3.75rem;bottom:1rem;right:1rem;overflow:hidden}.version-row{text-align:left;width:100%;transition:background-color var(--dur-fast) var(--ease-out);border-left:3px solid #0000;padding:.5rem 1rem;display:block}.version-row:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.version-row:hover{background:color-mix(in oklab, var(--text) 5%, transparent)}}.version-row.is-active{border-left-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.version-row.is-active{background:color-mix(in oklab, var(--accent) 12%, transparent)}}.kind-badge{border-radius:var(--radius-full);background:var(--text);padding:0 .45rem}@supports (color:color-mix(in lab, red, red)){.kind-badge{background:color-mix(in oklab, var(--text) 8%, transparent)}}.kind-badge{color:var(--text);font-size:var(--text-xs)}.kind-badge.kind-manual,.kind-badge.kind-milestone{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.kind-badge.kind-manual,.kind-badge.kind-milestone{background:color-mix(in oklab, var(--accent) 18%, transparent)}}.kind-badge.kind-manual,.kind-badge.kind-milestone{color:var(--text)}.diff-block{border-radius:var(--radius-sm);font-family:var(--book-font,var(--font-book));margin:0 0 .5rem;padding:.35rem .6rem;line-height:1.6;position:relative}.diff-block p{margin:0}.diff-block.is-same{color:var(--text-muted)}.diff-block.is-changed,.diff-block.is-added,.diff-block.is-removed{border-left:3px solid var(--border);background:var(--text);padding-right:9.5rem}@supports (color:color-mix(in lab, red, red)){.diff-block.is-changed,.diff-block.is-added,.diff-block.is-removed{background:color-mix(in oklab, var(--text) 4%, transparent)}}.diff-add{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.diff-add{background:color-mix(in oklab, var(--success) 28%, transparent)}}.diff-add{border-radius:3px;text-decoration:none}.diff-del{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.diff-del{background:color-mix(in oklab, var(--danger) 24%, transparent)}}.diff-del{border-radius:3px;text-decoration:line-through}.diff-take{opacity:0;font-family:var(--font-ui);padding:.15rem .7rem;position:absolute;top:.35rem;right:.5rem}.diff-block:hover .diff-take,.diff-take:focus-visible{opacity:1}@media (hover:none){.diff-take{opacity:1}}.book-text .comment-mark{background:var(--ai)}@supports (color:color-mix(in lab, red, red)){.book-text .comment-mark{background:color-mix(in oklab, var(--ai) 22%, transparent)}}.book-text .comment-mark{border-bottom:2px solid var(--ai)}@supports (color:color-mix(in lab, red, red)){.book-text .comment-mark{border-bottom:2px solid color-mix(in oklab, var(--ai) 70%, transparent)}}.book-text .comment-mark{cursor:pointer;border-radius:2px}.book-text .comment-mark.is-resolved{border-bottom:1px dotted var(--text-muted);background:0 0}.comments-panel{z-index:45;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;width:min(25rem,100vw - 2rem);display:flex;position:fixed;top:3.75rem;bottom:1rem;right:1rem;overflow:hidden}.comment-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);margin:0 0 .5rem;padding:.6rem .75rem}.comment-card.is-focused{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.comment-card.is-focused{box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 25%, transparent)}}.comment-card.is-resolved{opacity:.65}.comment-quote,.comment-quote-static{border-left:3px solid var(--ai);width:100%;color:var(--text-muted);font-family:var(--font-book);font-style:italic;font-size:var(--text-sm);text-align:left;overflow-wrap:anywhere;padding:.1rem .4rem;display:block}.comment-quote:disabled{cursor:default}.count-badge{border-radius:var(--radius-full);background:var(--accent);color:var(--accent-contrast);font-variant-numeric:tabular-nums;margin-left:.15rem;padding:0 .35rem;font-size:.65rem;line-height:1.1rem}.conflict-side{border:1px solid var(--border);border-radius:var(--radius-sm);opacity:.6;padding:.5rem .75rem}.conflict-side.is-picked{opacity:1;border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.conflict-side.is-picked{background:color-mix(in oklab, var(--accent) 8%, transparent)}}.diff-del+.diff-add{margin-left:.3em}.shelf{flex-wrap:wrap;align-items:flex-end;gap:0 6px;margin:0;padding:1.5rem .5rem 0;list-style:none;display:flex}.shelf-item{margin-bottom:1.75rem;position:relative}.shelf-item:after{content:"";background:linear-gradient(180deg, var(--text), var(--text));border-radius:2px;height:12px;position:absolute;bottom:-12px;left:-4px;right:-4px}@supports (color:color-mix(in lab, red, red)){.shelf-item:after{background:linear-gradient(180deg, color-mix(in oklab, var(--text) 18%, var(--surface)), color-mix(in oklab, var(--text) 8%, var(--surface)))}}.shelf-item:after{box-shadow:0 6px 10px -6px rgb(var(--shadow-color) / .35)}.shelf-book{transform-origin:bottom;transition:transform var(--dur-base) var(--ease-out), filter var(--dur-base) var(--ease-out);display:block}.shelf-book:hover,.shelf-book:focus-visible{filter:drop-shadow(0 10px 8px rgb(var(--shadow-color) / .3));transform:translateY(-10px)rotate(-1.2deg)}.book-spine{color:#fff;border-radius:3px 5px 5px 3px;justify-content:center;align-items:center;height:15rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 2px 0 3px #ffffff2e,inset -3px 0 4px #00000040}.book-spine-title{max-height:88%;font-family:var(--font-book);text-align:center;text-overflow:ellipsis;writing-mode:vertical-rl;text-wrap:balance;padding:0 .25rem;font-size:.95rem;font-weight:600;overflow:hidden}.book-spine-band{inset-inline:0;background:#ffffff59;height:3px;position:absolute;top:14%;box-shadow:0 8px #fff3}.book-menu-btn{border-radius:var(--radius-sm);color:var(--text-muted);opacity:0;background:var(--surface);padding:.1rem .5rem;position:absolute;top:.35rem;right:.35rem}@supports (color:color-mix(in lab, red, red)){.book-menu-btn{background:color-mix(in oklab, var(--surface) 80%, transparent)}}.book-menu-btn{transition:opacity var(--dur-fast) var(--ease-out)}.book-menu-btn.is-shelf{top:auto;bottom:-2.4rem;right:50%;transform:translate(50%)}li:hover>.book-menu-btn,.book-menu-btn:focus-visible{opacity:1}@media (hover:none){.book-menu-btn{opacity:1}}.series-section{flex-direction:column;gap:.75rem;display:flex}.series-section+.series-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1.25rem}.series-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.series-head .btn-icon{align-self:center}.series-volume{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600}.grid-books{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1.75rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.grid-book{transition:transform var(--dur-base) var(--ease-out);flex-direction:column;display:flex}a.grid-book:hover{transform:translateY(-4px)}.book-cover{box-shadow:var(--shadow-md), inset 4px 0 6px -2px #00000059;border-radius:3px 8px 8px 3px;position:relative;overflow:hidden}.book-cover-card{aspect-ratio:2/3;width:100%}.book-cover-title{color:#fff;font-family:var(--font-book);text-shadow:0 1px 6px #00000073;text-wrap:balance;overflow-wrap:anywhere;font-size:1.15rem;font-weight:600;line-height:1.2;position:absolute;inset:auto .9rem 1.1rem}.is-opening{animation:book-open .28s var(--ease-out) forwards;z-index:5}@keyframes book-open{to{opacity:0;transform:perspective(900px)rotateY(-24deg)scale(1.18)}}.mode-bar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.25rem;padding:.4rem .75rem;display:flex}.view-pane{flex-direction:column;height:100%;min-height:0;display:flex}.view-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:3rem 1rem;display:flex}.cork-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));align-content:start;gap:1rem;margin:0;padding:1.25rem;list-style:none;display:grid;overflow-y:auto}.cork-card{border:1px solid var(--border);border-top:5px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:11rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cork-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.cork-card.is-dragging{opacity:.4}.cork-card.drop-before{outline:2px solid var(--accent);outline-offset:2px}.card-title{text-align:left;font-family:var(--font-book);font-size:var(--text-lg);overflow-wrap:anywhere;font-weight:600;line-height:1.25}.card-title:hover{color:var(--accent)}.card-synopsis{resize:none;border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;font-size:var(--text-sm);background:0 0;border:0;flex:1;padding:.25rem}.card-synopsis:hover,.card-synopsis:focus{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.card-synopsis:hover,.card-synopsis:focus{background:color-mix(in oklab, var(--text) 5%, transparent)}}.card-select,.table-input{border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--text-sm);background:0 0;border:1px solid #0000}.card-select:hover,.table-input:hover,.card-select:focus,.table-input:focus{border-color:var(--border);background:var(--bg)}.table-input{width:100%;padding:.2rem .4rem}.structure-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.structure-table th{border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-muted);text-align:left;padding:.5rem;font-weight:600;position:sticky;top:0}.structure-table td{border-bottom:1px solid var(--border);padding:.25rem .5rem}@supports (color:color-mix(in lab, red, red)){.structure-table td{border-bottom:1px solid color-mix(in oklab, var(--border) 60%, transparent)}}.structure-table td{vertical-align:middle}.structure-table tr.is-part td{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.structure-table tr.is-part td{background:color-mix(in oklab, var(--text) 4%, transparent)}}.structure-table tr.is-part td{font-weight:600}.map-col{flex-direction:column;align-items:stretch;gap:.35rem;display:flex}.map-scene{width:100%;transition:transform var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out);border-radius:3px;display:block}.map-scene:hover{filter:brightness(1.12);transform:scaleX(1.12)}.map-scene.is-selected{outline:2px solid var(--text);outline-offset:1px}.map-chapter{max-height:7rem;color:var(--text-muted);font-size:var(--text-xs);text-align:left;text-overflow:ellipsis;white-space:nowrap;writing-mode:vertical-rl;overflow:hidden}.map-chapter:hover{color:var(--text)}.map-part{border-top:2px solid var(--border);font-family:var(--font-book);font-size:var(--text-sm);padding-top:.25rem;font-weight:600}.map-swatch{border-radius:3px;width:.75rem;height:.75rem;display:inline-block}.second-pane{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;width:min(32rem,42%);min-width:18rem;display:flex}.second-pane-body{flex:1;min-height:0;overflow-y:auto}.second-page{padding:1.5rem 1.5rem 4rem}.book-text.is-readonly{cursor:default;font-size:calc(var(--book-size,1.1875rem) * .92)}.page-stage{background:var(--text);flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.page-stage{background:color-mix(in oklab, var(--text) 5%, var(--bg))}}.page-scroller{aspect-ratio:148/210;scroll-snap-type:x mandatory;background:var(--surface);max-width:100%;height:min(100%,46rem);box-shadow:var(--shadow-md);border-radius:3px;overflow:auto hidden}.page-flow{height:100%}.page-flow .book-text{column-width:var(--page-w,24rem);column-fill:auto;text-align:justify;column-gap:0;height:100%;min-height:0;padding:0;font-size:.8125rem;line-height:1.5}.page-flow .book-text>*{scroll-snap-align:start;padding-inline:2.2rem}.page-flow .book-text>:first-child{padding-top:2.2rem}.sheet-footer{position:relative}.cheer{left:var(--sheet-pad-left);z-index:20;border:1px solid var(--ai);align-items:center;gap:.5rem;padding:.5rem .9rem;display:flex;position:absolute;bottom:calc(100% + .5rem)}@supports (color:color-mix(in lab, red, red)){.cheer{border:1px solid color-mix(in oklab, var(--ai) 60%, var(--border))}}.cheer{border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-md);color:var(--text);font-size:var(--text-sm);animation:cheer-in .5s var(--ease-out) both}.cheer-icon{color:var(--ai);animation:cheer-spin 1.2s var(--ease-out) both}@keyframes cheer-in{0%{opacity:0;transform:translateY(10px)scale(.92)}}@keyframes cheer-spin{0%{transform:rotate(-120deg)scale(.4)}}.tour-card{z-index:30;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(20rem,100vw - 2rem);color:var(--text);box-shadow:var(--shadow-md);padding:1rem;position:fixed;bottom:3rem;right:1rem}.home-header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem 1.5rem;display:grid}.home-brand{font-size:1.875rem;line-height:1.2}.home-actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.only-compact{display:none}@media (max-width:639px){.home-header{grid-template-columns:1fr auto;gap:.75rem .5rem;padding:.75rem 1rem}.home-brand{font-size:1.5rem}.home-mode{grid-area:2/1/auto/-1}.home-mode [role=radiogroup]{background:var(--surface);border-radius:999px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.25rem;padding:.25rem;display:grid}.home-mode [role=radio]{text-align:center;padding-block:.5rem}.not-compact{display:none!important}.only-compact{display:inline-flex}.grid-books{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem .7rem}.grid-book .book-cover-title{font-size:.78rem;inset:auto .5rem .6rem}.grid-book>span:last-child>span:first-child{font-size:.9rem}.grid-book>span:last-child>span:nth-child(2){display:none}.shelf{justify-content:center}.home-actions>.btn:last-child{padding-inline:.5rem}}.cat-search{z-index:6;background:var(--bg);flex-wrap:wrap;gap:.5rem;margin:0 -1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.cat-search{background:color-mix(in oklab, var(--bg) 92%, transparent)}}.cat-search{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #0000}.cat-search-field{flex:16rem;min-width:0;position:relative}.cat-search-field>.field{padding-left:2.4rem}.cat-search-field>svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.cat-search select.field{flex:0 13rem;width:auto}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1.6rem 1rem;margin:0;padding:0;list-style:none;display:grid}.cat-card{flex-direction:column;min-width:0;display:flex;position:relative}.cat-card-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform var(--dur-base) var(--ease-out);background:0 0;border:0;flex-direction:column;gap:.55rem;padding:0;display:flex}.cat-card-main:hover{transform:translateY(-3px)}.cat-card-main:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.cat-cover{aspect-ratio:2/3;width:100%}.cat-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.95rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.cat-meta{-webkit-line-clamp:1;color:var(--text-muted);-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.cat-card-add{background:var(--accent);width:2.25rem;height:2.25rem;color:var(--accent-contrast);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out);border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.45rem;right:.45rem}.cat-card-add:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.06)}.cat-card-add:active:not(:disabled){transform:scale(.94)}.cat-card-add:disabled{cursor:default}.cat-card-add.is-done{background:var(--surface);color:var(--accent);border:1px solid var(--border)}.cat-card-add:focus-visible{outline:2px solid var(--text);outline-offset:2px}.cat-card-error{color:var(--text);margin:.4rem 0 0;font-size:.8rem;line-height:1.3}.cat-shelf{scroll-snap-type:x proximity;scrollbar-width:thin;gap:1rem;margin:0 -1rem;padding:.25rem 1rem .75rem;list-style:none;display:flex;overflow-x:auto}.cat-shelf>li{scroll-snap-align:start;flex:0 0 8.25rem}.cat-pills{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.cat-source{border:1px solid var(--border);border-radius:var(--radius-lg,14px);background:var(--surface);flex-direction:column;gap:.85rem;padding:1.25rem 1rem 1rem;display:flex}.cat-chip{border:1px solid var(--border);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;max-width:100%;padding:.1rem .6rem;font-size:.75rem;display:inline-flex;overflow:hidden}.cat-nav{border:1px solid var(--border);background:var(--surface);color:inherit;transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:12px;flex-direction:column;gap:.2rem;padding:.9rem 1rem;text-decoration:none;display:flex}.cat-nav:hover{border-color:var(--text-muted);transform:translateY(-2px)}.cat-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cat-detail{max-height:inherit;flex-direction:column;gap:1.1rem;padding:1.25rem 1.25rem 1.75rem;display:flex;overflow-y:auto}.cat-detail-head{grid-template-columns:7.5rem 1fr;align-items:start;gap:1rem;display:grid}.cat-formats{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}@media (max-width:639px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .85rem}.cat-shelf>li{flex-basis:7.25rem}.cat-detail-head{grid-template-columns:6rem 1fr}}.chat-panel{z-index:46;border-left:1px solid var(--ai);flex-direction:column;max-width:100vw;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.chat-panel{border-left:1px solid color-mix(in oklab, var(--ai) 45%, var(--border))}}.chat-panel{background:var(--surface);box-shadow:-6px 0 18px -12px var(--ai)}@supports (color:color-mix(in lab, red, red)){.chat-panel{box-shadow:-6px 0 18px -12px color-mix(in oklab, var(--ai) 60%, transparent)}}@media (min-width:900px){.studio-root[data-chat=open]{padding-right:var(--chat-w)}}.chat-resize{z-index:1;cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-3px}.chat-resize:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:3px}.chat-resize:hover:after,.chat-resize:focus-visible:after{background:var(--ai)}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.chat-head>svg{color:var(--ai)}.chat-title{font-family:var(--font-book);font-size:var(--text-lg);margin-right:auto;font-weight:600}.chat-balance{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;padding:.1rem .5rem}.chat-stages{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.35rem;margin:0;padding:.5rem .75rem;list-style:none;display:flex}.stage-chip{border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);gap:.35rem;padding:.1rem .55rem;display:inline-flex}.stage-chip-state{color:var(--text-muted)}.stage-chip.is-approved{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.stage-chip.is-approved{border-color:color-mix(in oklab, var(--success) 50%, var(--border))}}.stage-chip.is-awaiting_approval,.stage-chip.is-in_progress{border-color:var(--ai);background:var(--ai-soft)}.stage-chip.is-stale{border-style:dashed;border-color:var(--danger)}.chat-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.6rem;min-height:0;padding:.85rem .75rem;display:flex;overflow-y:auto}.chat-empty{text-align:center;margin:auto .5rem}.chat-msg{border-radius:var(--radius-md);overflow-wrap:anywhere;max-width:92%;font-size:var(--text-sm);padding:.5rem .75rem;line-height:1.55}.chat-msg p{margin:0 0 .5em}.chat-msg>:last-child{margin-bottom:0}.chat-msg.is-user{background:var(--accent);color:var(--accent-contrast);align-self:flex-end}.chat-msg.is-assistant{border-left:3px solid var(--ai);background:var(--bg);align-self:flex-start}.chat-msg.is-live{border-left-style:dashed}.chat-list{margin:0 0 .5em;padding-left:1.2rem}.chat-msg blockquote{border-left:2px solid var(--border);color:var(--text-muted);margin:0 0 .5em;padding-left:.6rem}.chat-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);font-size:var(--text-sm);align-self:stretch;padding:.5rem .75rem}.chat-card p{margin:0}.chat-card.is-action{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:.5rem;padding:.3rem .65rem;display:flex}.chat-card.is-action>svg{color:var(--success)}.chat-card.is-failed>svg{color:var(--danger)}.chat-card.is-gate{border-color:var(--ai);background:var(--ai-soft)}.chat-card.is-error{border-color:var(--danger)}.chat-card.is-status,.chat-card.is-error{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.chat-options{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.chat-working{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:.5rem;margin:0;display:flex}.chat-working-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-card-title{color:var(--text);font-weight:500}.chat-card.is-notice{color:var(--text-muted);font-size:var(--text-xs);background:0 0;border-style:dashed}.chat-plan{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);margin:0 .75rem .5rem;overflow:hidden}.chat-plan-head{width:100%;color:var(--text);font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.4rem .65rem;display:flex}.chat-plan-chevron{color:var(--text-muted);transition:transform .15s;display:inline-flex}.chat-plan-chevron.is-open{transform:rotate(90deg)}.chat-plan-title{font-weight:600}.chat-plan-count{color:var(--text-muted);font-variant-numeric:tabular-nums}.chat-plan-now{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-plan-bar{background:var(--border);height:2px}.chat-plan-bar>span{background:var(--ai);height:100%;transition:width .3s;display:block}.chat-plan-list{max-height:11rem;font-size:var(--text-xs);margin:0;padding:.35rem .65rem .5rem;list-style:none;overflow-y:auto}.chat-plan-list li{color:var(--text-muted);align-items:flex-start;gap:.5rem;padding:.15rem 0;display:flex}.chat-plan-list li.is-doing{color:var(--text);font-weight:500}.chat-plan-list li.is-done .chat-plan-text,.chat-plan-list li.is-skipped .chat-plan-text{text-decoration:line-through;-webkit-text-decoration-color:var(--border);-webkit-text-decoration-color:var(--border);-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.chat-plan-mark{border:1.5px solid var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:.9rem;height:.9rem;margin-top:.1rem;display:inline-flex}.chat-plan-list li.is-doing .chat-plan-mark{border-color:var(--ai);background:radial-gradient(circle, var(--ai) 38%, transparent 42%)}.chat-plan-list li.is-done .chat-plan-mark{border-color:var(--success);background:var(--success);color:var(--bg)}.chat-dots{background:var(--ai);border-radius:50%;width:.55rem;height:.55rem;animation:1.2s ease-in-out infinite chat-pulse}@keyframes chat-pulse{50%{opacity:.3;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){.chat-dots{animation:none}}.chat-error{color:var(--danger);font-size:var(--text-sm);margin:0}.chat-chips{flex-wrap:wrap;gap:.4rem;padding:0 .75rem .5rem;display:flex}.chat-chips[hidden]{display:none}.chip{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg);font-size:var(--text-xs);transition:border-color var(--dur-fast) var(--ease-out);padding:.2rem .65rem}.chip:hover:not(:disabled){border-color:var(--ai)}.chip:disabled{opacity:.5}.chat-history{flex-direction:column;flex:1;gap:.6rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.chat-history-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.chat-history-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.chat-session{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);align-items:center;gap:.25rem;display:flex}.chat-session[data-current]{border-color:var(--ai)}.chat-session-open{text-align:left;flex-direction:column;flex:1;gap:.1rem;min-width:0;padding:.5rem .65rem;display:flex}.chat-session-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chat-session-rename,.chat-session-confirm{font-size:var(--text-sm);flex-wrap:wrap;flex:1;align-items:center;gap:.4rem;padding:.5rem;display:flex}.chat-session-rename .field{flex:1;min-width:8rem}.style-list{border:0;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}.style-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);align-items:flex-start;gap:.6rem;padding:.55rem .65rem;display:flex}.style-row input[type=radio]{margin-top:.3rem}.style-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.style-name{font-weight:600}.style-prompt{-webkit-line-clamp:2;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.style-confirm{font-size:var(--text-sm);margin-top:.3rem}.style-presets summary{cursor:pointer;font-weight:600}.style-presets-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.style-presets-list .style-row{align-items:center}.style-form{border:1px solid var(--ai);border-radius:var(--radius-md);flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.chat-context{margin:0;padding:0 .75rem .25rem}.chat-composer{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.5rem .75rem .75rem;display:flex}.chat-composer textarea{resize:none;width:100%;min-height:6.5rem;max-height:14rem}.chat-composer-bar{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.chat-composer-bar .chip{text-overflow:ellipsis;white-space:nowrap;flex:none;align-items:center;gap:.3rem;max-width:100%;min-height:2rem;display:inline-flex;overflow:hidden}.chat-composer-spacer{flex:1}.chat-spent{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.role-picker{position:relative}.role-trigger{gap:.35rem}.role-caret{width:.4rem;height:.4rem;transition:transform var(--dur-fast) var(--ease-out);border-bottom:1.5px solid;border-right:1.5px solid;margin-top:-.2rem;transform:rotate(45deg)}.role-trigger[aria-expanded=true]{border-color:var(--ai)}.role-trigger[aria-expanded=true] .role-caret{margin-top:.2rem;transform:rotate(225deg)}.role-pop{z-index:5;border:1px solid var(--ai);width:min(21rem,100vw - 1.5rem);max-height:min(28rem,65vh);padding:.35rem;position:absolute;bottom:calc(100% + .5rem);left:0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.role-pop{border:1px solid color-mix(in oklab, var(--ai) 35%, var(--border))}}.role-pop{border-radius:var(--radius-md);background:var(--surface);box-shadow:0 10px 28px -10px var(--text)}@supports (color:color-mix(in lab, red, red)){.role-pop{box-shadow:0 10px 28px -10px color-mix(in oklab, var(--text) 45%, transparent)}}.role-pop{animation:pop-in var(--dur-fast) var(--ease-out);transform-origin:0 100%}.role-pop ul{flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none;display:flex}.role-item{border-radius:var(--radius-sm,.4rem)}.role-item.is-selected{background:var(--ai-soft)}.role-row{align-items:center;gap:.25rem;display:flex}.role-pick{border-radius:inherit;text-align:left;min-width:0;transition:background-color var(--dur-fast) var(--ease-out);flex:1;align-items:center;gap:.4rem;padding:.45rem .5rem;display:flex}.role-pick:hover{background:var(--ai-soft)}@supports (color:color-mix(in lab, red, red)){.role-pick:hover{background:color-mix(in oklab, var(--ai-soft) 70%, transparent)}}.role-check{width:1rem;color:var(--ai);flex:none;justify-content:center;display:inline-flex}.role-text{flex-direction:column;min-width:0;display:flex}.role-name{font-size:var(--text-sm);font-weight:600}.role-short{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-info-btn{border:1px solid var(--border);border-radius:var(--radius-full);width:1.4rem;height:1.4rem;color:var(--text-muted);font-family:var(--font-serif,serif);font-size:var(--text-xs);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex:none;justify-content:center;align-items:center;margin-right:.3rem;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.role-info-btn:hover,.role-info-btn[aria-expanded=true]{border-color:var(--ai);color:var(--text)}.role-info-btn[aria-expanded=true]{background:var(--surface)}.role-details{font-size:var(--text-xs);flex-direction:column;gap:.4rem;padding:0 .75rem .65rem 2rem;line-height:1.45;display:flex}.role-details p{margin:0}.role-access{color:var(--text-muted);font-style:italic}@media (max-width:899px){.chat-panel{height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px)}.chat-head{padding-top:calc(.6rem + env(safe-area-inset-top,0px))}.chat-composer{padding-bottom:.6rem}.chat-composer textarea{min-height:4.25rem;max-height:9rem}.chat-composer-bar{flex-wrap:wrap;row-gap:.5rem}.chat-composer-bar .chip{flex:0 auto;min-width:0;max-width:100%}.chat-composer-spacer{display:none}.chat-composer-bar>.btn-primary,.chat-composer-bar>button[type=submit]{margin-left:auto}.role-picker{position:static}.role-pop{z-index:70;right:.5rem;bottom:calc(.5rem + env(safe-area-inset-bottom,0px));width:auto;max-height:72dvh;box-shadow:0 0 0 100vmax var(--text);position:fixed;left:.5rem}@supports (color:color-mix(in lab, red, red)){.role-pop{box-shadow:0 0 0 100vmax color-mix(in oklab, var(--text) 40%, transparent)}}.role-pop{transform-origin:bottom}.role-short{white-space:normal}}.chat-changes{border-top:1px solid var(--border);background:var(--ai-soft);flex-direction:column;gap:.4rem;max-height:45%;padding:.55rem .75rem;display:flex;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.chat-changes{background:color-mix(in oklab, var(--ai-soft) 55%, var(--surface))}}.chat-changes-head{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-changes-all{gap:.35rem;display:inline-flex}.chat-changes-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.chat-change{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.chat-change-row{align-items:center;gap:.35rem;padding:.3rem .4rem .3rem .6rem;display:flex}.chat-change-title{text-align:left;min-width:0;color:var(--text);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;display:flex}.btn-sm{font-size:var(--text-xs);padding:.2rem .55rem}.diff-view{border-top:1px solid var(--border);max-height:16rem;font-family:var(--font-book);font-size:var(--text-sm);padding:.5rem .75rem;line-height:1.55;overflow-y:auto}.diff-view p{white-space:pre-wrap;margin:0 0 .5rem}.diff-same{color:var(--text-muted)}.diff-gap{color:var(--text-muted);text-align:center}ins.diff-add,.diff-add{background:var(--success)}@supports (color:color-mix(in lab, red, red)){ins.diff-add,.diff-add{background:color-mix(in oklab, var(--success) 22%, transparent)}}ins.diff-add,.diff-add{text-decoration:none}del.diff-del,.diff-del{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){del.diff-del,.diff-del{background:color-mix(in oklab, var(--danger) 20%, transparent)}}del.diff-del,.diff-del{text-decoration:line-through}.ai-banner{border:1px solid var(--ai);margin:.5rem 0}@supports (color:color-mix(in lab, red, red)){.ai-banner{border:1px solid color-mix(in oklab, var(--ai) 45%, var(--border))}}.ai-banner{border-radius:var(--radius-md);background:var(--ai-soft)}@supports (color:color-mix(in lab, red, red)){.ai-banner{background:color-mix(in oklab, var(--ai-soft) 55%, var(--surface))}}.ai-banner-row{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.ai-banner-actions{gap:.35rem;margin-left:auto;display:inline-flex}.skel{border-radius:var(--radius-md,8px);background:linear-gradient(100deg, transparent 30%, var(--text) 50%, transparent 70%) 0 0 / 220% 100% no-repeat, var(--text);display:block}@supports (color:color-mix(in lab, red, red)){.skel{background:linear-gradient(100deg, transparent 30%, color-mix(in oklab, var(--text) 9%, transparent) 50%, transparent 70%) 0 0 / 220% 100% no-repeat, color-mix(in oklab, var(--text) 7%, var(--surface))}}.skel{animation:1.4s linear infinite skel-sweep}@keyframes skel-sweep{0%{background-position:120% 0,0 0}to{background-position:-120% 0,0 0}}.skel-card{min-width:0;animation:fade-in var(--dur-base) var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms);flex-direction:column;gap:.55rem;display:flex}.skel-cover{aspect-ratio:2/3;width:100%}.skel-line{height:.8rem}.skel-pill{border-radius:999px;width:6.5rem;height:2.25rem}.skel-row{flex-wrap:wrap;gap:.5rem;display:flex}.cat-card.is-adding .cat-cover{animation:1.3s ease-in-out infinite cat-breathe}@keyframes cat-breathe{50%{opacity:.55;transform:scale(.97)}}.cat-ring{border:2px solid var(--accent-contrast);width:1.15rem;height:1.15rem}@supports (color:color-mix(in lab, red, red)){.cat-ring{border:2px solid color-mix(in oklab, var(--accent-contrast) 35%, transparent)}}.cat-ring{border-top-color:var(--accent-contrast);border-radius:50%;animation:.8s linear infinite cat-spin}@keyframes cat-spin{to{transform:rotate(360deg)}}.cat-card-add.is-done.is-fresh{animation:cat-added .7s var(--ease-out)}@keyframes cat-added{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent) 55%, transparent);transform:scale(.4)}55%{transform:scale(1.18);box-shadow:0 0 0 12px #0000}to{transform:scale(1)}}.prog{border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--surface);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.prog-bar{background:var(--text);border-radius:999px;height:.35rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.prog-bar{background:color-mix(in oklab, var(--text) 10%, transparent)}}.prog-bar>i{border-radius:inherit;background:var(--accent);transition:width .5s var(--ease-out);display:block;position:absolute;inset:0 auto 0 0}.prog-bar.is-busy>i:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff73 50%,#0000 80%) 0 0/200% 100%;animation:1.1s linear infinite skel-sweep;position:absolute;inset:0}.prog-steps{flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.prog-steps li{color:var(--text-muted);transition:color var(--dur-base) var(--ease-out);align-items:center;gap:.5rem;display:flex}.prog-steps li.is-active{color:var(--text);font-weight:600}.prog-steps li.is-done{color:var(--text-muted)}.prog-dot{border:1.5px solid var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex}.is-active>.prog-dot{border-color:var(--accent);border-top-color:#0000;animation:.9s linear infinite cat-spin}.is-done>.prog-dot{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);animation:pop-in var(--dur-base) var(--ease-out)}.prog-done{animation:pop-in var(--dur-base) var(--ease-out);align-items:center;gap:.5rem;font-weight:600;display:flex}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}.studio-root{height:100dvh}.sheet-layer{z-index:60;position:fixed;inset:0}.sheet-backdrop{animation:fade-in var(--dur-base) var(--ease-out);background:#00000073;position:absolute;inset:0}.sheet{background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);outline:none;flex-direction:column;display:flex;position:absolute;overflow:hidden}.sheet-left,.sheet-right{width:min(22rem,88vw);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);top:0;bottom:0}.sheet-right.sheet-wide{width:min(28rem,94vw)}.sheet-left{padding-left:env(safe-area-inset-left,0px);border-right:1px solid var(--border);animation:sheet-in-left var(--dur-base) var(--ease-out);left:0}.sheet-right{padding-right:env(safe-area-inset-right,0px);border-left:1px solid var(--border);animation:sheet-in-right var(--dur-base) var(--ease-out);right:0}.sheet-bottom{max-height:85%;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--border);animation:sheet-in-bottom var(--dur-base) var(--ease-out);border-radius:1rem 1rem 0 0;bottom:0;left:0;right:0}.sheet-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.125rem .5rem .125rem 1rem;display:flex}.sheet-title{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.sheet-grip{background:var(--border);border-radius:2px;width:2.5rem;height:4px;margin:.5rem auto 0}.sheet>:not(.sheet-head):not(.sheet-grip){flex:1;height:auto;min-height:0}.sheet .inspector-h,.sheet .binder-h{display:none}.sheet-body{overscroll-behavior:contain;padding:.25rem 0;overflow-y:auto}.sheet-row{text-align:left;width:100%;min-height:3.25rem;color:var(--text);align-items:center;gap:.875rem;padding:0 1.25rem;display:flex}.sheet-row:active{background:color-mix(in oklab, var(--accent) 14%, transparent)}@keyframes sheet-in-left{0%{transform:translate(-100%)}}@keyframes sheet-in-right{0%{transform:translate(100%)}}@keyframes sheet-in-bottom{0%{transform:translateY(100%)}}.compact-head{padding:max(.25rem, env(safe-area-inset-top,0px)) max(.5rem, env(safe-area-inset-right,0px)) .25rem max(.5rem, env(safe-area-inset-left,0px));border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.125rem;display:flex}.compact-head .project-title{min-width:0;max-width:none;font-size:var(--text-base);flex:1}.bottom-bar{padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border-top:1px solid var(--border);background:var(--surface);grid-template-columns:1.6fr 1fr 1fr 1.6fr;display:grid}.bar-btn{min-height:3.25rem;color:var(--text-muted);font-size:var(--text-xs);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.bar-btn:active:not(:disabled){background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--text)}.bar-btn:disabled{opacity:.35}html[data-keyboard=open] .bottom-bar,html[data-keyboard=open] .compact-head,html[data-keyboard=open] .mode-bar,html[data-keyboard=open] .sheet-footer{display:none}.mode-tabs{scrollbar-width:none;gap:.25rem;min-width:0;display:flex;overflow-x:auto}.mode-tabs::-webkit-scrollbar{display:none}.mode-tabs .tab{flex:none}@media (max-width:899px){.studio-root{left:0;right:0;top:var(--app-top,0px);height:var(--app-h,100dvh);position:fixed;overflow:hidden}.mode-bar{padding:.25rem .5rem}.title-field{font-size:var(--text-xl)}.book-page{padding-bottom:30vh}.sheet-toolbar{scrollbar-width:none;border-bottom:0;border-top:1px solid var(--border);background:var(--surface);flex-wrap:nowrap;order:5;padding:.25rem .5rem;overflow-x:auto}.sheet-toolbar::-webkit-scrollbar{display:none}.sheet-toolbar>button{flex:none;min-width:2.75rem;height:2.75rem}.sheet-footer{order:6}.search-panel,.history-panel,.comments-panel,.chat-panel{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border:0;border-radius:0;animation:none;inset:0;width:auto!important}.chat-resize{display:none}.view-popover{width:auto;max-height:calc(var(--app-h,100dvh) - 4.5rem);position:fixed;top:3.5rem;left:.5rem;right:.5rem}.structure-table th:first-child,.structure-table td:first-child{min-width:11rem}.structure-table th:nth-child(2),.structure-table td:nth-child(2){min-width:12rem}.history-split{flex-direction:column}.history-list{border-right:0;border-bottom:1px solid var(--border);width:auto;max-height:34%}.binder-row{height:2.75rem}.row-more{justify-content:center;align-items:center;min-width:2.5rem;min-height:2.5rem;display:inline-flex}}@media (max-width:899px),(pointer:coarse){.btn-icon{min-width:2.75rem;min-height:2.75rem}.btn{min-height:2.75rem}.tab{align-items:center;min-height:2.75rem;display:inline-flex}.menu-item{min-height:2.75rem}.field,select,textarea,input:not([type=checkbox]):not([type=radio]){font-size:max(1rem,16px)}}@media (max-width:899px) and (max-height:500px){.mode-bar,.sheet-footer{display:none}.title-field{font-size:var(--text-lg);padding:0}.bottom-bar{grid-template-columns:repeat(4,1fr)}.bar-btn{flex-direction:row;gap:.375rem;min-height:2.75rem}.sheet-bottom{max-height:100%}}
