:root{--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: clamp(1.625rem, 4vw, 2.25rem);--text-4xl: clamp(2rem, 5vw, 3rem);--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-display: -.03em;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4.5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-instant: 80ms;--duration-fast: .14s;--duration-base: .22s;--focus-ring-width: 2px;--focus-ring-offset: 2px;--interaction-hover-duration: var(--duration-fast);--interaction-hover-ease: var(--ease-out)}:root,[data-theme=light]{--color-bg: #f5f2eb;--color-bg-elevated: #faf8f4;--color-surface: #fffcf7;--color-surface-hover: #fffaf2;--color-border: rgb(28 25 23 / 10%);--color-border-strong: rgb(28 25 23 / 16%);--color-ink: #1c1917;--color-ink-secondary: #44403c;--color-ink-muted: #78716c;--color-ink-faint: #a8a29e;--color-accent: #0f766e;--color-accent-hover: #0d9488;--color-accent-muted: rgb(15 118 110 / 12%);--color-accent-foreground: #f0fdfa;--color-danger: #b91c1c;--color-danger-muted: rgb(185 28 28 / 10%);--color-success: #15803d;--color-selection-bg: rgb(15 118 110 / 18%);--color-selection-fg: var(--color-ink);--color-link-hover-fg: color-mix(in srgb, var(--color-accent-hover) 68%, var(--color-ink));--color-link-chip-bg: color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-elevated));--color-link-chip-hover-bg: color-mix(in srgb, var(--color-accent) 36%, var(--color-bg-elevated));--color-button-outline-hover-bg: color-mix( in srgb, var(--color-ink) 5%, var(--color-bg-elevated) );--color-button-outline-hover-border: var(--color-border-strong);--shadow-xs: 0 1px 2px rgb(28 25 23 / 5%);--shadow-sm: 0 2px 8px rgb(28 25 23 / 6%), 0 1px 2px rgb(28 25 23 / 4%);--shadow-md: 0 8px 24px rgb(28 25 23 / 8%), 0 2px 6px rgb(28 25 23 / 5%);--shadow-lg: 0 24px 48px rgb(28 25 23 / 10%), 0 8px 16px rgb(28 25 23 / 6%);--overlay-scrim: rgb(28 25 23 / 40%);--image-grain: none;color-scheme:light}[data-theme=dark]{--color-bg: #0c0a09;--color-bg-elevated: #141211;--color-surface: #1c1917;--color-surface-hover: #292524;--color-border: rgb(245 245 244 / 9%);--color-border-strong: rgb(245 245 244 / 14%);--color-ink: #fafaf9;--color-ink-secondary: #e7e5e4;--color-ink-muted: #a8a29e;--color-ink-faint: #78716c;--color-accent: #2dd4bf;--color-accent-hover: #5eead4;--color-accent-muted: rgb(45 212 191 / 14%);--color-accent-foreground: #042f2e;--color-danger: #f87171;--color-danger-muted: rgb(248 113 113 / 12%);--color-success: #4ade80;--color-selection-bg: rgb(45 212 191 / 22%);--color-selection-fg: var(--color-ink);--color-link-hover-fg: color-mix(in srgb, var(--color-accent-hover) 78%, #ffffff);--color-link-chip-bg: color-mix(in srgb, var(--color-accent) 14%, var(--color-bg-elevated));--color-link-chip-hover-bg: color-mix(in srgb, var(--color-accent) 42%, var(--color-bg-elevated));--color-button-outline-hover-bg: color-mix( in srgb, var(--color-ink) 7%, var(--color-bg-elevated) );--color-button-outline-hover-border: var(--color-border-strong);--shadow-xs: 0 1px 2px rgb(0 0 0 / 35%);--shadow-sm: 0 2px 12px rgb(0 0 0 / 45%), 0 1px 2px rgb(0 0 0 / 35%);--shadow-md: 0 12px 32px rgb(0 0 0 / 55%), 0 4px 12px rgb(0 0 0 / 40%);--shadow-lg: 0 32px 64px rgb(0 0 0 / 60%), 0 12px 24px rgb(0 0 0 / 45%);--overlay-scrim: rgb(0 0 0 / 55%);--bg-pattern: radial-gradient( circle at 50% -10%, color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 70% ), radial-gradient( circle at 80% 80%, color-mix(in srgb, var(--color-ink) 8%, transparent), transparent 50% );color-scheme:dark}@media(prefers-color-scheme:dark){:root[data-theme=auto]{--color-bg: #0c0a09;--color-bg-elevated: #141211;--color-surface: #1c1917;--color-surface-hover: #292524;--color-border: rgb(245 245 244 / 9%);--color-border-strong: rgb(245 245 244 / 14%);--color-ink: #fafaf9;--color-ink-secondary: #e7e5e4;--color-ink-muted: #a8a29e;--color-ink-faint: #78716c;--color-accent: #2dd4bf;--color-accent-hover: #5eead4;--color-accent-muted: rgb(45 212 191 / 14%);--color-accent-foreground: #042f2e;--color-danger: #f87171;--color-danger-muted: rgb(248 113 113 / 12%);--color-success: #4ade80;--color-selection-bg: rgb(45 212 191 / 22%);--color-selection-fg: var(--color-ink);--color-link-hover-fg: color-mix(in srgb, var(--color-accent-hover) 78%, #ffffff);--color-link-chip-bg: color-mix(in srgb, var(--color-accent) 14%, var(--color-bg-elevated));--color-link-chip-hover-bg: color-mix( in srgb, var(--color-accent) 42%, var(--color-bg-elevated) );--color-button-outline-hover-bg: color-mix( in srgb, var(--color-ink) 7%, var(--color-bg-elevated) );--color-button-outline-hover-border: var(--color-border-strong);--shadow-xs: 0 1px 2px rgb(0 0 0 / 35%);--shadow-sm: 0 2px 12px rgb(0 0 0 / 45%), 0 1px 2px rgb(0 0 0 / 35%);--shadow-md: 0 12px 32px rgb(0 0 0 / 55%), 0 4px 12px rgb(0 0 0 / 40%);--shadow-lg: 0 32px 64px rgb(0 0 0 / 60%), 0 12px 24px rgb(0 0 0 / 45%);--overlay-scrim: rgb(0 0 0 / 55%);--bg-pattern: radial-gradient( circle at 50% -10%, color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 70% ), radial-gradient( circle at 80% 80%, color-mix(in srgb, var(--color-ink) 8%, transparent), transparent 50% );color-scheme:dark}}@media(prefers-color-scheme:light){:root[data-theme=auto]{color-scheme:light}}.bookleg-btn{box-sizing:border-box;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;margin:0;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);cursor:pointer;border-style:solid;border-width:1px;text-decoration:none;transition:background-color var(--interaction-hover-duration) var(--interaction-hover-ease),border-color var(--interaction-hover-duration) var(--interaction-hover-ease),color var(--interaction-hover-duration) var(--interaction-hover-ease),filter var(--interaction-hover-duration) var(--interaction-hover-ease)}.bookleg-btn:disabled{opacity:.65;cursor:not-allowed}.bookleg-btn--nav{border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);background:transparent;color:var(--color-ink-secondary)}.bookleg-btn--ghost{border-top:1px solid var(--color-border-strong);border-right:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-strong);border-left:1px solid var(--color-border-strong);background:transparent;color:var(--color-ink-secondary);border-radius:var(--radius-full)}.bookleg-btn--page-link{border-color:transparent;background:transparent;color:var(--color-ink-secondary);font-weight:500}.bookleg-btn--page-link--active{position:relative;color:var(--color-ink);font-weight:600;text-decoration:none;cursor:default}.bookleg-btn--page-link--active:after{content:"";position:absolute;left:var(--space-md);right:var(--space-md);bottom:var(--space-3xs);height:2px;border-radius:1px;background:var(--color-accent);pointer-events:none}.bookleg-btn--action{border-color:transparent;background:var(--color-accent);color:var(--color-accent-foreground);font-weight:600;border-radius:var(--radius-full)}.bookleg-btn--action-strong{background:color-mix(in srgb,var(--color-accent) 88%,#000 12%);border-radius:var(--radius-full)}@media(hover:hover){.bookleg-btn--nav:hover:not(:disabled),.bookleg-btn--page-link:hover:not(:disabled){background:var(--color-button-outline-hover-bg);border-color:var(--color-button-outline-hover-border);color:var(--color-ink)}.bookleg-btn--page-link--active:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--color-ink)}.bookleg-btn--ghost:hover:not(:disabled){background:var(--color-button-outline-hover-bg);border-color:var(--color-border-strong);color:var(--color-ink)}.bookleg-btn--action:hover:not(:disabled){background:var(--color-accent-hover)}.bookleg-btn--action-strong:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent-hover) 84%,#000 16%)}.bookleg-btn--text:hover:not(:disabled){background:var(--color-button-outline-hover-bg);color:var(--color-link-hover-fg);border-color:transparent}.bookleg-btn--text-reader:hover:not(:disabled){background:color-mix(in srgb,var(--reader-ink, var(--color-ink)) 8%,transparent);color:var(--reader-ink, var(--color-ink));border-color:transparent}}.bookleg-btn--text{border-color:transparent;background:transparent;color:var(--color-accent);font-weight:600}.bookleg-btn--text-reader{border-color:transparent;background:transparent;color:var(--reader-ink, var(--color-accent));font-weight:600}.bookleg-btn--drawer{display:flex;width:100%;align-items:center;min-height:44px;padding:var(--space-md);border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;color:var(--color-ink-secondary);text-align:left}.bookleg-btn--drawer--active{position:relative;background:var(--color-surface);font-weight:600;color:var(--color-ink);text-decoration:none;cursor:default}.bookleg-btn--drawer--active:after{content:"";position:absolute;left:var(--space-md);right:var(--space-md);bottom:var(--space-xs);height:2px;border-radius:1px;background:var(--color-accent);pointer-events:none}.bookleg-btn--drawer-primary{margin-top:var(--space-xs);justify-content:center;font-weight:600;background:var(--color-accent);color:var(--color-accent-foreground)}@media(hover:hover){.bookleg-btn--drawer:hover:not(:disabled):not(.bookleg-btn--drawer--active){background:var(--color-button-outline-hover-bg)}.bookleg-btn--drawer--active:hover:not(:disabled){background:var(--color-surface)}.bookleg-btn--drawer-primary:hover:not(:disabled){background:var(--color-accent-hover)}}.bookleg-btn--icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-ink-secondary);cursor:pointer}@media(hover:hover){.bookleg-btn--icon:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-button-outline-hover-border);color:var(--color-ink)}}.bookleg-btn--reader-choice{display:block;width:100%;text-align:left;font-size:var(--text-base);font-weight:500;padding:var(--space-md);border-color:var(--reader-border, var(--color-border));background:var(--reader-elevated, var(--color-bg-elevated));color:var(--reader-ink, var(--color-ink))}.bookleg-btn.bookleg-btn--reader-choice.bookleg-btn--reader-choice--selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--reader-elevated, var(--color-bg-elevated)));color:var(--reader-ink, var(--color-ink))}@media(hover:hover){.bookleg-btn--reader-choice:hover:not(:disabled){background:color-mix(in srgb,var(--reader-ink, var(--color-ink)) 6%,var(--reader-elevated, var(--color-bg-elevated)));border-color:var(--reader-muted, var(--color-button-outline-hover-border));color:var(--reader-ink, var(--color-ink))}}.bookleg-btn--reader-choice-auto{display:block;width:100%;text-align:left;font-size:var(--text-sm);font-weight:600;padding:var(--space-sm) var(--space-md);border-style:dashed;border-width:1px;border-color:color-mix(in srgb,var(--color-accent) 42%,var(--reader-border, var(--color-border)));background:color-mix(in srgb,var(--color-accent) 7%,var(--reader-elevated, var(--color-bg-elevated)));color:var(--reader-muted, var(--color-ink-secondary))}.bookleg-btn.bookleg-btn--reader-choice-auto.bookleg-btn--reader-choice-auto--selected{border-style:solid;border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,var(--reader-elevated, var(--color-bg-elevated)));color:var(--reader-ink, var(--color-ink))}@media(hover:hover){.bookleg-btn--reader-choice-auto:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-accent) 55%,var(--reader-border, var(--color-border)));background:color-mix(in srgb,var(--color-accent) 11%,var(--reader-elevated, var(--color-bg-elevated)));color:var(--reader-ink, var(--color-ink))}}select.bookleg-select-field{width:100%;box-sizing:border-box;margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-ink);cursor:pointer;transition:background-color var(--interaction-hover-duration) var(--interaction-hover-ease),border-color var(--interaction-hover-duration) var(--interaction-hover-ease),box-shadow var(--interaction-hover-duration) var(--interaction-hover-ease)}select.bookleg-select-field:disabled{opacity:.65;cursor:not-allowed}@media(hover:hover){select.bookleg-select-field:hover:not(:disabled){background:var(--color-button-outline-hover-bg);border-color:var(--color-button-outline-hover-border)}}a.bookleg-link{display:inline-block;color:var(--color-accent);text-decoration:none;cursor:pointer;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);box-shadow:0 0 0 1px transparent;transition:color var(--interaction-hover-duration) var(--interaction-hover-ease),background-color var(--interaction-hover-duration) var(--interaction-hover-ease),box-shadow var(--interaction-hover-duration) var(--interaction-hover-ease)}a.bookleg-link:visited{color:var(--color-accent)}a.bookleg-link.bookleg-link--muted,a.bookleg-link.bookleg-link--muted:visited{color:var(--color-ink-secondary)}a.bookleg-link.bookleg-link--pill{border-radius:var(--radius-full);background-color:var(--color-link-chip-bg);box-shadow:0 0 0 1px transparent}@media(hover:hover){a.bookleg-link:hover,a.bookleg-link:visited:hover{color:var(--color-link-hover-fg);box-shadow:0 0 0 1px var(--color-button-outline-hover-border)}a.bookleg-link.bookleg-link--pill:hover{background-color:var(--color-link-chip-hover-bg);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 38%,var(--color-border))}}.bookleg-dropdown{position:relative}.bookleg-dropdown-panel{position:absolute;top:calc(100% + var(--space-xs));margin:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);z-index:50}.bookleg-dropdown-panel--align-end{right:0}.bookleg-dropdown-panel--align-start{left:0}.bookleg-dropdown-panel--up{top:auto;bottom:calc(100% + var(--space-xs))}.bookleg-dropdown-panel--tight{padding:var(--space-3xs);min-width:12.5rem;max-height:min(70dvh,20rem);overflow-y:auto}ul.bookleg-dropdown-panel--tight{list-style:none}.bookleg-dropdown-panel--comfortable{padding:var(--space-sm);width:min(20rem,calc(100vw - var(--space-lg) * 2))}.bookleg-dropdown-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-md);margin:0;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-tight);color:var(--color-ink-muted);text-align:left;box-sizing:border-box;transition:background-color var(--interaction-hover-duration) var(--interaction-hover-ease),color var(--interaction-hover-duration) var(--interaction-hover-ease),box-shadow var(--interaction-hover-duration) var(--interaction-hover-ease)}.bookleg-dropdown-option:disabled{opacity:.65;cursor:not-allowed}.bookleg-dropdown-option--selected{background:var(--color-surface);font-weight:600;color:var(--color-ink);box-shadow:var(--shadow-xs);cursor:default}@media(hover:hover){.bookleg-dropdown-option:hover:not(:disabled):not(.bookleg-dropdown-option--selected){background:var(--color-button-outline-hover-bg);color:var(--color-ink)}.bookleg-dropdown-option--selected:hover:not(:disabled){background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-xs)}}@keyframes bookleg-spinner-spin{to{transform:rotate(360deg)}}.bookleg-spinner{display:inline-block;box-sizing:border-box;flex-shrink:0;vertical-align:middle;border-style:solid;border-radius:50%;border-color:color-mix(in srgb,var(--color-accent) 22%,var(--color-border));border-top-color:var(--color-accent);animation:bookleg-spinner-spin .65s linear infinite}.bookleg-spinner--sm{width:.875rem;height:.875rem;border-width:2px}.bookleg-spinner--md{width:1.125rem;height:1.125rem;border-width:2px}.bookleg-spinner--lg{width:1.5rem;height:1.5rem;border-width:3px}.bookleg-spinner--inverse{border-color:color-mix(in srgb,var(--color-accent-foreground) 32%,transparent);border-top-color:var(--color-accent-foreground)}@media(prefers-reduced-motion:reduce){.bookleg-spinner{animation-duration:1.6s}}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:100%;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:light dark}body{margin:0;min-height:100dvh;background-color:var(--color-bg);background-image:var(--bg-pattern, none);color:var(--color-ink);transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}::selection{background:var(--color-selection-bg);color:var(--color-selection-fg)}:focus{outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bookleg-standard-page-bg: linear-gradient( 165deg, color-mix(in srgb, var(--color-accent) 16%, var(--color-bg)) 0%, color-mix(in srgb, var(--color-accent) 7%, var(--color-bg)) 32%, color-mix(in srgb, var(--color-accent) 2%, var(--color-bg)) 56%, var(--color-bg) 100% )}.cookie-banner{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:2000;padding:var(--space-md) var(--space-xl);background:#0a0a0f;border-top:2px solid transparent;border-image:linear-gradient(90deg,#14b8a6,#6366f1) 1;box-shadow:0 -8px 48px #0006;display:flex;flex-direction:column;gap:var(--space-md);animation:cookie-banner-slide-up .5s cubic-bezier(.16,1,.3,1)}@keyframes cookie-banner-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-banner--hidden{display:none}.cookie-banner-content{display:flex;flex-direction:column;gap:var(--space-2xs)}.cookie-banner-title{margin:0;font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:#fafaf9}.cookie-banner-body{margin:0;font-size:var(--text-sm);line-height:1.5;color:#a8a29e}.cookie-banner-actions{display:flex;align-items:center;gap:var(--space-md);justify-content:flex-end;flex-wrap:wrap}.cookie-banner-btn{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;padding:.5rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;border:1px solid transparent}.cookie-banner-btn--primary{background:#4f46e5;color:#fff}.cookie-banner-btn--primary:hover{background:#4f46e5;transform:translateY(-1px)}.cookie-banner-btn--secondary{background:transparent;color:#14b8a6;border-color:#14b8a6}.cookie-banner-btn--secondary:hover{background:#14b8a61a}@media(min-width:40rem){.cookie-banner{flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);gap:var(--space-xl)}.cookie-banner-content{flex:1}}@media(max-width:48rem){.cookie-banner{bottom:var(--space-lg)}}.feedback-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--overlay-scrim);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:feedback-fade-in var(--duration-base) var(--ease-out)}.feedback-dialog-panel{width:min(32rem,100%);max-height:min(90dvh,40rem);overflow:auto;padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:feedback-slide-up var(--duration-base) var(--ease-out);position:relative}@keyframes feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes feedback-slide-up{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-dialog-title{margin:0 0 var(--space-xs);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-ink);line-height:var(--leading-tight)}.feedback-dialog-body{margin:0 0 var(--space-lg);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-ink-muted)}.feedback-dialog-fields{display:flex;flex-direction:column;gap:var(--space-md)}.feedback-dialog-field{display:flex;flex-direction:column;gap:var(--space-2xs)}.feedback-dialog-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-muted)}.feedback-dialog-input,.feedback-dialog-textarea{width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.feedback-dialog-input:focus,.feedback-dialog-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 var(--focus-ring-width) var(--color-accent-muted)}.feedback-dialog-textarea{min-height:8rem;resize:vertical}.feedback-dialog-limit{align-self:flex-end;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-ink-faint)}.feedback-dialog-field-hint{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-ink-muted);padding:var(--space-xs) var(--space-md);background:var(--color-accent-muted);border-radius:var(--radius-sm);display:inline-flex;align-items:center}.feedback-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xl)}.feedback-dialog-cancel{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-ink-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.feedback-dialog-cancel:hover:not(:disabled){background:var(--color-button-outline-hover-bg)}.feedback-dialog-submit{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);border:none;background:var(--color-accent);color:var(--color-accent-foreground);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-xs);transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.feedback-dialog-submit:hover:not(:disabled){background:var(--color-accent-hover)}.feedback-dialog-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-dialog-error{margin-top:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--color-danger-muted);color:var(--color-danger);font-family:var(--font-sans);font-size:var(--text-xs)}.feedback-dialog-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) 0}.feedback-dialog-success-icon{width:4rem;height:4rem;background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:var(--space-md);animation:feedback-pop var(--duration-base) var(--ease-spring)}@keyframes feedback-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.feedback-dialog-success-text{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);margin:0}.about-page{background:var(--bookleg-standard-page-bg);color:var(--color-ink);overflow-x:hidden;min-height:100dvh}.about-hero{position:relative;padding:var(--space-4xl) 0;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--color-border) 40%,transparent);background:linear-gradient(170deg,color-mix(in srgb,var(--color-accent) 12%,var(--color-bg)) 0%,color-mix(in srgb,var(--color-accent) 4%,var(--color-bg)) 45%,var(--color-bg) 100%)}.about-hero:after{content:"";position:absolute;top:-10%;right:-10%;width:40rem;height:40rem;background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 8%,transparent) 0%,transparent 70%);filter:blur(80px);z-index:1;pointer-events:none}.about-hero__inner{max-width:64rem;margin:0 auto;padding:0 var(--space-lg);text-align:center;position:relative;z-index:2}.about-hero__eyebrow{display:inline-block;margin-bottom:var(--space-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent-muted) 35%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);border-radius:var(--radius-full)}.about-hero__title{margin-bottom:var(--space-lg);font-family:var(--font-display);font-size:clamp(2.75rem,8vw,4.5rem);line-height:1.05;font-weight:700;letter-spacing:-.04em;color:var(--color-ink)}.about-hero__subhead{max-width:42ch;margin:0 auto;font-size:clamp(1.125rem,3vw,1.35rem);line-height:1.5;color:var(--color-ink-secondary);font-weight:450}.about-mission{padding:var(--space-4xl) 0;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--color-border) 20%,transparent)}.about-mission__inner{max-width:48rem;margin:0 auto;padding:0 var(--space-lg)}.about-mission__title{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-xl);color:var(--color-ink-muted);font-weight:700}.about-mission__body{font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.35;color:var(--color-ink);font-weight:500;font-family:var(--font-display);letter-spacing:-.02em}.about-pillars{padding:var(--space-4xl) 0;background:color-mix(in srgb,var(--color-accent-muted) 4%,transparent)}.about-pillars__inner{max-width:64rem;margin:0 auto;padding:0 var(--space-lg)}.about-section-header{text-align:center;margin-bottom:var(--space-3xl)}.about-section-header__title{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:var(--space-sm)}.about-grid{display:grid;gap:var(--space-xl);grid-template-columns:1fr}@media(min-width:48rem){.about-grid{grid-template-columns:repeat(2,1fr)}}.about-pillar-card{position:relative;padding:var(--space-2xl);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-bg-elevated) 40%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s ease,box-shadow .4s ease;display:flex;flex-direction:column;gap:var(--space-md)}.about-pillar-card:hover{transform:translateY(-8px);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));box-shadow:0 16px 48px color-mix(in srgb,var(--color-ink) 6%,transparent)}.about-pillar-card__title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-accent);font-weight:700}.about-pillar-card__body{margin:0;line-height:1.6;color:var(--color-ink-secondary);font-size:var(--text-sm)}.about-steps{padding:var(--space-4xl) 0}.about-steps__inner{max-width:64rem;margin:0 auto;padding:0 var(--space-lg)}.about-steps__grid{display:grid;gap:var(--space-3xl);grid-template-columns:1fr;margin-top:var(--space-3xl)}@media(min-width:64rem){.about-steps__grid{grid-template-columns:repeat(3,1fr);gap:var(--space-2xl)}}.about-step{display:flex;flex-direction:column;gap:var(--space-md);position:relative}.about-step__num{font-family:var(--font-display);font-size:5rem;font-weight:900;color:color-mix(in srgb,var(--color-accent) 12%,transparent);line-height:.8;position:absolute;top:-1.5rem;left:-.5rem;z-index:0;-webkit-user-select:none;user-select:none}.about-step__content{position:relative;z-index:1}.about-step__title{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-xs);color:var(--color-ink)}.about-step__body{margin:0;color:var(--color-ink-muted);line-height:1.6;font-size:var(--text-sm)}.about-story{padding:var(--space-4xl) 0;border-top:1px solid color-mix(in srgb,var(--color-border) 20%,transparent)}.about-story__inner{max-width:42rem;margin:0 auto;padding:0 var(--space-lg);text-align:center}.about-story__title{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:var(--space-xl)}.about-story__body{font-size:var(--text-md);line-height:1.7;color:var(--color-ink-secondary)}.about-cta{padding:var(--space-4xl) 0 var(--space-5xl);text-align:center;position:relative}.about-cta:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--color-accent) 6%,transparent) 100%);z-index:0;pointer-events:none}.about-cta__inner{max-width:40rem;margin:0 auto;padding:0 var(--space-lg);position:relative;z-index:1}.about-cta__title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-2xl);line-height:1.1;letter-spacing:-.03em}@media(max-width:48rem){.about-hero,.about-mission,.about-pillars{padding:var(--space-3xl) 0}}.bookleg-action-menu{display:flex;position:relative}.bookleg-action-menu__trigger{width:20px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--color-ink-muted);cursor:pointer;transition:all .18s var(--interaction-hover-ease);opacity:1}.bookleg-action-menu__trigger:focus-visible,.bookleg-action-menu:has(.bookleg-dropdown-panel) .bookleg-action-menu__trigger{opacity:1;color:var(--color-ink-secondary)}@media(hover:hover){.bookleg-action-menu__trigger:hover{background:var(--color-button-outline-hover-bg);border-color:var(--color-border);color:var(--color-ink)}}.bookleg-action-menu .bookleg-dropdown-panel{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:color-mix(in srgb,var(--color-bg-elevated) 85%,transparent);border-radius:var(--radius-lg);box-shadow:0 12px 32px -8px #00000040}.small-book-card--skeleton{pointer-events:none}.small-book-card--skeleton:hover{transform:none;box-shadow:none}.small-book-card{--small-book-card-pad: var(--space-xs);display:flex;flex-direction:column;align-items:stretch;width:11.5rem;flex:0 0 11.5rem;height:100%;min-height:0;margin-inline:0;margin-block:0;padding:0;box-sizing:border-box;text-align:left;border-radius:0;border:none;background:transparent;overflow:visible;transition:transform .42s var(--ease-out)}.small-book-card__cover-slot{position:relative;width:100%;flex-shrink:0}.small-book-card__cover-link.bookleg-link,.small-book-card__cover-link.bookleg-link:visited{display:block;width:100%;padding:0;margin:0;color:inherit;background:transparent;transition:box-shadow .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.small-book-card__cover-link.bookleg-link:hover,.small-book-card__cover-link.bookleg-link:visited:hover{background:transparent;color:inherit}}.small-book-card__title-link.bookleg-link,.small-book-card__title-link.bookleg-link:visited{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;padding:0;margin:0;width:100%;max-width:100%;box-shadow:none;border-radius:0;color:var(--color-ink);background:transparent}@media(hover:hover){.small-book-card__title-link.bookleg-link:hover,.small-book-card__title-link.bookleg-link:visited:hover{color:var(--color-accent);box-shadow:none;background:transparent}}@media(hover:hover){.small-book-card:hover .small-book-card__cover-link{box-shadow:0 16px 40px -12px color-mix(in srgb,var(--color-accent) 60%,transparent);transform:translateY(-4px) scale(1.03)}.small-book-card:hover .small-book-card__cover-link:after{transform:translate(100%,100%)}}.small-book-card__cover-link{position:relative;display:block;width:100%;aspect-ratio:2 / 3;flex-shrink:0;border-radius:var(--radius-md);box-shadow:0 2px 8px -2px #0000001a;border:none;overflow:hidden;text-decoration:none;color:inherit;outline:none;transition:box-shadow .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.small-book-card__cover-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;background:linear-gradient(135deg,transparent 15%,rgb(255 255 255 / 1%) 35%,rgb(255 255 255 / 4%) 50%,rgb(255 255 255 / 1%) 65%,transparent 85%);transform:translate(-100%,-100%);transition:transform .6s cubic-bezier(.16,1,.3,1)}.small-book-card__cover-link:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent);z-index:1}.small-book-card__cover-img{width:100%;height:100%;object-fit:cover;display:block}.small-book-card__cover-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:var(--space-md);box-sizing:border-box;background:var(--color-bg-subtle);font-family:var(--font-display)}.small-book-card__placeholder-title{font-size:var(--text-sm);font-weight:700;line-height:1.3;color:#fff;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;letter-spacing:-.01em;word-break:break-word}.small-book-card__locale{position:absolute;top:6px;right:6px;z-index:2;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;background:#00000085;color:#fffffff5;border:1px solid rgb(255 255 255 / 22%);pointer-events:none}.small-book-card__boox{position:absolute;left:6px;bottom:6px;top:auto;right:auto;transform:none;z-index:2;max-width:calc(100% - 12px);padding:4px 10px;border-radius:8px;box-sizing:border-box;background:#00000085;border:1px solid rgb(255 255 255 / 22%);font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:#fffffff2;line-height:1.2;pointer-events:none}.small-book-card__boox--clickable{pointer-events:auto;cursor:pointer;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left}.small-book-card__meta{display:flex;flex:1 1 auto;flex-direction:column;align-items:stretch;align-self:stretch;gap:var(--space-xs);padding:var(--small-book-card-pad) 0 0 0;min-width:0;min-height:0;justify-content:flex-start;position:relative}.small-book-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs);width:100%;padding-right:28px;box-sizing:border-box}.small-book-card__title-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0;margin:0;width:100%;font-size:var(--text-sm);font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--color-ink);text-decoration:none;text-align:left;outline:none;transition:color .18s var(--ease-out)}.small-book-card__title-link:hover{color:var(--color-accent)}.small-book-card__title-link:focus-visible{border-radius:var(--radius-sm);box-shadow:0 0 0 2px var(--color-accent)}.small-book-card__author-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:.25em;flex-shrink:0;width:100%;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--color-ink-muted);text-align:left}.small-book-card__author-row .bookleg-link,.small-book-card__author-row .bookleg-link:visited{padding:0;margin:0;box-shadow:none;border-radius:0;font-weight:500;color:var(--color-accent);text-decoration:none;background:transparent}.small-book-card__author-row .bookleg-link:hover,.small-book-card__author-row .bookleg-link:visited:hover{text-decoration:underline;text-underline-offset:2px;box-shadow:none;background:transparent}.small-book-card__genre{margin:0;width:100%;min-width:0;font-size:11px;line-height:1.45;font-weight:400;color:var(--color-ink-faint);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.small-book-card__status{display:inline-flex;align-items:center;gap:6px;width:100%;margin-top:-2px;font-size:11px;font-weight:500;color:var(--color-ink-secondary)}.small-book-card__status svg{flex-shrink:0}.small-book-card__footer{margin-top:var(--space-xs);width:100%;display:flex;flex-direction:column;gap:var(--space-2xs)}@media(prefers-reduced-motion:reduce){.small-book-card{transition:box-shadow var(--duration-fast) var(--ease-out)}@media(hover:hover){.small-book-card:hover .small-book-card__cover-link{transform:none}}.small-book-card__cover-link{transition:box-shadow var(--duration-fast) var(--ease-out)}}.small-book-card__menu{position:absolute;top:3px;right:0;z-index:50;display:flex}.landing-hero{position:relative;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--color-border) 30%,transparent);background:linear-gradient(165deg,color-mix(in srgb,var(--color-accent) 16%,var(--color-bg)) 0%,color-mix(in srgb,var(--color-accent) 7%,var(--color-bg)) 32%,color-mix(in srgb,var(--color-accent) 2%,var(--color-bg)) 56%,var(--color-bg) 100%)}.landing-section-glow--right{background:linear-gradient(-15deg,color-mix(in srgb,var(--color-accent) 4%,transparent) 0%,color-mix(in srgb,var(--color-accent) 1%,transparent) 40%,transparent 80%)}.landing-section-glow--left{background:linear-gradient(165deg,color-mix(in srgb,var(--color-accent) 4%,transparent) 0%,color-mix(in srgb,var(--color-accent) 1%,transparent) 40%,transparent 80%)}.landing-hero__inner{position:relative;z-index:1}.landing-hero__title{margin:0 auto var(--space-md);max-width:22ch;font-family:var(--font-display);font-size:clamp(2.35rem,6.5vw,3.75rem);line-height:1.08;letter-spacing:-.025em;color:var(--color-ink);font-weight:600}.landing-bento-grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media(min-width:64rem){.landing-bento-grid{grid-template-columns:repeat(2,1fr)}.landing-bento-grid--3cols{grid-template-columns:repeat(3,1fr)}.landing-bento-card--large{grid-column:span 2;padding:var(--space-2xl)!important}}.landing-bento-card{position:relative;overflow:hidden;padding:var(--space-xl);border-radius:calc(var(--radius-xl) + 8px);background:color-mix(in srgb,var(--color-bg-elevated) 30%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid color-mix(in srgb,var(--color-border) 50%,transparent);box-shadow:0 4px 24px color-mix(in srgb,var(--color-ink) 2%,transparent);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.landing-bento-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px color-mix(in srgb,var(--color-ink) 4%,transparent);border-color:color-mix(in srgb,var(--color-accent) 25%,var(--color-border))}.landing-bento-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,color-mix(in srgb,var(--color-accent) 7%,transparent) 0%,transparent 52%);pointer-events:none}.landing-feature-icon{font-size:var(--text-2xl);margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--color-accent),color-mix(in srgb,var(--color-accent) 40%,transparent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.landing-feature-title{margin:0 0 var(--space-xs);font-size:var(--text-xl);font-family:var(--font-display);color:var(--color-ink)}.landing-feature-body{margin:0;color:var(--color-ink-muted);line-height:1.6;font-size:var(--text-sm)}.landing-showcase-book{display:flex;flex-direction:column;gap:var(--space-lg);align-items:center}@media(min-width:48rem){.landing-showcase-book{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-2xl)}}.landing-showcase-cover-wrapper{flex-shrink:0;width:14rem;border-radius:var(--radius-md);overflow:hidden;position:relative;box-shadow:0 20px 40px #0006;transform:perspective(800px) rotateY(-5deg) rotateX(2deg);transition:transform .4s ease}.landing-showcase-cover-wrapper:hover{transform:perspective(800px) rotateY(0) rotateX(0) scale(1.02)}.landing-showcase-info{flex:1;display:flex;flex-direction:column;justify-content:center}.landing-showcase-description{margin:0 0 var(--space-sm);color:color-mix(in srgb,var(--color-ink) 80%,transparent);font-size:var(--text-md);line-height:1.6;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;max-height:8rem;transition:max-height .5s cubic-bezier(.16,1,.3,1),-webkit-line-clamp .5s step-end}.landing-showcase-description.is-expanded{-webkit-line-clamp:unset;max-height:100rem;transition:max-height .6s cubic-bezier(.16,1,.3,1)}.landing-showcase-toggle{background:none;border:none;padding:0;margin:0 0 var(--space-xl);color:var(--color-accent);font-size:var(--text-sm);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;align-self:flex-start;transition:color .2s ease}.landing-showcase-toggle:hover{color:color-mix(in srgb,var(--color-accent) 80%,black)}.landing-flow__grid{display:flex;flex-direction:column;gap:var(--space-2xl);align-items:stretch}.landing-flow__connector{display:none}@media(min-width:56rem){.landing-flow__grid{flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:0}.landing-flow__connector{display:block;flex:1 1 1.5rem;min-width:1.5rem;max-width:4rem;height:1px;margin:2rem 1rem 0;align-self:flex-start;background:linear-gradient(90deg,color-mix(in srgb,var(--color-border) 90%,var(--color-accent)),color-mix(in srgb,var(--color-accent) 25%,transparent),color-mix(in srgb,var(--color-border) 90%,var(--color-accent)))}.landing-flow__step{flex:1 1 0;min-width:0;max-width:20rem}}.landing-flow__step{text-align:center}.landing-toc{margin:var(--space-xl) 0 0;font-size:var(--text-sm);text-align:center}.landing-toc a{color:var(--color-ink-muted);text-decoration:underline;text-underline-offset:.2em}.landing-toc a:hover{color:var(--color-accent)}#how-it-works{scroll-margin-top:4.75rem}.landing-featured-scroll{display:flex;overflow-x:auto;overflow-y:visible;gap:var(--space-xl);padding-left:max(var(--space-xl),calc((100vw - 64rem) / 2 + var(--space-xl)));padding-right:max(var(--space-xl),calc((100vw - 64rem) / 2 + var(--space-xl)));padding-top:var(--space-xl);padding-bottom:var(--space-3xl);scroll-padding-inline:var(--space-xl);scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.landing-featured-scroll::-webkit-scrollbar{display:none}.landing-featured-item{flex:0 0 auto;scroll-snap-align:start}.landing-featured-arrow{position:absolute;top:calc(var(--space-xl) + 8.5rem);transform:translateY(-50%);z-index:20;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-ink) 10%,transparent);background:color-mix(in srgb,var(--color-bg-elevated) 60%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-ink);cursor:pointer;opacity:0;visibility:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a}@media(hover:hover){.landing-featured-arrow.is-visible{opacity:1;visibility:visible}.landing-featured-arrow:hover{background:var(--color-bg-elevated);border-color:var(--color-ink-muted);transform:translateY(-50%) scale(1.05);box-shadow:0 6px 16px #00000026}.landing-featured-arrow:active{transform:translateY(-50%) scale(.95)}}.landing-featured-arrow--left{left:1rem}.landing-featured-arrow--right{right:1rem}.skeleton-shimmer{position:relative;overflow:hidden;background:color-mix(in srgb,var(--color-ink-muted) 8%,var(--color-bg-elevated))}.skeleton-shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--color-ink-muted) 15%,transparent) 50%,transparent 100%);animation:skeleton-shimmer-anim 1.8s infinite}@keyframes skeleton-shimmer-anim{to{transform:translate(100%)}}.skeleton-line{background:color-mix(in srgb,var(--color-ink-muted) 10%,var(--color-bg-elevated));border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:skeleton-shimmer-anim 1.8s infinite}.small-book-card--skeleton{min-height:20rem}.landing-showcase-skeleton{min-height:30rem}.bookleg-published-reader-desktop-page-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--reader-ink) 24%,var(--reader-border));background:var(--reader-elevated);color:var(--reader-ink);box-shadow:0 2px 14px color-mix(in srgb,var(--reader-ink) 12%,transparent);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.bookleg-published-reader-desktop-page-nav:hover:not(:disabled){background:color-mix(in srgb,var(--reader-ink) 10%,var(--reader-elevated));border-color:color-mix(in srgb,var(--reader-ink) 40%,var(--reader-border));box-shadow:0 4px 20px color-mix(in srgb,var(--reader-ink) 18%,transparent)}.bookleg-published-reader-desktop-page-nav:active:not(:disabled){transform:translateY(-50%) scale(.96)}.bookleg-published-reader-desktop-page-nav:focus-visible{outline:2px solid color-mix(in srgb,var(--reader-ink) 50%,transparent);outline-offset:2px}.bookleg-published-reader-desktop-page-nav:disabled{opacity:.4;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.bookleg-published-reader-desktop-page-nav{transition-duration:.01ms}.bookleg-published-reader-desktop-page-nav:active:not(:disabled){transform:translateY(-50%)}}.updates-page{background:var(--bookleg-standard-page-bg);color:var(--color-ink);overflow-x:hidden;min-height:100dvh;display:flex;flex-direction:column}.updates-hero{position:relative;padding:var(--space-4xl) 0 var(--space-2xl);text-align:center;border-bottom:1px solid color-mix(in srgb,var(--color-border) 40%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg-elevated) 40%,transparent) 0%,transparent 100%)}.updates-hero__inner{max-width:48rem;margin:0 auto;padding:0 var(--space-lg)}.updates-hero__eyebrow{display:inline-block;margin-bottom:var(--space-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent-muted) 35%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);border-radius:var(--radius-full)}.updates-hero__title{margin-bottom:var(--space-md);font-family:var(--font-display);font-size:clamp(2.5rem,6vw,3.5rem);line-height:1.1;font-weight:700;letter-spacing:-.03em;color:var(--color-ink)}.updates-hero__subhead{font-size:var(--text-lg);line-height:1.5;color:var(--color-ink-secondary);font-weight:450;max-width:42ch;margin:0 auto}.updates-content-area{padding:var(--space-3xl) 0;flex:1}.updates-content-area__inner{max-width:42rem;margin:0 auto;padding:0 var(--space-lg)}.updates-list{display:flex;flex-direction:column;gap:var(--space-2xl)}.update-card{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-2xl);border-bottom:1px solid color-mix(in srgb,var(--color-border) 40%,transparent)}.update-card:last-child{border-bottom:none;padding-bottom:0}.update-card__date{font-size:var(--text-sm);color:var(--color-ink-faint);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.update-card__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-ink);line-height:1.2;margin:0}.update-card__excerpt{font-size:var(--text-base);color:var(--color-ink-secondary);line-height:1.6;margin:0 0 var(--space-sm) 0}.update-card__read-more{align-self:flex-start;background:none;border:none;padding:0;font-size:var(--text-sm);font-weight:600;color:var(--color-accent);cursor:pointer;transition:color .2s ease;display:inline-flex;align-items:center}.update-card__read-more:hover{color:var(--color-accent-hover, var(--color-accent));text-decoration:underline}.update-back-btn{background:none;border:none;padding:0;margin-bottom:var(--space-xl);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-muted);cursor:pointer;display:inline-flex;align-items:center;transition:color .2s ease}.update-back-btn:hover{color:var(--color-ink)}.update-detail__header{margin-bottom:var(--space-2xl)}.update-detail__date{display:block;font-size:var(--text-sm);color:var(--color-ink-faint);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.update-detail__title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:700;color:var(--color-ink);line-height:1.1;margin:0;letter-spacing:-.03em}.update-detail__content{font-size:var(--text-lg);line-height:1.7;color:var(--color-ink-secondary);display:flex;flex-direction:column;gap:var(--space-lg)}.update-detail__content p{margin:0}.update-detail__content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.15em}.update-detail__content a:hover{color:var(--color-ink)}.updates-not-found{text-align:center;padding:var(--space-4xl) 0}
