:root{--bg: #0b1020;--bg-2: #0f1430;--text: #e9edf6;--muted: #a9b1c3;--brand: #5aa9ff;--brand-2: #8bd3ff;--link: var(--brand-2);--ghost: var(--brand-2);--ghost-hover-bg: var(--brand-2);--ghost-hover-fg: #0b1020;--border: rgba(255, 255, 255, .12);--panel: rgba(255, 255, 255, .06);--shadow: 0 10px 30px rgba(0, 0, 0, .35);--focus: var(--brand-2);--field-bg: rgba(255, 255, 255, .06);--field-border: rgba(255, 255, 255, .16);--toolbar-bg: rgba(15, 20, 48, .94);--tool-ink: #e9edf6;--tool-hover-bg: rgba(255, 255, 255, .1);--danger: #ff9b9b;--header-h: 72px;--radius: 12px;color-scheme:dark}.surface-light{--text: #121420;--muted: #5a6170;--link: #1a56a8;--ghost: #1a56a8;--ghost-hover-bg: #1a56a8;--ghost-hover-fg: #ffffff;--border: #e7e9ef;--panel: #ffffff;--focus: #1a56a8;--field-bg: #ffffff;--field-border: #d5d9e3;--toolbar-bg: rgba(255, 255, 255, .94);--tool-ink: #2b3040;--tool-hover-bg: #eef2fa;--danger: #a12f2f;background:#fff;color:var(--text);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{min-height:100%}#root{min-height:100vh;display:flex;flex-direction:column}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,#16264a 0%,transparent 60%),radial-gradient(1000px 800px at 100% 0%,#13223f 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);background-attachment:fixed;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{flex:1;padding-top:var(--header-h)}main:focus{outline:none}:target{scroll-margin-top:calc(var(--header-h) + 8px)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}img{max-width:100%;display:block}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.01em}.container{width:min(1200px,100%);margin-inline:auto;padding-inline:24px}.muted{color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:24px 0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:16px;z-index:3000;padding:10px 14px;border-radius:999px;background:var(--brand-2);color:#0b1020;font-weight:700;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:12px}.loading-bar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--brand),var(--brand-2));z-index:2500;opacity:0;transition:opacity .2s ease,width .2s ease}.loading-bar.active{opacity:1;animation:loading-progress 1.4s ease-out forwards}@keyframes loading-progress{0%{width:0}to{width:85%}}.link{color:var(--link);text-decoration:none;font-weight:600}.link:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:1px solid transparent;border-radius:999px;padding:12px 18px;font:inherit;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .08s ease,box-shadow .2s ease,background .2s,color .2s,border-color .2s;box-shadow:var(--shadow)}.btn.primary{background:linear-gradient(90deg,var(--brand) 0%,var(--brand-2) 100%);color:#0b1020}.btn.primary:hover{transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--ghost);border-color:var(--ghost);box-shadow:none}.btn.ghost:hover{background:var(--ghost-hover-bg);color:var(--ghost-hover-fg)}.btn.small{padding:9px 14px;font-size:14px}.btn.disabled{opacity:.45;cursor:default;pointer-events:none}.site-footer{border-top:1px solid var(--border);padding-block:28px;background:#0a0e1e80;text-align:center;color:var(--muted);font-size:14px}.footer-inner{display:grid;gap:10px;justify-items:center}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}.footer-nav a{color:var(--text);text-decoration:none;opacity:.8}.footer-nav a:hover{color:var(--brand-2);opacity:1}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.loading-bar,.skip-link{transition:none;animation:none}}.site-header{position:fixed;inset:0 0 auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0a0e1eb3;border-bottom:1px solid var(--border);z-index:1000}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-h)}.header-right{display:flex;align-items:center;gap:20px;min-width:0}.brand-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);border-radius:8px}.brand-logo{height:36px;width:36px;object-fit:contain}.brand-text{font-weight:700;font-size:15px;letter-spacing:.4px;color:var(--text)}.nav{display:flex;gap:24px}.nav a{color:var(--text);text-decoration:none;opacity:.85;padding:6px 2px;border-bottom:2px solid transparent;transition:opacity .2s,color .2s,border-color .2s}.nav a:hover{color:var(--brand-2);opacity:1}.nav a[aria-current=page]{color:var(--brand-2);opacity:1;border-bottom-color:var(--brand-2)}.search{display:flex;align-items:center;gap:8px}.search input{width:clamp(180px,24vw,320px);padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);font:inherit;font-size:14px;caret-color:var(--brand-2);transition:border-color .15s,background .15s}.search input::placeholder{color:#e9edf699}.search input:focus{outline:none;border-color:var(--brand-2);background:#ffffff1c}.search button{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:10px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.search button:hover{border-color:var(--brand-2);color:var(--brand-2)}.menu-toggle{display:none;width:42px;height:42px;border:none;background:#ffffff14;border-radius:8px;padding:9px;cursor:pointer;justify-content:center;align-items:center;gap:5px;flex-direction:column;transition:background .15s}.menu-toggle:hover{background:#ffffff26}.menu-toggle .bar{width:22px;height:2.5px;background:var(--text);border-radius:2px;transition:transform .18s,opacity .18s;transform-origin:center}.menu-toggle.open .bar:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.menu-toggle.open .bar:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.open .bar:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}@media(max-width:900px){.nav,.search{display:none}.menu-toggle{display:inline-flex}.site-header{background:#0a0e1ee6}.site-header:has(.mobile-menu.open){background:#0c1224;backdrop-filter:none;-webkit-backdrop-filter:none}}.hero{background:radial-gradient(700px 300px at 20% 10%,rgba(90,169,255,.15) 0%,transparent 70%),radial-gradient(700px 300px at 80% 0%,rgba(139,211,255,.12) 0%,transparent 70%)}.hero-inner{min-height:clamp(440px,62vh,680px);display:grid;place-items:center;text-align:center;padding-block:64px}.hero h1{margin:0 0 12px;font-size:clamp(36px,6vw,56px);line-height:1.05;letter-spacing:-.02em}.hero p{margin:0 0 28px;color:var(--muted);font-size:clamp(16px,2.2vw,18px);max-width:640px;margin-inline:auto}.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.cta-row.left{justify-content:flex-start}.section{padding-block:56px}.section-title{margin:0 0 24px;font-size:28px;text-align:center}.section-title:after{content:"";display:block;width:60px;height:4px;margin:10px auto 0;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:2px}.results-summary{margin:-8px 0 24px;text-align:center;color:var(--muted)}.breadcrumb{margin-bottom:16px}.book-grid{display:grid;gap:32px 28px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));justify-items:center;padding-bottom:16px}.book-grid>*{width:100%;max-width:300px}.error-page{max-width:640px;padding-block:40px}.error-page h1{margin:0 0 12px;font-size:clamp(28px,4vw,40px)}.error-page .muted{margin:0 0 24px;font-size:17px}.filter-rows{display:grid;gap:8px;margin-top:10px}.filter-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-right:4px}.pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:28px;text-align:center}.pager>:last-child{justify-self:end}.pager>:first-child{justify-self:start}.book-standing{margin:0 0 6px;font-size:14px}.shelf-control{display:inline-flex;gap:8px;align-items:center;margin:6px 0 0;font-size:14px}.shelf-control select{font:inherit;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--field-bg);color:var(--text)}.shelf-lead{max-width:60ch;margin:-6px auto 18px;font-size:14px}.shelf-group+.shelf-group{margin-top:28px}.shelf-group-title{margin:0 0 12px;font-size:18px}.shelf-slot-actions{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:6px;font-size:13px}.shelf-state{font:inherit;font-size:13px;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--field-bg);color:var(--text)}.tag a{color:inherit;text-decoration:none}.tag a:hover{text-decoration:underline}.hero-note{margin:10px 0 0;font-size:14px;max-width:60ch}.nav-hint{opacity:.7;font-weight:400}.cover{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;border-radius:inherit;background:var(--cover-bg2, #10151f);color:var(--cover-ink, #fff);container-type:inline-size;isolation:isolate}.cover-art{position:absolute;inset:0;width:100%;height:100%;display:block}.cover:after{content:"";position:absolute;inset:0;background:url(/grain.png) repeat;background-size:96px 96px;opacity:.11;pointer-events:none}.cover-image:after{display:none}.cover-layer{--depth: 1;transform:translate(calc(var(--tilt-x, var(--px, 0)) * var(--depth) * 2.2px),calc(var(--tilt-y, var(--py, 0)) * var(--depth) * 1.6px));transition:transform .25s ease-out}.cover-text{position:absolute;inset:auto 0 0;z-index:1;display:grid;gap:2cqw;padding:7cqw 8cqw 9cqw;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,Times New Roman,serif;text-shadow:0 1px 2px rgba(0,0,0,.45)}.cover-mark{font-size:clamp(8px,3.4cqw,11px);letter-spacing:.22em;text-transform:uppercase;opacity:.72;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.cover-title{font-size:clamp(15px,9.5cqw,30px);font-weight:700;line-height:1.12;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:anywhere}.cover-author{font-size:clamp(10px,4.4cqw,14px);font-style:italic;opacity:.85;margin-top:1cqw}.cover-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.cover.no-grain:after{display:none}.cover.is-designed .cover-text{inset:0;gap:2cqw;align-content:end;justify-items:start;padding:7cqw 8cqw 9cqw;text-shadow:0 1px 2px var(--cover-shadow, rgba(0, 0, 0, .45))}.cover.is-designed.pos-top .cover-text{align-content:start;padding:10cqw 8cqw 7cqw}.cover.is-designed.pos-middle .cover-text{align-content:center;padding:8cqw}.cover.is-designed.align-center .cover-text{justify-items:center;text-align:center}.cover.is-designed.align-right .cover-text{justify-items:end;text-align:right}.cover.is-designed .cover-mark{font-size:max(5px,3.4cqw)}.cover.is-designed .cover-title{font-family:var(--title-font);font-weight:var(--title-weight, 700);letter-spacing:var(--title-tracking, -.01em);color:var(--title-color, inherit);font-size:max(calc(8px * var(--title-scale, 1)),calc(9.5cqw * var(--title-scale, 1)))}.cover.is-designed .cover-subtitle{font-family:var(--title-font);color:var(--title-color, inherit);font-size:max(calc(5px * var(--title-scale, 1)),calc(4.75cqw * var(--title-scale, 1)));font-weight:500;letter-spacing:var(--title-tracking, 0);line-height:1.25;white-space:pre-line;overflow-wrap:anywhere;opacity:.92;margin-top:-1cqw}.cover.is-designed.tt-upper .cover-title,.cover.is-designed.tt-upper .cover-subtitle{text-transform:uppercase}.cover.is-designed.tt-small-caps .cover-title,.cover.is-designed.tt-small-caps .cover-subtitle{font-variant-caps:small-caps}.cover.is-designed .cover-author{font-size:max(calc(6px * var(--author-scale, 1)),calc(4.4cqw * var(--author-scale, 1)));line-height:1.3}.cover-emblem{display:block;width:16cqw;height:16cqw;margin-bottom:.5cqw;overflow:visible}@media(prefers-reduced-motion:reduce){.cover-layer{transition:none;transform:none}}@property --gx-max{syntax: "<length>"; inherits: true; initial-value: 0px;}.book-card{--t-scale: 1;--t: 30px;--t: calc(clamp(10px, 6px + 4.5px * sqrt(var(--chapters, 12)), 48px) * var(--t-scale));--px: 0;--py: 0;--tilt-x: clamp(-1, calc(var(--px) + var(--phone-px, 0)), 1);--tilt-y: clamp(-1, calc(var(--py) + var(--phone-py, 0)), 1);--turn: 0deg;--grow: 1;--gx: 0px;--bs: calc(1 / var(--grow-max, 1));--open-shift: 0px;--r: 10px;position:relative;perspective:1400px;padding:8px 12px 56px}@media(hover:hover){.book-card:hover:not(.is-open):not(.is-settling),.book-card:has(.cover-link:focus-visible,.back-link:focus-visible):not(.is-open){--turn: 180deg}.book-card:hover,.book-card:has(.cover-link:focus-visible,.back-link:focus-visible){--grow: var(--grow-max, 1);--gx: var(--gx-max, 0px)}}.book-card.is-turned:not(.is-open){--turn: 180deg}.book-card.is-turned,.book-card.is-open{--grow: var(--grow-max, 1);--gx: var(--gx-max, 0px)}.book-card.is-open{z-index:20}.book{position:relative;width:100%;aspect-ratio:3 / 4;transform-style:preserve-3d;transform:translate(var(--gx)) scale(var(--grow)) rotateX(calc(var(--tilt-y) * -7deg)) rotateY(calc(var(--turn) + var(--tilt-x) * 10deg));transition:transform .65s cubic-bezier(.2,.7,.2,1)}.book-card:hover:not(.is-open) .book{transition-duration:.3s}.book-card.is-phone-tilting:not(.is-open):not(.is-turned) .book{transition-duration:.18s;transition-timing-function:ease-out}.book-card.is-open .book{transform:translate(var(--gx)) scale(var(--grow)) translate(var(--open-shift))}.book-face{position:absolute;inset:0;border-radius:3px var(--r) var(--r) 3px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.book-cover-wrap{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:left center;transform:translateZ(calc(var(--t) / 2));transition:transform .8s cubic-bezier(.3,.7,.2,1)}.book-card.is-open .book-cover-wrap{transform:translateZ(calc(var(--t) / 2)) rotateY(-180deg)}.book-front{box-shadow:inset 4px 0 10px #00000059,inset 10px 0 2px -9px #ffffff2e}.book-front .book-cover-face{width:100%;height:100%}.book-front:after{content:"";position:absolute;top:0;bottom:0;left:10px;width:3px;background:linear-gradient(90deg,#00000047,#ffffff14);pointer-events:none}.cover-link{position:absolute;inset:0;z-index:2;border-radius:inherit}.cover-link:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--focus)}.book-inside{--page: #fbf8f1;--page-ink: #1f1b16;--page-muted: #6b6257;transform:rotateY(180deg);border-radius:var(--r) 3px 3px var(--r);background:linear-gradient(90deg,#0000 82%,#0000001a),var(--page);color:var(--page-ink);display:grid;align-content:center;justify-items:center;gap:10px;padding:18px;text-align:center}.inside-thumb{width:48%;border-radius:4px;box-shadow:0 10px 22px #0000004d}.inside-title{margin:6px 0 0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:calc(15px * var(--bs));font-weight:700;line-height:1.2}.inside-byline{margin:0;font-size:calc(12px * var(--bs));font-style:italic;color:var(--page-muted)}.book-page{--page: #fbf8f1;--page-edge: #e8e2d4;--page-ink: #1f1b16;--page-muted: #6b6257;transform:translateZ(calc(var(--t) / 2 - 2px));background:linear-gradient(90deg,#0000001a,#0000 14%),var(--page);color:var(--page-ink);display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:calc(6px * var(--bs));padding:calc(18px * var(--bs)) calc(16px * var(--bs)) calc(16px * var(--bs)) calc(20px * var(--bs));visibility:hidden;transition:visibility 0s .8s;color-scheme:light}.book-card.is-open .book-page{visibility:visible;transition:visibility 0s}.book-page:focus{outline:none}.page-kicker{margin:0;font-size:calc(10px * var(--bs));letter-spacing:.2em;text-transform:uppercase;color:var(--page-muted)}.page-title{margin:0;padding-right:28px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:calc(17px * var(--bs));font-weight:700;line-height:1.15}.page-byline{margin:0;font-size:calc(12px * var(--bs));color:var(--page-muted)}.book-page .tags{margin:2px 0 0;gap:calc(6px * var(--bs))}.book-page .tag{background:#f1ebdf;color:#4a3f33;border-color:#e2d9c6;font-size:calc(11px * var(--bs));padding:calc(3px * var(--bs)) calc(8px * var(--bs))}.page-summary{margin:4px 0 0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:calc(13.5px * var(--bs));line-height:1.5;display:-webkit-box;-webkit-line-clamp:var(--page-lines, 6);line-clamp:var(--page-lines, 6);-webkit-box-orient:vertical;overflow:hidden}.page-actions{display:flex;flex-wrap:wrap;gap:calc(8px * var(--bs));margin-top:auto;padding-top:8px;--ghost: #1a56a8;--ghost-hover-bg: #1a56a8;--ghost-hover-fg: #ffffff}.page-actions .btn.small{padding:calc(8px * var(--bs)) calc(12px * var(--bs));font-size:calc(13px * var(--bs))}.page-close{position:absolute;top:10px;right:10px;width:calc(30px * var(--bs));height:calc(30px * var(--bs));display:grid;place-items:center;border:1px solid var(--page-edge);border-radius:999px;background:var(--page);color:var(--page-ink);cursor:pointer}.page-close svg{width:calc(16px * var(--bs));height:calc(16px * var(--bs))}.page-close:hover{background:#f1ebdf}.page-close:focus-visible{outline:3px solid #1a56a8;outline-offset:2px}.book-back{transform:rotateY(180deg) translateZ(calc(var(--t) / 2));border-radius:var(--r) 3px 3px var(--r);background:radial-gradient(70% 50% at 50% 0%,rgba(255,255,255,.07),transparent 70%),#16192b;color:#e9edf6;text-decoration:none;display:block;box-shadow:inset -4px 0 10px #00000059;container-type:inline-size}.book-back:hover{color:#fff}.book-back:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--focus),inset -4px 0 10px #00000059}.book-back{overflow:hidden}.book-back.designed{background:var(--back-bg);color:var(--back-ink)}.book-back.designed:hover{color:var(--back-ink)}.book-back.designed .back-byline,.book-back.designed .back-summary{color:color-mix(in srgb,var(--back-ink) 84%,transparent)}.book-back.designed .back-meta{color:var(--back-ink)}.book-back.designed .back-barcode{background:repeating-linear-gradient(90deg,var(--back-ink) 0 2px,transparent 2px 4px,var(--back-ink) 4px 5px,transparent 5px 8px)}.back-picture{position:absolute;inset:0;border-radius:inherit;background-size:cover;background-repeat:no-repeat}.back-scrim{position:absolute;inset:0;border-radius:inherit;background:var(--back-bg, #16192b)}.back-inner{position:relative;display:flex;flex-direction:column;gap:calc(3cqw * var(--bs));padding:calc(7cqw * var(--bs)) calc(6cqw * var(--bs)) calc(6cqw * var(--bs)) calc(8cqw * var(--bs));height:100%;min-height:0;box-sizing:border-box}.back-title{display:block;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:calc(clamp(12px,9.5cqw,18px) * var(--bs));font-weight:700;line-height:1.2;flex:none}.back-byline{display:block;font-size:calc(clamp(9px,6cqw,12px) * var(--bs));color:#a9b1c3;flex:none}.back-summary{display:block;margin-top:calc(1cqw * var(--bs));font-size:calc(clamp(10px,7cqw,13.5px) * var(--bs));line-height:1.5;color:#cfd5e3;flex:1 1 auto;min-height:0;overflow:hidden;mask-image:linear-gradient(#000 calc(100% - 1.6em),transparent);-webkit-mask-image:linear-gradient(#000 calc(100% - 1.6em),transparent)}.back-meta{display:block;font-size:calc(clamp(9px,6cqw,12px) * var(--bs));color:#8bd3ff;font-weight:600;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-barcode{position:absolute;right:6cqw;bottom:5cqw;width:calc(54px * var(--bs));height:calc(26px * var(--bs));background:repeating-linear-gradient(90deg,#e9edf6 0 2px,transparent 2px 4px,#e9edf6 4px 5px,transparent 5px 8px);opacity:.55;border-radius:2px}@container (max-width: 230px){.back-barcode{display:none}}@container (min-width: 230.1px){.back-meta{padding-right:calc(62px * var(--bs))}}.book-side{position:absolute;backface-visibility:visible;pointer-events:none}.book-spine,.book-pages{top:1px;bottom:1px;width:var(--t)}.book-spine{left:calc(var(--t) / -2);transform:rotateY(-90deg);background:linear-gradient(180deg,#ffffff1a,#fff0 30%,#00000040),linear-gradient(90deg,#00000059,#0000 50%,#00000059),var(--spine, #1b2238);border-radius:3px;display:grid;place-items:center;overflow:hidden}.spine-title{writing-mode:vertical-rl;transform:rotate(180deg);font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--spine-ink, rgba(255, 255, 255, .78));max-height:86%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-pages{right:calc(var(--t) / -2);transform:rotateY(90deg);background:repeating-linear-gradient(180deg,#f1f3f8 0 2px,#d9dee9 2px 3px);border-radius:2px;box-shadow:inset 0 0 6px #00000026}.book-top,.book-bottom{left:2px;right:2px;height:var(--t);background:repeating-linear-gradient(90deg,#f1f3f8 0 2px,#d9dee9 2px 3px);border-radius:2px}.book-top{top:calc(var(--t) / -2);transform:rotateX(90deg)}.book-bottom{bottom:calc(var(--t) / -2);transform:rotateX(-90deg)}.book-shadow{position:absolute;left:10%;right:10%;bottom:36px;height:26px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,#00000073,#0000 72%);filter:blur(2px);transform:translate(calc(var(--tilt-x) * -8px)) translateY(10px);transition:transform .25s ease-out;pointer-events:none}.book-card.is-open .book-shadow{left:-40%;transform:translate(var(--open-shift)) translateY(10px);opacity:.7}.book-tools{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px}.tool{width:36px;height:36px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .08s}.tool:hover,.surface-light .tool:hover{background:var(--ghost-hover-bg);color:var(--ghost-hover-fg);border-color:var(--ghost-hover-bg)}.tool:active{transform:translateY(1px)}.tool-read{position:relative;text-decoration:none}.tool-read:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tool-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#d9262e;box-shadow:0 0 0 2px var(--panel)}.surface-light .tool-dot{box-shadow:0 0 0 2px var(--field-bg)}.tool-read:hover .tool-dot{box-shadow:0 0 0 2px var(--ghost-hover-bg)}.surface-light .tool{background:var(--field-bg);box-shadow:0 2px 8px #00000014}.tool[aria-pressed=true],.tool[aria-expanded=true],.surface-light .tool[aria-pressed=true],.surface-light .tool[aria-expanded=true]{background:var(--ghost);color:var(--ghost-hover-fg);border-color:var(--ghost)}@media(max-width:720px){.book-card.is-open .book-cover-wrap{transform:translateZ(calc(var(--t) / 2)) rotateY(-180deg) scaleX(.001);visibility:hidden;transition:transform .6s ease,visibility 0s .6s}.book-card.is-open .book-shadow{left:10%;transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){.book,.book-cover-wrap,.book-shadow,.tool{transition:none}.book{transform:translate(var(--gx)) scale(var(--grow)) rotateY(var(--turn))}.book-card.is-open .book-page{transition:none}}.book-page{--curl: 0}.page-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-top:8px;padding-right:calc(var(--fold, 24px) + 4px);font-size:calc(12px * var(--bs))}.page-contents{color:var(--page-muted)}.page-curl-label{color:var(--page-ink);font-weight:600;opacity:calc(.45 + var(--curl) * .55);transition:opacity .2s;white-space:nowrap}.page-curl{--fold: calc((24px + var(--curl) * 48px) * var(--bs));position:absolute;right:0;bottom:0;width:var(--fold);height:var(--fold);border:0;padding:0;background:none;cursor:pointer;transition:width .22s ease-out,height .22s ease-out;border-radius:0 0 var(--r) 0;overflow:visible}.page-curl:hover,.page-curl:focus-visible{--curl: 1}.page-curl:focus-visible{outline:2px solid #1a56a8;outline-offset:2px}.page-curl-under{position:absolute;inset:0;background:linear-gradient(to top left,#c9bfab 0 50%,transparent 50%)}.page-curl-flap{position:absolute;inset:0;background:linear-gradient(to bottom right,#fffdf8 0%,#f4efe4 46%,#d6cdb9 50%,transparent 50%);filter:drop-shadow(-2px 2px 3px rgba(0,0,0,.3))}@media(hover:none){.book-page{--curl: .55}}.launch{position:fixed;inset:0;z-index:1000;pointer-events:none}.launch-veil{position:absolute;inset:0;background:#fbf8f1;opacity:0;transition:opacity .4s ease .7s}.launch.go .launch-veil{opacity:1}.launch-book{position:absolute;perspective:1800px;transform-style:preserve-3d;transform:translate(0) scale(1);transition:transform 1.05s cubic-bezier(.22,.8,.2,1)}.launch.go .launch-book{transform:translate(var(--fly-x),var(--fly-y)) scale(var(--fly-s))}.launch-next,.launch-leaf{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:6px;padding:12px;text-align:center;color:#1f1b16;background:linear-gradient(90deg,#00000014,#0000 12%),#fbf8f1;border-radius:3px 10px 10px 3px;box-shadow:0 18px 40px #00000040;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif}.launch-leaf{transform-origin:left center;transform:rotateY(0);transition:transform .85s cubic-bezier(.45,0,.2,1) .08s}.launch.go .launch-leaf{transform:rotateY(-180deg)}.launch-kicker{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#6b6257}.launch-title{font-size:15px;font-weight:700;line-height:1.15;text-wrap:balance}.launch-rule{width:28px;height:1px;background:#6b6257;margin-top:4px}@media(prefers-reduced-motion:reduce){.launch-book,.launch-leaf,.launch-veil,.page-curl{transition:none}}.book-details-dialog{width:min(560px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto auto max(12px,env(safe-area-inset-bottom));padding:0;border:1px solid #e8e2d4;border-radius:18px;background:#fbf8f1;color:#1f1b16;box-shadow:0 20px 70px #0006;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.book-details-dialog::backdrop{background:#060a16a6}.book-details-sheet{position:relative;padding:26px 22px 22px;overflow-wrap:anywhere}.book-details-sheet .page-kicker{padding-right:44px;font-size:11px}.book-details-sheet h2{margin:12px 0;padding-right:24px;font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:26px;line-height:1.2}.book-details-byline{margin:0 0 14px;color:#6b6257;font-size:14px}.book-details-summary{margin:20px 0;white-space:pre-line;font:17px/1.6 Iowan Old Style,Palatino,Georgia,serif}.book-details-actions{display:flex;flex-wrap:wrap;gap:10px}.book-details-actions .btn{min-height:44px;white-space:normal;text-align:center}.book-details-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:1px solid #e8e2d4;border-radius:50%;background:#fbf8f1;color:#1f1b16;font-size:28px;line-height:1;cursor:pointer}.book-details-close:focus-visible{outline:3px solid #1a56a8;outline-offset:2px}.book-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:start}@media(max-width:1100px){.book-layout{grid-template-columns:260px minmax(0,1fr)}}.book-aside{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:16px;align-self:start;max-height:calc(100vh - var(--header-h) - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 8px 8px;margin:-2px -8px 0}.cover-credit{margin:-6px 0 0;font-size:12px;line-height:1.4;text-align:center}.book-cover{width:clamp(170px,40vw,250px);margin:0 auto 8px;border-radius:3px 10px 10px 3px;box-shadow:var(--shadow),-6px 0 0 -2px #1b2238,-10px 0 0 -4px #0d1120}.meta{display:grid;gap:6px}.book-title{margin:0;font-size:28px}.book-byline{margin:0;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none}.tag{font-size:12px;padding:4px 9px;border-radius:999px;background:#eef3ff;color:#163b67;border:1px solid #d9e7ff}.book-actions{display:flex;gap:10px;flex-wrap:wrap}.book-main{min-width:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 6px 20px #0000000a;overflow-wrap:anywhere}.panel+.panel{margin-top:16px}.panel-title{margin:0 0 10px;font-size:20px}.panel-title .count{color:var(--muted);font-weight:500}.chapters{margin:0;padding:0;list-style:none}.chapter-item{padding:12px 0;border-top:1px solid var(--border)}.chapter-item:first-child{border-top:none;padding-top:4px}.chapter-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-height:32px}.chapter-link:hover .chapter-text{text-decoration:underline}.chapter-badge{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#0b1020;font-weight:700;font-size:14px}.chapter-text{font-weight:600}.chapter-meta{margin-left:42px;margin-top:2px;color:var(--muted);font-size:13px}@media(max-width:900px){.book-layout{grid-template-columns:1fr}.book-aside{position:static;max-height:none;overflow:visible;padding:0;margin:0}}:root{--reader-bg: #ffffff;--reader-ink: #111827;--reader-muted: #5a6170;--reader-rule: #e7e9ef;--reader-font: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--reader-size: 19px;--reader-width: 760px}html[data-reader-theme=sepia]{--reader-bg: #f6efe1;--reader-ink: #3b2f1e;--reader-muted: #7a6a52;--reader-rule: #e4d9c3}html[data-reader-theme=dark]{--reader-bg: #141827;--reader-ink: #d9deea;--reader-muted: #9aa3b8;--reader-rule: #262c40}html[data-reader-font=sans]{--reader-font: system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif}html[data-reader-size=s]{--reader-size: 17px}html[data-reader-size=l]{--reader-size: 21px}html[data-reader-size=xl]{--reader-size: 24px}html[data-reader-width=wide]{--reader-width: 960px}html[data-reader-theme=sepia] .reader-section{--text: var(--reader-ink);--muted: var(--reader-muted);--border: var(--reader-rule);--panel: #fbf6ea;--link: #8a4b1f;--ghost: #8a4b1f;--ghost-hover-bg: #8a4b1f;--ghost-hover-fg: #fff8ec;--focus: #8a4b1f;--field-bg: #fbf6ea;--field-border: #d9cba9;--toolbar-bg: rgba(251, 246, 234, .94);--tool-ink: var(--reader-ink);--tool-hover-bg: #f1e6cf;--danger: #a12f2f;background:var(--reader-bg);color:var(--reader-ink)}html[data-reader-theme=dark] .reader-section{--text: var(--reader-ink);--muted: var(--reader-muted);--border: var(--reader-rule);--panel: #1a2033;--link: #8bd3ff;--ghost: #8bd3ff;--ghost-hover-bg: #8bd3ff;--ghost-hover-fg: #0b1020;--focus: #8bd3ff;--field-bg: #1a2033;--field-border: #343c58;--toolbar-bg: rgba(26, 32, 51, .94);--tool-ink: var(--reader-ink);--tool-hover-bg: #262d45;--danger: #ff9b9b;background:var(--reader-bg);color:var(--reader-ink);color-scheme:dark}html[data-reader-theme=dark] .reader-section .tool{box-shadow:none}.reader-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:var(--reader-width);margin:0 auto 10px}.reader-topbar .breadcrumb{margin:0}.reader-chrome{position:sticky;top:var(--header-h);z-index:40;margin:0 0 18px;padding:10px 0 0;background:var(--reader-bg, var(--panel));transition:top .28s ease}.reader-chrome.is-hidden{top:-240px}.reader-chrome.is-hidden:focus-within{top:var(--header-h)}.reader-chrome .reader-topbar{margin-bottom:8px}.reader-chrome .reader-progress{margin-bottom:0}@media(prefers-reduced-motion:reduce){.reader-chrome{transition:none}}.reader-progress{max-width:var(--reader-width);margin:0 auto 22px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.reader-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .4s ease}.reader{max-width:var(--reader-width);margin:0 auto}.reader+.reader{margin-top:48px;padding-top:40px;border-top:1px dashed var(--border)}.reader-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px 24px;margin-bottom:20px}.reader-kicker{margin:0 0 4px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.reader-title{margin:0;font-size:clamp(24px,3.4vw,32px);font-family:var(--reader-font)}.reader-nav{display:flex;gap:8px;flex-wrap:wrap}.reader-body{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(18px,4vw,36px);box-shadow:0 6px 20px #0000000a;font-family:var(--reader-font);font-size:var(--reader-size);line-height:1.8;color:var(--text)}.reader-body p{margin:0 0 1.2em;white-space:pre-line;overflow-wrap:anywhere}.reader-body p:last-child{margin-bottom:0}.reader-body p.is-centered,.rich-text p.is-centered{text-align:center;text-indent:0}.reader-body p.is-indented,.rich-text p.is-indented{text-indent:1.5em}.reader-body p.is-indented:first-child:not(.pdrawer p):first-letter,.reader-body p.is-centered:first-child:not(.pdrawer p):first-letter{float:none;font-size:inherit;line-height:inherit;padding:0;font-weight:inherit}.scene-break{border:0;height:auto;margin:1.6em 0;text-align:center;color:var(--muted)}.scene-break:before{content:"⁂";font-size:1.1em;letter-spacing:.4em}.chapter-figure{margin:1.4em 0;text-align:center}.chapter-figure img{max-width:100%;height:auto;margin:0 auto;border-radius:8px;box-shadow:0 10px 28px #0000002e}.chapter-figure figcaption{margin-top:8px;font-size:.8em;color:var(--muted);font-style:italic}.rs-switch{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.rs-switch input{accent-color:var(--ghost)}.rs-focus{justify-content:center;width:100%}.reader-body p:first-child:not(.pdrawer p):first-letter{font-size:2.6em;line-height:.9;float:left;padding:.08em .12em 0 0;font-weight:700}.reader-foot{margin-top:24px;display:grid;gap:16px;justify-items:center}.reader-next{margin:0;width:100%;display:grid;gap:4px;justify-items:center;text-align:center;padding:18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel)}.reader-next-kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.reader-next-link{font-family:var(--reader-font);font-size:20px;font-weight:700;color:var(--text);text-decoration:none}a.reader-next-link:hover{text-decoration:underline}.reader-sentinel{max-width:var(--reader-width);margin:28px auto 0;min-height:24px;text-align:center;color:var(--muted);font-size:14px}.reader-settings{position:relative}.reader-settings-toggle{width:auto;padding:0 12px;font-weight:700;font-family:Georgia,serif;letter-spacing:.02em}.reader-settings-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:260px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);display:none;gap:10px}.reader-settings-panel.open{display:grid}.rs-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rs-row .chip{padding:6px 11px;font-size:13px;background:transparent;cursor:pointer;font-family:inherit}.rs-row .chip:disabled{opacity:.4;cursor:default}.rs-value{min-width:28px;text-align:center;font-weight:700;font-size:13px}.rs-note{margin:0;font-size:12px}.reader-body .text-heading{margin:1.6em 0 .6em;font-family:var(--reader-font);line-height:1.25;color:var(--text)}.reader-body h2.text-heading{font-size:1.45em}.reader-body h3.text-heading{font-size:1.2em}.reader-body h4.text-heading{font-size:1em;letter-spacing:.08em;text-transform:uppercase}.reader-body .text-quote{margin:1.2em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--border);color:var(--muted);font-style:italic;white-space:pre-line}.reader-body .text-list{margin:0 0 1.2em;padding-left:1.6em}.reader-body .text-list li{margin:.2em 0}.reader-body a{color:inherit;text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:.15em}.reader-body s{opacity:.75}.preview-banner{margin:0 0 12px;padding:10px 14px;border-radius:8px;background:#fff3d6;color:#5a3a00;font-size:14px;line-height:1.5}.passage-note{margin:0 0 12px;padding:10px 14px;border-radius:8px;background:#eef3ff;color:#243a7a;font-size:14px;line-height:1.5}.reader-share{font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer}.reader-share:hover{background:#f3f6ff}.reader-body.is-protected>:not(.pdrawer){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.reader-body.is-protected img{-webkit-user-drag:none}.reader-body.has-watermark{position:relative;isolation:isolate}.reader-body.has-watermark:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:currentColor;opacity:.07;-webkit-mask-image:var(--reader-watermark);mask-image:var(--reader-watermark);-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:360px 220px;mask-size:360px 220px}.protect-note{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:46;max-width:min(440px,calc(100vw - 92px));margin:0;padding:10px 14px;border-radius:10px;background:#eef3ff;color:#243a7a;box-shadow:0 10px 28px #0000002e;font-size:14px;line-height:1.5}.reader-print-note{display:none}@media print{.reader-body.is-protected,.protect-note{display:none!important}.reader-print-note{display:block;margin:1em 0;font-style:italic}}.reader-body .term,.returning .term{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-decoration:underline dotted var(--reader-muted, var(--muted));text-decoration-thickness:1px;text-underline-offset:.2em;border-radius:2px}.reader-body .term:hover,.returning .term:hover{text-decoration-style:solid;text-decoration-color:var(--link)}.reader-body .term:focus-visible,.returning .term:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.returning{margin:10px 0 0;font-size:14px;line-height:1.6;color:var(--text)}.returning-kicker{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);vertical-align:1px}.returning-item{margin-right:6px}.returning .term{font-weight:600}.term-popover{position:fixed;z-index:60;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:0 18px 44px #00000038;font-size:14px;line-height:1.5;outline:none}.term-kind{margin:0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.term-title{margin:2px 0 0;font-size:18px;font-weight:700;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif}.term-aliases{margin:0;font-size:12px}.term-excerpt{margin:8px 0 0}.term-facts{margin:8px 0 0;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:13px}.term-facts dt{color:var(--muted)}.term-facts dd{margin:0}.term-trail{margin:10px 0 0;font-size:12px}.term-links{margin:6px 0 0;font-size:13px}.reader-body p,.reader-body .text-heading,.reader-body .text-quote,.reader-body .text-list,.reader-body .chapter-figure{position:relative}.pgutter{position:absolute;top:.1em;right:calc(-1*clamp(18px,4vw,36px) - 36px);display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .15s;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:11px;line-height:1;white-space:normal}.reader-body li .pgutter{right:calc(-1*clamp(18px,4vw,36px) - 36px - 1.6em)}.reader-body p:hover>.pgutter,.reader-body .text-heading:hover>.pgutter,.reader-body .text-quote:hover>.pgutter,.reader-body .text-list:hover .pgutter,.reader-body .chapter-figure:hover>.pgutter,.pgutter:focus-within,.pgutter.has{opacity:1}.ptool{position:relative;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;padding:0}.ptool:hover,.ptool.active{color:var(--ghost-hover-fg);background:var(--ghost);border-color:var(--ghost)}.ptool:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ptool-count{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ghost);color:var(--ghost-hover-fg);font-size:10px;font-weight:700;display:grid;place-items:center}.ptool.active .ptool-count{background:var(--ghost-hover-fg);color:var(--ghost)}.ptool-mark.active{color:#b8860b;background:#fff6dc;border-color:#e9d9a8}@media(max-width:860px){.pgutter{position:static;float:right;flex-direction:row;margin:0 0 4px 10px;opacity:.55}.reader-body li .pgutter{float:right;margin:0 0 4px 10px}}.reader-body .is-target{animation:target-glow 2.6s ease-out}@keyframes target-glow{0%{background:#8bd3ff73;box-shadow:0 0 0 8px #8bd3ff73}to{background:transparent;box-shadow:0 0 0 8px transparent}}.pdrawer{margin:0 0 1.4em;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--panel);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;color:var(--text);white-space:normal}.pdrawer-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.pdrawer-kicker{flex:none;font-size:12px;font-weight:700;color:var(--ghost)}.pdrawer-quote{flex:1 1 auto;font-size:13px;color:var(--muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdrawer-close{flex:none;width:28px;height:28px;align-self:center;font-size:16px}.pdrawer .comments.compact{margin:0;padding:0;border:0;background:none}.pdrawer .comments.compact .comment-list{margin-top:0}.pdrawer-threads{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.pdrawer-thread-btn{font-size:13px}.pdrawer-note{margin:0;font-size:14px}.bookmark-form{display:grid;gap:10px}.bookmark-quote{margin:0;font-style:italic;color:var(--muted);font-size:14px}.tag-input{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--panel);cursor:text}.tag-input input{flex:1 1 120px;min-width:80px;border:0;outline:none;background:transparent;font:inherit;color:var(--text);padding:4px 2px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#eef3ff;color:#163b67;border:1px solid #d9e7ff;font-size:13px}.tag-chip button{border:0;background:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.tag-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tag-suggestions .chip{font-size:12px;padding:3px 9px}.composer-bar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-bottom:6px}.composer-btn{min-width:30px;height:28px;padding:0 8px;border-radius:6px;border:1px solid transparent;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.composer-btn:hover,.composer-btn.active{background:var(--panel);border-color:var(--border);color:var(--text)}.composer-spacer{flex:1 1 auto}.composer-chars{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.composer-char{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--panel);font-size:16px;cursor:pointer}.composer-preview{min-height:60px;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:var(--panel)}.composer-hint{font-size:12px}.comment-anchor{margin-left:auto;padding:1px 8px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--ghost);font-size:11px;font-weight:700;cursor:pointer}.comment-anchor:hover{background:var(--ghost);color:var(--ghost-hover-fg);border-color:var(--ghost)}.rs-fold{border-top:1px solid var(--border);padding-top:6px}.rs-fold>summary{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;cursor:pointer;list-style:none;font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.rs-fold>summary::-webkit-details-marker{display:none}.rs-fold>summary:after{content:"+";margin-left:auto;font-weight:400;color:var(--muted)}.rs-fold[open]>summary:after{content:"−"}.rs-fold-now{font-weight:400;font-size:12px;text-transform:none;letter-spacing:0}.comment-anchor.changed{cursor:default;opacity:.8;font-style:italic}.bookmarks-card{display:grid;gap:8px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel)}.bookmarks-card .page-kicker{margin:0}.mark-row{display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:stretch;text-decoration:none;color:var(--text);padding:6px 0}.mark-row:hover .mark-where{text-decoration:underline}.mark-ribbon{display:block;width:14px;min-height:34px;border-radius:2px 2px 0 0;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}.mark-ribbon.latest{background:linear-gradient(180deg,#d9262e,#a3161d)}.mark-ribbon.furthest{background:linear-gradient(180deg,#c99a5a,#8a6430)}.mark-label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.mark-where{display:block;font-weight:600;line-height:1.3}.mark-when{display:block;font-size:12px}.mark-more{font-size:13px}.chapter-item.read .chapter-badge{background:#e6efe9;color:#2f6f4f}.chapter-mark{margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chapter-mark.latest{background:#ffe3e3;color:#a3161d}.chapter-mark.furthest{background:#fff1d6;color:#8a6430}.marks-fab-wrap{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px;transition:bottom .2s ease}.marks-fab{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:0 10px 28px #0000002e;cursor:pointer}.marks-fab:hover,.marks-fab.active{background:var(--ghost-hover-bg);color:var(--ghost-hover-fg);border-color:var(--ghost)}.marks-fab.is-behind:after{content:"";position:absolute;top:5px;right:5px;width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#c99a5a,#8a6430);box-shadow:0 0 0 2px var(--panel)}.marks-count{position:absolute;right:-4px;bottom:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--text);color:var(--panel);font:700 11px/18px system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-align:center}.marks-pop{width:min(360px,calc(100vw - 32px));max-height:min(60vh,520px);overflow-y:auto;overscroll-behavior:contain;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:0 18px 44px #00000038;font-size:14px}.marks-pop .page-kicker{margin:4px 0 6px}.marks-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:2px}.marks-row{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;align-items:start;width:100%;padding:8px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.marks-row:hover,.marks-row:focus-visible{background:color-mix(in srgb,var(--text) 8%,transparent);outline:none}.marks-row .mark-where{display:block;font-weight:600}.marks-row .mark-ribbon{min-height:28px}.marks-glyph{margin-top:3px;color:var(--muted)}.marks-note,.marks-quote{display:block;margin-top:2px;font-size:13px;color:var(--muted)}.marks-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.marks-tags .tag{font-size:11px}.marks-list li.is-ahead .marks-row{background:#c99a5a1f;box-shadow:inset 0 0 0 1px #c99a5a80}.marks-reset{display:block;margin:2px 0 6px 32px;font-size:12px}.marks-empty{margin:0 0 10px;font-size:13px}.marks-foot{margin:0;font-size:13px}.page-ribbons{position:absolute;top:-.2em;left:calc(-1*clamp(18px,4vw,36px));display:flex;gap:3px;pointer-events:none}.reader-body li .page-ribbons{left:calc(-1*clamp(18px,4vw,36px) - 1.6em)}.page-ribbon{display:block;width:12px;height:34px;border-radius:2px 2px 0 0;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);box-shadow:0 1px 2px #00000040;pointer-events:auto}.page-ribbon.latest{background:linear-gradient(180deg,#d9262e,#a3161d)}.page-ribbon.furthest{background:linear-gradient(180deg,#c99a5a,#8a6430)}@media(max-width:720px){.page-ribbons{left:-16px}.page-ribbon{width:10px;height:28px}}.bookmark-filters{display:grid;gap:8px;margin-bottom:12px}.bookmark-filters input[type=search]{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--panel);color:var(--text)}.bookmark-tags{display:flex;flex-wrap:wrap;gap:6px}.bookmark-tags .chip{font-size:12px;padding:3px 9px}.bookmark-group+.bookmark-group{margin-top:18px}.bookmark-book{margin:0 0 6px;font-size:17px}.bookmark-book a{color:inherit;text-decoration:none}.bookmark-book a:hover{text-decoration:underline}.bookmark-items{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bookmark{display:grid;grid-template-columns:1fr;padding:12px 14px 12px 18px;border-radius:12px;border:1px solid var(--border);background:var(--panel);position:relative}.bookmark:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:12px 0 0 12px;background:linear-gradient(180deg,#c99a5a,#8a6430)}.bookmark-where{font-weight:600;text-decoration:none;color:var(--text)}.bookmark-where:hover{text-decoration:underline}.bookmark .bookmark-quote{margin:4px 0 0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-style:italic;color:var(--muted)}.bookmark-note{margin:6px 0 0;white-space:pre-line}.bookmark-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px;font-size:12px}.bookmark-foot .chip{font-size:12px;padding:2px 8px}.bookmark-actions{margin-left:auto;display:flex;gap:10px}.bookmark .bookmark-form{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.bookmarks-page .section-title{margin-bottom:6px}.bookmarks-lead{margin:0 0 18px}.stats-lead{margin:0 0 18px;max-width:720px}.stat-cards{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat-cards li{display:grid;gap:2px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel)}.stat-cards strong{font-size:24px;line-height:1.1;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif}.stat-cards span{font-size:13px;color:var(--muted)}.stat-cards em{font-style:normal;font-size:12px}.heatmap{width:100%;height:auto;display:block}.heatmap-month,.heatmap-day,.bar-label{font-size:9px;fill:var(--muted);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.heat-0{fill:#eef1f6}.heat-1{fill:#cfe4f7}.heat-2{fill:#8bc4ea}.heat-3{fill:#3f8fcf}.heat-4{fill:#1a56a8}.heat-legend{display:flex;align-items:center;gap:4px;margin:8px 0 0;font-size:12px;justify-content:flex-end}.heat-legend span{display:inline-block;width:11px;height:11px;border-radius:2px}.heat-legend .heat-0{background:#eef1f6}.heat-legend .heat-1{background:#cfe4f7}.heat-legend .heat-2{background:#8bc4ea}.heat-legend .heat-3{background:#3f8fcf}.heat-legend .heat-4{background:#1a56a8}.bars{width:100%;max-width:640px;height:auto;display:block}.bar{fill:#1a56a8}.bar.empty{fill:#eef1f6}.stat-books{list-style:none;margin:0;padding:0;display:grid;gap:12px}.stat-book{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.stat-book:first-child{border-top:0;padding-top:0}.stat-book-cover{display:block;width:56px;border-radius:2px 5px 5px 2px;overflow:hidden}.stat-book-title{font-weight:700;color:var(--text);text-decoration:none}.stat-book-title:hover{text-decoration:underline}.stat-book-meta{margin:2px 0 0;font-size:13px}.stat-book-numbers{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}.stat-genres{list-style:none;margin:0;padding:0;display:grid;gap:8px}.stat-genres li{display:grid;grid-template-columns:160px 1fr auto;gap:12px;align-items:center;font-size:14px}.stat-genre-bar{display:block;height:10px;border-radius:999px;background:#eef1f6;overflow:hidden}.stat-genre-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8bd3ff,#1a56a8)}@media(max-width:600px){.stat-book{grid-template-columns:48px 1fr}.stat-book .btn{grid-column:2;justify-self:start}.stat-genres li{grid-template-columns:1fr;gap:4px}}.mobile-menu{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:linear-gradient(180deg,#0c1224 0%,var(--bg-2) 100%);color:var(--text);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:1500;overflow-y:auto;overscroll-behavior:contain}.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-menu-inner{padding:16px 24px 24px;display:grid;gap:14px}.mobile-nav{display:grid}.mobile-nav a{color:var(--text);text-decoration:none;font-size:17px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a[aria-current=page]{color:var(--brand-2)}.mobile-search{display:grid;grid-template-columns:1fr auto;gap:8px}.mobile-search input{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);font:inherit}.mobile-search button{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:12px 14px;font:inherit;font-weight:600;cursor:pointer}@media(prefers-reduced-motion:reduce){.mobile-menu{transition:none}}.phone-tilt-control{margin-block:14px}.phone-tilt-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.phone-tilt-actions .btn{min-height:44px}.phone-tilt-control p{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.mobile-menu .phone-tilt-actions{justify-content:flex-start}@keyframes route-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.route-fade{animation:route-fade-in .42s ease backwards}@media(prefers-reduced-motion:reduce){.route-fade{animation:none}}.page-kicker{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.page-kicker.center{text-align:center;margin-bottom:6px}.hero-kicker{margin:0 0 10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-2);opacity:.9}.hero{position:relative;overflow:hidden}.hero-waves{position:absolute;left:0;right:0;bottom:-2px;height:46px;background:radial-gradient(60px 30px at 30px 46px,#ffffff 98%,transparent 100%) 0 0 / 120px 46px repeat-x,radial-gradient(60px 30px at 90px 46px,rgba(255,255,255,.55) 98%,transparent 100%) 0 0 / 120px 46px repeat-x;pointer-events:none;opacity:.95}.form{display:grid;gap:14px}.field{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}.field>span,.field>legend{font-size:13px;font-weight:600;color:var(--muted);padding:0}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=search],.field textarea,.field select{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;line-height:1.4}.surface-light .field input,.surface-light .field textarea,.surface-light .field select{background:var(--field-bg);border-color:var(--field-border)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}.field textarea{resize:vertical;min-height:90px}.field small{font-size:12px}.radio-row{display:flex;flex-wrap:wrap;gap:8px}.radio{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);font-size:14px;cursor:pointer;text-transform:capitalize}.radio:has(input:checked){border-color:var(--ghost);background:color-mix(in srgb,var(--ghost) 12%,transparent);color:var(--ghost);font-weight:600}.radio input{accent-color:var(--ghost)}.form-error{margin:0;padding:10px 12px;border-radius:10px;background:#fff1f0;color:#8a1c1c;border:1px solid #f3c6c2;font-size:14px}.form-ok{margin:0;padding:10px 12px;border-radius:10px;background:#eefaf2;color:#14532d;border:1px solid #bfe8cc;font-size:14px}.form .btn{justify-self:start}.boarding{display:grid;place-items:center}.boarding-card{width:min(460px,100%);padding:28px;border-radius:16px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 30px #0000000f;display:grid;gap:14px}.boarding-title{margin:0;font-size:30px}.boarding-lead{margin:0 0 6px}.boarding-switch{margin:4px 0 0;font-size:14px}.boarding-note{margin:0;font-size:13px}.boarding-divider{display:flex;align-items:center;gap:10px;margin:4px 0 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.boarding-divider:before,.boarding-divider:after{content:"";flex:1;height:1px;background:var(--border)}.provider-buttons{display:grid;gap:10px}.provider-btn{width:100%;gap:10px;box-shadow:none}.provider-btn:hover{transform:translateY(-1px)}.provider-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.provider-mark{flex:none}.provider-google{background:#fff;color:#1f1f1f;border-color:#747775}.provider-google:hover{background:#f2f5fa}.provider-facebook{background:#1877f2;color:#fff;border-color:#1877f2}.provider-facebook:hover{background:#0f64d2;border-color:#0f64d2}.provider-apple{background:#000;color:#fff;border-color:#000}.provider-apple:hover{background:#262626;border-color:#262626}.identity-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.identity{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.identity .provider-mark{width:22px;height:22px}.identity .provider-mark-facebook{color:#1877f2}.identity .provider-mark-apple{color:var(--text)}.identity-name{margin:0;font-weight:700}.identity-meta{margin:0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.btn.danger{background:#b42318;color:#fff;border-color:#b42318;box-shadow:none}.btn.danger:hover{background:#912018;border-color:#912018}.btn.danger-ghost{background:transparent;color:#b42318;border-color:#b42318;box-shadow:none}.btn.danger-ghost:hover{background:#b42318;color:#fff}.confirm-box{display:grid;gap:10px;padding:12px;border-radius:10px;background:#fff1f0;border:1px solid #f3c6c2}.confirm-text{margin:0;color:#8a1c1c;font-weight:600;font-size:14px}.confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.cabin-head{display:flex;align-items:center;gap:18px;margin-bottom:24px}.cabin-title{margin:2px 0 4px;font-size:28px}.cabin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.cabin-grid .panel+.panel{margin-top:0}.porthole{--sea: #1a56a8;display:inline-grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),transparent 45%),linear-gradient(145deg,#e8c77a,#9c7a2e 55%,#d9b45c);padding:3px;box-shadow:0 2px 6px #0000004d,inset 0 1px 1px #ffffff80;flex:none}.porthole-glass{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 40%),linear-gradient(180deg,color-mix(in srgb,var(--sea) 80%,#ffffff),var(--sea) 60%,color-mix(in srgb,var(--sea) 60%,#000000));color:#fff;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:inset 0 0 0 1px #00000059}.auth-links{display:flex;align-items:center;gap:8px}.user-menu{position:relative}.user-toggle{border:0;padding:2px;background:transparent;border-radius:50%;cursor:pointer;display:grid}.user-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.user-dropdown{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;padding:12px;border-radius:12px;background:#0f1430;border:1px solid var(--border);box-shadow:var(--shadow);display:none;z-index:1200}.user-dropdown.open{display:grid;gap:6px}.user-name{margin:0;font-weight:700}.user-email{margin:0 0 6px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.user-links{display:grid;border-top:1px solid var(--border);padding-top:6px}.user-links a{color:var(--text);text-decoration:none;padding:8px 6px;border-radius:8px}.user-links a:hover,.user-links a[aria-current=page]{background:#ffffff14;color:var(--brand-2)}.user-logout{margin-top:4px;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:8px;padding:8px 10px;font:inherit;cursor:pointer;text-align:left}.user-logout:hover{border-color:var(--brand-2);color:var(--brand-2)}@media(max-width:900px){.header-right .auth-links,.header-right .user-menu{display:none}}.catalog-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:24px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.sort-row{display:flex;gap:8px}.chip{display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;border:1px solid var(--border);color:var(--text);text-decoration:none;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.surface-light .chip{border-color:#d5d9e3}.chip:hover{border-color:var(--ghost);color:var(--ghost)}.chip.active{background:var(--ghost);border-color:var(--ghost);color:var(--ghost-hover-fg)}.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:0;padding:0;list-style:none}.genre-tile{display:grid;gap:6px;padding:18px;min-height:100%;border-radius:14px;background:var(--panel);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}.genre-tile:hover{transform:translateY(-2px);border-color:var(--brand-2);box-shadow:var(--shadow)}.genre-name{font-weight:700;font-size:17px}.genre-desc{font-size:13px;color:var(--muted)}.genre-count{font-size:12px;color:var(--link);font-weight:600}.logbook-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.logbook-link{display:grid;gap:2px;padding:14px 16px;border-radius:12px;background:var(--panel);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.logbook-link:hover{border-color:var(--ghost);transform:translateY(-1px)}.logbook-title{font-weight:700}.logbook-meta{font-size:13px;color:var(--muted)}.panel-foot.center{text-align:center;margin-top:16px}.related-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px 16px;padding-bottom:0}.related-grid>*{max-width:220px}.shelf-slot{display:grid;gap:6px;justify-items:center}.ai-made-mark{display:inline-block;padding:3px 7px;border:1.5px solid #c8102e;border-radius:3px;background:#fff;color:#c8102e;font:700 10px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;vertical-align:middle}.ai-made-mark.small{margin-left:10px;padding:2px 5px;font-size:9px}.ai-made-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 10px;color:#c8102e;font-size:14px}.ai-made-why{color:var(--muted)}.provenance{margin:10px 0 0;font-size:12.5px;line-height:1.45}.provenance .link-button{font-size:inherit;padding:0}.term-popover .provenance{margin-top:8px;font-size:12px}.suggest-target{margin:0 0 6px}.provenance-field{display:grid;gap:6px}.provenance-field select{max-width:100%}.provenance-source{display:grid;gap:6px}.ai-made-chip.active{background:#c8102e;border-color:#c8102e;color:#fff}.ai-made-field{border:1px solid #e3a4ad;border-radius:var(--radius);padding:10px 14px;background:#fff5f6}.book-front .ai-made-mark{position:absolute;top:8px;left:8px;z-index:2;box-shadow:0 1px 3px #0000004d;pointer-events:none}.book-back .ai-made-mark{align-self:flex-start;margin-bottom:6px}.book-page .ai-made-line{font-size:12px;margin:0 0 8px}.comments{max-width:var(--reader-width, 760px);margin:28px auto 0;padding:20px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel)}.comments-title{margin:0 0 12px;font-size:18px}.comments-title .count,.panel-title .count{color:var(--muted);font-weight:500}.comment-list,.comment-replies{list-style:none;margin:0;padding:0;display:grid;gap:14px}.comment-replies{margin:12px 0 0 36px;padding-left:14px;border-left:2px solid var(--border)}.comment-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.comment-author{font-weight:700}.comment-badge{font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--ghost) 14%,transparent);color:var(--ghost);font-weight:700}.comment-time{font-size:12px;color:var(--muted)}.comment-body,.post-body{margin:6px 0 0 36px;white-space:pre-line;overflow-wrap:anywhere;line-height:1.6}.post-body{margin-left:40px}.comment-actions{margin:4px 0 0 36px;display:flex;gap:12px}.link-button{border:0;background:transparent;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--link);cursor:pointer}.link-button:hover{text-decoration:underline}.link-button.danger{color:var(--danger)}.porthole-empty{width:28px;height:28px;border-radius:50%;background:var(--border);flex:none}.comment.deleted .comment-author{color:var(--muted);font-weight:500}.comment-form{margin-top:16px;display:grid;gap:8px}.comment-form textarea{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;line-height:1.5;resize:vertical}.surface-light .comment-form textarea{background:var(--field-bg);border-color:var(--field-border)}.comment-form textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}.comment-form-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.comment-form-row .form-error{padding:6px 10px}.comment-form-actions{display:flex;gap:8px;margin-left:auto}.comments-signin{margin:14px 0 0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.panel-lead{margin:4px 0 14px;font-size:14px}.panel-foot{margin:14px 0 0;font-size:14px}.thread-form{margin-bottom:18px}.thread-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.thread-item{display:grid;gap:2px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--panel)}.promenade-list .thread-item{background:#fff}.thread-link{font-weight:700;color:var(--text);text-decoration:none;font-size:16px}.thread-link:hover{text-decoration:underline}.thread-meta{font-size:13px;color:var(--muted)}.promenade .catalog-controls{margin-top:8px}.thread-page{max-width:820px}.thread-title{margin:4px 0 6px;font-size:clamp(24px,3vw,32px)}.post-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}.post{padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--panel)}.post.deleted{opacity:.7}.rich-text p{margin:0 0 .7em;white-space:pre-line;overflow-wrap:anywhere}.rich-text>:last-child{margin-bottom:0}.rich-text .text-quote{margin:.5em 0;padding:.1em 0 .1em .9em;border-left:3px solid var(--border);color:var(--muted);white-space:pre-line}.rich-text .text-list{margin:.3em 0 .7em;padding-left:1.4em}.rich-text .scene-break{border:0;height:auto;margin:.8em 0;text-align:center;color:var(--muted)}.rich-text .scene-break:before{content:"⁂";letter-spacing:.4em}.rich-text a{color:var(--link);text-decoration:underline;text-underline-offset:.15em}.thread-passage{margin:14px 0 0;padding:12px 16px;border-left:4px solid var(--ghost);border-radius:0 10px 10px 0;background:var(--panel)}.thread-passage-quote{margin:0 0 6px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-style:italic;font-size:17px}.thread-passage footer{font-size:13px}.thread-from{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--ghost);font-size:11px;font-weight:700;text-decoration:none}.thread-from:hover{background:var(--ghost);color:var(--ghost-hover-fg);border-color:var(--ghost)}.bridge-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 24px;flex-wrap:wrap;margin-bottom:20px}.bridge-title{margin:2px 0 6px;font-size:clamp(24px,3vw,32px)}.bridge-book-id{display:flex;gap:18px;align-items:center}.bridge-cover{width:84px;flex:none;border-radius:3px 8px 8px 3px;box-shadow:var(--shadow),-4px 0 0 -1px #1b2238}.bridge-new,.publishing-guide{margin-bottom:20px}.publishing-guide>summary{cursor:pointer;font-weight:700}.publishing-guide .tool-list{margin-top:14px;gap:10px}.bridge-stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;list-style:none}.bridge-stats li{padding:8px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--border);font-size:14px;color:var(--muted)}.bridge-stats strong{color:var(--text)}.bridge-books{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}.bridge-book{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;padding:16px 18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--border)}.bridge-book-main{display:grid;gap:4px}.bridge-book-title{font-weight:700;font-size:18px;color:var(--text);text-decoration:none}.bridge-book-title:hover{text-decoration:underline}.bridge-book-meta{margin:0;font-size:13px}.bridge-book-actions{display:flex;gap:8px;flex-wrap:wrap}.status-pill{display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:2px 8px;border-radius:999px;vertical-align:middle}.status-pill.draft{background:#fff3d6;color:#7a4b00}.status-pill.published{background:#e3f6ea;color:#136b3a}.bridge-empty{margin-bottom:20px}.tool-list{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--muted)}.tool-list strong{color:var(--text)}.bridge-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.bridge-grid .panel+.panel{margin-top:0}@media(max-width:900px){.bridge-grid{grid-template-columns:1fr}}.bridge-chapters{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bridge-chapter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;align-items:start;padding:12px 0;border-top:1px solid var(--border)}.bridge-chapter:first-child{border-top:0;padding-top:0}.bridge-chapter-main{display:grid;gap:2px}.bridge-chapter-title{font-weight:700;color:var(--text);text-decoration:none}.bridge-chapter-title:hover{text-decoration:underline}.bridge-chapter-meta{font-size:13px}.bridge-chapter-actions{grid-column:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bridge-chapter-actions .tool{width:30px;height:30px;font-size:14px}.bridge-address{margin:0;font-size:13px}.protect-field .radio{justify-self:start;text-transform:none}.protect-field .muted{margin:0 0 4px;font-size:13px;line-height:1.5}.bridge-notes{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #d5d9e3;background:#fffdf7;color:var(--text);font:inherit;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;line-height:1.6;resize:vertical}.bridge-danger{border-color:#f3c6c2}.danger-btn{background:#b42318;color:#fff}.editor-crumbs{margin-bottom:12px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}@media(max-width:960px){.editor-layout{grid-template-columns:1fr}}.editor-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.editor-bar-actions{display:flex;gap:8px;align-items:center}.editor-bar .chip{background:transparent;cursor:pointer;font-family:inherit}.save-state{font-size:13px;color:var(--muted)}.save-state.saved{color:#136b3a}.save-state.error{color:#a12f2f}.save-state.conflict{color:#8a5a00}.save-conflict{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 12px;padding:10px 14px;border:1px solid #e3c98a;border-radius:var(--radius);background:#fff8e6;color:#4a3a12;font-size:14px}.save-conflict p{flex:1 1 320px;margin:0}.save-conflict-actions{display:flex;gap:8px}.editor-title{width:100%;margin-bottom:12px;padding:10px 14px;border-radius:10px;border:1px solid #d5d9e3;background:#fff;font:inherit;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:26px;font-weight:700;color:var(--text)}.editor-text{width:100%;min-height:60vh;padding:clamp(16px,3vw,28px);border-radius:var(--radius);border:1px solid #d5d9e3;background:#fffdf7;color:#1f1b16;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:18px;line-height:1.8;resize:vertical}.editor-title:focus,.editor-text:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}.editor-preview{min-height:40vh}.editor-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.editor-side{display:grid;gap:12px;align-content:start;position:sticky;top:calc(var(--header-h) + 16px)}@media(min-width:961px){.editor-side{max-height:calc(100vh - var(--header-h) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:2px}}.editor-side .panel+.panel{margin-top:0}.stat-list{margin:0;display:grid;gap:6px}.stat-list div{display:flex;justify-content:space-between;gap:10px;font-size:14px}.stat-list dt{color:var(--muted)}.stat-list dd{margin:0;font-weight:700}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px;color:var(--muted)}.checklist li span{display:inline-block;width:18px;color:var(--muted)}.checklist li.done{color:var(--text)}.checklist li.done span{color:#136b3a;font-weight:700}.muted-panel{background:#f6f7fb}.narration-player{width:100%;margin:4px 0 8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.field-row{grid-template-columns:1fr}}.status-pill.pending{background:#fff3d6;color:#7a4b00;margin-left:6px}.panel-note{margin:8px 0 0;font-size:13px;line-height:1.5}.recover-banner{margin:0 0 12px;padding:12px 14px;border-radius:10px;border:1px solid #f0d58a;background:#fff8e6;color:#4a3a12;font-size:14px}.recover-banner p{margin:0 0 8px}:root:not([data-theme=light]) .recover-banner{background:#a0781e2e;border-color:#dcb45a66;color:#f7e7bd}.history-list,.trash-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:13px}.history-row,.trash-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px 10px;border-radius:8px;background:var(--field-bg)}.history-row.selected{outline:2px solid var(--focus)}.history-kind{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;background:var(--ghost);color:var(--ghost-hover-fg);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.history-meta,.trash-meta{color:var(--muted)}.history-actions,.trash-actions{display:flex;gap:8px;align-items:center}.history-preview{margin-top:10px;padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--panel);max-height:50vh;overflow:auto;font-size:14px}.history-preview h3{margin:0 0 8px;font-size:15px}.trash-fold{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.trash-fold>summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--muted)}.import-row{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:8px 0}.import-split{gap:4px;font-size:13px}.import-split select{font:inherit;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--field-bg);color:var(--text)}.import-summary{margin:10px 0 4px}.import-warnings{margin:6px 0;padding:8px 12px 8px 28px;border-radius:8px;background:#fff6e0;color:#7a4b00;font-size:13px}:root:not([data-theme=light]) .import-warnings{background:#a0781e2e;color:#f7e7bd}.import-list{margin:8px 0 12px;padding-left:1.4em;max-height:320px;overflow:auto;font-size:14px}.import-list li+li{margin-top:6px}.import-excerpt{margin:2px 0 0;font-size:13px;line-height:1.45}.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:8px 0 12px;font-size:14px}.export-grid legend{font-weight:600;margin-bottom:4px}.export-chapter-list{display:grid;gap:4px;max-height:220px;overflow:auto}.bridge-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.restore-backup{display:grid;gap:4px}.review-lead{max-width:70ch;margin:0 0 18px}.review-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;margin-bottom:16px}@media(max-width:860px){.review-grid{grid-template-columns:1fr}}.review-book-body{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:start}@media(max-width:520px){.review-book-body{grid-template-columns:1fr}}.review-cover img,.review-cover-blank{width:120px;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;box-shadow:0 4px 14px #00000026}.review-cover-blank{display:grid;place-items:center;background:#eef1f6;color:var(--muted);font-size:12px;text-align:center;padding:8px}.review-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0;font-size:14px}.review-facts dt{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.review-facts dd{margin:0}.review-notes{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}.review-blockers{border-left:4px solid #b4231f;margin-bottom:16px}.review-blockers .panel-title{color:#8f1a17}.review-chapters{list-style:none;margin:0;padding:0;display:grid;gap:8px}.review-chapter{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 14px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.review-chapter.is-ticked{border-color:#136b3a;background:#f3fbf6}.review-tick{display:flex;gap:10px;align-items:center;min-width:0;cursor:pointer}.review-chapter-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-chapter-meta{font-size:13px;white-space:nowrap}.review-chapter-actions{display:flex;gap:12px;font-size:13px;white-space:nowrap}.review-why{grid-column:1 / -1;font-size:13px}.phone-frame{grid-column:1 / -1;padding:10px 0 4px}.phone-frame iframe{display:block;max-width:100%;border:10px solid #1d1f24;border-radius:28px;background:#fff}@media(max-width:700px){.review-chapter{grid-template-columns:1fr}.review-chapter-meta,.review-chapter-actions{white-space:normal}}.status-pill.scheduled{background:#e8ecff;color:#2a3a8f}.status-pill.empty{background:#f1f1f1;color:#666}.status-pill.down{background:#fde3e2;color:#8f1a17}.review-go{margin-top:16px}.attest-line{display:flex;gap:10px;align-items:flex-start;margin:10px 0 14px;font-size:14px}.attest-line input{margin-top:4px}.review-result{border-left:4px solid #136b3a;margin-bottom:16px}.review-links{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.review-links li{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.review-private h3{margin:12px 0 6px;font-size:15px}.review-private ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}.review-next{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.chapter-filters{display:grid;gap:8px;margin:0 0 12px}.chapter-search{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--field-bg, #fff);color:var(--text);width:100%}.chapter-filters .chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.chapter-totals{margin:0;font-size:13px}.bulk-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;background:#f3f6ff;font-size:14px}.chapter-pick{width:16px;height:16px;margin-right:6px;flex:none}.bridge-chapter.is-selected{background:#f3fbf6}.find-form{display:grid;gap:8px}.find-options{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:14px}.find-results,.find-preview,.find-done{margin-top:12px;font-size:14px}.find-chapters{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.find-chapters.compact{gap:4px}.find-chapter{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff}.find-pick{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.find-title{font-weight:600;color:inherit}.find-hits{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:13px;color:var(--muted)}.find-hits mark{background:#fff0a8;color:#3a2a00;padding:0 2px;border-radius:3px}.find-hits del{background:#fde3e2;color:#8f1a17;text-decoration:line-through;padding:0 2px;border-radius:3px}.find-hits ins{background:#e3f6ea;color:#136b3a;text-decoration:none;padding:0 2px;border-radius:3px}.find-before,.find-after{display:block}.find-preview h3{margin:0 0 4px;font-size:15px}.find-done{padding:10px 12px;border-radius:8px;background:#f3fbf6}.chapter-filters .chip .muted{margin-left:5px;font-weight:400}.week-bars{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}.week-bars li{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;gap:10px;align-items:center}.week-bar,.figure-bar{display:inline-block;height:10px;background:#eef1f6;border-radius:999px;overflow:hidden;vertical-align:middle}.week-bar{width:100%}.figure-bar{width:80px;margin-right:8px}.week-bar>span,.figure-bar>span{display:block;height:100%;background:#2a6fd1;border-radius:999px}.week-value{white-space:nowrap;color:var(--muted)}.figures{width:100%;border-collapse:collapse;font-size:14px}.figures th,.figures td{text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--border);vertical-align:middle}.figures thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.figures tbody th{font-weight:500}.definitions{display:grid;gap:6px 14px;grid-template-columns:max-content minmax(0,1fr);margin:0;font-size:14px}.definitions dt{font-weight:600}.definitions dd{margin:0;color:var(--muted)}@media(max-width:700px){.definitions,.week-bars li{grid-template-columns:1fr}.figures{display:block;overflow-x:auto}}.stat-cards li small{display:block;margin-top:4px;font-size:12px}.shelves{padding-block:8px 24px}.shelf{--slot: clamp(140px, 17vw, 190px);--grow-max: 1.45;--page-lines: 9;--headroom: max(calc(var(--slot) * 4 / 3 * (var(--grow-max) - 1) + 14px), 104px);position:relative;padding-block:0 4px;content-visibility:auto;contain-intrinsic-size:auto calc(var(--headroom) + 16px + var(--slot) * 4 / 3 + 48px)}.shelf-head{position:absolute;left:0;right:0;bottom:calc(100% - var(--headroom));display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.shelf-title{margin:2px 0 0;font-size:clamp(20px,2.4vw,26px)}.shelf-lead{margin:4px 0 0;font-size:14px}.shelf-arrows{display:flex;gap:6px;flex:none}.shelf-arrows .tool:disabled{opacity:.35;cursor:default}.shelf-arrows,.shelf-more{position:relative;z-index:3;pointer-events:auto}@media(any-pointer:coarse){.shelf-arrows .tool{min-width:44px;min-height:44px}}.shelf-scroller{position:relative;z-index:2;pointer-events:none}.shelf-scroller:before{content:"";position:absolute;left:0;right:0;top:calc(var(--headroom) + 6px);bottom:50px;z-index:0;background:linear-gradient(180deg,#0000006b,#00000014 26%,#0000 60%,#0000002e),repeating-linear-gradient(90deg,rgba(0,0,0,.1) 0 2px,rgba(255,255,255,.04) 2px 4px,transparent 4px 138px),repeating-linear-gradient(90deg,rgba(0,0,0,.035) 0 1px,transparent 1px 7px),linear-gradient(180deg,#6e4628,#5a3820 55%,#4a2d18);box-shadow:inset 0 1px #ffffff14,inset 0 -10px 16px -10px #00000073}.shelf-book .book-tools .tool{box-shadow:0 2px 8px #0000002e}.shelf-track{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:24px;padding:calc(var(--headroom) + 16px) 24px 6px;pointer-events:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shelf-track::-webkit-scrollbar{display:none}@media(min-width:1248px){.shelf-track{padding-inline:calc((100vw - 1200px)/2 + 24px);scroll-padding-inline:calc((100vw - 1200px)/2 + 24px)}}.shelf-book{position:relative;flex:0 0 var(--slot);scroll-snap-align:start;pointer-events:auto}.shelf-book:has(.book-card:hover),.shelf-book:has(.is-turned),.shelf-book:focus-within{z-index:6}.shelf-book:has(.is-open){z-index:7}.shelf-book .book-card{padding:4px 6px 52px;--t-scale: .75}.shelf-book .book{transform-origin:50% 100%;z-index:2}.shelf-book:first-child .book-card{--gx-max: calc(var(--slot) * (var(--grow-max) - 1) / 2 - 12px)}.shelf-book .book-shadow{display:none}.shelf-book .book-tools{bottom:2px}.shelf-plank{position:absolute;left:0;right:0;bottom:46px;height:14px;pointer-events:none;background:linear-gradient(180deg,#ffffff59,#fff0 30%),repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0 2px,transparent 2px 9px),linear-gradient(180deg,#a56b3a,#7c4a22 55%,#5a3417);border-top:2px solid #c99a5a;border-bottom:3px solid #3d2210;box-shadow:0 10px 18px #00000038,inset 0 -2px #00000040;z-index:1}.shelf-more{margin:4px 0 0;font-size:14px}@media(max-width:720px){.shelf{--slot: 150px}}@media(max-width:720px),(hover:none)and (pointer:coarse){.shelf{--grow-max: 1;--headroom: 12px;contain-intrinsic-size:auto 400px}.shelf-head{position:relative;inset:auto;padding-top:20px}.shelf-head>div:first-child{min-width:0;overflow-wrap:anywhere}.shelf-book:first-child .book-card{--gx-max: 0px}}.cover.cover-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.codex-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.codex-title{margin:2px 0 4px;font-size:clamp(26px,3.2vw,34px)}.codex-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none}.codex-tabs .chip{cursor:pointer;font-family:inherit}.codex-tabs .chip:not(.active){background:transparent}.codex-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:20px;align-items:start}@media(max-width:960px){.codex-layout{grid-template-columns:1fr}}.codex-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.codex-card{display:grid;gap:6px;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,transform .15s}.codex-card:hover,.codex-card.selected{border-color:var(--ghost);transform:translateY(-1px)}.codex-card.locked{opacity:.75;cursor:default;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(0,0,0,.025) 8px 16px),var(--panel)}.codex-card-thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px}.codex-card-title{font-weight:700}.codex-card-meta{font-size:12px;color:var(--muted)}.codex-detail{position:sticky;top:calc(var(--header-h) + 16px)}.codex-detail .panel+.panel{margin-top:12px}.codex-detail-image{width:100%;border-radius:10px;margin-bottom:10px}.codex-body{white-space:pre-line;line-height:1.6}.facts{margin:10px 0 0;display:grid;gap:4px}.facts div{display:flex;gap:10px;font-size:14px}.facts dt{color:var(--muted);min-width:90px}.facts dd{margin:0}.aliases{margin:6px 0 0;font-size:13px;color:var(--muted)}.relations{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px;font-size:14px}.relations .link-button{font-size:14px}.locked-note{padding:14px;border-radius:10px;background:#fff3d6;color:#7a4b00;font-size:14px}.character-web{width:100%;height:auto;border-radius:12px;background:radial-gradient(60% 60% at 50% 40%,rgba(90,169,255,.08),transparent 70%),var(--panel);border:1px solid var(--border);color:var(--muted)}.web-edge line{stroke:currentColor;stroke-width:1.4;opacity:.6;transition:opacity .15s}.web-edge.dim{opacity:.12}.web-label{font-size:11px;fill:var(--text);paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round}.web-node{cursor:pointer;transition:opacity .15s;outline:none}.web-node.dim{opacity:.25}.web-disc{fill:#1a56a8}.web-ring{fill:none;stroke:#1a56a8;stroke-width:2}.web-node.selected .web-disc,.web-node:focus-visible .web-disc{fill:#0f3f80}.web-node:focus-visible .web-ring,.web-node.selected .web-ring{stroke-width:4}.web-initials{fill:#fff;font-weight:700;font-size:14px;pointer-events:none}.web-name{font-size:12px;fill:var(--text);font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round;pointer-events:none}.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--border);display:grid;gap:14px}.timeline li{position:relative}.timeline li:before{content:"";position:absolute;left:-24px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--ghost)}.timeline-when{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:10px}.asset-tile{display:grid;gap:4px;padding:6px;border-radius:10px;border:1px solid var(--border);background:#fff;text-align:left;font:inherit;cursor:pointer;color:var(--text)}.asset-tile.selected{border-color:var(--ghost);box-shadow:0 0 0 2px color-mix(in srgb,var(--ghost) 30%,transparent)}.asset-tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.asset-tile-meta{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-quota{font-size:12px;color:var(--muted)}.upload-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.upload-row input[type=file]{font-size:13px}.codex-editor .field textarea{min-height:120px}.relation-row,.fact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center}.relation-row select,.relation-row input,.fact-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d5d9e3;background:#fff;font:inherit;font-size:14px}.inline-add{justify-self:start}@media(min-width:901px){.codex-layout:not(.map-mode) .codex-detail{max-height:calc(100vh - var(--header-h) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:2px}}.codex-toast{position:fixed;left:50%;bottom:24px;z-index:40;max-width:min(92vw,520px);margin:0;padding:10px 18px;border-radius:999px;background:var(--text);color:var(--bg);font-size:14px;box-shadow:0 8px 24px #00000040;transform:translate(-50%);animation:codex-toast-in .22s ease backwards}.codex-toast.error{background:#a3161d;color:#fff}@keyframes codex-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.codex-toast{animation:none}}.continuity-filters{display:grid;gap:8px;margin-bottom:14px}.continuity-list{list-style:none;margin:0;padding:0}.continuity-row{border-top:1px solid var(--border)}.continuity-row:first-child{border-top:0}.continuity-main{width:100%;display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,1fr) auto auto;gap:10px 16px;align-items:center;padding:10px 4px;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.continuity-main:hover{background:#00000006}.continuity-row.open .continuity-main{background:#00000009}.continuity-kind{display:inline-block;margin-right:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.continuity-title .status-pill{margin-left:8px}.spark{display:inline-flex;align-items:flex-end;gap:1px;height:22px;width:100%;max-width:320px}.spark-bar{flex:1 1 0;min-width:2px;background:var(--ghost);border-radius:1px 1px 0 0}.spark-bar.empty{background:#eef1f6}.continuity-numbers{font-size:12px;white-space:nowrap}.continuity-flags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.flag{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef1f6;color:#3c4654}.flag-dormant{background:#fff1d6;color:#8a6430}.flag-unmentioned{background:#ffe3e3;color:#a3161d}.flag-once{background:#eef3ff;color:#163b67}.flag-before-reveal{background:#e9e3ff;color:#4b2fa3}.continuity-detail{padding:4px 4px 14px}.hit-list{margin:8px 0 0;padding-left:20px;display:grid;gap:6px;font-size:14px}.hit-where{display:block;font-size:12px;color:var(--muted)}.hit-snippet{display:block;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif}.unlisted-list,.proposal-list,.proposal-mine{list-style:none;margin:0;padding:0;display:grid;gap:8px}.unlisted-row{display:grid;grid-template-columns:minmax(140px,auto) 1fr auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--border);font-size:14px}.unlisted-row:first-child{border-top:0}.unlisted-actions{display:flex;gap:6px;align-items:center}.unlisted-actions select{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--panel);font:inherit;font-size:13px}.proposal{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--panel);display:grid;gap:8px}.proposal-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.proposal-by{margin-left:auto;font-size:13px}.proposal-body{margin:0;white-space:pre-line}.proposal-edit-of{margin:0;font-size:13px}.proposal-now summary{cursor:pointer;font-size:13px}.proposal-now p{margin:6px 0 0}.codex-suggest{margin-top:16px}.proposal-mine{margin-top:12px}.proposal-mine-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}.proposal-note{font-style:italic}.mark-reset{font-size:12px;text-align:left}@media(max-width:720px){.continuity-main{grid-template-columns:1fr;gap:6px}.continuity-flags{justify-content:flex-start}.unlisted-row{grid-template-columns:1fr;gap:4px}}.editor-bar-actions{flex-wrap:wrap}.mode-switch{display:inline-flex;gap:2px;padding:3px;border-radius:999px;border:1px solid #d5d9e3;background:#fff}.editor-bar .mode-switch .chip{border-color:transparent;padding:5px 12px}.editor-bar .chip.active{background:var(--ghost);border-color:var(--ghost);color:var(--ghost-hover-fg)}.editor-main{min-width:0}.editor-toolbar{min-width:0;position:sticky;top:calc(var(--header-h) + 8px);z-index:20;margin-bottom:10px}.editor-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:6px 8px;border-radius:var(--radius);border:1px solid var(--field-border);background:var(--toolbar-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px #1018280f}.tool-group{display:inline-flex;align-items:center;gap:2px;padding-right:6px;border-right:1px solid var(--border)}.tool-group:last-child{padding-right:0;border-right:0}.tool-group.tool-extra{margin-left:auto;padding-right:0;border-right:0}.editor-toolbar .tool,.surface-light .editor-toolbar .tool{width:34px;height:34px;border-radius:8px;border-color:transparent;background:transparent;box-shadow:none;color:var(--tool-ink)}.editor-toolbar .tool:hover:not(:disabled){background:var(--tool-hover-bg);color:var(--ghost);border-color:transparent}.editor-toolbar .tool[aria-pressed=true],.editor-toolbar .tool[aria-expanded=true]{background:var(--ghost);color:var(--ghost-hover-fg);border-color:var(--ghost)}.editor-toolbar .tool:disabled{opacity:.35;cursor:default}.editor-toolbar .tool:focus-visible,select.tool-select:focus-visible,.char-tab:focus-visible,.char-cell:focus-visible{outline:2px solid var(--focus);outline-offset:1px}select.tool-select{height:34px;padding:0 8px;border-radius:8px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);font:inherit;font-size:14px;cursor:pointer}.editor-toolbar .chip.small-chip{padding:5px 11px;font-size:13px;background:transparent;cursor:pointer;font-family:inherit}.editor-toolbar .chip.small-chip.active{background:var(--ghost);color:var(--ghost-hover-fg)}.image-upload{display:inline-flex}.editor-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(400px,100%);display:grid;gap:10px;padding:14px;border-radius:var(--radius);border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);box-shadow:0 16px 40px #1018282e}.editor-popover .field input{background:var(--field-bg);border-color:var(--field-border)}.link-hint{margin:-4px 0 0;font-size:12px}.link-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.link-actions .btn{box-shadow:none}.image-dialog-preview{justify-self:start;max-width:100%;max-height:160px;border-radius:8px;background:#f3f4f7;object-fit:contain}.char-picker{position:relative;display:inline-flex}.editor-toolbar .char-picker{position:static}.char-popover{position:absolute;top:calc(100% + 6px);z-index:30;width:min(390px,calc(100vw - 32px));display:grid;gap:8px;padding:10px;border-radius:var(--radius);border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);box-shadow:0 16px 40px #1018282e}.char-popover.align-end{right:0}.char-popover.align-start{left:0}.char-search{width:100%;padding:8px 11px;border-radius:8px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);font:inherit;font-size:14px}.char-search:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}.char-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}.char-tab{flex:none;padding:5px 9px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.char-tab:hover{color:var(--ghost)}.char-tab.active{background:var(--ghost);color:var(--ghost-hover-fg)}.char-body{max-height:248px;overflow-y:auto;overscroll-behavior:contain}.char-section-label{margin:8px 2px 4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.char-section:first-child .char-section-label{margin-top:2px}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px}.char-grid.roomy{grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}.char-cell{height:38px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--tool-ink);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Segoe UI Symbol,serif;font-size:19px;line-height:1;cursor:pointer}.char-cell:hover,.char-cell:focus{background:var(--tool-hover-bg);border-color:var(--field-border)}.char-empty{margin:12px 4px;font-size:14px}.char-foot{margin:0;min-height:1.4em;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rich-editor-frame{display:block}.rich-editor-content{width:100%;min-height:60vh;padding:clamp(16px,3vw,28px);border-radius:var(--radius);border:1px solid #d5d9e3;background:#fffdf7;color:#1f1b16;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:18px;line-height:1.8;overflow-wrap:anywhere;caret-color:#1f1b16}.rich-editor-content:focus,.rich-editor-content.ProseMirror-focused{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}.rich-editor-content>*+*{margin-top:0}.rich-editor-content p{margin:0 0 1.1em}.rich-editor-content>:last-child{margin-bottom:0}.rich-editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:#9a8f80;font-style:italic;pointer-events:none}.rich-editor-content h1,.rich-editor-content h2,.rich-editor-content h3{margin:1.3em 0 .5em;line-height:1.3;color:#1f1b16}.rich-editor-content h1{font-size:1.55em}.rich-editor-content h2{font-size:1.3em}.rich-editor-content h3{font-size:1.1em;letter-spacing:.02em}.rich-editor-content>h1:first-child,.rich-editor-content>h2:first-child,.rich-editor-content>h3:first-child{margin-top:0}.rich-editor-content blockquote,.editor-preview .text-quote{margin:0 0 1.1em;padding:.1em 0 .1em 1.1em;border-left:3px solid #c8b99a;color:#4a4036}.rich-editor-content blockquote p:last-child{margin-bottom:0}.rich-editor-content ul,.rich-editor-content ol{margin:0 0 1.1em;padding-left:1.6em}.rich-editor-content li p{margin:0}.rich-editor-content a{color:var(--link);text-decoration:underline;text-underline-offset:2px;cursor:text}.rich-editor-content hr{border:0;height:auto;margin:1.4em 0;text-align:center;color:#8a7f70;cursor:pointer}.rich-editor-content hr:before{content:"⁂";letter-spacing:.4em}.rich-editor-content hr.ProseMirror-selectednode{outline:2px solid var(--focus);outline-offset:4px;border-radius:4px}.rich-editor-content .ProseMirror-gapcursor:after{border-top-color:#1f1b16}.editor-figure{position:relative;margin:1.4em 0;text-align:center}.editor-figure img{max-width:100%;max-height:60vh;border-radius:8px;box-shadow:0 10px 28px #0000002e}.editor-figure figcaption{margin-top:8px;font-size:.8em;font-style:italic;color:#6b6257}.editor-figure.is-selected img,.editor-figure.ProseMirror-selectednode img{outline:3px solid var(--focus);outline-offset:3px}.figure-tools{display:flex;justify-content:center;gap:6px;margin-top:8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;opacity:0;transition:opacity .15s}.editor-figure:hover .figure-tools,.editor-figure:focus-within .figure-tools,.editor-figure.is-selected .figure-tools{opacity:1}@media(hover:none){.figure-tools{opacity:1}}.figure-tools .chip{padding:4px 10px;font-size:12px;background:#fff;cursor:pointer}.figure-caption-edit{display:block;margin-top:8px}.figure-caption-edit input{width:min(440px,100%);padding:6px 10px;border-radius:8px;border:1px solid var(--focus);background:#fff;color:#1f1b16;font:inherit;font-size:.8em;font-style:italic;text-align:center}.bubble-menu{display:flex;gap:2px;padding:4px;border-radius:10px;background:#121420;box-shadow:0 10px 26px #00000040}.bubble-menu .tool,.surface-light .bubble-menu .tool{width:30px;height:30px;border-radius:7px;border-color:transparent;background:transparent;box-shadow:none;color:#e9edf6}.bubble-menu .tool:hover,.bubble-menu .tool[aria-pressed=true],.surface-light .bubble-menu .tool[aria-pressed=true]{background:#e9edf6;color:#121420;border-color:transparent}.md-editor{container-type:inline-size}.md-split{display:grid;gap:12px;align-items:start}@container (min-width: 760px){.md-split.live{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.md-split.live .md-live{position:sticky;top:calc(var(--header-h) + 70px);max-height:calc(100vh - var(--header-h) - 90px);overflow-y:auto}}.editor-text.md-text{min-height:60vh;overflow:hidden;resize:none;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:15.5px;line-height:1.75;tab-size:4}.md-live{border-radius:var(--radius)}.md-live-body{--reader-size: 16px;min-height:0;padding:18px 20px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}.md-cheatsheet{font-size:13px}.md-cheatsheet summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:baseline}.md-cheatsheet summary::-webkit-details-marker{display:none}.md-cheatsheet summary:after{content:"−";color:var(--muted);font-weight:400}.md-cheatsheet:not([open]) summary:after{content:"+"}.md-cheatsheet-more{margin:10px 0 0!important}.md-cheatsheet p{margin:8px 0}.md-cheatsheet dl{display:grid;gap:4px;margin:0}.md-cheatsheet dl div{display:grid;grid-template-columns:1fr;gap:1px;padding:4px 0;border-top:1px solid var(--border)}.md-cheatsheet dl div:first-child{border-top:0}.md-cheatsheet dd{margin:0;color:var(--muted)}.md-cheatsheet code{padding:1px 6px;border-radius:4px;background:#f3f1ea;color:#3b3327;font-size:13px}.editor-preview .text-heading{margin:1.2em 0 .5em;line-height:1.3}.editor-preview .text-heading:first-child{margin-top:0}.editor-preview .text-heading.level-1{font-size:1.45em}.editor-preview .text-heading.level-2{font-size:1.25em}.editor-preview .text-heading.level-3{font-size:1.08em}.editor-preview .text-quote{white-space:pre-line}.editor-preview .text-list{margin:0 0 1.2em;padding-left:1.6em}@media(max-width:560px){.editor-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.editor-tools::-webkit-scrollbar{display:none}.tool-group{flex:none;padding-right:4px}.tool-group.tool-extra{margin-left:0}.editor-toolbar .char-popover,.editor-toolbar .editor-popover{left:0;right:0;width:auto}.editor-toolbar .tool,.surface-light .editor-toolbar .tool{width:32px;height:32px}}.ProseMirror p.is-centered{text-align:center}.ProseMirror p.is-indented{text-indent:1.5em}.editor-main textarea{tab-size:4}.map-canvas{display:block;width:100%;height:auto;user-select:none;-webkit-user-select:none}.map-canvas .map-pin>g{cursor:pointer;outline:none}.map-canvas .map-pin>g:focus-visible>path{stroke:var(--focus);stroke-width:3.5}.map-viewer{display:grid;align-content:start;gap:10px;--map-icon-fill: #fffaf0}.map-viewer-stage{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#e9e4d8;touch-action:pan-y;container-type:inline-size;user-select:none;-webkit-user-select:none}.map-viewer-stage.is-zoomed{touch-action:none;cursor:grab}.map-viewer-stage.is-zoomed:active{cursor:grabbing}.map-zoom{position:absolute;right:10px;bottom:10px;display:grid;gap:6px}.map-zoom .tool{width:34px;height:34px;font:inherit;font-size:18px;font-weight:700;line-height:1}.map-zoom .tool:disabled{opacity:.45;cursor:default;pointer-events:none}.map-wheel-hint{position:absolute;left:50%;top:12px;transform:translate(-50%);padding:6px 12px;border-radius:999px;background:#111420d1;color:#fff;font-size:13px;white-space:nowrap;pointer-events:none}.map-note{display:grid;gap:4px;padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--border);font-size:14px}.map-note p{margin:0;white-space:pre-line}.map-note>.link-button{justify-self:start}.map-note-head{display:flex;align-items:center;gap:8px}.map-note-head svg{color:#4a3520;flex:none}.map-note-close{margin-left:auto;font-size:20px;line-height:1;padding:0 4px}.map-hint-line{margin:0;font-size:13px}.map-legend{list-style:none;margin:0;padding:8px 2px 0;display:flex;flex-wrap:wrap;gap:6px 16px;border-top:1px dashed var(--border);font-size:13px;color:var(--muted)}.map-legend li{display:inline-flex;align-items:center;gap:6px}.map-legend svg{color:#4a3520}@container (max-width: 420px){.map-zoom{right:6px;bottom:6px;gap:4px}.map-zoom .tool{width:28px;height:28px;font-size:15px}}.codex-layout.map-mode{grid-template-columns:minmax(0,1fr)}.codex-layout.map-mode .codex-detail{position:static}.codex-layout.map-mode .codex-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.map-field{min-width:0}.map-save-bar{position:sticky;bottom:0;z-index:3;margin:0 -20px -20px;padding:12px 20px;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:#fff}.map-editor{display:grid;gap:10px;padding:10px;border:1px solid #d5d9e3;border-radius:var(--radius);background:#f6f7fa;color:var(--text);overflow-wrap:normal;--map-icon-fill: #fffaf0}.map-toolbar{display:flex;flex-wrap:wrap;gap:8px}.map-tool-group{display:flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:12px;border:1px solid #e1e4ec;background:#fff}.map-tool{display:grid;justify-items:center;gap:2px;min-width:50px;padding:6px 6px 4px;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.map-tool:hover{background:color-mix(in srgb,var(--ghost) 10%,transparent);color:var(--ghost)}.map-tool.active,.map-tool.active:hover{background:var(--ghost);color:var(--ghost-hover-fg)}.map-tool:focus-visible,.map-action:focus-visible,.map-mini:focus-visible,.map-layer-name:focus-visible,.map-icon-choice:focus-visible,.map-backdrop:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.map-actionbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.map-action-group{display:flex;align-items:center;gap:4px}.map-action{padding:6px 12px;border-radius:999px;border:1px solid #d5d9e3;background:#fff;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.map-action:hover:not(:disabled){border-color:var(--ghost);color:var(--ghost)}.map-action.square{width:32px;padding:6px 0}.map-action:disabled{opacity:.45;cursor:default}.map-zoom-level{min-width:46px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.map-toggle,.map-select{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.map-toggle input{accent-color:var(--ghost)}.map-select>span{white-space:nowrap}.map-select select{padding:5px 8px;border-radius:8px;border:1px solid #d5d9e3;background:#fff;color:var(--text);font:inherit;font-size:13px}.map-export{margin-left:auto}.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;align-items:start}.map-stage-col{display:grid;gap:6px;min-width:0}.map-stage{position:relative;overflow:hidden;border-radius:10px;border:1px solid #cfd4df;background:#e9e4d8;touch-action:none;cursor:crosshair;outline:none;user-select:none;-webkit-user-select:none}.map-stage:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 35%,transparent)}.map-editor.tool-select .map-stage{cursor:default}.map-editor.tool-select .map-stage [data-layer-id],.map-editor.tool-select .map-stage [data-marker-id]{cursor:move}.map-editor.tool-select .map-stage .map-handle{cursor:grab}.map-editor.tool-label .map-stage{cursor:text}.map-editor.tool-icon .map-stage,.map-editor.tool-marker .map-stage{cursor:copy}.map-editor.tool-erase .map-stage{cursor:pointer}.map-editor.tool-erase .map-stage [data-layer-id]:hover,.map-editor.tool-erase .map-stage [data-marker-id]:hover{opacity:.45}.map-editor.tool-hand .map-stage,.map-editor.is-panning .map-stage,.map-editor.is-panning .map-stage [data-layer-id]{cursor:grab}.map-editor.tool-hand .map-stage:active,.map-editor.is-panning .map-stage:active{cursor:grabbing}.map-label-input{position:absolute;z-index:2;width:min(240px,70%);transform:translate(-50%,-50%);padding:6px 10px;border-radius:8px;border:2px solid var(--focus);background:#fffdf6;color:#3a2814;font:italic 17px Georgia,Iowan Old Style,serif;text-align:center;box-shadow:0 6px 18px #0000002e;outline:none}.map-hint{margin:0;min-height:1.4em;font-size:13px;color:var(--muted)}.map-hint.ok{color:#14532d}.map-hint.error{color:#8a1c1c}.map-side{display:grid;gap:12px;align-content:start;min-width:0}.map-inspector:empty{display:none}.map-inspector,.map-layers{display:grid;gap:10px;padding:12px;border-radius:10px;border:1px solid #e1e4ec;background:#fff}.map-section{display:grid;gap:10px;min-width:0}.map-section+.map-section{padding-top:10px;border-top:1px solid #eceef3}.map-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-section-title{margin:0;font-size:15px}.map-section-title .muted{font-weight:500}.map-side .field input[type=text],.map-side .field textarea,.map-side .field select{padding:8px 10px;font-size:14px}.map-help{margin:0;font-size:12px;line-height:1.45}.map-inline{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.map-inline .chip{cursor:pointer;background:transparent;font-family:inherit;font-size:12px;padding:5px 10px}.map-inline .chip.active{background:var(--ghost)}.map-inline .radio{font-size:13px;text-transform:none}.map-number{width:84px;padding:6px 8px;border-radius:8px;border:1px solid #d5d9e3;background:#fff;color:var(--text);font:inherit}.map-color{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}.map-color>span:first-child{min-width:52px}.map-color input[type=color]{width:38px;height:26px;padding:0 2px;border:1px solid #d5d9e3;border-radius:6px;background:#fff;cursor:pointer}.map-color-note{font-size:11px;font-weight:500}.map-color .link-button{font-size:12px}.map-range{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}.map-range strong{color:var(--text);font-variant-numeric:tabular-nums}.map-range input{width:100%;accent-color:var(--ghost)}.map-checks{display:grid;gap:6px}.map-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.map-check input{accent-color:var(--ghost)}.map-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:4px;max-height:250px;overflow:auto;padding:2px}.map-icon-choice{display:grid;justify-items:center;gap:2px;padding:5px 2px;border:1px solid transparent;border-radius:8px;background:#faf6ea;color:#4a3520;font:inherit;font-size:10.5px;line-height:1.2;cursor:pointer}.map-icon-choice span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-icon-choice:hover{border-color:#d8c79f}.map-icon-choice.active{border-color:var(--ghost);background:color-mix(in srgb,var(--ghost) 12%,#ffffff)}.map-icon-dot{width:12px;height:12px;margin:7px 0;border-radius:50%;background:#a8321f;border:2px solid #ffffff;box-shadow:0 0 0 1px #a8321f}.map-backdrops{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:6px}.map-backdrop{aspect-ratio:1;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#f1f2f6;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.map-backdrop img{display:block;width:100%;height:100%;object-fit:cover}.map-backdrop.active{border-color:var(--ghost)}.map-layer-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:280px;overflow:auto}.map-layer-row{display:flex;align-items:center;gap:4px;padding:1px 4px;border-radius:8px}.map-layer-row:hover{background:#f4f5f8}.map-layer-row.selected{background:color-mix(in srgb,var(--ghost) 12%,transparent)}.map-layer-row.is-hidden .map-layer-text{opacity:.5;text-decoration:line-through}.map-layer-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:5px 2px;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.map-layer-name:disabled{color:var(--muted);cursor:default}.map-layer-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-layer-actions{display:flex;gap:1px}.map-layer-meta{font-size:11px;color:var(--muted);white-space:nowrap}.map-mini{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.map-mini:hover:not(:disabled){background:#e8ebf2;color:var(--text)}.map-mini:disabled{opacity:.3;cursor:default}.map-mini.on{color:var(--ghost)}.map-swatch{flex:none;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.25)}.map-swatch.kind-land{background:#f5e9c9}.map-swatch.kind-water{background:#c5d8d0}.map-swatch.kind-forest{background:#7f9558}.map-swatch.kind-hills{background:#c7a87a}.map-swatch.kind-mountains{background:#b49a6c}.map-swatch.kind-marsh{background:#8fa07e}.map-swatch.kind-river{background:#4f7c8c;height:4px;border:0;border-radius:2px}.map-swatch.kind-road{background:repeating-linear-gradient(90deg,#8b5a2b 0 4px,transparent 4px 6px);height:3px;border:0}.map-swatch.kind-border{background:radial-gradient(circle,#8c2f2a 1.2px,transparent 1.6px) 0 0 / 4px 4px;height:4px;border:0}.map-swatch.kind-label{background:#3a2814;border-radius:2px;width:10px}.map-swatch.kind-icon{background:#f7edd2;border-color:#4a3520}.map-swatch.kind-pin{background:#a8321f;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border-color:#fff;box-shadow:0 0 0 1px #a8321f}@media(max-width:900px){.map-workspace{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.map-editor{padding:6px}.map-tool{min-width:38px;padding:6px 4px}.map-tool span{display:none}.map-export{margin-left:0}.map-save-bar{margin:0 -14px -14px;padding:10px 14px}}.cd-head{margin-bottom:20px}.cd-head .muted{margin:0}.cd-layout{display:grid;grid-template-columns:minmax(230px,380px) minmax(0,1fr);gap:28px clamp(20px,3vw,36px);align-items:start}.cd-preview{position:sticky;top:calc(var(--header-h) + 16px);display:grid;gap:14px;justify-items:center}.cd-stage{position:relative;width:min(360px,100%);border-radius:3px 12px 12px 3px;box-shadow:0 18px 40px #0a102047,0 2px 6px #0a10202e,-5px 0 0 -1px var(--cover-spine-preview, #1b2238);overflow:hidden;user-select:none;-webkit-user-select:none}.cd-stage.can-focus{cursor:crosshair;touch-action:none}.cd-stage:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.cd-focal{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 1px #0000008c,inset 0 0 0 1px #00000059;pointer-events:none;z-index:3}.cd-focal:before,.cd-focal:after{content:"";position:absolute;background:#fff;box-shadow:0 0 0 1px #0006}.cd-focal:before{left:50%;top:5px;bottom:5px;width:2px;margin-left:-1px}.cd-focal:after{top:50%;left:5px;right:5px;height:2px;margin-top:-1px}.cd-minis{display:flex;align-items:flex-end;justify-content:center;gap:18px;width:100%;padding:14px 10px 0;border-top:1px dashed var(--border)}.cd-mini{margin:0;display:grid;justify-items:center;gap:4px}.cd-mini figcaption{font-size:12px;color:var(--muted)}.cd-mini-card{width:168px}.cd-mini-card .book-card{padding:6px 10px 40px}.cd-mini-thumb{width:84px;border-radius:3px 8px 8px 3px;overflow:hidden;box-shadow:0 6px 18px #0a102038,-4px 0 0 -1px #1b2238;margin-bottom:40px}.cd-controls{display:grid;gap:12px;min-width:0}.cd-toolbar{position:sticky;top:calc(var(--header-h) + 8px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:10px 12px 10px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);box-shadow:0 8px 24px #0a102014}.cd .btn:disabled,.cd .link-button:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.cd .btn.ghost:disabled:hover{background:transparent;color:var(--ghost)}.cd-hint{margin:-4px 0 0;font-size:13px}.cd-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.cd-note{margin:0;font-size:13px;line-height:1.45}.cd-inline-action{justify-self:start;font-size:13px}.cd-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.cd-section>summary{display:flex;align-items:baseline;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;border-radius:var(--radius)}.cd-section>summary::-webkit-details-marker{display:none}.cd-section>summary:before{content:"";flex:none;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(-45deg);transition:transform .15s ease;opacity:.6}.cd-section[open]>summary:before{transform:translateY(-4px) rotate(45deg)}.cd-section>summary:hover .cd-section-title{color:var(--ghost)}.cd-section>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.cd-section-title{font-weight:700;font-size:16px}.cd-section-sum{margin-left:auto;font-size:13px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cd-section-body{display:grid;gap:18px;padding:4px 18px 20px}.cd-section .field>label{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:600;color:var(--muted)}.cd-section .field>label>span{font:inherit;color:inherit}.cd-section .field input[type=text],.cd-section .field textarea,.cd-section .field select,.cd-select{width:100%;padding:9px 12px;border-radius:10px;border:1px solid #d5d9e3;background:#fff;color:var(--text);font:inherit}.cd-section .field textarea{min-height:0;resize:vertical}.cd-select{width:auto;padding:8px 10px}.cd-section .field small{font-size:12px}.cd-hidden-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.cd-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.cd-swatch,.cd-motif,.cd-font,.cd-emblem{position:relative;display:grid;justify-items:center;gap:5px;padding:6px;border-radius:10px;border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s}.cd-swatch:hover,.cd-motif:hover,.cd-font:hover,.cd-emblem:hover{border-color:color-mix(in srgb,var(--ghost) 55%,transparent);color:var(--text)}.cd-swatch:has(input:checked),.cd-motif:has(input:checked),.cd-font:has(input:checked),.cd-emblem:has(input:checked){border-color:var(--ghost);background:color-mix(in srgb,var(--ghost) 9%,transparent);color:var(--ghost);box-shadow:0 0 0 1px var(--ghost)}.cd-swatch:has(input:focus-visible),.cd-motif:has(input:focus-visible),.cd-font:has(input:focus-visible),.cd-emblem:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.cd-swatch-chip{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%;height:38px;padding-bottom:6px;border-radius:6px;box-shadow:inset 0 0 0 1px #00000014}.cd-swatch-chip i{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 1.5px #ffffff40}.cd-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 14px}.cd-colors-1{grid-template-columns:1fr}.cd-color{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px}.cd-color input[type=color]{flex:none;width:34px;height:34px;padding:2px;border-radius:8px;border:1px solid #d5d9e3;background:#fff;cursor:pointer}.cd-color label{display:grid;line-height:1.25;font-weight:600;color:var(--text);cursor:pointer;min-width:0}.cd-color-hex{font:12px ui-monospace,Cascadia Code,Consolas,monospace;color:var(--muted);font-weight:400}.cd-color .link-button{margin-left:auto;font-size:12px;white-space:nowrap}.cd-motifs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.cd-motif-art{display:block;width:100%;aspect-ratio:3 / 4;border-radius:4px}.cd-fonts{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.cd-font-sample{font-size:28px;line-height:1.1;color:var(--text)}.cd-emblems{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}.cd-emblem{font-size:11px;font-weight:500}.cd-emblem svg,.cd-emblem-none{width:30px;height:30px;color:var(--text)}.cd-emblem:has(input:checked) svg{color:var(--ghost)}.cd-emblem-none{display:block;border-radius:50%;border:2px dashed var(--border);background:linear-gradient(135deg,transparent 46%,#c4c9d4 46%,#c4c9d4 54%,transparent 54%)}.cd-choice .radio{text-transform:none}.cd-slider input[type=range]{width:100%;accent-color:var(--ghost)}.cd-slider output{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.cd-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cd-check{display:flex;align-items:flex-start;gap:10px;font-weight:600;font-size:14px;cursor:pointer}.cd-check input{margin-top:3px;width:16px;height:16px;accent-color:var(--ghost)}.cd-check span{display:grid;gap:1px}.cd-check small{font-weight:400;font-size:12px}.cd-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px}.cd-asset{padding:0;aspect-ratio:1;border-radius:8px;border:2px solid transparent;background:#eef0f5;overflow:hidden;cursor:pointer;box-shadow:inset 0 0 0 1px var(--border)}.cd-asset img{width:100%;height:100%;object-fit:cover}.cd-asset:hover{border-color:color-mix(in srgb,var(--ghost) 55%,transparent)}.cd-asset[aria-pressed=true]{border-color:var(--ghost);box-shadow:0 0 0 2px color-mix(in srgb,var(--ghost) 30%,transparent)}.cd-spine-row{display:flex;gap:18px;align-items:stretch}.cd-spine{flex:none;width:34px;min-height:150px;border-radius:3px;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001f,inset 6px 0 10px -6px #ffffff40,inset -6px 0 10px -6px #00000059}.cd-spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:12px;font-weight:700;letter-spacing:.06em;white-space:nowrap;max-height:140px;overflow:hidden;text-overflow:ellipsis}.cd-spine-row .cd-colors{flex:1;align-content:start}.cd-output{display:grid;gap:12px}.cd-output .panel-title{margin:0;font-size:17px}.cd-output.panel+.panel,.cd-section+.cd-output{margin-top:0}.cd-reset{padding-top:10px;border-top:1px solid var(--border)}.cd-leave{position:sticky;top:calc(var(--header-h) + 8px);z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-bottom:16px;padding:12px 16px;border-radius:var(--radius);background:#fff7e0;border:1px solid #f0d48a;color:#5b3b00;box-shadow:0 10px 30px #0a10201f}.cd-leave p{margin:0;font-weight:600}@media(max-width:900px){.cd-minis{flex-wrap:wrap}}@media(max-width:680px){.cd-layout{grid-template-columns:minmax(0,1fr)}.cd-preview{position:static}.cd-stage{width:min(280px,100%)}.cd-toolbar{top:calc(var(--header-h) + 4px)}}@media(max-width:480px){.cd-pair{grid-template-columns:1fr}.cd-spine-row{flex-direction:column}.cd-spine{min-height:0;height:34px;width:100%}.cd-spine span{writing-mode:horizontal-tb;transform:none}}.cover-designer-page.is-studio .container{width:min(1480px,100%)}.cs-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}.cs-modes{display:flex;flex-wrap:wrap;gap:8px}.cs-mode{display:grid;gap:2px;min-width:0;max-width:260px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.cs-mode strong{font-size:15px}.cs-mode span{font-size:12px;color:var(--muted)}.cs-mode:hover{border-color:var(--ghost)}.cs-mode.active{border-color:var(--ghost);box-shadow:inset 0 0 0 1px var(--ghost)}.cs-mode:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.cs-savebar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.cs-savebar .cs-check{flex:1 1 260px;min-width:0}.cs-savebar-actions{margin-left:auto}.cs-size{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.cs-size.warn{color:#b45309;font-weight:700}.cs-hint{margin:8px 0 12px;font-size:13px}.cs-editor{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(280px,330px);gap:14px;align-items:start}.cs-editor>*{min-width:0}.cs-tools{position:sticky;top:calc(var(--header-h) + 12px);display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.cs-tool{width:40px;height:40px;display:grid;place-items:center;flex:none;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cs-tool:hover{border-color:var(--ghost);color:var(--ghost)}.cs-tool.active{background:var(--ghost);border-color:var(--ghost);color:var(--ghost-hover-fg)}.cs-tool:focus-visible,.cs-stage:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.cs-icon{display:block;flex:none}.cs-center{display:grid;gap:10px;justify-items:center}.cs-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;width:100%;min-height:46px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.cs-options .cs-slider{width:150px}.cs-inline-field{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.cs-stage{position:relative;width:min(100%,calc((100vh - var(--header-h) - 190px) * .75));min-width:min(100%,300px);aspect-ratio:3 / 4;border-radius:10px;background:repeating-conic-gradient(rgba(0,0,0,.035) 0 25%,transparent 0 50%) 0 0 / 22px 22px,#dcdad4;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.cs-stage.dropping{box-shadow:inset 0 0 0 3px var(--ghost)}.cs-svg{display:block;width:100%;height:100%}.cs-canvas-shadow{fill:#fff;filter:drop-shadow(0 6px 14px rgba(10,16,32,.28))}.cs-overlay{pointer-events:none}.cs-overlay .cs-handle,.cs-overlay .cs-crop-frame,.cs-overlay .cs-float{pointer-events:all}.cs-canvas-edge{fill:none;stroke:#0a102059;stroke-width:1}.cs-grid line{stroke:#1a8cff38;stroke-width:1}.cs-grid line.mid{stroke:#1a8cff80}.cs-safe rect{fill:none;stroke:#e646468c;stroke-width:1;stroke-dasharray:6 4}.cs-safe .cs-title-zone{stroke:#c9973fd9;fill:#c9973f0d}.cs-safe .cs-title-zone.on{fill:#c9973f24}.cs-safe text{fill:#c9973ff2;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;paint-order:stroke;stroke:#00000059;stroke-width:2px}.cs-sel-outline,.cs-group-box{fill:none;stroke:#1a8cff;stroke-width:1.5}.cs-group-box{stroke-dasharray:5 3}.cs-handle{fill:#fff;stroke:#1a8cff;stroke-width:1.5}.cs-rotate{cursor:grab}.cs-handle-stem{stroke:#1a8cff;stroke-width:1.5}.cs-marquee{fill:#1a8cff14;stroke:#1a8cff;stroke-width:1;stroke-dasharray:4 3}.cs-snapline line{stroke:#ff3db4;stroke-width:1}.cs-ghost{opacity:.85}.cs-brush-cursor{fill:none;stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 0 1px rgba(0,0,0,.9))}.cs-eraser-trail{stroke:#e646464d}.cs-mark-hide{visibility:hidden}.cs-mark-dim{opacity:.22}.cs-crop-ghost{opacity:.38}.cs-crop-full{fill:none;stroke:#ffffffbf;stroke-width:1;stroke-dasharray:4 4}.cs-crop-frame{fill:transparent;stroke:#fff;stroke-width:2;cursor:move}.cs-crop-thirds line{stroke:#ffffff80;stroke-width:1}.cs-crop-handle{fill:#fff;stroke:#111}.cs-crop-bar{position:absolute;left:50%;bottom:10px;transform:translate(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 20px);padding:6px 8px 6px 12px;border-radius:999px;background:#0c101adb;color:#fff;font-size:13px}.cs-drop-hint{position:absolute;inset:auto 10px 10px;padding:8px 12px;border-radius:8px;background:#0c101adb;color:#fff;font-size:13px;text-align:center;pointer-events:none}.cs-inline-text{display:block;width:100%;height:100%;margin:0;padding:0;border:0;outline:1px dashed #1a8cff;background:#1a8cff14;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word}.cs-inline-text::placeholder{color:#808080cc}.cs-zoombar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px}.cs-zoom-group{display:inline-flex;align-items:center;gap:4px}.cs-zoom-label{min-width:52px;font-variant-numeric:tabular-nums;text-align:center}.cs-zoombar .tool:disabled,.cs-layer-actions .tool:disabled{opacity:.4;cursor:default;pointer-events:none}.cs-help-wrap{position:relative}.cs-help{position:absolute;right:0;bottom:46px;z-index:20;width:min(400px,calc(100vw - 32px));max-height:60vh;overflow:auto;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:0 18px 40px #0a102040}.cs-help-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cs-help dl{display:grid;gap:6px;margin:0 0 8px}.cs-help dl>div{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:10px}.cs-help dt{font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:700}.cs-help dd{margin:0;font-size:13px}.cs-panels{display:grid;gap:10px;align-content:start}.cs-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);min-width:0}.cs-panel>summary{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;list-style:none;border-radius:var(--radius)}.cs-panel>summary::-webkit-details-marker{display:none}.cs-panel>summary:before{content:"";flex:none;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease;opacity:.6}.cs-panel[open]>summary:before{transform:translateY(-2px) rotate(45deg)}.cs-panel>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.cs-panel-title{font-weight:700;font-size:15px}.cs-panel-sum{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.cs-panel-body{display:grid;gap:10px;padding:2px 14px 14px}.cs-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.cs-note{margin:0;font-size:13px;line-height:1.45}.cs-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cs-field{display:grid;gap:4px}.cs-field>label{font-size:13px;font-weight:600}.cs-field select,.cs-field textarea,.cs-inline-field select,.cs-num input,.cs-hex,.cs-layer-rename{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;font-size:14px}.surface-light .cs-field select,.surface-light .cs-field textarea,.surface-light .cs-inline-field select,.surface-light .cs-num input,.surface-light .cs-hex,.surface-light .cs-layer-rename{border-color:#d5d9e3}.cs-inline-field select{width:auto}.cs-field textarea{resize:vertical}.cs-slider{display:grid;gap:2px;min-width:0}.cs-slider label{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:600}.cs-slider output{color:var(--muted);font-variant-numeric:tabular-nums}.cs-slider input{width:100%;accent-color:var(--ghost)}.cs-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cs-num{display:grid;gap:2px;min-width:0}.cs-num label{font-size:11px;font-weight:700;color:var(--muted)}.cs-num-box{display:flex;align-items:center;gap:4px}.cs-num input{padding:4px 6px;font-variant-numeric:tabular-nums}.cs-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cs-color{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}.cs-color input[type=color]{flex:none;width:34px;height:30px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer}.cs-color-label{font-size:13px;font-weight:600}.cs-hex{width:6.6em;padding:4px 6px;font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;font-size:13px}.cs-color.compact .cs-hex{width:6em}.cs-paint{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}.cs-paint legend{padding:0;margin-bottom:6px;font-size:13px;font-weight:600}.cs-seg{display:flex;flex-wrap:wrap;gap:4px}.cs-seg .chip{padding:4px 10px;background:transparent;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.cs-seg .chip.active{background:var(--ghost)}.cs-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;cursor:pointer}.cs-check input{flex:none;margin-top:2px;width:16px;height:16px;accent-color:var(--ghost)}.cs-check span{display:grid;gap:1px;min-width:0}.cs-check small{font-weight:400;font-size:12px}.cs-shadow{display:grid;gap:8px;padding-left:24px}.cs-align .tool,.cs-layer-actions .tool,.cs-panel-body>.cs-row>.tool{width:32px;height:32px;border-radius:8px}.cs-panel-body .tool.active{background:var(--ghost);color:var(--ghost-hover-fg);border-color:var(--ghost)}.cs-layers{display:grid;gap:2px;max-height:320px;margin:0;padding:0;overflow:auto;list-style:none}.cs-layer{display:flex;align-items:center;gap:4px;padding:2px 4px 2px 2px;border-radius:8px}.cs-layer:hover{background:#1a56a80f}.cs-layer.selected{background:#1a56a81f}.cs-layer.drop-above{box-shadow:inset 0 2px 0 var(--ghost)}.cs-layer.drop-below{box-shadow:inset 0 -2px 0 var(--ghost)}.cs-layer-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:3px 4px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.cs-layer-main:focus-visible{outline:2px solid var(--focus)}.cs-layer-thumb{position:relative;flex:none;width:34px;height:34px;border-radius:5px;border:1px solid var(--border);background:repeating-conic-gradient(rgba(0,0,0,.06) 0 25%,transparent 0 50%) 0 0 / 10px 10px,#f4f3ef;overflow:hidden}.cs-thumb{display:block;width:100%;height:100%}.cs-layer-kind{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:14px;height:14px;border-radius:4px 0 0;background:#ffffffeb;color:#1b2230}.cs-layer-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-layer.is-hidden .cs-layer-name,.cs-layer.is-hidden .cs-layer-thumb{opacity:.45}.cs-layer-rename{flex:1;padding:3px 6px}.cs-layer .tool.cs-mini{flex:none;width:28px;height:28px;box-shadow:none}.cs-wells{display:flex;align-items:center;gap:8px}.cs-well{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.cs-well.active{border-color:var(--ghost);box-shadow:inset 0 0 0 1px var(--ghost)}.cs-well span{flex:none;width:24px;height:24px;border-radius:6px;border:1px solid rgba(0,0,0,.25)}.cs-wells-mini{display:inline-flex;gap:3px}.cs-wells-mini i{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.25)}.cs-swatches{display:flex;flex-wrap:wrap;gap:6px}.cs-swatch{width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,.25);border-radius:50%;cursor:pointer;transition:transform .1s}.cs-swatch:hover{transform:scale(1.12)}.cs-swatch:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.cs-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%}.cs-picker-list{display:flex;gap:6px;max-width:100%;overflow-x:auto;padding:2px}.cs-picker-item{flex:none;width:46px;height:46px;padding:0;border:1px solid var(--border);border-radius:6px;background:#f4f3ef;overflow:hidden;cursor:grab}.cs-picker-item img{display:block;width:100%;height:100%;object-fit:cover}.cs-picker-item:hover,.cs-picker-item:focus-visible{outline:2px solid var(--ghost)}.cs-start{display:grid;gap:12px;justify-items:start}.cs-start .muted{margin:0}.cs-start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;width:100%}.cs-start-card{display:grid;align-content:start;gap:8px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.cs-start-card:hover:not(:disabled){border-color:var(--ghost);box-shadow:0 8px 22px #0a10201f}.cs-start-card:disabled{opacity:.55;cursor:default}.cs-start-card .muted{font-size:13px}.cs-start-art{display:block;width:min(150px,100%);aspect-ratio:3 / 4;border-radius:3px 8px 8px 3px;overflow:hidden;background:#dcdad4;box-shadow:0 6px 16px #0a102033}.cs-start-art img{display:block;width:100%;height:100%;object-fit:cover}.cs-start-none{display:grid;place-items:center;height:100%;font-size:12px;color:var(--muted)}.cd-image-actions{margin-top:4px}@media(max-width:1180px){.cs-editor{grid-template-columns:52px minmax(0,1fr)}.cs-panels{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}}@media(max-width:720px){.cs-editor{grid-template-columns:minmax(0,1fr)}.cs-tools{position:static;flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:100%}.cs-stage{width:100%;min-width:0}.cs-options .cs-slider{width:min(150px,100%)}.cs-savebar-actions{margin-left:0}.cs-mode{flex:1 1 140px}}.reader-tools{display:flex;align-items:center;gap:8px}.listen-toggle.active{background:var(--ghost);color:var(--ghost-hover-fg);border-color:var(--ghost)}.listen-player{position:fixed;left:50%;bottom:12px;transform:translate(-50%);width:min(960px,calc(100vw - 24px));z-index:45;display:grid;gap:8px;padding:10px 14px;border-radius:16px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:0 18px 44px #00000038;font-size:13px}.listen-modes{display:flex;gap:6px}.listen-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tool.listen-play{width:40px;height:40px;font-size:14px;background:var(--ghost);color:var(--ghost-hover-fg);border-color:var(--ghost)}.listen-step{width:30px;height:30px;font-size:18px;line-height:1}.listen-label{display:grid;min-width:140px;flex:1 1 160px;line-height:1.25}.listen-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.listen-title{font-weight:600}.listen-seek{flex:2 1 200px;accent-color:var(--ghost)}.listen-time{font-variant-numeric:tabular-nums;white-space:nowrap}.listen-voice,.listen-rate{max-width:200px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:13px}.listen-rate{max-width:80px}.listen-follow{font-size:13px}.listen-note{margin:0}.reader-body .is-speaking{background:#8bd3ff38;box-shadow:0 0 0 8px #8bd3ff38;border-radius:4px;transition:background .3s,box-shadow .3s}.reader-section.is-listening .marks-fab-wrap{bottom:96px}.rs-music{display:grid;gap:6px;padding-top:6px;border-top:1px dashed var(--border)}.rs-volume{display:flex;align-items:center;gap:8px;font-size:13px}.rs-volume input{flex:1 1 auto;accent-color:var(--ghost)}@media(max-width:600px){.listen-player{bottom:0;width:100vw;border-radius:16px 16px 0 0;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.listen-voice{max-width:140px}}.page-frame{--pf-frame-room: 0px;--pf-pad-x: calc(min(var(--page-margin), 7vw) + var(--pf-frame-room));--pf-pad-y: calc(min(var(--page-margin), 7vw) + .75rem + var(--pf-frame-room));--pf-c: var(--page-frame-color);--pf-inset: 9px;--pf-corner: 22px;position:relative;isolation:isolate;width:100%;max-width:calc(var(--page-measure) + 2 * var(--pf-pad-x));margin:0 auto;padding:var(--pf-pad-y) var(--pf-pad-x);background-color:var(--page-paper);color:var(--page-ink);font-family:var(--page-font);font-size:calc(var(--reader-size) * var(--page-size));line-height:var(--page-leading);border-radius:var(--page-radius);box-shadow:0 6px 20px #0000000f;overflow-wrap:break-word}.page-nav{display:flex;justify-content:flex-end;margin:0 auto 12px}.reader-settings-panel.open{max-height:calc(100vh - var(--header-h) - 80px);max-height:calc(100dvh - var(--header-h) - 80px);overflow-y:auto}.page-frame .reader-head{margin-bottom:1.2em}.page-frame .reader-kicker,.page-frame .muted:not(.pdrawer *),.page-frame .returning,.page-frame .returning-kicker{color:var(--page-muted)}.page-frame .returning-kicker{border-color:color-mix(in srgb,var(--page-muted) 45%,transparent)}.page-frame .reader-title,.page-frame .reader-body .text-heading{font-family:var(--page-heading-font);color:var(--page-ink)}.page-frame .reader-title{font-size:clamp(1.35em,4.2vw,1.8em);line-height:1.2}.page-frame .reader-body{background:none;border:0;border-radius:0;padding:0;box-shadow:none;font:inherit;line-height:inherit;color:inherit}.page-frame .reader-body a:not(.pdrawer *){color:var(--page-link);text-decoration-color:color-mix(in srgb,var(--page-link) 55%,transparent)}.page-frame .reader-body .term,.page-frame .returning .term{text-decoration-color:var(--page-muted)}.page-frame .reader-body .text-quote:not(.pdrawer *){border-left:3px solid var(--page-accent);color:var(--page-muted)}.page-frame .chapter-figure figcaption{color:var(--page-muted)}.page-frame .pgutter{text-indent:0;text-align:left;letter-spacing:normal;font-variant-caps:normal;text-transform:none}@media(min-width:861px){.page-frame .reader-body>*>.pgutter{right:calc(-1 * var(--pf-pad-x) - 36px)}.page-frame .reader-body li .pgutter{right:calc(-1 * var(--pf-pad-x) - 36px - 1.6em)}}.page-frame .pdrawer{text-indent:0;text-align:left;-webkit-hyphens:manual;hyphens:manual}.page-frame[data-align=justify] .reader-body>p,.page-frame[data-align=justify] .reader-body>.text-quote{text-align:justify}.page-frame[data-hyphens=true] .reader-body{-webkit-hyphens:auto;hyphens:auto}.page-frame[data-paragraphs=indent] .reader-body>p{margin:0;text-indent:1.5em}.page-frame[data-paragraphs=indent] .reader-body>p:first-child:not(.is-indented),.page-frame[data-paragraphs=indent] .reader-body>:is(.text-heading,.scene-break,.text-quote,.text-list,.chapter-figure)+p:not(.is-indented){text-indent:0}.page-frame[data-paragraphs=indent] .reader-body>.text-list{margin-top:.6em}.page-frame .reader-body>p:first-child:first-letter{float:none;padding:0;font-size:inherit;line-height:inherit;font-weight:inherit}.page-frame[data-drop-cap=true] .reader-body>p:first-of-type{display:flow-root}.page-frame[data-drop-cap=true] .reader-body>p:first-of-type:first-letter{float:left;padding:.06em .1em 0 0;font-family:var(--page-heading-font);font-size:3.15em;font-weight:700;line-height:.82;color:var(--page-accent)}.page-frame[data-heading-style=upper] :is(.reader-title,.text-heading){text-transform:uppercase;letter-spacing:.08em}.page-frame[data-heading-style=small-caps] :is(.reader-title,.text-heading){font-variant-caps:small-caps;letter-spacing:.04em}.page-frame[data-heading-style=ornate] :is(.reader-title,.text-heading):after{content:"";display:block;width:2.6em;height:2px;margin-top:.35em;border-radius:1px;background:var(--page-accent)}.page-frame .scene-break{color:var(--page-accent)}.page-frame .scene-break:before{content:var(--page-ornament);display:block;font-size:1.05em;letter-spacing:.25em;text-indent:.25em;line-height:1.2;white-space:pre}.page-frame[data-chapter-start=ornament] .reader-body:before{content:var(--page-ornament);display:block;margin:0 0 1em;text-align:center;color:var(--page-accent);font-size:1.2em;letter-spacing:.25em;text-indent:.25em;line-height:1.2;white-space:pre}.page-frame[data-chapter-start=rule] .reader-body:before{content:"";display:block;width:4em;height:2px;margin:0 auto 1.4em;border-radius:1px;background:var(--page-accent)}.page-frame[data-chapter-start=band] .reader-head{--pf-band-in: 0px;margin:calc(-1 * var(--pf-pad-y) + var(--pf-band-in)) calc(-1 * var(--pf-pad-x) + var(--pf-band-in)) 1.4em;padding:calc(var(--pf-pad-y) - var(--pf-band-in)) calc(var(--pf-pad-x) - var(--pf-band-in)) 1em;border-radius:max(0px,calc(var(--page-radius) - var(--pf-band-in))) max(0px,calc(var(--page-radius) - var(--pf-band-in))) 0 0;background:color-mix(in srgb,var(--page-accent) 13%,var(--page-paper));border-bottom:1px solid color-mix(in srgb,var(--page-accent) 35%,transparent)}:is(.page-frame,.pd-mini)[data-frame=thin]{border:1px solid var(--pf-c)}:is(.page-frame,.pd-mini)[data-frame=double]{border:4px double var(--pf-c)}:is(.page-frame,.pd-mini)[data-frame=rule]{border-top:2px solid var(--pf-c);border-bottom:2px solid var(--pf-c)}:is(.page-frame,.pd-mini)[data-frame=ornate]{border:4px double var(--pf-c);box-shadow:inset 0 0 0 calc(var(--pf-inset) - 3px) var(--page-paper),inset 0 0 0 calc(var(--pf-inset) - 2px) var(--pf-c),0 6px 20px #0000000f}.page-frame[data-frame=ornate],.page-frame[data-frame=corners]{--pf-frame-room: .6rem}.page-frame[data-frame=ornate]{--pf-corner: 28px}.page-frame[data-frame=ornate][data-chapter-start=band] .reader-head{--pf-band-in: var(--pf-inset)}:is(.page-frame,.pd-mini)[data-frame=ornate]:before,:is(.page-frame,.pd-mini)[data-frame=ornate]:after,:is(.page-frame,.pd-mini)[data-frame=corners]:before{content:"";position:absolute;inset:var(--pf-inset);pointer-events:none;border-radius:inherit}:is(.page-frame,.pd-mini)[data-frame=ornate]:before,:is(.page-frame,.pd-mini)[data-frame=ornate]:after{inset:calc(var(--pf-inset) - 2px)}:is(.page-frame,.pd-mini)[data-frame=ornate]:before{--r1: calc(var(--pf-corner) * .55);--r2: calc(var(--pf-corner) * .85);--rings: transparent 0 calc(var(--r1) - 1.5px), var(--pf-c) calc(var(--r1) - 1px) var(--r1), transparent calc(var(--r1) + .5px) calc(var(--r2) - 1.5px), var(--pf-c) calc(var(--r2) - 1px) var(--r2), transparent calc(var(--r2) + .5px);background:radial-gradient(circle at 0 0,var(--rings)) left top / var(--pf-corner) var(--pf-corner) no-repeat,radial-gradient(circle at 100% 0,var(--rings)) right top / var(--pf-corner) var(--pf-corner) no-repeat,radial-gradient(circle at 0 100%,var(--rings)) left bottom / var(--pf-corner) var(--pf-corner) no-repeat,radial-gradient(circle at 100% 100%,var(--rings)) right bottom / var(--pf-corner) var(--pf-corner) no-repeat}:is(.page-frame,.pd-mini)[data-frame=ornate]:after{--bead: calc(var(--pf-corner) * .3);--disc: var(--pf-c) 0 var(--bead), transparent calc(var(--bead) + .6px);background:radial-gradient(circle at 0 0,var(--disc)) left top / var(--pf-corner) var(--pf-corner) no-repeat,radial-gradient(circle at 100% 0,var(--disc)) right top / var(--pf-corner) var(--pf-corner) no-repeat,radial-gradient(circle at 0 100%,var(--disc)) left bottom / var(--pf-corner) var(--pf-corner) no-repeat,radial-gradient(circle at 100% 100%,var(--disc)) right bottom / var(--pf-corner) var(--pf-corner) no-repeat}:is(.page-frame,.pd-mini)[data-frame=corners]:before{--bar: 2px;background:linear-gradient(var(--pf-c),var(--pf-c)) left top / var(--pf-corner) var(--bar) no-repeat,linear-gradient(var(--pf-c),var(--pf-c)) left top / var(--bar) var(--pf-corner) no-repeat,linear-gradient(var(--pf-c),var(--pf-c)) right top / var(--pf-corner) var(--bar) no-repeat,linear-gradient(var(--pf-c),var(--pf-c)) right top / var(--bar) var(--pf-corner) no-repeat,linear-gradient(var(--pf-c),var(--pf-c)) left bottom / var(--pf-corner) var(--bar) no-repeat,linear-gradient(var(--pf-c),var(--pf-c)) left bottom / var(--bar) var(--pf-corner) no-repeat,linear-gradient(var(--pf-c),var(--pf-c)) right bottom / var(--pf-corner) var(--bar) no-repeat,linear-gradient(var(--pf-c),var(--pf-c)) right bottom / var(--bar) var(--pf-corner) no-repeat}:is(.page-frame,.pd-mini)[data-texture=grain]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.24 0 0 0 0 0.16 0.4 0 0 0 -0.12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:180px 180px}:is(.page-frame,.pd-mini)[data-texture=linen]{background-image:repeating-linear-gradient(0deg,rgba(120,100,70,.055) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(120,100,70,.045) 0 1px,transparent 1px 4px)}:is(.page-frame,.pd-mini)[data-texture=vellum]{background-image:radial-gradient(ellipse 38% 26% at 18% 20%,rgba(150,110,50,.08),transparent 70%),radial-gradient(ellipse 30% 34% at 84% 34%,rgba(150,110,50,.06),transparent 70%),radial-gradient(ellipse 46% 22% at 42% 70%,rgba(150,110,50,.06),transparent 70%),radial-gradient(ellipse 24% 20% at 76% 88%,rgba(150,110,50,.05),transparent 70%);background-size:100% 1100px;background-repeat:repeat-y}.pd-head{margin-bottom:20px}.pd-head .muted{margin:0}.pd-savebar{margin:8px 0 0;font-size:13px}.pd{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}@media(min-width:1000px){.pd{grid-template-columns:minmax(320px,410px) minmax(0,1fr)}.pd-preview{position:sticky;top:calc(var(--header-h) + 12px);max-height:calc(100vh - var(--header-h) - 24px);overflow:auto}}.pd-controls{display:grid;gap:14px;min-width:0}.pd-controls .panel+.panel{margin-top:0}.pd-section{display:grid;gap:14px}.pd-section .panel-title{margin:0;font-size:17px}.pd-group{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}.pd-group>legend,.pd-label{padding:0;font-size:13px;font-weight:600;color:var(--muted)}.pd-chips{display:flex;flex-wrap:wrap;gap:6px}.pd .chip,.rs-page .chip{cursor:pointer;font-family:inherit;padding:6px 11px;font-size:13px}.pd .chip:not(.active),.rs-page .chip:not(.active){background:transparent}.pd .chip.pd-face{font-family:var(--face);font-weight:500;font-size:14px}.pd .chip:focus-visible,.pd-preset:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pd-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.pd-preset{display:grid;gap:6px;padding:6px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.pd-preset:hover{border-color:var(--ghost)}.pd-preset.active{border-color:var(--ghost);box-shadow:0 0 0 2px var(--ghost)}.pd-preset-name{font-size:13px;font-weight:700}.pd-swatch{display:grid;align-content:start;gap:4px;height:74px;padding:8px 9px;border-radius:6px;background-color:var(--page-paper);color:var(--page-ink);overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.pd-swatch-title{font-family:var(--page-heading-font);font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-swatch-line{display:block;height:3px;border-radius:2px;background:currentColor;opacity:.55}.pd-swatch-line.short{width:62%}.pd-swatch-line.accent{width:30%;margin:2px auto 0;background:var(--page-accent);opacity:1}.pd-mini{--pf-c: var(--page-frame-color);--pf-inset: 3px;--pf-corner: 9px;position:relative;display:inline-block;flex:none;width:30px;height:38px;border-radius:3px;background-color:var(--page-paper);box-shadow:inset 0 0 0 1px #0000000f}.pd-mini[data-frame=ornate]{border-width:3px}.pd .chip.pd-pick{gap:8px;padding:4px 10px 4px 4px;border-radius:10px}.pd-colour{display:grid;grid-template-columns:74px 40px minmax(0,1fr);align-items:center;gap:8px}.pd-colour .pd-label{color:var(--text);font-weight:600}.pd-colour input[type=color]{width:40px;height:32px;padding:2px;border-radius:8px;border:1px solid var(--border);background:transparent;cursor:pointer}.pd-colour input[type=text],.pd-text{width:100%;min-width:0;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:14px}.surface-light .pd-colour input[type=text],.surface-light .pd-text{background:#fff;border-color:#d5d9e3}.pd-colour input[type=text]{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.pd-colour input[aria-invalid=true]{border-color:#c0392b}.pd-contrast{display:grid;gap:6px;margin:0;padding:10px 12px;border-radius:10px;border:1px dashed var(--border);font-size:13px}.pd-contrast-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.pd-contrast-sample{display:inline-grid;place-items:center;min-width:46px;padding:2px 8px;border-radius:6px;font-weight:700;box-shadow:inset 0 0 0 1px #0000001f}.pd-contrast-ok{color:#136b3a;font-weight:600}.pd-contrast-warn{flex-basis:100%;color:#a12f2f;font-weight:600}.pd-slider{display:grid;gap:4px}.pd-slider-head{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}.pd-slider-head output{color:var(--text);font-variant-numeric:tabular-nums}.pd-slider input[type=range],.pd-check input{accent-color:var(--ghost)}.pd-slider input[type=range]{width:100%}.pd-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.pd-checks{display:flex;flex-wrap:wrap;gap:6px 18px}.pd-ornament{font-size:15px;min-width:40px;justify-content:center}.pd-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pd-preview{min-width:0}.pd-preview-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}.pd-preview-head .panel-title{margin:0;font-size:17px}.pd-preview .reader{max-width:none}.pd-mode{display:grid;gap:8px}.pd-mode .radio{text-transform:none;border-radius:10px}.my-page-mode{margin-bottom:16px}.page-note{margin:0;font-size:14px}.rs-page{display:grid;gap:8px;padding-top:8px;border-top:1px dashed var(--border)}.rs-page-title{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.rs-radio{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.35;cursor:pointer}.rs-radio input{margin:2px 0 0;accent-color:var(--ghost)}.rs-page-book{display:grid;gap:6px}.rs-page-now{margin:0;font-size:12px;font-weight:600;color:var(--text)}.rs-page-now:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--ghost);vertical-align:1px}.guide{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start;max-width:1180px}.guide-lessons{min-width:0}.guide-intro{font-size:17px;line-height:1.6;max-width:68ch}.guide-cheat{width:100%;border-collapse:collapse;margin:22px 0 4px;font-size:14px}.guide-cheat th,.guide-cheat td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}.guide-cheat th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.guide-cheat code,.guide-type,.guide-pad textarea{font-family:ui-monospace,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace}.guide-cheat code{font-size:13px;padding:1px 6px;border-radius:4px;background:var(--field-bg);border:1px solid var(--border);white-space:pre}.guide-inline{display:inline}.guide-inline p{display:inline;margin:0}.guide-step{margin-top:36px}.guide-step h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 6px;font-size:20px}.guide-step>p{margin:0 0 6px;max-width:68ch}.guide-tag{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--ghost);color:var(--ghost-hover-fg)}.guide-example{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 8px;align-items:stretch}.guide-label{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.guide-type{margin:0;padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--field-bg);font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.guide-see{padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:16px;line-height:1.6}.guide-see>*{margin:0}.guide-see>*+*{margin-top:.75em}.guide-see p{white-space:pre-line}.guide-see .text-heading{line-height:1.25;font-weight:700}.guide-see .text-heading.level-1{font-size:1.5em}.guide-see .text-heading.level-2{font-size:1.25em}.guide-see .text-heading.level-3{font-size:1.08em}.guide-see .text-quote{padding:2px 0 2px 14px;border-left:3px solid var(--border);white-space:pre-line;font-style:italic}.guide-see .text-list{padding-left:1.5em}.guide-see .scene-break{border:0;height:auto;text-align:center;margin:.9em 0}.guide-see .scene-break:before{content:"* * *";letter-spacing:.5em;color:var(--muted)}.guide-see a{color:inherit;text-decoration:underline;text-underline-offset:.15em}.guide-note{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--muted);max-width:72ch}.guide-points{margin:8px 0 0;padding-left:1.2em;max-width:72ch;line-height:1.6}.guide-points li+li{margin-top:8px}.guide-pad{position:sticky;top:calc(var(--header-h) + 16px);display:flex;flex-direction:column;max-height:calc(100vh - var(--header-h) - 32px);padding:14px 16px 16px;border-radius:12px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow)}.guide-pad-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:none}.guide-pad-head h2{margin:0 0 2px;font-size:18px}.guide-pad-head p{margin:0 0 10px;font-size:13px;line-height:1.45}.guide-pad-toggle,.guide-pad-view{display:none}.guide-pad-body{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1 1 auto}.guide-pad-write{display:flex;flex-direction:column;flex:none}.guide-pad textarea{width:100%;height:220px;min-height:120px;resize:vertical;padding:10px 12px;border-radius:0 0 8px 8px;border:1px solid var(--border);background:var(--field-bg);color:var(--text);font-size:13.5px;line-height:1.55}.guide-pad textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.guide-pad-see{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.guide-pad-see-scroll{min-height:0;overflow:auto;flex:1 1 auto}.guide-pad-see .guide-see{font-size:15px}@media(max-width:1100px)and (min-width:901px){.guide-example{grid-template-columns:1fr}}@media(max-width:900px){.guide{grid-template-columns:minmax(0,1fr);padding-bottom:88px}.guide.pad-open{padding-bottom:66vh}.guide-pad{position:fixed;inset:auto 0 0;z-index:30;max-height:64vh;margin:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;border-width:1px 0 0;box-shadow:0 -8px 28px #0000002e}.guide-pad-head{align-items:center}.guide-pad-head p{margin:0}.guide-pad:not(.is-open) .guide-pad-head p{display:none}.guide-pad-toggle{display:inline-flex;flex:none}.guide-pad-view{display:inline-flex}.guide-pad:not(.is-open) .guide-pad-body{display:none}.guide-pad.is-open .guide-pad-head{margin-bottom:10px}.guide-pad textarea{height:34vh}.guide-pad[data-view=see] .guide-pad-write textarea,.guide-pad[data-view=write] .guide-pad-see{display:none}.guide-pad[data-view=see] .guide-pad-see{max-height:36vh}}@media(max-width:720px){.guide-example{grid-template-columns:1fr}}.toolbar-help{margin-left:auto;font-size:12px;text-decoration:none;white-space:nowrap}.report{display:inline-block;font-size:13px}.report-link{color:var(--muted);font-size:13px}.report-link:hover{color:var(--text)}.report-thanks{font-size:13px}.report-form{display:grid;gap:10px;width:min(100%,440px);margin:8px 0 4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);text-align:left}.report-form .field{display:grid;gap:4px;font-size:13px}.report-form select,.report-form textarea{width:100%;font:inherit;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--field-bg);color:var(--text)}.report-lead{margin:0;font-size:13px;color:var(--muted)}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.reader-foot .report,.book-aside .report,.thread-head .report{margin-top:8px}.comment-actions .report{margin-left:auto}.legal{max-width:760px}.legal h2{margin:30px 0 8px;font-size:19px}.legal p,.legal li{line-height:1.65}.legal ul{padding-left:1.3em}.legal li+li{margin-top:6px}.legal-updated{margin:-6px 0 18px;font-size:14px}.consent-line{margin:10px 0 0;font-size:13px;color:var(--muted);line-height:1.5}.mod{max-width:960px}.mod-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.mod-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.mod-card{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.mod-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;font-size:13px;color:var(--muted)}.mod-kind{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--ghost);color:var(--ghost-hover-fg);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.mod-reason{font-weight:600;color:var(--text)}.mod-target{margin:8px 0 0;font-size:15px}.mod-target a{font-weight:600}.mod-excerpt{margin:6px 0 0;padding:8px 12px;border-left:3px solid var(--border);font-size:14px;color:var(--text);white-space:pre-wrap}.mod-details{margin:8px 0 0;font-size:14px;white-space:pre-wrap}.mod-owner{margin:8px 0 0;font-size:13px;color:var(--muted)}.mod-flag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;background:#fff1f0;color:#a3161d}.mod-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px}.mod-form .wide{grid-column:1 / -1}.mod-form .field{display:grid;gap:4px}.mod-form select,.mod-form input,.mod-form textarea{width:100%;font:inherit;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--field-bg);color:var(--text)}.mod-form .rs-switch{align-self:end}.mod-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mod-done{margin:10px 0 0;font-size:13px;color:var(--muted)}.mod-trace{margin-top:24px}.mod-trace>summary{cursor:pointer;font-weight:600}.mod-trace>p.muted{margin:10px 0 0;font-size:14px;line-height:1.5}@media(max-width:640px){.mod-form{grid-template-columns:1fr}}.rights-pick{display:grid;gap:6px;margin:8px 0 0;font-size:13px}.rights-pick legend{font-weight:600;padding:0;margin-bottom:2px}.rights-pick label{display:flex;gap:8px;align-items:baseline}.rights-pick input[type=text]{width:100%;font:inherit;padding:5px 8px;border-radius:6px;border:1px solid var(--border);background:var(--field-bg);color:var(--text)}.attest{margin:10px 0 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-size:14px}.attest p{margin:0 0 8px}.attest label{display:flex;gap:10px;align-items:flex-start;line-height:1.45}.attest .mod-actions{margin-top:10px}.notice-down{margin:10px 0 0;padding:10px 14px;border-radius:10px;border:1px solid #f1c3c3;background:#fff5f5;color:#7a1c1c;font-size:14px}:root:not([data-theme=light]) .notice-down{background:#a01e1e2e;border-color:#dc5a5a66;color:#ffd6d6}.bell{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;color:inherit;text-decoration:none}.bell:hover{background:#ffffff1a}.bell-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d9262e;color:#fff;font:700 11px/18px system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-align:center}.section-title.left{text-align:left}.section-title.left:after{margin-left:0}.author-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px}.author-bio{max-width:68ch;white-space:pre-line;line-height:1.6}.author-actions{display:grid;gap:8px;justify-items:end}.author-note{margin:0 0 20px;font-size:14px}.book-actions .btn[aria-pressed=true]{opacity:.85}.followers-note{font-size:13px}.updates{max-width:820px}.updates-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.updates-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.update-link{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:inherit;text-decoration:none}.update-link:hover{border-color:var(--ghost)}.update-dot{width:10px;height:10px;border-radius:50%;background:transparent}.update-row.unread .update-dot{background:#d9262e}.update-row.unread .update-title{font-weight:700}.update-main{display:grid;gap:2px;min-width:0}.update-text{color:var(--muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-when{font-size:12px;white-space:nowrap}.following{margin-top:24px}.follow-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:14px}.follow-list li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.follow-list .link-button{margin-left:auto;font-size:13px}.status-pill.scheduled{background:#e4efff;color:#1d4ed8;margin-left:6px}.schedule-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}.schedule-row input[type=datetime-local],.schedule-panel input[type=datetime-local],.schedule-panel input[type=number]{font:inherit;padding:5px 8px;border-radius:6px;border:1px solid var(--border);background:var(--field-bg);color:var(--text)}.schedule-panel{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:14px}.schedule-panel .schedule-fields{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:8px 0}.schedule-panel .field{gap:4px;font-size:13px}.schedule-preview{margin:8px 0;padding-left:1.2em;font-size:13px;color:var(--muted)}.schedule-note{margin:6px 0 0;font-size:12px;color:var(--muted)}@media(max-width:640px){.update-link{grid-template-columns:12px minmax(0,1fr)}.update-when{grid-column:2}}
