:root{font-family:Space Grotesk,Inter,SF Pro Display,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:500;color:var(--text-primary);background-color:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f8fafc;--body-gradient: #f8fafc;--text-primary: #0f172a;--muted-text: #475569;--muted-soft: #6b7280;--panel-bg: #fff;--panel-border: #d0d7de;--hero-bg: linear-gradient(140deg, #edf2f7, #e2e8f0);--hero-border: #d0d7de;--tab-bg: rgb(255 255 255 / 72%);--tab-border: #d0d7de;--tile-bg: #f8fafc;--tile-border: #d0d7de;--pill-bg: rgb(14 165 233 / 12%);--pill-border: rgb(14 165 233 / 35%);--pill-text: #0f172a;--button-primary-bg: linear-gradient(135deg, #0ea5e9, #22d3ee);--button-primary-text: #031126;--button-primary-border: transparent;--button-primary-shadow: 0 12px 30px rgb(14 165 233 / 30%);--button-disabled-bg: #e5e7eb;--button-disabled-text: #3b4255;--button-disabled-border: #cbd5e1;--button-ghost-bg: transparent;--button-ghost-text: #0f172a;--button-ghost-border: #94a3b8;--button-ghost-hover-bg: #e2e8f0;--button-ghost-disabled-bg: #f1f5f9;--button-ghost-disabled-text: #475569;--button-ghost-disabled-border: #cbd5e1;--feedback-unread-bg: #f97316;--feedback-unread-text: #fff7ed;--feedback-admin-bg: #f0f9ff;--feedback-admin-border: #bae6fd;--feedback-status-new-bg: #e0f2fe;--feedback-status-new-text: #0369a1;--feedback-status-in-review-bg: #fef3c7;--feedback-status-in-review-text: #92400e;--feedback-status-replied-bg: #dcfce7;--feedback-status-replied-text: #166534;--feedback-status-closed-bg: #e2e8f0;--feedback-status-closed-text: #475569;--space-1: 4px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-pill: 999px;--font-size-xs: .75rem;--font-size-sm: .85rem;--danger: #dc2626;--grid-bg: #fff;--grid-border: #d0d7de;--grid-header-bg: #f8fafc;--grid-row-bg: #f9fafb;--grid-text: #0f172a;--shadow-strong: 0 12px 40px rgb(15 23 42 / 12%)}@media(prefers-color-scheme:dark){:root{--bg: #050914;--body-gradient: radial-gradient(circle at 10% 20%, rgb(34 211 238 / 8%), transparent 25%), radial-gradient(circle at 90% 10%, rgb(34 197 94 / 8%), transparent 22%), radial-gradient(circle at 50% 80%, rgb(14 165 233 / 5%), transparent 18%), #050914;--text-primary: #e7ecf8;--muted-text: #9badcf;--muted-soft: #7184aa;--panel-bg: rgb(12 18 36 / 80%);--panel-border: #1c2844;--hero-bg: linear-gradient(140deg, #0f162d, #0b1229);--hero-border: #1f2a44;--tab-bg: rgb(12 18 36 / 80%);--tab-border: #1f2a44;--tile-bg: #0b1226;--tile-border: #1f2a44;--pill-bg: rgb(34 211 238 / 12%);--pill-border: rgb(34 211 238 / 40%);--pill-text: #d5f6ff;--button-primary-bg: linear-gradient(135deg, #0ea5e9, #0ea5e9);--button-primary-text: #e7ecf8;--button-primary-border: rgb(34 211 238 / 35%);--button-primary-shadow: 0 10px 26px rgb(34 211 238 / 25%);--button-disabled-bg: #1b253a;--button-disabled-text: #94a3b8;--button-disabled-border: #26324b;--button-ghost-bg: #10182c;--button-ghost-text: #e7ecf8;--button-ghost-border: #2b3b57;--button-ghost-hover-bg: #18233a;--button-ghost-disabled-bg: #0f172a;--button-ghost-disabled-text: #6b7280;--button-ghost-disabled-border: #1f2a44;--grid-bg: #0a0f22;--grid-border: #1c2844;--grid-header-bg: #0c142c;--grid-row-bg: #0b1226;--grid-text: #e7ecf8;--shadow-strong: 0 12px 40px rgb(3 8 25 / 32%);--danger: #ef4444}}html[data-theme=dark]{--bg: #050914;--body-gradient: radial-gradient(circle at 10% 20%, rgb(34 211 238 / 8%), transparent 25%), radial-gradient(circle at 90% 10%, rgb(34 197 94 / 8%), transparent 22%), radial-gradient(circle at 50% 80%, rgb(14 165 233 / 5%), transparent 18%), #050914;--text-primary: #e7ecf8;--muted-text: #9badcf;--muted-soft: #7184aa;--panel-bg: rgb(12 18 36 / 80%);--panel-border: #1c2844;--hero-bg: linear-gradient(140deg, #0f162d, #0b1229);--hero-border: #1f2a44;--tab-bg: rgb(12 18 36 / 80%);--tab-border: #1f2a44;--tile-bg: #0b1226;--tile-border: #1f2a44;--pill-bg: rgb(34 211 238 / 12%);--pill-border: rgb(34 211 238 / 40%);--pill-text: #d5f6ff;--button-primary-bg: linear-gradient(135deg, #0ea5e9, #0ea5e9);--button-primary-text: #e7ecf8;--button-primary-border: rgb(34 211 238 / 35%);--button-primary-shadow: 0 10px 26px rgb(34 211 238 / 25%);--button-disabled-bg: #1b253a;--button-disabled-text: #94a3b8;--button-disabled-border: #26324b;--button-ghost-bg: #10182c;--button-ghost-text: #e7ecf8;--button-ghost-border: #2b3b57;--button-ghost-hover-bg: #18233a;--button-ghost-disabled-bg: #0f172a;--button-ghost-disabled-text: #6b7280;--button-ghost-disabled-border: #1f2a44;--grid-bg: #0a0f22;--grid-border: #1c2844;--grid-header-bg: #0c142c;--grid-row-bg: #0b1226;--grid-text: #e7ecf8;--shadow-strong: 0 12px 40px rgb(3 8 25 / 32%);--danger: #ef4444}@media(prefers-color-scheme:dark){html[data-theme=light]{--bg: #f8fafc;--body-gradient: #f8fafc;--text-primary: #0f172a;--muted-text: #475569;--muted-soft: #6b7280;--panel-bg: #fff;--panel-border: #d0d7de;--hero-bg: linear-gradient(140deg, #edf2f7, #e2e8f0);--hero-border: #d0d7de;--tab-bg: rgb(255 255 255 / 72%);--tab-border: #d0d7de;--tile-bg: #f8fafc;--tile-border: #d0d7de;--pill-bg: rgb(14 165 233 / 12%);--pill-border: rgb(14 165 233 / 35%);--pill-text: #0f172a;--button-primary-bg: linear-gradient(135deg, #0ea5e9, #22d3ee);--button-primary-text: #031126;--button-primary-border: transparent;--button-primary-shadow: 0 12px 30px rgb(14 165 233 / 30%);--button-disabled-bg: #e5e7eb;--button-disabled-text: #3b4255;--button-disabled-border: #cbd5e1;--button-ghost-bg: transparent;--button-ghost-text: #0f172a;--button-ghost-border: #94a3b8;--button-ghost-hover-bg: #e2e8f0;--button-ghost-disabled-bg: #f1f5f9;--button-ghost-disabled-text: #475569;--button-ghost-disabled-border: #cbd5e1;--grid-bg: #fff;--grid-border: #d0d7de;--grid-header-bg: #f8fafc;--grid-row-bg: #f9fafb;--grid-text: #0f172a;--shadow-strong: 0 12px 40px rgb(15 23 42 / 12%);--danger: #dc2626}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--body-gradient);overflow-x:hidden}a{color:#22d3ee;text-decoration:none}a:hover{text-decoration:underline}.site-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--panel-border)}.brand{font-weight:800;letter-spacing:.02em;color:var(--text-primary)}.brand-group{display:flex;align-items:center;gap:8px}.nav-version{padding:2px 8px;border-radius:999px;border:1px solid var(--panel-border);background:var(--pill-bg);color:var(--pill-text);font-size:12px;font-weight:700}.nav-groups{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.nav-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nav-links a{padding:8px 10px;border-radius:10px;color:var(--muted-text);border:1px solid transparent;text-decoration:none;font-weight:700}.nav-links a:hover{background:var(--panel-bg);border-color:var(--panel-border)}.nav-links a.active{background:linear-gradient(135deg,#0ea5e9,#22d3ee);color:#031126;border-color:transparent;box-shadow:0 10px 24px #0ea5e947}.nav-links a.disabled{color:var(--muted-soft);border-color:transparent;cursor:not-allowed;opacity:.6}.nav-links a.disabled:hover{background:transparent;border-color:transparent;text-decoration:none}.nav-links.secondary a{color:var(--text-primary);border-color:var(--panel-border);background:var(--panel-bg)}.nav-links.secondary a.active{background:linear-gradient(135deg,#22d3ee,#34d399)}.nav-links a.nav-cta{background:linear-gradient(135deg,#22d3ee,#34d399);color:#031126;border-color:transparent;box-shadow:0 10px 24px #22d3ee47}.nav-links a.nav-cta:hover{text-decoration:none;filter:brightness(1.04)}.nav-links a.nav-cta.active{background:linear-gradient(135deg,#0ea5e9,#22d3ee)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:999px;background:#f97316;color:#fff7ed;font-size:12px;font-weight:800}.nav-user{color:var(--text-primary);font-weight:700}.global-footer{margin-top:32px;padding:18px 18px 32px;border-top:1px solid var(--panel-border);background:var(--panel-bg);color:var(--muted-text)}.global-footer__content{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:18px;justify-content:center;font-size:.85rem;font-weight:600}@media(max-width:720px){.site-nav{position:static;flex-direction:column;align-items:flex-start}.nav-groups{width:100%;justify-content:flex-start}.global-footer__content{justify-content:flex-start}}@media(max-width:640px){.nav-links{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.nav-links::-webkit-scrollbar{display:none}.nav-links a,button,[role=button],[role=tab]{min-height:44px}}@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,::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-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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-5xl:64rem;--text-xs--line-height:calc(1 / .75);--text-sm--line-height:calc(1.25 / .875);--text-base--line-height: 1.5 ;--text-lg--line-height:calc(1.75 / 1.125);--text-xl--line-height:calc(1.75 / 1.25);--text-3xl--line-height: 1.2 ;--font-weight-extrabold:800;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.isolate{isolation:isolate}.z-20{z-index:20}.z-\[110\]{z-index:110}.z-\[130\]{z-index:130}.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-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-auto{margin-top:auto}.-mb-px{margin-bottom:-1px}.ml-auto{margin-left:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-\[1\.05rem\]{width:1.05rem;height:1.05rem}.size-\[1\.15rem\]{width:1.15rem;height:1.15rem}.size-\[7px\]{width:7px;height:7px}.size-\[30px\]{width:30px;height:30px}.size-full{width:100%;height:100%}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[26px\]{height:26px}.h-full{height:100%}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-screen{min-height:100vh}.w-11{width:calc(var(--spacing) * 11)}.w-64{width:calc(var(--spacing) * 64)}.w-\[220px\]{width:220px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[380px\]{max-width:380px}.max-w-\[480px\]{max-width:480px}.max-w-md{max-width:var(--container-md)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[280px\]{min-width:280px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-x-\[3px\]{--tw-translate-x:3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.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}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.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-12{gap:calc(var(--spacing) * 12)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-\[4px\]{border-radius:4px}.rounded-card{border-radius:var(--pt-radius-lg)}.rounded-chip{border-radius:var(--pt-radius-sm)}.rounded-field{border-radius:var(--pt-radius-md)}.rounded-full{border-radius:3.40282e38px}.rounded-panel{border-radius:var(--pt-radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-pt-accent-border{border-color:var(--pt-accent-border)}.border-pt-border{border-color:var(--pt-border)}.border-pt-border-strong{border-color:var(--pt-border-strong)}.border-pt-danger{border-color:var(--pt-danger)}.border-transparent{border-color:#0000}.border-l-pt-danger{border-left-color:var(--pt-danger)}.border-l-pt-info{border-left-color:var(--pt-info)}.border-l-pt-success{border-left-color:var(--pt-success)}.border-l-pt-text-subtle{border-left-color:var(--pt-text-subtle)}.border-l-pt-warning{border-left-color:var(--pt-warning)}.bg-\[color-mix\(in_srgb\,var\(--pt-surface\)_82\%\,transparent\)\]{background-color:var(--pt-surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--pt-surface\)_82\%\,transparent\)\]{background-color:color-mix(in srgb,var(--pt-surface) 82%,transparent)}}.bg-\[var\(--pt-ink-300\)\]{background-color:var(--pt-ink-300)}.bg-\[var\(--pt-ink-950\)\]{background-color:var(--pt-ink-950)}.bg-\[var\(--pt-mulberry-100\)\]{background-color:var(--pt-mulberry-100)}.bg-current{background-color:currentColor}.bg-pt-accent-fill{background-color:var(--pt-accent-fill)}.bg-pt-accent-soft-bg{background-color:var(--pt-accent-soft-bg)}.bg-pt-bg{background-color:var(--pt-bg)}.bg-pt-danger{background-color:var(--pt-danger)}.bg-pt-danger-bg{background-color:var(--pt-danger-bg)}.bg-pt-info-bg{background-color:var(--pt-info-bg)}.bg-pt-overlay{background-color:var(--pt-overlay)}.bg-pt-success-bg{background-color:var(--pt-success-bg)}.bg-pt-surface{background-color:var(--pt-surface)}.bg-pt-surface-raised{background-color:var(--pt-surface-raised)}.bg-pt-surface-sunken{background-color:var(--pt-surface-sunken)}.bg-pt-warning-bg{background-color:var(--pt-warning-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-\[linear-gradient\(90deg\,var\(--pt-leaf-600\)\,var\(--pt-leaf-500\)\)\]{background-image:linear-gradient(90deg,var(--pt-leaf-600),var(--pt-leaf-500))}.bg-\[linear-gradient\(90deg\,var\(--pt-mulberry-500\)\,var\(--pt-mulberry-400\)\)\]{background-image:linear-gradient(90deg,var(--pt-mulberry-500),var(--pt-mulberry-400))}.bg-none{background-image:none}.fill-\[var\(--pt-ink-950\)\]{fill:var(--pt-ink-950)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 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-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\[2px\]{padding-block:2px}.py-\[3px\]{padding-block:3px}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-12{padding-right:calc(var(--spacing) * 12)}.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)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-left{text-align:left}.font-display{font-family:var(--pt-font-display)}.font-mono{font-family:var(--pt-font-mono)}.font-prose{font-family:var(--pt-font-prose)}.font-ui{font-family:var(--pt-font-ui)}.text-3xl{font-size:var(--pt-text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--pt-text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--pt-text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--pt-text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--pt-text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--pt-text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-2xs{font-size:var(--pt-text-2xs)}.text-md{font-size:var(--pt-text-md)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--pt-leading-normal);line-height:var(--pt-leading-normal)}.leading-snug{--tw-leading:var(--pt-leading-snug);line-height:var(--pt-leading-snug)}.font-bold{--tw-font-weight:var(--pt-weight-bold);font-weight:var(--pt-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--pt-weight-medium);font-weight:var(--pt-weight-medium)}.font-semibold{--tw-font-weight:var(--pt-weight-semibold);font-weight:var(--pt-weight-semibold)}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-caps{--tw-tracking:var(--pt-tracking-caps);letter-spacing:var(--pt-tracking-caps)}.tracking-wide{--tw-tracking:var(--pt-tracking-wide);letter-spacing:var(--pt-tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--pt-cream\)\]{color:var(--pt-cream)}.text-\[var\(--pt-mulberry-800\)\]{color:var(--pt-mulberry-800)}.text-inherit{color:inherit}.text-pt-accent-soft-text{color:var(--pt-accent-soft-text)}.text-pt-accent-text{color:var(--pt-accent-text)}.text-pt-danger-text{color:var(--pt-danger-text)}.text-pt-info-text{color:var(--pt-info-text)}.text-pt-success-text{color:var(--pt-success-text)}.text-pt-text{color:var(--pt-text)}.text-pt-text-muted{color:var(--pt-text-muted)}.text-pt-text-subtle{color:var(--pt-text-subtle)}.text-pt-warning-text{color:var(--pt-warning-text)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--pt-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:var(--pt-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--pt-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[3px\]{--tw-backdrop-blur:blur(3px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[10px\]{--tw-backdrop-blur:blur(10px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,border-color\]{transition-property:background,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,color\,border-color\,transform\,box-shadow\]{transition-property:background,color,border-color,transform,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,color\,border-color\]{transition-property:background,color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[box-shadow\,border-color\,transform\]{transition-property:box-shadow,border-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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\[260ms\]{--tw-duration:.26s;transition-duration:.26s}.ease-out{--tw-ease:var(--pt-ease-out);transition-timing-function:var(--pt-ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[browser\:dialog\]{browser:dialog}.\[http\:422\]{http:422}.placeholder\:text-pt-text-subtle::placeholder{color:var(--pt-text-subtle)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-0:before{content:var(--tw-content);inset-block:0}.before\:left-0:before{content:var(--tw-content);left:0}.before\:w-1:before{content:var(--tw-content);width:var(--spacing)}.before\:bg-\[var\(--plotline-color\,var\(--pt-accent\)\)\]:before{content:var(--tw-content);background-color:var(--plotline-color,var(--pt-accent))}.before\:opacity-90:before{content:var(--tw-content);opacity:.9}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-pt-border-strong:hover{border-color:var(--pt-border-strong)}.hover\:border-pt-text-subtle:hover{border-color:var(--pt-text-subtle)}.hover\:bg-pt-accent-fill-hover:hover{background-color:var(--pt-accent-fill-hover)}.hover\:bg-pt-surface-hover:hover{background-color:var(--pt-surface-hover)}.hover\:text-pt-text:hover{color:var(--pt-text)}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:var(--pt-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}}.focus\:border-pt-accent:focus{border-color:var(--pt-accent)}.focus\:bg-pt-surface-hover:focus{background-color:var(--pt-surface-hover)}.focus\:shadow-\[0_0_0_3px_var\(--pt-accent-soft-bg\)\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pt-accent-soft-bg));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-pt-focus-ring:focus-visible{--tw-ring-color:var(--pt-focus-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-pt-bg:focus-visible{--tw-ring-offset-color:var(--pt-bg)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:translate-y-0:disabled{--tw-translate-y:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-pt-surface-sunken:disabled{background-color:var(--pt-surface-sunken)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-55:disabled{opacity:.55}.aria-disabled\:translate-y-0[aria-disabled=true]{--tw-translate-y:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-55[aria-disabled=true]{opacity:.55}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=active\]\:border-pt-accent[data-state=active]{border-color:var(--pt-accent)}.data-\[state\=active\]\:text-pt-accent[data-state=active]{color:var(--pt-accent)}.data-\[state\=checked\]\:translate-x-\[21px\][data-state=checked]{--tw-translate-x:21px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-pt-accent-fill[data-state=checked]{border-color:var(--pt-accent-fill)}.data-\[state\=checked\]\:bg-pt-accent-fill[data-state=checked]{background-color:var(--pt-accent-fill)}.data-\[state\=checked\]\:text-pt-accent[data-state=checked]{color:var(--pt-accent)}.data-\[state\=checked\]\:text-pt-accent-text[data-state=checked]{color:var(--pt-accent-text)}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark\:bg-\[rgb\(194_54_120_\/_18\%\)\]:where([data-theme=dark],[data-theme=dark] *){background-color:#c236782e}.dark\:bg-\[var\(--pt-ink-100\)\]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--pt-ink-100)}.dark\:bg-\[var\(--pt-night-line-strong\)\]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--pt-night-line-strong)}.dark\:fill-\[var\(--pt-ink-100\)\]:where([data-theme=dark],[data-theme=dark] *){fill:var(--pt-ink-100)}.dark\:text-\[var\(--pt-ink-950\)\]:where([data-theme=dark],[data-theme=dark] *){color:var(--pt-ink-950)}.dark\:text-\[var\(--pt-mulberry-300\)\]:where([data-theme=dark],[data-theme=dark] *){color:var(--pt-mulberry-300)}.dark\:text-pt-text-inverse:where([data-theme=dark],[data-theme=dark] *){color:var(--pt-text-inverse)}.\[\&_\[data-icon\]\]\:text-pt-danger [data-icon]{color:var(--pt-danger)}.\[\&_\[data-icon\]\]\:text-pt-info [data-icon]{color:var(--pt-info)}.\[\&_\[data-icon\]\]\:text-pt-success [data-icon]{color:var(--pt-success)}.\[\&_\[data-icon\]\]\:text-pt-warning [data-icon]{color:var(--pt-warning)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\]\:size-\[1\.05em\] svg{width:1.05em;height:1.05em}.\[\&_svg\]\:size-\[1\.05rem\] svg{width:1.05rem;height:1.05rem}.\[\&_svg\]\:size-\[1\.15rem\] svg{width:1.15rem;height:1.15rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-ext-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-BhU9QXUp.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-ext-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-BhU9QXUp.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-ext-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-BhU9QXUp.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-ext-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/space-grotesk-400-normal-latin-BhU9QXUp.woff2)format("woff2");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:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/newsreader-400-italic-latin-ext-DFS986qL.woff2)format("woff2");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:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/newsreader-400-italic-latin-Bxi8ein9.woff2)format("woff2");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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/newsreader-400-italic-latin-ext-DFS986qL.woff2)format("woff2");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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/newsreader-400-italic-latin-Bxi8ein9.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/newsreader-400-normal-latin-ext-C-3rgBeH.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/newsreader-400-normal-latin-CCVVNp6i.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/newsreader-400-normal-latin-ext-C-3rgBeH.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/newsreader-400-normal-latin-CCVVNp6i.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/newsreader-400-normal-latin-ext-C-3rgBeH.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/newsreader-400-normal-latin-CCVVNp6i.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/space-mono-400-normal-latin-ext-DTLbW2xa.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/space-mono-400-normal-latin-Rg4St2Dn.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/space-mono-700-normal-latin-ext-B2s3bDs2.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/space-mono-700-normal-latin-mWgeinG7.woff2)format("woff2");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{--pt-mulberry-50:#fbeef4;--pt-mulberry-100:#f6d6e6;--pt-mulberry-200:#eeaecd;--pt-mulberry-300:#e07ead;--pt-mulberry-400:#d1568f;--pt-mulberry-500:#c23678;--pt-mulberry-600:#a82866;--pt-mulberry-650:#9c2560;--pt-mulberry-700:#88204f;--pt-mulberry-750:#741c45;--pt-mulberry-800:#61183a;--pt-mulberry-900:#47122b;--pt-paper:#fdf9f0;--pt-ivory:#fffdf8;--pt-cream:#fff8e6;--pt-ink-50:#f6f1e6;--pt-ink-100:#efe8d9;--pt-ink-150:#e7decb;--pt-ink-200:#ddd3bf;--pt-ink-300:#c4b9a3;--pt-ink-400:#a2967e;--pt-ink-500:#7c7059;--pt-ink-600:#5c5343;--pt-ink-700:#443d30;--pt-ink-800:#2c271e;--pt-ink-900:#1c1813;--pt-ink-950:#14110d;--pt-night-0:#0f0d09;--pt-night-1:#14120d;--pt-night-2:#1c1913;--pt-night-3:#24201a;--pt-night-4:#2e2920;--pt-night-line:#332d23;--pt-night-line-strong:#4a4234;--pt-teal-100:#cdeef0;--pt-teal-500:#0e9aa7;--pt-teal-600:#0c7e8a;--pt-teal-700:#0a6470;--pt-teal-300:#5fd0d8;--pt-leaf-100:#d8f3d8;--pt-leaf-500:#2f9e44;--pt-leaf-600:#2b8a3e;--pt-leaf-700:#237032;--pt-leaf-300:#74c98a;--pt-amber-100:#ffeccc;--pt-amber-500:#e8920c;--pt-amber-600:#c97a08;--pt-amber-700:#9c5e06;--pt-amber-300:#f5c46a;--pt-rose-100:#ffdcdc;--pt-rose-500:#e0392f;--pt-rose-600:#c4271f;--pt-rose-700:#a01c16;--pt-rose-300:#f08a83;--pt-font-ui:"Space Grotesk", Inter, "SF Pro Display", system-ui, -apple-system, sans-serif;--pt-font-display:"Space Grotesk", Inter, system-ui, sans-serif;--pt-font-prose:"Newsreader", Georgia, "Iowan Old Style", "Times New Roman", serif;--pt-font-mono:"Space Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--pt-text-2xs:.6875rem;--pt-text-xs:.75rem;--pt-text-sm:.875rem;--pt-text-base:1rem;--pt-text-md:1.125rem;--pt-text-lg:1.375rem;--pt-text-xl:1.75rem;--pt-text-2xl:2.25rem;--pt-text-3xl:2.875rem;--pt-text-4xl:3.75rem;--pt-weight-regular:400;--pt-weight-medium:500;--pt-weight-semibold:600;--pt-weight-bold:700;--pt-leading-tight:1.12;--pt-leading-snug:1.3;--pt-leading-normal:1.55;--pt-leading-prose:1.7;--pt-tracking-tight:-.02em;--pt-tracking-normal:0;--pt-tracking-wide:.02em;--pt-tracking-caps:.08em;--pt-space-0:0;--pt-space-1:4px;--pt-space-2:8px;--pt-space-2-5:10px;--pt-space-3:12px;--pt-space-4:16px;--pt-space-5:20px;--pt-space-6:24px;--pt-space-8:32px;--pt-space-10:40px;--pt-space-12:48px;--pt-space-16:64px;--pt-space-20:80px;--pt-radius-xs:4px;--pt-radius-sm:6px;--pt-radius-md:10px;--pt-radius-lg:14px;--pt-radius-xl:20px;--pt-radius-pill:999px;--pt-control-sm:32px;--pt-control-md:40px;--pt-control-lg:48px;--pt-container:1200px;--pt-container-narrow:760px;--pt-sidebar:280px;--pt-scene-card-w:220px;--pt-border-width:1px;--pt-border-width-thick:2px;--pt-ease-standard:cubic-bezier(.2, 0, 0, 1);--pt-ease-out:cubic-bezier(.16, 1, .3, 1);--pt-duration-fast:.12s;--pt-duration-normal:.18s;--pt-duration-slow:.26s;--pt-z-nav:20;--pt-z-sticky:30;--pt-z-overlay:100;--pt-z-modal:110;--pt-z-toast:120;--pt-z-tooltip:130;--pt-bg:var(--pt-paper);--pt-bg-gradient:radial-gradient(1200px 600px at 12% -10%, #fbeef4 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #f9e6ef 0%, transparent 45%), var(--pt-paper);--pt-surface:var(--pt-ivory);--pt-surface-raised:#fff;--pt-surface-sunken:var(--pt-ink-50);--pt-surface-hover:var(--pt-ink-50);--pt-overlay:#1c181361;--pt-text:var(--pt-ink-950);--pt-text-muted:var(--pt-ink-600);--pt-text-subtle:var(--pt-ink-500);--pt-text-inverse:var(--pt-cream);--pt-text-on-accent:#fff;--pt-border:var(--pt-ink-200);--pt-border-strong:var(--pt-ink-300);--pt-divider:var(--pt-ink-150);--pt-brand:var(--pt-mulberry-500);--pt-accent:var(--pt-mulberry-700);--pt-accent-hover:var(--pt-mulberry-800);--pt-accent-fill:var(--pt-mulberry-700);--pt-accent-fill-hover:var(--pt-mulberry-800);--pt-accent-text:#fff;--pt-accent-soft-bg:var(--pt-mulberry-50);--pt-accent-soft-text:var(--pt-mulberry-800);--pt-accent-border:var(--pt-mulberry-200);--pt-link:var(--pt-mulberry-700);--pt-link-hover:var(--pt-mulberry-800);--pt-focus-ring:var(--pt-mulberry-500);--pt-focus-ring-offset:var(--pt-bg);--pt-info:var(--pt-teal-600);--pt-info-bg:var(--pt-teal-100);--pt-info-text:var(--pt-teal-700);--pt-success:var(--pt-leaf-600);--pt-success-bg:var(--pt-leaf-100);--pt-success-text:var(--pt-leaf-700);--pt-warning:var(--pt-amber-600);--pt-warning-bg:var(--pt-amber-100);--pt-warning-text:var(--pt-amber-700);--pt-danger:var(--pt-rose-600);--pt-danger-bg:var(--pt-rose-100);--pt-danger-text:var(--pt-rose-700);--pt-shadow-sm:0 1px 2px #1c181314, 0 1px 1px #1c18130a;--pt-shadow-md:0 4px 12px #1c18131a, 0 2px 4px #1c18130f;--pt-shadow-lg:0 14px 40px #1c181324, 0 4px 12px #1c181314;--pt-shadow-accent:0 8px 22px #c2367847}@media(prefers-color-scheme:dark){:root{--pt-bg:var(--pt-night-1);--pt-bg-gradient:radial-gradient(1100px 560px at 10% -8%, #c2367817 0%, transparent 55%), radial-gradient(900px 520px at 100% 0%, #0e9aa712 0%, transparent 48%), var(--pt-night-1);--pt-surface:var(--pt-night-2);--pt-surface-raised:var(--pt-night-3);--pt-surface-sunken:var(--pt-night-0);--pt-surface-hover:var(--pt-night-4);--pt-overlay:#0605039e;--pt-text:#f4eee0;--pt-text-muted:#b3a892;--pt-text-subtle:#8c8270;--pt-text-inverse:var(--pt-ink-950);--pt-text-on-accent:#fff;--pt-border:var(--pt-night-line);--pt-border-strong:var(--pt-night-line-strong);--pt-divider:#241f18;--pt-brand:var(--pt-mulberry-500);--pt-accent:var(--pt-mulberry-400);--pt-accent-hover:var(--pt-mulberry-300);--pt-accent-fill:var(--pt-mulberry-500);--pt-accent-fill-hover:var(--pt-mulberry-400);--pt-accent-text:#fff;--pt-accent-soft-bg:#c2367824;--pt-accent-soft-text:var(--pt-mulberry-300);--pt-accent-border:#c2367861;--pt-link:var(--pt-mulberry-400);--pt-link-hover:var(--pt-mulberry-300);--pt-focus-ring:var(--pt-mulberry-400);--pt-info:var(--pt-teal-300);--pt-info-bg:#0e9aa729;--pt-info-text:var(--pt-teal-300);--pt-success:var(--pt-leaf-300);--pt-success-bg:#2f9e4429;--pt-success-text:var(--pt-leaf-300);--pt-warning:var(--pt-amber-300);--pt-warning-bg:#e8920c29;--pt-warning-text:var(--pt-amber-300);--pt-danger:var(--pt-rose-300);--pt-danger-bg:#e0392f2e;--pt-danger-text:var(--pt-rose-300);--pt-shadow-sm:0 1px 2px #0006;--pt-shadow-md:0 6px 16px #00000075;--pt-shadow-lg:0 18px 46px #0000008f;--pt-shadow-accent:0 8px 22px #c236784d}}[data-theme=light]{--pt-bg:var(--pt-paper);--pt-bg-gradient:radial-gradient(1200px 600px at 12% -10%, #fbeef4 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #f9e6ef 0%, transparent 45%), var(--pt-paper);--pt-surface:var(--pt-ivory);--pt-surface-raised:#fff;--pt-surface-sunken:var(--pt-ink-50);--pt-surface-hover:var(--pt-ink-50);--pt-overlay:#1c181361;--pt-text:var(--pt-ink-950);--pt-text-muted:var(--pt-ink-600);--pt-text-subtle:var(--pt-ink-500);--pt-text-inverse:var(--pt-cream);--pt-text-on-accent:#fff;--pt-border:var(--pt-ink-200);--pt-border-strong:var(--pt-ink-300);--pt-divider:var(--pt-ink-150);--pt-brand:var(--pt-mulberry-500);--pt-accent:var(--pt-mulberry-700);--pt-accent-hover:var(--pt-mulberry-800);--pt-accent-fill:var(--pt-mulberry-700);--pt-accent-fill-hover:var(--pt-mulberry-800);--pt-accent-text:#fff;--pt-accent-soft-bg:var(--pt-mulberry-50);--pt-accent-soft-text:var(--pt-mulberry-800);--pt-accent-border:var(--pt-mulberry-200);--pt-link:var(--pt-mulberry-700);--pt-link-hover:var(--pt-mulberry-800);--pt-focus-ring:var(--pt-mulberry-500);--pt-focus-ring-offset:var(--pt-bg);--pt-info:var(--pt-teal-600);--pt-info-bg:var(--pt-teal-100);--pt-info-text:var(--pt-teal-700);--pt-success:var(--pt-leaf-600);--pt-success-bg:var(--pt-leaf-100);--pt-success-text:var(--pt-leaf-700);--pt-warning:var(--pt-amber-600);--pt-warning-bg:var(--pt-amber-100);--pt-warning-text:var(--pt-amber-700);--pt-danger:var(--pt-rose-600);--pt-danger-bg:var(--pt-rose-100);--pt-danger-text:var(--pt-rose-700);--pt-shadow-sm:0 1px 2px #1c181314, 0 1px 1px #1c18130a;--pt-shadow-md:0 4px 12px #1c18131a, 0 2px 4px #1c18130f;--pt-shadow-lg:0 14px 40px #1c181324, 0 4px 12px #1c181314;--pt-shadow-accent:0 8px 22px #c2367847}[data-theme=dark]{--pt-bg:var(--pt-night-1);--pt-bg-gradient:radial-gradient(1100px 560px at 10% -8%, #c2367817 0%, transparent 55%), radial-gradient(900px 520px at 100% 0%, #0e9aa712 0%, transparent 48%), var(--pt-night-1);--pt-surface:var(--pt-night-2);--pt-surface-raised:var(--pt-night-3);--pt-surface-sunken:var(--pt-night-0);--pt-surface-hover:var(--pt-night-4);--pt-overlay:#0605039e;--pt-text:#f4eee0;--pt-text-muted:#b3a892;--pt-text-subtle:#8c8270;--pt-text-inverse:var(--pt-ink-950);--pt-text-on-accent:#fff;--pt-border:var(--pt-night-line);--pt-border-strong:var(--pt-night-line-strong);--pt-divider:#241f18;--pt-brand:var(--pt-mulberry-500);--pt-accent:var(--pt-mulberry-400);--pt-accent-hover:var(--pt-mulberry-300);--pt-accent-fill:var(--pt-mulberry-500);--pt-accent-fill-hover:var(--pt-mulberry-400);--pt-accent-text:#fff;--pt-accent-soft-bg:#c2367824;--pt-accent-soft-text:var(--pt-mulberry-300);--pt-accent-border:#c2367861;--pt-link:var(--pt-mulberry-400);--pt-link-hover:var(--pt-mulberry-300);--pt-focus-ring:var(--pt-mulberry-400);--pt-info:var(--pt-teal-300);--pt-info-bg:#0e9aa729;--pt-info-text:var(--pt-teal-300);--pt-success:var(--pt-leaf-300);--pt-success-bg:#2f9e4429;--pt-success-text:var(--pt-leaf-300);--pt-warning:var(--pt-amber-300);--pt-warning-bg:#e8920c29;--pt-warning-text:var(--pt-amber-300);--pt-danger:var(--pt-rose-300);--pt-danger-bg:#e0392f2e;--pt-danger-text:var(--pt-rose-300);--pt-shadow-sm:0 1px 2px #0006;--pt-shadow-md:0 6px 16px #00000075;--pt-shadow-lg:0 18px 46px #0000008f;--pt-shadow-accent:0 8px 22px #c236784d}@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-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}.page{max-width:none;width:calc(100vw - 48px);margin:0 auto;padding:48px 24px 96px;color:var(--text-primary)}@media(max-width:900px){.page{width:100%;padding:36px 16px 80px}.chapter-grid__table{transform:none}.scene-grid{min-width:0}}@media(max-width:600px){.page{width:100%;padding:28px 12px 68px}}.hero{background:var(--hero-bg);border:1px solid var(--hero-border);border-radius:18px;padding:28px 32px;box-shadow:var(--shadow-strong)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--muted-soft);margin:0 0 12px}.hero h1{margin:0 0 12px;font-size:32px;line-height:1.3}.lede{margin:0;max-width:720px;color:var(--muted-text)}.hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0;color:var(--muted-text)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:22px 0}.feedback-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:16px;margin:22px 0}.feedback-form{grid-column:1 / -1}.feedback-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}.feedback-row{width:100%;text-align:left;border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font:inherit;color:var(--text-primary);box-shadow:none}.feedback-row:hover{border-color:#22d3ee;transform:none;filter:none}.feedback-row.active{border-color:#22d3ee;box-shadow:0 12px 28px #22d3ee29}.feedback-row__meta{display:inline-flex;align-items:center;gap:6px}.beta-helper{display:flex;flex-direction:column;gap:8px}.beta-actions{display:flex;flex-wrap:wrap;gap:8px}.feedback-title{margin:0;font-weight:700}.feedback-unread{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--feedback-unread-bg);color:var(--feedback-unread-text);font-size:var(--font-size-xs);font-weight:800}.feedback-thread-panel{display:flex;flex-direction:column;gap:var(--space-3)}.feedback-thread-meta{display:flex;flex-direction:column;gap:4px}.feedback-thread{display:grid;gap:var(--space-2-5)}.feedback-message{border-radius:var(--radius-lg);border:1px solid var(--panel-border);padding:var(--space-3);background:var(--panel-bg)}.feedback-message p{margin:0}.feedback-message.admin{background:var(--feedback-admin-bg);border-color:var(--feedback-admin-border)}.feedback-message__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;margin-bottom:6px}.feedback-reply{display:flex;flex-direction:column;gap:var(--space-2)}.feedback-status.new{background:var(--feedback-status-new-bg);color:var(--feedback-status-new-text)}.feedback-status.in_review{background:var(--feedback-status-in-review-bg);color:var(--feedback-status-in-review-text)}.feedback-status.replied{background:var(--feedback-status-replied-bg);color:var(--feedback-status-replied-text)}.feedback-status.closed{background:var(--feedback-status-closed-bg);color:var(--feedback-status-closed-text)}.beta-gate{display:flex;flex-direction:column;gap:12px}.tile,.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:20px;box-shadow:var(--shadow-strong)}.story-template-cta-note{margin:12px 0 0}.story-template-library{margin-top:18px;padding:18px;border-radius:20px;border:1px solid var(--panel-border);background:radial-gradient(circle at top right,rgb(255 255 255 / 82%),transparent 32%),linear-gradient(180deg,#f8fafcf5,#f1f5f9e0);box-shadow:0 18px 40px #0f172a14;display:grid;gap:16px}.story-template-library__hero,.story-template-library__layout{display:grid;gap:16px}.story-template-library__hero{grid-template-columns:minmax(0,1fr) auto;align-items:start}.story-template-library__hero h4{margin:0 0 6px;font-size:1.15rem}.story-template-library__layout{grid-template-columns:minmax(260px,1.1fr) minmax(320px,1fr);align-items:start}.story-template-library__tiles{display:grid;gap:12px}.story-template-tile{position:relative;display:grid;gap:8px;width:100%;padding:16px 18px 18px 22px;border-radius:18px;border:1px solid var(--panel-border);background:radial-gradient(circle at top right,rgb(255 255 255 / 85%),transparent 38%),linear-gradient(140deg,#fffffff5,#f8fafceb);color:var(--text-primary);text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;box-shadow:0 14px 26px #0f172a0f}.story-template-tile:before{content:"";position:absolute;inset:14px auto 14px 0;width:5px;border-radius:999px;background:linear-gradient(180deg,var(--story-template-accent),rgb(255 255 255 / 0%))}.story-template-tile:after{content:"";position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:14px;border:1px solid rgb(148 163 184 / 22%);box-shadow:inset 0 0 0 1px #ffffff73}.story-template-tile:hover{transform:translateY(-2px);border-color:var(--story-template-accent);box-shadow:0 22px 36px #0f172a1f}.story-template-tile.is-selected{border-color:var(--story-template-accent);box-shadow:0 22px 38px #0f172a24,0 0 0 1px var(--story-template-accent)}.story-template-tile__eyebrow,.story-template-preview__eyebrow{margin:0;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-soft)}.story-template-tile__title{font-size:1.05rem;font-weight:800;line-height:1.2}.story-template-tile__summary{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.story-template-tile__description{max-width:38ch;font-size:.92rem;line-height:1.55;color:var(--muted-text)}.story-template-preview{border:1px solid var(--panel-border);border-radius:18px;padding:18px;background:radial-gradient(circle at top left,rgb(255 255 255 / 80%),transparent 34%),linear-gradient(180deg,#fffffffa,#f8fafcf2);display:grid;gap:14px;box-shadow:inset 0 1px #ffffff8c}.story-template-preview__header,.story-template-preview__chapters-header,.story-template-preview__actions{display:flex;gap:12px;align-items:start;justify-content:space-between}.story-template-preview__header h5{margin:4px 0 0;font-size:1.15rem}.story-template-preview__description{margin:0;color:var(--muted-text);line-height:1.6}.story-template-preview__plotlines{display:flex;flex-wrap:wrap;gap:8px}.story-template-preview__chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e2e8f0b8;border:1px solid rgb(148 163 184 / 20%);font-size:.76rem;font-weight:700;color:var(--text-secondary)}.story-template-preview__chapters{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgb(148 163 184 / 18%)}.story-template-preview__chapters-header{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-soft)}.story-template-preview__chapters ol{margin:0;padding-left:1.15rem;display:grid;gap:8px}.story-template-preview__chapters li{color:var(--text-primary)}.story-template-preview__overflow{color:var(--muted-soft)}.story-template-preview--compact{margin-top:12px;gap:10px;padding:14px 16px}.story-template-preview__chapters--compact{padding-top:8px}@media(max-width:900px){.story-template-library__hero,.story-template-library__layout{grid-template-columns:1fr}}.help-content img{display:block;max-width:720px;width:100%;height:auto;margin:14px auto;border:1px solid var(--panel-border);border-radius:10px;box-shadow:0 8px 24px #0f172a1a}.help-content p{margin-top:.6em;margin-bottom:.6em}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}.tile-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-header__group{display:flex;align-items:center;gap:10px;min-width:0}.books-sidebar-toggle{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-primary);border-radius:10px;padding:6px 10px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-strong);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.books-sidebar-toggle:hover{background:#1f40ff14}.tile h3{margin:0}.tile.primary-cta{background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border-color:#bae6fd;box-shadow:0 12px 38px #0ea5e940}.tile.primary-cta .muted{color:#0f172a}@media(prefers-color-scheme:dark){.tile.primary-cta{background:linear-gradient(135deg,#0c1b2c,#0a1428);border-color:#1f3650;box-shadow:0 12px 32px #050c1c8c}.tile.primary-cta .muted{color:#cbd5f5}.feedback-message.admin{background:#0f2237;border-color:#1e3a5a}}.tag{background:#0f766e;color:#d6f3ef;border-radius:999px;padding:4px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.tag.subtle{background:#e5e7eb;color:#374151}@media(prefers-color-scheme:dark){.tag{background:#0f172a;color:#e7ecf8;border:1px solid #1f2a44}.tag.subtle{background:#131d33;color:#cbd5e1}}.muted{color:var(--muted-text)}button{background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--button-primary-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;box-shadow:var(--button-primary-shadow)}button:hover{transform:translateY(-1px);filter:brightness(1.05)}button:disabled{opacity:1;cursor:not-allowed;transform:none;box-shadow:none;background:var(--button-disabled-bg);color:var(--button-disabled-text);border:1px solid var(--button-disabled-border)}button.ghost{background:var(--button-ghost-bg);color:var(--button-ghost-text);border:1px solid var(--button-ghost-border);box-shadow:none}button.ghost:hover{background:var(--button-ghost-hover-bg)}button.ghost:disabled{background:var(--button-ghost-disabled-bg);color:var(--button-ghost-disabled-text);border-color:var(--button-ghost-disabled-border)}.hamburger-button{padding:var(--space-2) var(--space-2-5);min-width:42px;border-radius:var(--radius-md);font-weight:800}.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);box-shadow:none}.danger:hover{background:#dc262614}.danger:disabled{opacity:.4}@media(prefers-color-scheme:dark){button:hover{filter:brightness(1.08)}.danger{color:#fca5a5;border-color:#f87171;background:transparent}.danger:hover{background:#f8717114}}.file-input{position:relative;display:inline-flex;align-items:center;gap:10px;padding:10px 12px;margin:10px 0 14px;width:100%;background:var(--panel-bg);border:1px dashed var(--panel-border);border-radius:10px;color:var(--muted-text);cursor:pointer}.file-input input{cursor:pointer}.file-input input[type=file]{position:absolute;inset:0;opacity:0}.message{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--panel-border);color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:10px}.message.success{background:#10b98129;border-color:#10b9817f}.message.error{background:#ef44441f;border-color:#ef444473;color:var(--text-primary)}.message.info{background:#0ea5e91a;border-color:#0ea5e966}.message.warn{background:#facc152e;border-color:#facc157f;color:var(--text-primary)}.message-close{background:transparent;border:none;color:inherit;font-size:18px;line-height:1;padding:0 6px;cursor:pointer;box-shadow:none}.tile-actions{display:flex;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}.form-field{display:flex;flex-direction:column;gap:6px}.form-field span{font-size:12px;font-weight:700;color:var(--muted-text)}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--panel-border);border-radius:10px;padding:10px 12px;background:var(--panel-bg);color:var(--text-primary);font:inherit}.form-field textarea{min-height:140px;resize:vertical}@media(prefers-color-scheme:dark){.form-field input,.form-field select,.form-field textarea{background:#0f172a;border:1px solid #23304a;color:var(--text-primary)}}.form-field.full-width{grid-column:1 / -1}.inline-checkbox{display:inline-flex;align-items:center;gap:8px;margin-top:2px;font-weight:600;color:var(--text-primary)}.inline-checkbox input[type=checkbox]{width:16px;height:16px}button.link-button{background:none;border:none;padding:0;margin:0;color:inherit;text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit;opacity:.75}button.link-button:hover{opacity:1}button.link-button:disabled{cursor:default;opacity:.4}.guest-mode-banner{display:flex;flex-direction:column;gap:8px;padding:14px 16px;margin:12px 0;border:1px solid var(--panel-border);border-radius:12px;background:#fff8e6;color:#3b2f1a;box-shadow:var(--shadow-strong)}.guest-mode-banner__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.guest-mode-banner__title{margin:0;font-weight:700}@media(prefers-color-scheme:dark){.guest-mode-banner{background:#0ea5e914;color:#e7ecf8;border-color:#1f2a44}}.cross-env-ahead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--panel-border);border-radius:12px;background:#fff4e0;color:#5a4012}.cross-env-ahead__title{margin:0;font-weight:600}.cross-env-ahead__body{margin:4px 0 0}.cross-env-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--panel-border);border-radius:12px;background:#eef4ff;color:#1f3a5f}.cross-env-banner__title{margin:0;font-weight:600}.cross-env-banner__body{margin:4px 0 0}.cross-env-banner__actions{display:flex;gap:8px;align-items:center}.store-sync{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.store-sync__badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--panel-border);white-space:nowrap}.store-sync__badge--ok{background:#e7f6ec;color:#1c6b38}.store-sync__badge--pending{background:#fff8e6;color:#7a5c12}.store-sync__badge--warn{background:#fdecea;color:#9b2417}.store-sync__badge--off{background:transparent;color:var(--muted, #888)}.store-sync__divergence{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:#9b2417}.store-sync__reconcile{padding:2px 10px;font-size:.78rem}.last-backed-up{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted, #6b7280);white-space:nowrap}.last-backed-up .bi{font-size:.85rem}.needs-attention{border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg, #fff);padding:12px 14px;margin-bottom:12px}.needs-attention__count{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-weight:600;font-size:.92rem}.needs-attention__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.needs-attention__item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:10px;border-left:3px solid transparent;background:var(--panel-muted-bg, #f7f7f8)}.needs-attention__item--lost,.needs-attention__item--degraded{background:#fdecea;border-left-color:var(--accent, #c2410c);color:#7a2317}.needs-attention__item--recovered{background:#e7f6ec;border-left-color:#1c6b38;color:#1c6b38}.needs-attention__item--info{background:var(--panel-muted-bg, #f3f4f6);border-left-color:var(--panel-border, #d1d5db);color:var(--muted, #4b5563)}.needs-attention__icon{margin-top:2px;flex:0 0 auto}.needs-attention__body{flex:1 1 auto;min-width:0}.needs-attention__detail{margin:0;font-size:.88rem}.needs-attention__severity{font-weight:600;margin-right:6px}.needs-attention__where{margin:2px 0 0;font-size:.78rem;overflow-wrap:anywhere}.needs-attention__actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.needs-attention__jump,.needs-attention__dismiss{padding:2px 10px;font-size:.78rem;white-space:nowrap}html[data-theme=dark] .needs-attention{background:var(--panel-bg, #131722)}html[data-theme=dark] .needs-attention__item--lost,html[data-theme=dark] .needs-attention__item--degraded{background:#c2410c2e;color:#fca5a5}html[data-theme=dark] .needs-attention__item--recovered{background:#1c6b382e;color:#86efac}html[data-theme=dark] .needs-attention__item--info{background:#94a3b81f;color:#cbd5e1}.sync-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:12px;background:#fff8e6;color:#3b2f1a;margin-bottom:12px}@media(prefers-color-scheme:dark){.sync-banner{background:#0ea5e914;color:#e7ecf8;border-color:#1f2a44}}.sync-banner__title{margin:0 0 4px;font-weight:700;letter-spacing:.01em}.sync-banner__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sync-banner__content{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%}.sync-banner__toggle{border-color:transparent}.sync-banner__details{margin-top:12px;padding:12px;border-radius:10px;background:#fff4dc;border:1px solid #f0d6a5;color:#3b2f1a;display:flex;flex-direction:column;gap:10px}.sync-banner__details-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.sync-banner__details-row strong{display:block;margin-bottom:4px}.sync-banner__details-row .muted{margin:0}.sync-banner__diff{padding-top:12px;border-top:1px solid rgb(0 0 0 / 10%)}.sync-banner__diff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sync-banner__diff-header a{font-size:.85rem}.sync-banner__diff-files{display:flex;flex-direction:column;gap:8px}.sync-banner__diff-file{border:1px solid rgb(59 47 26 / 20%);border-radius:6px;padding:8px 10px;background:#fffc}.sync-banner__diff-file summary{cursor:pointer;font-weight:600;list-style:none}.sync-banner__diff-file pre{margin:8px 0 0;padding:10px;background:#0000000a;border-radius:6px;white-space:pre-wrap;max-height:240px;overflow:auto;font-size:.8rem}.sync-banner__diff-file summary::-webkit-details-marker{display:none}@media(prefers-color-scheme:dark){.sync-banner__details{background:#0ea5e91a;border-color:#1f2a44;color:#e7ecf8}.sync-banner__diff{border-top-color:#fff3}.sync-banner__diff-header a{color:#e7ecf8}.sync-banner__diff-file{background:#0f172a99;border-color:#e2e8f033}.sync-banner__diff-file pre{background:#e2e8f014;color:#e7ecf8}}.backup-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg);box-shadow:var(--shadow-strong)}.backup-row--head{border-color:var(--accent, #6c63ff)}.backup-head-badge{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:6px;background:var(--accent, #6c63ff);color:#fff;font-size:11px;font-weight:600;vertical-align:middle}.backup-key{margin:0 0 4px;font-weight:700;word-break:break-all}.backup-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted-text);font-size:12px}.backup-conflicts{margin-top:12px;padding:12px 14px;border:1px solid var(--warn-border, #f0a500);border-radius:12px;background:var(--warn-bg, #fff8e6)}.backup-conflicts-title{margin:0 0 6px;font-weight:700}.conflict-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--panel-border)}@media(max-width:720px){.backup-row{flex-direction:column;align-items:flex-start}.feedback-layout{grid-template-columns:1fr}}.stats .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:14px}.stat{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:12px 14px}.stat-value{font-size:24px;font-weight:700;margin:4px 0 0}.hero.compact{margin-top:12px}.list-panel{margin-top:18px}.book-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:12px}.books-layout{display:flex;flex-direction:column;gap:10px;margin-top:18px;width:100%}.book-columns-wrapper{position:relative}.sidebar-toggle{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-primary);border-radius:10px;padding:6px 10px;font-weight:700;cursor:pointer;position:absolute;right:-12px;top:-10px;left:auto;z-index:2;box-shadow:var(--shadow-strong);display:inline-flex;align-items:center;gap:6px}.sidebar-toggle:hover{background:#1f40ff14}.book-columns{display:grid;gap:14px;width:100%;min-width:0;align-items:start}.book-columns>div{min-width:0}.book-sidebar{border-right:1px solid var(--panel-border);padding-right:12px}.book-sidebar__hint-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.character-scope-hint{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin:8px 0 12px;background:var(--tile-bg);border:1px solid var(--tile-border);border-left:3px solid #0ea5e9;border-radius:8px;color:var(--muted-text);font-size:.8rem;line-height:1.5}.character-scope-hint .bi{flex-shrink:0;margin-top:2px;color:#0ea5e9}.character-empty-state{padding:8px 0}.book-row{padding:12px 14px;border:1px solid var(--tile-border);border-radius:12px;background:var(--tile-bg)}.book-title{margin:0 0 4px;font-weight:700}.book-row.selectable{cursor:pointer;transition:border-color .14s ease,transform .14s ease}.book-row.selectable:hover{border-color:#2a3a5d;transform:translateY(-1px)}.book-row.active{border-color:#22d3ee;box-shadow:0 8px 26px #22d3ee33}.character-list__row{display:flex;align-items:center;gap:10px}.thumbnail,.character-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:1px solid var(--panel-border);background:var(--panel-bg);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-primary)}.thumbnail--small,.character-avatar.avatar--small{width:36px;height:36px}.thumbnail--large,.character-avatar.avatar--large{width:160px;height:160px;font-size:42px}.thumbnail img,.character-avatar img{width:100%;height:100%;object-fit:cover}.thumbnail--clickable{cursor:pointer}.character-detail{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:16px;box-shadow:var(--shadow-strong)}.character-detail__header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.character-hero{display:flex;gap:16px;align-items:center;margin-bottom:10px}.character-hero__image img{width:200px;height:200px;object-fit:cover;border-radius:14px;border:1px solid var(--panel-border);box-shadow:var(--shadow-strong)}.book-hero{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}.book-hero__image img{width:200px;height:200px;object-fit:cover;border-radius:14px;border:1px solid var(--panel-border);box-shadow:var(--shadow-strong)}.book-hero__image .ghost,.character-hero__image .ghost{opacity:0;transition:opacity .15s}.book-hero__image:hover .ghost,.character-hero__image:hover .ghost{opacity:1}.book-hero__meta{display:flex;flex-direction:column;gap:6px}.book-hero__meta p{margin:0}.image-cropper{display:flex;flex-direction:column;gap:12px;align-items:center}.image-cropper__viewport{width:320px;height:320px;position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--panel-border);background:#0b1220;touch-action:none;-webkit-user-select:none;user-select:none}.image-cropper__viewport img{position:absolute;left:50%;top:50%;transform-origin:center;will-change:transform;max-width:none;max-height:none}.image-cropper__mask{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0 49%,rgb(0 0 0 / 65%) 50% 100%)}.image-cropper__guide{position:absolute;left:50%;top:50%;width:98%;height:98%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgb(255 255 255 / 75%);box-shadow:0 0 0 1px #00000059;pointer-events:none}.image-cropper__controls{width:100%;display:flex;gap:12px;align-items:center;justify-content:space-between}.image-gallery{border-top:1px solid var(--panel-border);margin:0 0 4px}.image-gallery__header{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.image-gallery__header--toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.image-gallery__header--toggle:hover h4{opacity:.75}.image-gallery__header h4{margin:0;font-size:.8rem;font-weight:600;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.04em}.image-gallery__count,.image-gallery__chevron{font-weight:400;opacity:.7}.image-gallery__actions{display:flex;gap:6px}.image-gallery__grid{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:12px}.image-gallery__tile{display:flex;flex-direction:column;gap:4px}.image-gallery__tile.is-thumbnail{outline:2px solid var(--accent, #1f40ff);outline-offset:2px;border-radius:4px}.image-gallery__meta{display:flex;flex-direction:column;gap:3px;max-width:160px}.image-gallery__label{font-size:.7rem;color:var(--text-muted, #888);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.image-gallery__buttons{display:flex;gap:4px;flex-wrap:wrap}.image-cropper__controls label{flex:1;display:flex;gap:10px;align-items:center}.image-cropper__controls input[type=range]{flex:1}.book-hero__meta .muted{font-size:.85rem}.book-hero__description{max-width:52ch;color:var(--text-muted)}.book-detail-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.book-actions-toggle-row{display:flex;margin-bottom:6px}.character-name{margin:0}.character-name-input{font-size:1.6rem;line-height:1.2}.character-detail__section{margin-top:14px}.character-detail__section h4{margin:0 0 6px}.character-detail__actions{margin-top:12px;display:flex;justify-content:flex-end}.character-attributes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 14px}.character-attributes li{background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:10px;padding:8px 10px}.character-attributes-list{display:flex;flex-direction:column;gap:10px}.character-attribute-tile{background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-strong)}.character-attribute__meta{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.character-attribute__label{font-weight:700}.character-attribute__value{margin-top:4px;color:var(--text-primary);white-space:pre-wrap}.character-attribute__toggle{background:transparent;color:var(--muted-text);padding:6px 10px;border:1px solid var(--panel-border);border-radius:8px;box-shadow:none}.character-attribute__textarea{width:100%;margin-top:8px;background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--tile-border);border-radius:10px;padding:10px;font:inherit}.character-attribute__actions{margin-top:8px;display:flex;justify-content:flex-end}.plotline-viewer{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:14px;box-shadow:var(--shadow-strong);width:100%;max-width:100%;overflow:hidden}.viewer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--pill-bg);color:var(--pill-text);font-weight:700;font-size:12px;border:1px solid var(--pill-border)}.pill.soft{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1}.pill.small{padding:4px 8px;font-size:11px}.chapter-grid{margin-top:24px;border:1px solid var(--grid-border);border-radius:12px;overflow-x:auto;background:var(--grid-bg)}.chapter-grid__table{width:auto;min-width:280px;border-collapse:collapse;table-layout:fixed;border:none;transform:scale(.9);transform-origin:top left}.chapter-grid__corner,.chapter-grid__header-cell,.chapter-grid__row-label,.chapter-grid__cell{border:1px solid var(--grid-border);background:var(--grid-bg);color:var(--grid-text)}.chapter-grid__corner{font-size:12px;font-weight:600;padding:8px;background:var(--grid-header-bg);min-height:96px;vertical-align:top;text-align:left}.chapter-grid__corner-title{font-size:12px;font-weight:600;color:var(--grid-text)}.chapter-grid__corner-hint{margin-top:6px;font-size:11px;color:var(--muted-text)}.chapter-grid__hidden-plotlines{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.chapter-grid__hidden-plotline{border:none;background:#e5e7eb;color:#4b5563;border-radius:999px;padding:2px 8px;font-size:11px;cursor:pointer}.chapter-grid__hidden-plotline:hover{background:#d1d5db}.chapter-grid__hidden-plotline:focus-visible{outline:2px solid #1f6feb;outline-offset:2px}.chapter-grid__header-cell{border:none;height:96px;white-space:nowrap;vertical-align:bottom;text-align:center;background:var(--grid-header-bg);cursor:pointer}.chapter-grid__header-cell:hover{background:#1f40ff14}.chapter-grid__header-cell:focus-visible{outline:2px solid #1f6feb;outline-offset:-2px}.chapter-grid__header-inner{display:inline-block;transform:translate(22px,2px) rotate(315deg);transform-origin:bottom left;width:16px}.chapter-grid__header-text{display:inline-block;border-bottom:1px solid #ccc;padding:0 10px;font-size:11px;font-weight:600;color:var(--grid-text)}.inline-edit-row{margin-top:8px;opacity:0;transition:opacity .15s}.book-row:hover .inline-edit-row,.book-row:focus-within .inline-edit-row{opacity:1}.chapter-grid__row-label{padding:0;background:var(--grid-row-bg);text-align:left}.chapter-grid__row-toggle{width:100%;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--grid-text);cursor:pointer;text-align:left}.chapter-grid__row-toggle:hover{background:#1f40ff14}.chapter-grid__row-toggle:focus-visible{outline:2px solid #1f6feb;outline-offset:2px}.chapter-grid__line-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgb(0 0 0 / 15%)}.chapter-grid__cell{min-height:38px;padding:0;background:var(--grid-bg);text-align:center}.chapter-grid__markers{display:flex;flex-direction:column;gap:1px;align-items:center;width:100%;padding:2px 0}.chapter-grid__marker{width:12px;height:12px;border-radius:50%;border:1px solid rgb(15 23 42 / 35%);cursor:pointer;padding:0;background:#f87171}.chapter-grid__marker.is-dragging{opacity:.65;transform:scale(1.05)}.chapter-grid__marker:hover{transform:scale(1.08)}.chapter-grid__marker:focus-visible{outline:2px solid #1f6feb;outline-offset:2px}.chapter-grid__empty{margin-top:24px;padding:16px;border:1px dashed var(--grid-border);border-radius:10px;font-size:13px;color:var(--muted-text);background:var(--grid-row-bg)}.scene-panel{display:flex;flex-direction:column;gap:12px;margin-top:16px;overflow-x:auto;width:100%}.scene-panel__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2-5)}.scene-panel__actions{display:flex;gap:var(--space-2)}.scene-panel__actions .column-button{color:var(--text-primary);background:var(--panel-bg);border:1px solid var(--panel-border)}.scene-panel__status{margin:0;font-size:var(--font-size-sm)}.scene-hidden-columns{display:flex;flex-direction:column;gap:6px;padding:6px 0}.scene-hidden-columns__list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.scene-stats-bar{display:flex;align-items:center;gap:10px;padding:6px 2px;flex-wrap:wrap}.word-goal-progress{flex:1;min-width:80px;height:8px;background:var(--panel-border);border-radius:4px;overflow:hidden}.word-goal-progress__fill{height:100%;background:var(--accent-color, #3b82f6);border-radius:4px;transition:width .3s ease;min-width:2px}.word-goal-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.word-goal-input{width:120px;padding:3px 6px;font-size:12px;border:1px solid var(--panel-border);border-radius:6px;background:var(--panel-bg);color:var(--text-primary)}.word-goal-input:focus{border-color:var(--accent-color, #3b82f6)}.word-goal-input:focus-visible{outline:2px solid var(--accent-color, #3b82f6);outline-offset:2px}.scene-grid{display:grid;gap:10px;align-items:start;width:100%;min-width:720px}.scene-grid__header{border:1px solid var(--panel-border);border-radius:12px;padding:10px;background:var(--panel-bg);position:relative;min-width:0}.scene-grid__chapter-label{font-weight:700;font-size:13px;color:var(--text-primary);padding:6px 0;background:var(--panel-bg)}.scene-grid__chapter-label--inline{grid-column:1 / -1;border-bottom:1px solid var(--panel-border);margin-top:8px;display:flex;align-items:center;gap:8px}.scene-grid__chapter-delete{margin-left:auto;font-size:11px;opacity:0;transition:opacity .15s}.scene-grid__chapter-label--inline:hover .scene-grid__chapter-delete{opacity:1}.scene-grid__cell{border:1px solid var(--panel-border);border-radius:12px;padding:10px;background:var(--panel-bg);min-width:0;overflow:visible}.scene-grid__cell.empty{border:none;padding:0;background:transparent}.scene-grid__footer{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.scene-grid__footer-label{padding-top:12px;border-top:1px solid var(--panel-border)}.scene-column__words{font-weight:700}.scene-column__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.scene-grid__header.is-drag-over{outline:2px dashed #22d3ee}.scene-grid__header.is-dragging{opacity:.7}.column-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;padding:6px;width:32px;height:32px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-primary)}.column-drag-handle:active{cursor:grabbing}.column-drag-icon{font-size:16px;line-height:1;color:var(--muted-text)}.scene-column__menu{position:relative}.scene-column__menu-toggle{min-width:36px;padding:8px;border-radius:8px}.scene-column__menu-list{position:absolute;top:calc(100% + 6px);left:0;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-strong);padding:6px;display:flex;flex-direction:column;gap:6px;z-index:12;min-width:140px}.scene-column__menu-item{width:100%;text-align:left;padding:8px 10px;border:1px solid var(--panel-border);border-radius:8px;background:var(--tile-bg);color:var(--text-primary)}.scene-column__menu-item:hover{background:#1f40ff14}.scene-column__actions{display:flex;gap:6px}.scene-column__totals{display:flex;flex-direction:column;gap:2px;align-items:flex-end;min-width:120px}.scene-column__totals strong{font-size:14px}.scene-column__meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.scene-resize-handle{position:absolute;top:0;right:-6px;width:12px;height:100%;cursor:col-resize;background:transparent}.scene-resize-handle:hover{background:#22d3ee33}.scene-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:#22d3ee7f;border-radius:2px;opacity:.4}.scene-resize-handle:hover:before{opacity:.9}.column-button{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-primary);border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}.column-button.ghost{background:transparent}.column-button:hover{background:#1f40ff14}.column-name-input{border:1px solid var(--panel-border);background:var(--tile-bg);color:var(--text-primary);border-radius:8px;padding:6px 8px;font-weight:700;width:100%}.scene-column__filters{display:flex;flex-direction:column;gap:8px}.plotplotline-toggle-list{display:flex;flex-wrap:wrap;gap:6px}.plotline-toggle{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:10px;border:1px solid var(--panel-border);background:#e5e7eb;color:var(--muted-text);cursor:pointer;text-align:left}.plotline-toggle.active{border-color:#22d3ee7f;background:#22d3ee1f;color:var(--text-primary)}.plotline-toggle:hover{background:#1f40ff14}.plotline-toggle .chapter-grid__line-dot{filter:grayscale(1);opacity:.5}.plotline-toggle.active .chapter-grid__line-dot{filter:none;opacity:1}.scene-column__chapters{display:flex;flex-direction:column;gap:10px}.scene-column__chapter{border:1px solid var(--panel-border);border-radius:10px;padding:8px;background:var(--tile-bg)}.scene-column__chapter-title{font-weight:700;font-size:13px;margin:0 0 6px;color:var(--text-primary)}.scene-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.scene-list__item{border:1px solid var(--tile-border);border-radius:10px;padding:10px 58px 10px 10px;background:var(--tile-bg);cursor:pointer;transition:border-color .12s ease,transform .12s ease;position:relative;z-index:1;overflow:visible}.scene-list__item:hover{border-color:#22d3ee;transform:translateY(-1px)}.scene-list__item.active{border-color:#22d3ee;box-shadow:0 10px 28px #22d3ee33}.scene-list__item:hover,.scene-list__item:focus-within,.scene-list__item.active{z-index:30}.scene-list__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.scene-controls-wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:flex-end;min-width:180px}.scene-controls-wrap--meta{position:absolute;top:8px;right:10px;flex-wrap:nowrap;justify-content:flex-end;align-items:center;min-width:0;gap:6px;z-index:2}.scene-meta-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:2px}.scene-tag-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.scene-tags{margin-top:8px;border:1px dashed var(--panel-border);border-radius:10px;padding:8px;background:var(--panel-bg);display:flex;flex-direction:column;gap:8px}.scene-tags--collapsed{padding:6px 8px;gap:6px;cursor:pointer}.scene-tags--collapsed:hover{border-color:#22d3ee}.scene-tags__header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.scene-tags__filter{width:100%;border:1px solid var(--panel-border);background:var(--tile-bg);color:var(--text-primary);border-radius:8px;padding:6px 8px;font-size:12px}.scene-tags__list{display:flex;flex-wrap:wrap;gap:8px}.scene-tags__item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-primary)}.scene-tags__item input{margin:0}.scene-tags__toggle{background:none;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;flex-shrink:0}.scene-tags__toggle:hover{color:var(--text-primary);background:var(--panel-border)}.scene-metadata__header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.scene-metadata{border:none;border-radius:10px;padding:0;background:transparent;margin-bottom:8px}.scene-metadata--removed{border-color:#fdba74;background:#fff7ed}.scene-metadata__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scene-metadata__toggle{border:1px solid var(--panel-border);background:#22d3ee1f;color:var(--text-primary);border-radius:8px;padding:4px 10px;font-weight:700;cursor:pointer}.scene-metadata__preview{color:var(--muted-text);font-size:12px;flex:1;min-width:160px}.scene-metadata.is-open{border:1px solid var(--panel-border);background:var(--tile-bg);padding:10px}.scene-metadata__fields{margin-top:8px;display:grid;gap:8px}.scene-metadata__field{display:flex;flex-direction:column;gap:4px}.scene-metadata__label{font-size:12px;color:var(--muted-text);font-weight:700}.scene-metadata__value{margin:0;color:var(--text-primary);white-space:pre-wrap}.scene-metadata__input{width:100%;border:1px solid var(--panel-border);background:var(--tile-bg);color:var(--text-primary);border-radius:8px;padding:6px 8px;font-size:13px;resize:vertical;min-height:60px}.scene-metadata__add{border:1px dashed var(--panel-border);background:var(--tile-bg);color:var(--text-primary);border-radius:10px;padding:6px 10px;font-weight:700;margin-bottom:8px;cursor:pointer}.scene-plotline-inline{min-width:140px;max-width:220px;border:1px solid var(--panel-border);background:var(--tile-bg);color:var(--text-primary);border-radius:8px;padding:4px 8px;font-size:13px}.scene-list__title{font-weight:700;margin-bottom:4px}.scene-list__title-group{display:flex;flex-direction:column;gap:4px;flex:1}.scene-tile__title-input{width:100%;border:1px solid var(--panel-border);background:var(--tile-bg);color:var(--text-primary);border-radius:8px;padding:6px 8px;font-weight:700}.scene-list__toggle{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-primary);border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer}.scene-list__toggle:hover{background:#1f40ff14}.scene-list__preview{margin-top:6px;color:var(--muted-text);font-size:13px;white-space:pre-wrap}.scene-tile__description{width:100%;border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-primary);border-radius:10px;padding:8px;margin-top:8px;font-size:13px;line-height:1.4;resize:vertical;min-height:72px}.scene-tile__description.collapsed{max-height:120px;overflow:auto}.scene-tile__actions{margin-top:8px;display:flex;justify-content:flex-end}.scene-tile__controls{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.scene-tile__controls.is-compact{justify-content:flex-end}.scene-tile__controls.is-open{position:relative;z-index:30}.scene-tile__controls[data-location=bottom]{margin-top:8px;justify-content:flex-end}.scene-move-group{display:flex;flex-direction:column;gap:4px}.scene-action-group{display:flex;flex-wrap:wrap;gap:6px}.scene-tile__controls .scene-list__toggle,.scene-tile__controls .scene-tile__save{min-height:32px;padding:8px 12px;font-size:13px;font-weight:700;border-radius:10px}.scene-tile__controls .scene-list__toggle{background:#e2e8f0;color:#0f172a;border:1px solid #cbd5e1;box-shadow:none}.scene-tile__move{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-primary);border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer;min-width:38px}.scene-tile__move:disabled{opacity:.5;cursor:not-allowed}.scene-tile__controls .scene-tile__save{background:linear-gradient(135deg,#0ea5e9,#22d3ee);color:#031126;border:none;box-shadow:0 8px 18px #0ea5e940}.scene-tile__menu{position:relative;display:inline-flex;justify-content:flex-end;width:100%;gap:6px}.scene-tile__menu-toggle{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--panel-border);box-shadow:none}.scene-tile__menu-toggle:hover{background:#1f40ff14}.scene-tile__menu-list{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;padding:8px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg);box-shadow:var(--shadow-strong);display:flex;flex-direction:column;gap:6px;z-index:40}.scene-tile__menu-item{width:100%;text-align:left;background:var(--tile-bg);color:var(--text-primary);border:1px solid var(--panel-border);border-radius:10px;padding:8px 10px;box-shadow:none;display:flex;justify-content:space-between;align-items:center}.scene-tile__menu-item:hover{background:#1f40ff14}.scene-tile__menu-item:disabled{opacity:.5;cursor:not-allowed}.scene-tile__menu-divider{height:1px;background:var(--panel-border);border:0}.scene-tile__save{border:1px solid var(--panel-border);background:linear-gradient(90deg,#22d3ee26,#1f40ff1f);color:var(--text-primary);border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer}.scene-tile__save:disabled{opacity:.6;cursor:default}.scene-tile__color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgb(0 0 0 / 20%);flex-shrink:0}.scene-tile__color-row{display:flex;align-items:center;gap:8px;padding:4px 0 2px}.color-swatch-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 0 0 1px #0000002e;transition:box-shadow .1s,border-color .1s}.color-swatch:focus-visible{outline:2px solid var(--accent, #3b82f6);outline-offset:2px}.color-swatch:hover{box-shadow:0 0 0 2px var(--accent, #3b82f6)}.color-swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--accent, #3b82f6)}.color-swatch--none{background:transparent;background-image:linear-gradient(135deg,transparent 42%,#e74c3c 42%,#e74c3c 58%,transparent 58%)}.scene-add{margin-top:12px;padding:10px;border:1px dashed var(--panel-border);border-radius:10px;background:var(--tile-bg);display:flex;flex-direction:column;gap:8px}.scene-add__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scene-add__buttons{display:flex;gap:6px}.note-detail{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:16px;box-shadow:var(--shadow-strong);display:flex;flex-direction:column;gap:10px}.note-detail__header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.note-preview{border:1px solid var(--panel-border);border-radius:12px;padding:10px;background:var(--tile-bg)}.note-preview__header{display:flex;align-items:center;justify-content:space-between}.note-preview__body p{margin:6px 0}.note-image{max-width:100%;height:auto;display:block;margin:8px 0;border-radius:8px;border:1px solid var(--panel-border)}.note-thumbnail{border:1px solid var(--panel-border);border-radius:12px;padding:10px;background:var(--tile-bg)}.note-thumbnail img{max-width:220px;height:auto;border-radius:10px;border:1px solid var(--panel-border)}.note-textarea{width:100%;min-height:200px;background:var(--panel-bg);border:1px solid var(--tile-border);border-radius:10px;padding:12px;color:var(--text-primary);font:inherit;resize:vertical}.note-actions{display:flex;gap:8px;justify-content:flex-end}.scene-detail{background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:12px;padding:12px;min-height:120px}.scene-detail__meta{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.preview{margin:6px 0 0}.inline-add{margin:12px 0;padding:12px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg);display:flex;flex-direction:column;gap:8px}.inline-add__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tiny{font-size:13px}@media(max-width:640px){.page{width:100%;max-width:100%;margin:0;padding:20px 0 60px}.book-columns{grid-template-columns:1fr!important}.book-sidebar{border-right:none;padding-right:0}.chapter-grid{padding:8px}.scene-panel{overflow-x:hidden;gap:10px;padding:0;max-width:100%}.scene-grid{min-width:0;grid-template-columns:1fr;padding:0 0 4px;width:100%}.hero h1{font-size:26px}.plotline-viewer{overflow:visible;overflow-x:auto;padding:8px}.chapter-grid__table{transform:none}.book-detail-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:4px}.book-detail-tabs::-webkit-scrollbar{display:none}.focused-editor-backdrop{align-items:flex-end}.focused-editor{max-width:100%;height:92dvh;border-radius:20px 20px 0 0}.focused-editor__header{padding:10px 16px}.focused-editor__title-row{padding:16px 16px 0}.focused-editor__body{padding:12px 16px 0}.modal-backdrop{align-items:flex-end}.modal{max-width:100%;border-radius:20px 20px 0 0}}.modal-backdrop{position:fixed;inset:0;background:#0000007f;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:24px;width:100%;max-width:500px;box-shadow:var(--shadow-strong);display:flex;flex-direction:column;gap:16px}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0}.close-button{background:transparent;border:none;font-size:24px;line-height:1;padding:0;cursor:pointer;color:var(--muted-text);box-shadow:none}.modal-content{display:flex;flex-direction:column;gap:12px}.checkbox-list{display:flex;flex-direction:column;gap:8px}.checkbox-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px;border-radius:8px;transition:background .12s ease}.checkbox-row:hover{background:#0000000d}@media(prefers-color-scheme:dark){.checkbox-row:hover{background:#ffffff0d}}.modal-dialog{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:28px 32px;width:100%;max-width:540px;box-shadow:var(--shadow-strong);display:flex;flex-direction:column;gap:16px}.modal-title{margin:0 0 4px;font-size:1.35rem}.modal-message{margin:0;color:var(--muted-text);line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.welcome-modal__steps{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}.welcome-modal__step{display:flex;gap:16px;align-items:flex-start}.welcome-modal__step-number{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:var(--accent, #6c63ff);color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.welcome-modal__step strong{display:block;margin-bottom:2px}.welcome-modal__step .muted{margin:0;font-size:.875rem;line-height:1.5}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:420px;width:calc(100% - 48px);pointer-events:none}.toast-stack .message{pointer-events:all;display:flex;align-items:flex-start;gap:10px;box-shadow:0 4px 16px #0000002e;animation:toast-in .18s ease;background:var(--panel-bg)}.toast-stack .message.success{background:#10b981eb;border-color:#10b981b3;color:var(--text-primary)}.toast-stack .message.error{background:#ef4444eb;border-color:#ef4444b3;color:var(--text-primary)}.toast-stack .message.info{background:#0ea5e9eb;border-color:#0ea5e9b3;color:var(--text-primary)}.toast-stack .message.warn{background:#facc15eb;border-color:#facc15b3;color:var(--text-primary)}.toast-stack .message-close{margin-left:auto;flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-meta-btn{padding:2px 8px;font-size:.8em}.onboarding-guide{margin:0 0 16px;padding:14px 16px;background:var(--tile-bg);border:1px solid var(--tile-border);border-left:3px solid #10b981;border-radius:8px;font-size:.85rem}.onboarding-guide__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.onboarding-guide__eyebrow{display:flex;align-items:center;gap:6px;font-weight:600;color:#10b981;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.onboarding-guide__dismiss{margin-left:auto;font-size:.75rem;padding:2px 8px}.onboarding-guide__intro{margin:0 0 10px}.onboarding-guide__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.onboarding-guide__step{display:flex;align-items:flex-start;gap:10px}.onboarding-guide__step-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#10b98120;border-radius:6px;color:#10b981;font-size:1rem}.onboarding-guide__step-title{display:block;margin-bottom:2px}.onboarding-guide__step-body{margin:0;font-size:.8rem;line-height:1.5}.plotline-no-book-hint{padding:24px;text-align:center}.plotline-no-book-hint .muted{margin-bottom:6px}.plotline-no-book-hint .muted.tiny{max-width:480px;margin:0 auto}.focused-editor-backdrop{position:fixed;inset:0;background:#0009;z-index:1100;display:flex;align-items:stretch;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.focused-editor{background:var(--bg);display:flex;flex-direction:column;width:100%;max-width:860px;height:100%;min-height:0;overflow-y:auto;padding:0 0 32px;box-shadow:0 0 80px #0000004d}.focused-editor__header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--panel-border);display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:16px;z-index:1}.focused-editor__header-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.focused-editor__header-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.focused-editor__close{font-size:18px;flex-shrink:0;color:var(--muted-text);transition:color .12s ease}.focused-editor__close:hover{color:var(--text-primary)}.focused-editor__breadcrumb{font-size:.82rem;color:var(--muted-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focused-editor__breadcrumb-sep{opacity:.5}.focused-editor__wordcount{font-size:.82rem;white-space:nowrap}.focused-editor__save{min-width:72px}.focused-editor__title-row{padding:28px 32px 0}.focused-editor__title-input{width:100%;background:transparent;border:none;border-bottom:2px solid var(--panel-border);border-radius:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);padding:0 0 10px;box-shadow:none;transition:border-color .15s ease}.focused-editor__title-input:focus{outline:none;border-bottom-color:var(--accent, #6c63ff)}.focused-editor__title-input:focus-visible{outline:2px solid var(--accent, #6c63ff);outline-offset:2px}.focused-editor__title-input::placeholder{color:var(--muted-text);font-weight:400}.focused-editor__body{flex:1;padding:24px 32px 0;display:flex;flex-direction:column}.focused-editor__textarea{width:100%;min-height:300px;background:transparent;border:none;border-radius:0;color:var(--text-primary);font-size:1rem;line-height:1.7;resize:none;box-shadow:none;padding:0;overflow-y:hidden;font-family:inherit}.focused-editor__textarea:focus-visible{outline:2px dashed var(--accent, #6c63ff);outline-offset:4px}.focused-editor__textarea::placeholder{color:var(--muted-text)}.focused-editor__footer{padding:12px 32px 0;text-align:center}html[data-theme=dark] .focused-editor,html[data-theme=dark] .focused-editor__header{background:var(--bg);border-color:var(--panel-border)}html[data-theme=dark] .focused-editor__title-input,html[data-theme=dark] .focused-editor__textarea{color:var(--text-primary)}@media(prefers-color-scheme:dark){html[data-theme=light] .focused-editor,html[data-theme=light] .focused-editor__header{background:var(--bg);border-color:var(--panel-border)}}.theme-picker{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--panel-border);border-radius:10px;padding:2px;background:var(--panel-bg)}.theme-picker__btn{background:transparent;border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--muted-text);cursor:pointer;box-shadow:none;transition:background .12s ease,color .12s ease;min-width:0;letter-spacing:0}.theme-picker__btn:hover{background:var(--tile-bg);color:var(--text-primary);transform:none;filter:none}.theme-picker__btn.active{background:var(--hero-bg);color:var(--text-primary);box-shadow:0 1px 3px #0000001f}.theme-picker__btn.active:hover{background:var(--hero-bg);transform:none;filter:none}html[data-theme=dark] .tile.primary-cta{background:linear-gradient(135deg,#0c1b2c,#0a1428);border-color:#1f3650;box-shadow:0 12px 32px #050c1c8c}html[data-theme=dark] .tile.primary-cta .muted{color:#cbd5f5}html[data-theme=dark] .feedback-message.admin{background:#0f2237;border-color:#1e3a5a}html[data-theme=dark] .tag{background:#0f172a;color:#e7ecf8;border:1px solid #1f2a44}html[data-theme=dark] .tag.subtle{background:#131d33;color:#cbd5e1}html[data-theme=dark] button:hover{filter:brightness(1.08)}html[data-theme=dark] .danger{color:#fca5a5;border-color:#f87171;background:transparent}html[data-theme=dark] .danger:hover{background:#f8717114}html[data-theme=dark] .form-field input,html[data-theme=dark] .form-field select,html[data-theme=dark] .form-field textarea{background:#0f172a;border:1px solid #23304a;color:var(--text-primary)}html[data-theme=dark] .guest-mode-banner,html[data-theme=dark] .sync-banner{background:#0ea5e914;color:#e7ecf8;border-color:#1f2a44}html[data-theme=dark] .sync-banner__details{background:#0ea5e91a;border-color:#1f2a44;color:#e7ecf8}html[data-theme=dark] .sync-banner__diff{border-top-color:#fff3}html[data-theme=dark] .sync-banner__diff-header a{color:#e7ecf8}html[data-theme=dark] .sync-banner__diff-file{background:#0f172a99;border-color:#e2e8f033}html[data-theme=dark] .sync-banner__diff-file pre{background:#e2e8f014;color:#e7ecf8}html[data-theme=dark] .checkbox-row:hover{background:#ffffff0d}@media(prefers-color-scheme:dark){html[data-theme=light] .tile.primary-cta{background:linear-gradient(135deg,#eef4ff,#dbeafe);border-color:#bfdbfe;box-shadow:0 12px 32px #0f172a1f}html[data-theme=light] .tile.primary-cta .muted{color:#475569}html[data-theme=light] .feedback-message.admin{background:#eff6ff;border-color:#bfdbfe}html[data-theme=light] .tag{background:#0f766e;color:#d6f3ef;border:none}html[data-theme=light] .tag.subtle{background:#e5e7eb;color:#374151}html[data-theme=light] button{background:linear-gradient(135deg,#0ea5e9,#22d3ee);color:#031126;border:none;box-shadow:0 12px 30px #0ea5e94d}html[data-theme=light] button:hover{filter:brightness(1.05)}html[data-theme=light] button:disabled{background:#e5e7eb;color:#3b4255;border:1px solid #cbd5e1}html[data-theme=light] button.ghost{background:transparent;color:#0f172a;border:1px solid #94a3b8}html[data-theme=light] button.ghost:hover{background:#e2e8f0}html[data-theme=light] button.ghost:disabled{background:#f1f5f9;color:#475569;border-color:#cbd5e1}html[data-theme=light] .danger{color:var(--danger);border-color:var(--danger);background:transparent}html[data-theme=light] .danger:hover{background:#dc262614}html[data-theme=light] .form-field input,html[data-theme=light] .form-field select,html[data-theme=light] .form-field textarea{background:#fff;border:1px solid #d0d7de;color:#0f172a}html[data-theme=light] .guest-mode-banner,html[data-theme=light] .sync-banner{background:#fff8e6;color:#3b2f1a;border-color:#d0d7de}html[data-theme=light] .sync-banner__details{background:#fff4dc;border-color:#f0d6a5;color:#3b2f1a}html[data-theme=light] .sync-banner__diff{border-top-color:#0000001a}html[data-theme=light] .sync-banner__diff-header a{color:#0f172a}html[data-theme=light] .sync-banner__diff-file{background:#fffc;border-color:#3b2f1a33}html[data-theme=light] .sync-banner__diff-file pre{background:#0000000a;color:#0f172a}html[data-theme=light] .checkbox-row:hover{background:#00000008}}.global-search-trigger-row{display:flex;align-items:center;gap:8px;padding:4px 16px;border-bottom:1px solid var(--color-border, rgb(0 0 0 / 8%));background:var(--color-bg, #fff)}.global-search-trigger-btn{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;padding:4px 10px;border-radius:4px;color:var(--color-muted, #888);background:transparent;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.global-search-trigger-btn:hover{background:var(--color-bg-secondary, rgb(0 0 0 / 5%));color:var(--color-text, #111);border-color:var(--color-border, rgb(0 0 0 / 12%))}.global-search-trigger-hint{font-size:.75rem;color:var(--color-muted, #888)}.global-search-backdrop{position:fixed;inset:0;z-index:1200;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:72px;padding-bottom:24px;overflow-y:auto}.global-search{width:100%;max-width:680px;max-height:calc(100vh - 120px);overflow-y:auto;border-radius:8px;background:var(--color-bg, #fff);box-shadow:0 8px 40px #0003,0 2px 8px #0000001a;display:flex;flex-direction:column;gap:0}.global-search__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--color-border, rgb(0 0 0 / 8%));flex-shrink:0}.global-search__title{margin:0;font-size:1rem;font-weight:600}.global-search__inputs{padding:12px 20px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--color-border, rgb(0 0 0 / 8%));flex-shrink:0}.global-search__input-row{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border, rgb(0 0 0 / 14%));border-radius:6px;padding:6px 10px;background:var(--color-bg, #fff);transition:border-color .15s}.global-search__input-row:focus-within{border-color:var(--color-accent, #6366f1)}.global-search__input-icon{color:var(--color-muted, #888);flex-shrink:0}.global-search__input{flex:1;border:none;background:transparent;font-size:.9rem;color:var(--color-text, #111);padding:0}.global-search__input:focus{outline:none}.global-search__input::placeholder{color:var(--color-muted, #aaa)}.global-search__clear{padding:2px 4px;color:var(--color-muted, #888);line-height:1}.global-search__replace-toggle{font-size:.78rem;color:var(--color-muted, #888);padding:2px 4px;align-self:flex-start}.global-search__replace-row{display:flex;align-items:center;gap:8px}.global-search__replace-row .global-search__input{flex:1;border:1px solid var(--color-border, rgb(0 0 0 / 14%));border-radius:6px;padding:6px 10px;font-size:.9rem;background:var(--color-bg, #fff);color:var(--color-text, #111)}.global-search__replace-row .global-search__input:focus{outline:2px solid var(--color-accent, #6366f1);outline-offset:1px}.global-search__replace-btn{white-space:nowrap;font-size:.85rem;padding:6px 14px;border-radius:6px;background:var(--color-accent, #6366f1);color:#fff;border:none;cursor:pointer;transition:background .15s}.global-search__replace-btn:hover:not(:disabled){background:var(--color-accent-hover, #4f46e5)}.global-search__replace-btn:disabled{opacity:.5;cursor:not-allowed}.global-search__replace-message{font-size:.82rem}.global-search__count,.global-search__hint{padding:6px 20px;font-size:.82rem;border-bottom:1px solid var(--color-border, rgb(0 0 0 / 6%));flex-shrink:0}.global-search__results{overflow-y:auto;flex:1;padding:0 0 12px}.global-search__section{padding:12px 20px 4px}.global-search__section+.global-search__section{border-top:1px solid var(--color-border, rgb(0 0 0 / 6%))}.global-search__section-title{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted, #888);margin:0 0 8px}.global-search__section-count{font-weight:400}.global-search__result-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.global-search__result-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:5px;cursor:default;transition:background .12s}.global-search__result-item:hover{background:var(--color-bg-secondary, rgb(0 0 0 / 4%))}.global-search__result-label{font-size:.88rem;font-weight:500;color:var(--color-text, #111)}.global-search__result-excerpt{font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}.global-search__result-excerpt mark{background:#fde68a;color:inherit;border-radius:2px;padding:0 1px}html[data-theme=dark] .global-search{background:var(--color-bg, #1e2130);box-shadow:0 8px 40px #0006,0 2px 8px #0003}html[data-theme=dark] .global-search-trigger-row{background:var(--color-bg, #1e2130)}html[data-theme=dark] .global-search__input-row,html[data-theme=dark] .global-search__replace-row .global-search__input{background:var(--color-bg-secondary, #161926)}html[data-theme=dark] .global-search__result-item:hover{background:#ffffff0d}html[data-theme=dark] .global-search__result-excerpt mark{background:#92400e;color:#fde68a}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .global-search{background:var(--color-bg, #1e2130)}html:not([data-theme=light]) .global-search-trigger-row{background:var(--color-bg, #1e2130)}html:not([data-theme=light]) .global-search__input-row{background:var(--color-bg-secondary, rgb(255 255 255 / 5%))}html:not([data-theme=light]) .global-search__result-excerpt mark{background:#92400e;color:#fde68a}}.ai-toggle-row{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .75rem;cursor:pointer;font-size:.95rem}.ai-access-options{display:flex;flex-direction:column;gap:.75rem;margin:.75rem 0}.ai-access-option{padding:.6rem .75rem;border:1px solid var(--border, #ddd);border-radius:4px}.ai-access-option p{margin:.25rem 0 0}.ai-instructions-panel{padding:1rem 0;max-width:760px}.ai-instructions-panel h3{margin-bottom:.5rem}.style-guide-section,.style-guide-preview{margin-top:1rem;padding:1rem;border:1px solid var(--border, #ccc);border-radius:8px;background:var(--panel, rgb(255 255 255 / 4%))}.style-guide-section h4,.style-guide-preview h4{margin:0 0 .35rem}.ai-instructions-textarea{width:100%;font-family:inherit;font-size:.9rem;line-height:1.5;padding:.6rem .75rem;border:1px solid var(--border, #ccc);border-radius:4px;background:var(--input-bg, #fff);color:var(--text, #111);resize:vertical;min-height:180px;box-sizing:border-box;margin:.75rem 0 .4rem}.ai-instructions-textarea:focus{outline:2px solid var(--focus-ring, #4f8ef7);outline-offset:1px}.style-guide-section__footer{display:flex;justify-content:flex-end}.style-guide-mode-group{display:flex;flex-wrap:wrap;gap:.75rem;margin:.75rem 0 .35rem}.style-guide-mode-option{display:flex;align-items:flex-start;gap:.45rem;padding:.55rem .8rem;border:1px solid var(--border, #ccc);border-radius:8px;background:var(--input-bg, #fff)}.style-guide-mode-option input{margin-top:.15rem}.style-guide-preview__content{margin:.75rem 0 0;padding:.8rem .9rem;border:1px solid var(--border, #ccc);border-radius:6px;background:var(--input-bg, #fff);color:var(--text, #111);font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.ai-instructions-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:1rem 0 .75rem}.ai-instructions-footer p{margin:0;flex:1}@media(max-width:640px){.style-guide-mode-group,.ai-instructions-footer{flex-direction:column}}.readthrough{padding:1rem 0;max-width:780px;margin:0 auto}.readthrough__toolbar{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem 1rem;flex-wrap:wrap}.readthrough__filter-label{font-weight:600;font-size:.875rem;color:var(--color-text, #222);white-space:nowrap}.readthrough__filter-select{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--color-border, #d1d5db);background:var(--color-surface, #fff);color:var(--color-text, #222);font-size:.875rem;min-width:180px}.readthrough__word-count{margin-left:auto;font-size:.8125rem}.readthrough__empty,.readthrough__empty-state{padding:2rem 1rem;text-align:center;font-size:.9375rem}.readthrough__chapter{margin-bottom:2.5rem}.readthrough__chapter-header{display:flex;align-items:baseline;gap:1rem;padding:.5rem 1rem .75rem;border-bottom:2px solid var(--color-border, #d1d5db);margin-bottom:1rem}.readthrough__chapter-title{font-size:1.125rem;font-weight:700;margin:0;color:var(--color-text, #222)}.readthrough__chapter-words{font-size:.8125rem;margin-left:auto}.readthrough__scene{padding:0 1rem}.readthrough__scene-header{margin-bottom:.625rem}.readthrough__scene-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.readthrough__scene-title{font-weight:600;font-size:.9375rem;color:var(--color-text, #333)}.readthrough__scene-plotline{font-size:.8125rem}.readthrough__scene-words{font-size:.8125rem;margin-left:auto}.readthrough__para{margin:0 0 1em;line-height:1.75;font-size:1rem;color:var(--color-text, #222)}.readthrough__prose--empty{padding:.5rem 0 1rem;font-style:italic}.readthrough__scene-divider{display:flex;justify-content:center;margin:1.5rem 0;color:var(--color-muted, #9ca3af);font-size:1.25rem;letter-spacing:.6em}.readthrough__scene-divider span:before{content:"* * *"}html[data-theme=dark] .readthrough__filter-select{background:var(--color-surface, #1e293b);border-color:var(--color-border, #334155);color:var(--color-text, #f8fafc)}html[data-theme=dark] .readthrough__chapter-title,html[data-theme=dark] .readthrough__filter-label{color:var(--color-text, #f8fafc)}@media(prefers-color-scheme:dark){.readthrough__filter-select{background:var(--color-surface, #1e293b);border-color:var(--color-border, #334155);color:var(--color-text, #f8fafc)}.readthrough__chapter-title,.readthrough__filter-label{color:var(--color-text, #f8fafc)}}
