@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:italic;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-italic-Cz4n9dED.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-normal-DLxlUchJ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-italic-Bm_GJfSc.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-italic-D2yaqPoE.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-italic-D-qjh7ci.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-italic-Bq4J7U7l.woff2) format("woff2")}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-italic-lSdLDfvT.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui-warm: "DM Sans Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-serif: Georgia, "Times New Roman", serif;--font-palatino: "Palatino Linotype", Palatino, Georgia, serif;--font-reader-literata: "Literata Variable", Georgia, "Times New Roman", serif;--font-reader-editorial: "Source Serif 4 Variable", "Iowan Old Style", Georgia, serif;--font-reader-accessible: "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-reader-georgia: Georgia, "Times New Roman", serif;--font-reader-palatino: "Palatino Linotype", Palatino, Georgia, serif;--bg-app: #f6f3ec;--bg-panel: #fbf9f3;--bg-panel-soft: #f1ede4;--bg-panel-strong: #ffffff;--bg-chip: #ece8dd;--bg-reader: #f8f5ee;--bg-cover-wash: #efe9dd;--ink: #1b1814;--ink-secondary: #6b6459;--ink-muted: #6f6859;--ivory: #f8f5ee;--accent: #8a2b2e;--accent-soft: rgba(138, 43, 46, .09);--rule: rgba(27, 24, 20, .14);--rule-strong: rgba(27, 24, 20, .26);--stroke-hairline: 1px;--stroke-strong: 2px;--stroke-focus: 3px;--scrim: rgba(27, 24, 20, .34);--app-wash: rgba(255, 255, 255, .42);--reader-text-ink: #211d18;--reader-highlight-light: rgba(255, 253, 248, .92);--guide-tint-high: rgba(246, 243, 236, .62);--guide-tint-medium: rgba(246, 243, 236, .44);--guide-tint-low: rgba(246, 243, 236, .26);--reader-dark-bg: #211f1b;--reader-dark-panel: #2a2723;--reader-dark-text: #ece7dd;--reader-dark-muted: #a89f90;--reader-dark-border: rgba(236, 231, 221, .16);--reader-dark-highlight: rgba(255, 255, 255, .06);--reader-dark-guide-high: rgba(12, 11, 9, .72);--reader-dark-guide-medium: rgba(12, 11, 9, .52);--reader-dark-guide-low: rgba(12, 11, 9, .3);--reader-dark-accent: #cf8a8c;--reader-contrast-bg: #ffffff;--reader-contrast-text: #000000;--reader-contrast-muted: #2c2c2c;--reader-contrast-border: rgba(0, 0, 0, .32);--reader-contrast-highlight: rgba(0, 0, 0, .06);--reader-contrast-guide-high: rgba(255, 255, 255, .82);--reader-contrast-guide-medium: rgba(255, 255, 255, .62);--reader-contrast-guide-low: rgba(255, 255, 255, .4);--color-danger: #a8282a;--color-info: #356b74;--space-0: 0;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-4-5: 18px;--space-5: 20px;--space-5-5: 22px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-8-5: 34px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--space-13-5: 54px;--space-14-5: 58px;--space-16: 64px;--space-18-5: 74px;--space-23: 92px;--space-26: 104px;--space-28: 112px;--space-42-5: 170px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 14px;--radius-rail: 10px;--radius-pill: 999px;--radius-round: 50%;--radius-ui: 6px;--radius-ui-sm: 4px;--radius-ui-none: 0;--radius-ring: 50%;--target-sm: 40px;--target-md: 44px;--target-lg: 48px;--target-xl: 54px;--target-xs: 32px;--icon-size-compact: 10px;--icon-size-standard: 12px;--icon-size-large: 14px;--icon-size-navigation: 18px;--text-control: .75rem;--text-navigation: .58rem;--navigation-width: 336px;--navigation-block-size: 52px;--navigation-item-block-size: 40px;--navigation-rail-width: 61px;--navigation-shell-clearance: 74px;--shadow-soft: 0 1px 2px rgba(27, 24, 20, .05);--shadow-raised: 0 4px 12px rgba(27, 24, 20, .06);--shadow-float: 0 8px 24px rgba(27, 24, 20, .08);--shadow-button-soft: 0 1px 2px rgba(27, 24, 20, .05);--shadow-button-filled: 0 2px 6px rgba(27, 24, 20, .08);--shadow-book-cover: 0 10px 26px rgba(27, 24, 20, .18);--shadow-book-cover-compact: 0 6px 16px rgba(27, 24, 20, .14);--shadow-book-cover-inset: inset 1px 0 0 rgba(255, 255, 255, .3), inset -1px 0 0 rgba(27, 24, 20, .08);--book-cover-spine-sheen: linear-gradient(90deg, rgba(255, 255, 255, .3), rgba(27, 24, 20, .1));--shadow-reader-soft: 0 4px 16px rgba(27, 24, 20, .06);--shadow-reader-cover: 0 12px 32px rgba(27, 24, 20, .16);--text-ui-xs: .68rem;--text-ui-sm: .72rem;--text-ui-md: .82rem;--text-ui-lg: .88rem;--text-reader-ui-caption: .68rem;--text-reader-ui-label: .72rem;--text-reader-ui-body: .78rem;--text-reader-ui-title: .86rem;--text-heading-sm: 1.3rem;--text-heading-md: 1.8rem;--text-heading-lg: 2.2rem;--text-theme-sample: 1.8rem;--line-tight: 1.05;--line-heading: 1.1;--line-card: 1.2;--line-compact: 1.25;--line-copy: 1.35;--line-reader-heading: 1.18;--tracking-tight: -.01em;--tracking-wide: .02em;--tracking-caps: .16em;--measure-reader-tight: 58ch;--measure-reader-comfort: 66ch;--measure-reader-relaxed: 72ch;--weight-reader-accessible: 400;--weight-reader-book: 420;--weight-reader-dark: 430;--weight-reader-bold: 700;--z-line-guide: 6;--z-book-cover-overlay: 7;--z-reader-chrome: 12;--z-line-guide-controls: 18;--z-line-guide-menu: 19;--z-navigation: 30;--z-sheet: 40;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--break-mobile-max: 700px;--break-desktop-min: 900px;--duration-reduced-motion: .01ms;--size-full: 100%;--size-vw: 100vw;--size-dvh: 100dvh;--width-continue-card: 360px;--width-cover-tile: 126px;--width-home-aside-min: 320px;--width-home-aside-max: 396px;--width-library-card-min: 218px;--width-dialog: 420px;--width-screen-max: 1120px;--width-admin-min: 188px;--width-reader-measure: 680px;--measure-prose: 66ch;--width-reader-chrome: 760px;--width-sheet: 520px;--height-sheet-max: 82dvh;--height-quick-menu: 30dvh;--width-reader-cover: 430px;--vw-reader-cover: 78vw;--height-reader-cover: 72dvh;--height-menu-list: 320px;--space-image-offset: 280px;--reader-paragraph-gap: 1.35em;--shadow-none: none}:root{color-scheme:light;font-family:var(--font-ui-warm, var(--font-ui));font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--surface-app: var(--bg-app);--surface-panel: var(--bg-panel);--surface-panel-soft: var(--bg-panel-soft);--surface-panel-strong: var(--bg-panel-strong);--surface-floating: var(--bg-panel);--surface-floating-soft: var(--bg-panel-soft);--surface-chip: var(--bg-chip);--surface-field: var(--bg-panel);--surface-sheet: var(--bg-panel);--surface-app-wash: var(--app-wash);--surface-scrim: var(--scrim);--text-primary: var(--ink);--text-secondary: var(--ink-secondary);--text-muted: var(--ink-muted);--text-inverse: var(--ivory);--border-subtle: var(--rule);--border-strong: var(--rule-strong);--border-reader-subtle: var(--rule);--action-primary: var(--accent);--action-primary-text: var(--ivory);--action-danger: var(--color-danger);--action-info: var(--color-info);--control-track: var(--rule);--control-row: var(--bg-panel-soft);--control-active: var(--ink);--control-active-text: var(--ivory);--focus-color: var(--accent);--line-guide-dim-high: var(--guide-tint-high);--line-guide-dim-medium: var(--guide-tint-medium);--line-guide-dim-low: var(--guide-tint-low);--line-guide-dim-none: transparent;--reader-bg: var(--bg-reader);--reader-panel: var(--bg-panel);--reader-text: var(--reader-text-ink);--reader-muted: var(--ink-muted);--reader-border: var(--rule);--reader-highlight: var(--reader-highlight-light);--guide-overlay: var(--line-guide-dim-medium);--app-bg: var(--surface-app);--app-surface: var(--surface-panel);--app-surface-strong: var(--surface-panel-strong);--app-ink: var(--text-primary);--app-muted: var(--text-muted);--app-subtle: var(--surface-chip);--app-accent: var(--action-primary);--app-accent-strong: var(--action-danger);--app-cyan: var(--action-info);--app-shadow: var(--shadow-float)}.reader-shell{--reader-theme-font: var(--font-reader-literata);--reader-measure: var(--measure-reader-comfort);--reader-type-weight: var(--weight-reader-book)}.reader-shell[data-reader-theme=light]{--reader-bg: var(--bg-reader);--reader-panel: var(--bg-panel);--reader-text: var(--reader-text-ink);--reader-muted: var(--ink-muted);--reader-border: var(--rule);--reader-highlight: var(--reader-highlight-light);--guide-overlay: var(--line-guide-dim-medium)}.reader-shell[data-reader-theme=dark]{color-scheme:dark;--reader-bg: var(--reader-dark-bg);--reader-panel: var(--reader-dark-panel);--reader-text: var(--reader-dark-text);--reader-muted: var(--reader-dark-muted);--reader-border: var(--reader-dark-border);--reader-highlight: var(--reader-dark-highlight);--line-guide-dim-high: var(--reader-dark-guide-high);--line-guide-dim-medium: var(--reader-dark-guide-medium);--line-guide-dim-low: var(--reader-dark-guide-low);--guide-overlay: var(--line-guide-dim-medium);--accent: var(--reader-dark-accent);--focus-color: var(--reader-dark-accent);--reader-theme-font: var(--font-reader-literata);--reader-type-weight: var(--weight-reader-dark)}.reader-shell[data-reader-theme=contrast]{--reader-bg: var(--reader-contrast-bg);--reader-panel: var(--reader-contrast-bg);--reader-text: var(--reader-contrast-text);--reader-muted: var(--reader-contrast-muted);--reader-border: var(--reader-contrast-border);--reader-highlight: var(--reader-contrast-highlight);--line-guide-dim-high: var(--reader-contrast-guide-high);--line-guide-dim-medium: var(--reader-contrast-guide-medium);--line-guide-dim-low: var(--reader-contrast-guide-low);--guide-overlay: var(--line-guide-dim-medium);--reader-theme-font: var(--font-reader-accessible);--reader-measure: var(--measure-reader-tight);--reader-type-weight: var(--weight-reader-accessible)}:root{--access-overlay-gutter: var(--space-5);--access-overlay-scrim: var(--surface-scrim);--access-overlay-blur: var(--space-2);--access-overlay-z: var(--z-sheet);--access-panel-width: var(--width-dialog);--access-panel-padding: var(--space-6);--access-panel-gap: var(--space-4);--access-panel-surface: var(--surface-floating);--access-panel-shadow: var(--shadow-none);--access-panel-border: var(--stroke-hairline) solid var(--border-subtle);--access-title-size: var(--text-heading-sm);--access-form-gap: var(--space-3);--access-actions-gap: var(--space-2)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%}body{margin:0;background:var(--app-bg);color:var(--app-ink)}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role=slider]:focus-visible{outline:var(--stroke-focus) solid var(--focus-color, var(--accent));outline-offset:var(--stroke-focus)}.text-button,.continue-card,.cover-tile,.library-cover-button,.library-title-button,.pick-card,.reader-menu-actions button,.menu-row,.orientation-button,.page-turn-button,.search-result,.theme-card,.toggle-button,.close-book-button,.collection-pill{border:0;background:transparent;cursor:pointer;text-align:left}.ui-button{min-height:var(--target-md);border:0;border-radius:var(--radius-ui);background:transparent;color:inherit;cursor:pointer;transition:transform var(--reader-motion-duration-short) var(--reader-motion-ease-standard),background-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),border-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),opacity var(--reader-motion-duration-short) var(--reader-motion-ease-standard)}.ui-button-soft{border:var(--stroke-hairline) solid var(--border-subtle);background:var(--surface-panel);color:var(--text-primary)}.ui-button-filled{background:var(--action-primary);color:var(--action-primary-text)}.ui-button-chip{border-radius:var(--radius-pill);border:var(--stroke-hairline) solid var(--border-subtle);color:var(--text-muted);background:transparent}.app-icon{display:block;flex:0 0 auto;width:var(--app-icon-size, var(--icon-size-standard));height:var(--app-icon-size, var(--icon-size-standard))}.app-icon-compact{--app-icon-size: var(--icon-size-compact)}.app-icon-standard{--app-icon-size: var(--icon-size-standard)}.app-icon-large{--app-icon-size: var(--icon-size-large)}.app-icon-navigation{--app-icon-size: var(--icon-size-navigation)}.book-cover{display:block;position:relative;width:var(--size-full);border-radius:var(--radius-sm);background:var(--app-subtle);box-shadow:var(--book-cover-shadow, var(--shadow-book-cover));isolation:isolate}.book-cover img{display:block;width:var(--size-full);aspect-ratio:2 / 3;object-fit:cover;border-radius:inherit}.book-cover:before,.book-cover:after{content:"";position:absolute;pointer-events:none}.book-cover:before{inset:var(--space-0);border-radius:inherit;box-shadow:var(--shadow-book-cover-inset);z-index:var(--z-book-cover-overlay)}.book-cover:after{top:var(--space-0);bottom:var(--space-0);left:var(--space-0);width:var(--space-1);border-radius:var(--radius-sm) var(--radius-ui-none) var(--radius-ui-none) var(--radius-sm);background:var(--book-cover-spine-sheen);z-index:var(--z-book-cover-overlay)}.icon-button{width:var(--icon-button-target, var(--target-md));min-width:var(--icon-button-target, var(--target-md));height:var(--icon-button-target, var(--target-md));border:0;border-radius:var(--radius-ui);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:transform var(--reader-motion-duration-short) var(--reader-motion-ease-standard),background-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),border-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),opacity var(--reader-motion-duration-short) var(--reader-motion-ease-standard)}.icon-button-compact{--icon-button-target: var(--target-xs)}.icon-button-standard{--icon-button-target: var(--target-md)}.icon-button:disabled{cursor:default;opacity:.38}.ui-button:not(:disabled):active,.icon-button:not(:disabled):active{transform:scale(var(--reader-motion-press-scale))}.icon-button-plain{background:transparent}.icon-button-plain:not(:disabled):hover{background:var(--accent-soft);color:var(--text-primary)}.icon-button-soft{border:var(--stroke-hairline) solid var(--border-subtle);background:var(--surface-panel);color:var(--text-primary)}.bottom-nav{position:fixed;left:50%;bottom:calc(var(--space-3-5) + var(--safe-bottom));transform:translate(-50%);z-index:var(--z-navigation);width:min(var(--navigation-width),calc(var(--size-vw) - var(--space-7)));min-height:var(--navigation-block-size);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);padding:var(--space-1-5);border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-floating);box-shadow:var(--shadow-soft)}.bottom-nav-item{min-height:var(--navigation-item-block-size);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);display:grid;place-items:center;gap:var(--space-0-5);cursor:pointer;transition:transform var(--reader-motion-duration-short) var(--reader-motion-ease-standard),background-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),opacity var(--reader-motion-duration-short) var(--reader-motion-ease-standard)}.bottom-nav-item span{font-size:var(--text-ui-xs);font-weight:600;letter-spacing:var(--tracking-wide)}.bottom-nav-item.active{background:var(--accent-soft);color:var(--action-primary)}.bottom-nav-item:active{transform:scale(var(--reader-motion-press-scale))}.kicker{font-size:var(--text-ui-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.hairline-row{border-top:var(--stroke-hairline) solid var(--border-subtle)}.progress-line{height:var(--stroke-strong);background:var(--border-subtle);border-radius:var(--radius-pill);overflow:hidden}.progress-line__fill{display:block;height:var(--size-full);background:var(--action-primary);border-radius:var(--radius-pill)}@media(min-width:900px){.bottom-nav{left:var(--space-5);top:50%;bottom:auto;width:var(--navigation-rail-width);min-height:auto;grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-2-5);border-radius:var(--radius-rail);transform:translateY(-50%)}.bottom-nav-item{min-height:var(--space-14-5);border-radius:var(--radius-md)}.bottom-nav-item span{font-size:var(--text-ui-xs)}}.home-header{align-items:flex-start}.goal-ring{--goal-progress: 0%;display:inline-grid;grid-auto-flow:column;align-items:baseline;gap:var(--space-1);padding-bottom:var(--space-1-5);background-image:linear-gradient(var(--action-primary),var(--action-primary)),linear-gradient(var(--border-subtle),var(--border-subtle));background-repeat:no-repeat;background-size:var(--goal-progress) var(--stroke-strong),var(--size-full) var(--stroke-hairline);background-position:left bottom,left bottom}.goal-ring span{font-family:var(--font-display);font-size:var(--text-heading-sm);font-weight:500;color:var(--text-primary)}.goal-ring small{color:var(--text-muted);font-size:var(--text-ui-sm)}.goal-ring small:before{content:"/ "}.goal-panel,.year-summary,.collection-form,.search-field{background:var(--surface-panel);border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-ui)}.goal-panel{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-8);font-size:var(--text-control)}.goal-panel strong,.goal-panel span{display:block;font-size:var(--text-control);line-height:var(--line-compact)}.goal-panel span{color:var(--text-muted);margin-top:var(--space-1)}.goal-panel .goal-controls{gap:var(--space-1-5)}.goal-controls,.header-actions,.reader-top-actions{display:flex;gap:var(--space-2)}.section-block{margin:var(--space-10) 0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3-5);margin-bottom:var(--space-4)}.section-block h2{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-heading-md);font-weight:500;line-height:var(--line-heading);letter-spacing:var(--tracking-tight)}.section-title-row h2{margin-bottom:0}.continue-rail,.cover-row{display:flex;gap:var(--space-5);overflow-x:auto;padding:var(--space-0-5) var(--space-0-5) var(--space-3);scroll-snap-type:x proximity}.continue-card{min-width:min(var(--size-full),var(--width-continue-card));max-width:var(--width-continue-card);display:grid;grid-template-columns:var(--space-16) 1fr;gap:var(--space-5);align-items:center;padding:var(--space-1);color:var(--text-primary);scroll-snap-align:start}.continue-card .book-cover{--book-cover-shadow: var(--shadow-book-cover)}.continue-card strong,.continue-card small,.pick-card strong,.pick-card small,.cover-tile-title{display:block}.continue-card strong{font-family:var(--font-display);font-size:var(--text-heading-sm);font-weight:500;line-height:var(--line-heading);letter-spacing:var(--tracking-tight)}.continue-card small{color:var(--text-muted);font-size:var(--text-ui-md);margin-top:var(--space-1)}.continue-card small:last-child{margin-top:var(--space-3);color:var(--action-primary);font-weight:600}.top-picks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.pick-card{min-width:0;padding:0;display:grid;grid-template-rows:auto 1fr;align-content:start;color:var(--text-primary)}.pick-card .book-cover{--book-cover-shadow: var(--shadow-book-cover-compact)}.pick-card-content{min-width:0;padding:var(--space-3) var(--space-0-5) var(--space-0)}.pick-card strong{font-family:var(--font-display);font-size:var(--text-ui-lg);font-weight:500;line-height:var(--line-card);overflow-wrap:anywhere}.pick-card small{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--text-ui-sm);line-height:var(--line-compact);overflow-wrap:anywhere}.pick-card-marker{width:max-content;display:inline-flex;align-items:center;justify-content:center;color:var(--action-primary);margin-bottom:var(--space-1)}.cover-tile{width:var(--width-cover-tile);flex:0 0 var(--width-cover-tile);display:flex;flex-direction:column;align-items:stretch;padding:var(--space-0);scroll-snap-align:start}.cover-tile-title{margin-top:var(--space-2);font-size:var(--text-ui-md);line-height:var(--line-compact)}.year-summary{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-3);row-gap:var(--space-0-5);padding:var(--space-4) var(--space-5)}.year-summary svg{grid-row:span 2;color:var(--action-primary)}.year-summary strong{font-family:var(--font-display);font-weight:500}.privacy-note{color:var(--text-muted);font-size:var(--text-ui-sm);line-height:var(--line-copy)}@media(max-width:700px){.top-picks-grid{gap:var(--space-3)}.pick-card-content{padding:var(--space-2) var(--space-0-5) var(--space-0)}.pick-card strong{font-size:var(--text-ui-md)}.pick-card small{font-size:var(--text-ui-xs)}}@media(min-width:900px){.screen-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(var(--width-home-aside-min),var(--width-home-aside-max));column-gap:var(--space-8);align-items:start}.home-header,.goal-panel{grid-column:1 / -1}.home-continue-section,.home-want-section,.year-summary,.privacy-note{grid-column:1}.home-top-picks-section{grid-column:2;grid-row:3 / span 3;margin-top:var(--space-0)}.home-top-picks-section .top-picks-grid{grid-template-columns:1fr;gap:var(--space-5)}.home-top-picks-section .pick-card{grid-template-columns:var(--space-16) 1fr;gap:var(--space-4);align-items:center}.home-top-picks-section .pick-card-content{padding:var(--space-0)}}.collection-rail{display:flex;gap:var(--space-5);overflow-x:auto;padding-bottom:var(--space-3);margin-bottom:var(--space-5);border-bottom:var(--stroke-hairline) solid var(--border-subtle)}.collection-pill{white-space:nowrap;min-height:var(--space-10);padding:0 var(--space-0-5);color:var(--text-muted);background:transparent;font-size:var(--text-ui-md);position:relative}.collection-pill.active{color:var(--text-primary);font-weight:600;background-image:linear-gradient(var(--action-primary),var(--action-primary));background-repeat:no-repeat;background-position:left bottom;background-size:var(--size-full) var(--stroke-strong)}.collection-form,.search-field{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3)}.collection-form{margin-bottom:var(--space-5)}.collection-form input,.search-field input,.customize-grid select{width:var(--size-full);min-height:var(--space-10);border:0;background:transparent;color:var(--text-primary);outline:none}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--width-library-card-min),1fr));gap:var(--space-4)}.library-list{display:grid;gap:var(--space-0)}.library-list .library-card{display:grid;grid-template-columns:var(--space-23) 1fr;gap:var(--space-4);padding:var(--space-4) var(--space-0-5);border-top:var(--stroke-hairline) solid var(--border-subtle)}.library-list .library-card:first-child{border-top:0}.library-grid .library-card{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.library-card-body{min-width:0}.library-card .book-cover{--book-cover-shadow: var(--shadow-book-cover-compact)}.library-cover-button{width:var(--size-full);padding:0;position:relative}.library-lock{position:absolute;top:var(--space-2);inset-inline-end:var(--space-2);display:inline-flex;align-items:center;justify-content:center;width:var(--space-6);height:var(--space-6);border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-panel-strong);color:var(--action-primary);box-shadow:var(--shadow-soft)}.library-title-button{padding:0;width:var(--size-full)}.library-title-button strong,.library-title-button span{display:block}.library-title-button strong{font-family:var(--font-display);font-weight:500;overflow-wrap:anywhere;line-height:var(--line-card)}.library-title-button span{margin-top:var(--space-1);color:var(--text-muted);overflow-wrap:anywhere}.library-grid .library-title-button strong{font-size:var(--text-ui-md)}.library-grid .library-title-button span,.library-grid .library-card p{font-size:var(--text-ui-sm);line-height:var(--line-compact)}.library-grid .library-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-muted)}.library-meta,.library-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.library-grid .library-meta,.library-grid .library-actions{gap:var(--space-1-5);margin-top:var(--space-2)}.library-meta span{min-height:var(--space-6);display:inline-flex;align-items:center;border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 var(--space-2);color:var(--text-muted);font-size:var(--text-ui-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:600}.collection-select{min-height:var(--space-10);border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-ui);padding:0 var(--space-2-5);background:var(--surface-field);color:var(--text-primary)}@media(max-width:700px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.library-grid .library-title-button strong{font-size:var(--text-ui-sm)}.library-grid .library-title-button span,.library-grid .library-card p{font-size:var(--text-ui-xs)}.library-grid .library-meta{margin-top:var(--space-1-5)}.library-grid .library-card p{-webkit-line-clamp:1}}.search-results{display:grid;gap:var(--space-0);margin-top:var(--space-5)}.search-result{display:grid;gap:var(--space-1);padding:var(--space-4) var(--space-0-5);border-top:var(--stroke-hairline) solid var(--border-subtle)}.search-result:first-child{border-top:0}.search-result strong{font-family:var(--font-display);font-weight:500}.search-result span,.search-result small{color:var(--text-muted)}:root{--reader-motion-duration-short: .12s;--reader-motion-duration-medium: .24s;--reader-motion-duration-sheet: .19s;--reader-motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--reader-motion-ease-enter: cubic-bezier(.05, .7, .1, 1);--reader-motion-ease-exit: cubic-bezier(.3, 0, .8, .15);--reader-motion-sheet-shift: var(--space-8);--reader-motion-press-scale: .98;--reader-motion-opacity-hidden: 0;--reader-motion-opacity-visible: 1}.reader-topbar,.reader-footer{position:fixed;left:50%;transform:translate(-50%);z-index:var(--z-reader-chrome);width:min(var(--width-reader-chrome),calc(var(--size-vw) - var(--space-6)));display:grid;align-items:center;gap:var(--space-2-5);pointer-events:none;transition:opacity var(--reader-motion-duration-medium) var(--reader-motion-ease-standard),transform var(--reader-motion-duration-medium) var(--reader-motion-ease-standard)}.reader-topbar{top:calc(var(--space-3) + env(safe-area-inset-top));grid-template-columns:minmax(0,1fr) auto}.chrome-immersive .reader-topbar{grid-template-columns:1fr}.chrome-immersive .reader-footer{opacity:var(--reader-motion-opacity-hidden);pointer-events:none}.reader-top-actions{display:flex;gap:var(--space-2)}.reader-desktop-menu-button{min-height:var(--space-11);display:none;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-ui);background:var(--surface-floating);color:var(--text-primary);cursor:pointer}.reader-topbar>*,.reader-footer>*{pointer-events:auto}.reader-position{min-width:0;text-align:center;font-family:var(--font-ui)}.reader-position strong,.reader-position span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-position strong{font-family:var(--font-display);font-size:var(--text-reader-ui-title);font-weight:500}.reader-position span{margin-top:var(--space-0-5);color:var(--reader-muted);font-size:var(--text-reader-ui-label)}.chrome-immersive .reader-position strong{color:var(--reader-muted);font-weight:600}.chrome-immersive .reader-position{pointer-events:none}.reader-stage{--reader-stage-block-start: var(--space-23);--reader-footer-block-clearance: calc(var(--space-11) + var(--space-3-5) + var(--space-2) + var(--safe-bottom));--reader-page-block-size: calc(var(--size-dvh) - var(--reader-stage-block-start) - var(--reader-footer-block-clearance));min-height:var(--size-dvh);width:var(--size-vw);display:flex;justify-content:center;overflow-y:auto;padding:var(--reader-stage-block-start) calc(var(--space-5-5) * var(--reader-margin-scale)) var(--reader-footer-block-clearance);filter:brightness(var(--reader-brightness));touch-action:pan-y}.turn-fade .reader-stage{overflow:hidden}.turn-scroll .reader-stage{align-items:flex-start;overflow-y:auto}.reader-page{width:min(var(--reader-measure),100%);min-height:var(--reader-page-block-size);max-height:var(--reader-page-block-size);overflow:hidden;color:var(--reader-text);position:relative;view-transition-name:reader-page}.reader-page[data-turn-direction=next],.reader-page[data-turn-direction=previous]{will-change:transform,opacity}:root[data-reader-view-transition=active] .reader-page[data-turn-direction]{animation:none}.turn-fade .reader-page[data-turn-direction=next]{animation:reader-page-fade-next var(--reader-motion-duration-medium) var(--reader-motion-ease-enter) both}.turn-fade .reader-page[data-turn-direction=previous]{animation:reader-page-fade-previous var(--reader-motion-duration-medium) var(--reader-motion-ease-enter) both}.turn-scroll .reader-page{max-height:none;overflow:visible}.orientation-landscape .reader-page{width:min(var(--measure-reader-relaxed),100%)}.orientation-portrait .reader-page{width:min(var(--measure-reader-tight),100%)}.reader-page-inner{font-family:var(--reader-theme-font);font-size:var(--reader-font-size);font-weight:var(--reader-type-weight);line-height:var(--reader-line-height);letter-spacing:var(--reader-character-spacing);word-spacing:var(--reader-word-spacing);font-optical-sizing:auto;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;font-variant-ligatures:common-ligatures contextual;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto}.font-theme .reader-page-inner,.font-original .reader-page-inner{font-family:var(--reader-theme-font)}.font-literata .reader-page-inner{font-family:var(--font-reader-literata)}.font-source-serif .reader-page-inner{font-family:var(--font-reader-editorial)}.font-atkinson .reader-page-inner{font-family:var(--font-reader-accessible)}.font-palatino .reader-page-inner{font-family:var(--font-reader-palatino)}.font-georgia .reader-page-inner{font-family:var(--font-reader-georgia)}.reader-bold .reader-page-inner{font-weight:var(--weight-reader-bold)}.reader-justify .reader-page-inner{text-align:justify}.reader-page-inner p{margin:0 0 var(--reader-paragraph-gap)}.reader-pagination-measure{position:absolute;inset:var(--space-0) var(--space-0) auto var(--space-0);width:100%;min-height:var(--space-0);max-height:none;overflow:visible;visibility:hidden;pointer-events:none}.reader-page-inner h1,.reader-page-inner h2{font-family:var(--reader-heading-font, var(--reader-theme-font));letter-spacing:0;line-height:var(--line-reader-heading);text-align:center}.reader-page-inner img{max-width:100%;height:auto}.cover-stage{align-items:center;padding-top:var(--space-18-5)}.cover-wrapper{display:grid;place-items:center}.book-cover-fullscreen{width:min(var(--vw-reader-cover),var(--width-reader-cover));max-height:var(--height-reader-cover);object-fit:contain;border-radius:var(--radius-ui);box-shadow:var(--shadow-reader-cover)}.chapter-highlight{width:var(--size-full);margin:var(--space-8) auto}.turn-fade .chapter-highlight{display:grid;place-items:center;margin:var(--space-4) auto}.chapter-highlight img{width:var(--size-full);border-radius:var(--radius-ui);box-shadow:var(--shadow-raised)}.turn-fade .chapter-highlight img{max-height:calc(var(--size-dvh) - var(--space-image-offset));object-fit:contain}.reader-footer{bottom:calc(var(--space-3-5) + var(--safe-bottom));grid-template-columns:var(--space-11) 1fr var(--space-11) var(--space-11)}.reader-page-count{justify-self:center;min-height:var(--space-11);display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-4);border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-floating);color:var(--reader-muted);font-family:var(--font-ui);font-size:var(--text-reader-ui-body);font-weight:600}.reader-shell .icon-button svg,.reader-desktop-menu-button svg,.settings-sheet svg{width:var(--space-4);height:var(--space-4)}.sheet-backdrop{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center;background:var(--surface-scrim);-webkit-backdrop-filter:blur(var(--space-1));backdrop-filter:blur(var(--space-1));animation:reader-sheet-backdrop-in var(--reader-motion-duration-sheet) var(--reader-motion-ease-standard) both}.sheet-backdrop.closing{animation-name:reader-sheet-backdrop-out;pointer-events:none}.bottom-sheet{width:min(var(--width-sheet),var(--size-vw));max-height:min(var(--height-sheet-max),var(--width-reader-chrome));overflow-y:auto;padding:var(--space-4-5);padding-bottom:calc(var(--space-4-5) + var(--safe-bottom));border-radius:var(--radius-2xl) var(--radius-2xl) var(--radius-ui-none) var(--radius-ui-none);background:var(--surface-sheet);color:var(--app-ink);box-shadow:var(--shadow-none);animation:reader-sheet-in var(--reader-motion-duration-sheet) var(--reader-motion-ease-enter) both;will-change:transform,opacity}.bottom-sheet.closing{animation-name:reader-sheet-out;animation-timing-function:var(--reader-motion-ease-exit)}.reader-quick-menu-backdrop{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center;padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));background:var(--surface-scrim);-webkit-backdrop-filter:blur(var(--space-1));backdrop-filter:blur(var(--space-1));animation:reader-sheet-backdrop-in var(--reader-motion-duration-sheet) var(--reader-motion-ease-standard) both}.reader-quick-menu-backdrop.closing{animation-name:reader-sheet-backdrop-out;pointer-events:none}.reader-quick-menu{width:min(var(--width-sheet),calc(var(--size-vw) - var(--space-8)));max-height:var(--height-quick-menu);display:flex;flex-direction:column;gap:var(--space-2);overflow:hidden;padding:var(--space-2);border-radius:var(--radius-2xl);background:var(--surface-sheet);color:var(--app-ink);box-shadow:var(--shadow-none);animation:reader-sheet-in var(--reader-motion-duration-sheet) var(--reader-motion-ease-enter) both;will-change:transform,opacity}.reader-quick-menu.closing{animation-name:reader-sheet-out;animation-timing-function:var(--reader-motion-ease-exit)}.reader-quick-menu-stack,.reader-quick-scroll-list{display:grid;gap:var(--space-1-5);min-height:var(--space-0)}.reader-quick-scroll-list{overflow-y:auto}.reader-quick-menu-row,.reader-quick-list-row,.reader-quick-icon-button,.reader-quick-back-button{border:0;border-radius:var(--radius-ui);background:var(--control-row);color:inherit;cursor:pointer;transition:transform var(--reader-motion-duration-short) var(--reader-motion-ease-standard),background-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),opacity var(--reader-motion-duration-short) var(--reader-motion-ease-standard)}.reader-quick-menu-row:active,.reader-quick-list-row:active,.reader-quick-icon-button:active,.reader-quick-back-button:active{transform:scale(var(--reader-motion-press-scale))}.reader-quick-menu-row{min-height:var(--space-11);display:grid;grid-template-columns:1fr var(--space-5);align-items:center;gap:var(--space-3);padding:0 var(--space-4);font-family:var(--font-ui);font-size:var(--text-reader-ui-title);font-weight:600}.reader-quick-utility-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.reader-quick-icon-button,.reader-quick-back-button{min-height:var(--space-11);display:inline-flex;align-items:center;justify-content:center}.reader-quick-icon-button.active,.reader-quick-list-row.active{background:var(--control-active);color:var(--control-active-text)}.reader-quick-panel-header{min-height:var(--space-11);display:grid;grid-template-columns:var(--space-11) 1fr;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-reader-ui-title)}.reader-quick-list-row{min-height:var(--space-11);display:grid;grid-template-columns:var(--space-5) 1fr;align-items:center;gap:var(--space-2-5);padding:var(--space-2);font-family:var(--font-ui);font-size:var(--text-reader-ui-body);text-align:left}.reader-quick-list-row strong,.reader-quick-list-row small{display:block}.reader-quick-list-row small,.reader-quick-empty{color:var(--app-muted);font-size:var(--text-reader-ui-caption)}.reader-quick-search{flex-shrink:0;margin:var(--space-0)}.reader-quick-search input{font-size:var(--text-reader-ui-body)}.reader-quick-empty{margin:var(--space-2);font-family:var(--font-ui)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3-5)}.sheet-header h2{margin:0;font-size:var(--text-reader-ui-title);letter-spacing:0}.segmented-control,.page-turn-row,.orientation-row,.reader-menu-actions{display:grid;gap:var(--space-2)}.segmented-control{grid-template-columns:1fr 1fr;min-height:var(--space-13-5);margin:var(--space-3) 0;border-radius:var(--radius-ui);overflow:hidden;background:var(--control-track)}.segmented-control button{border:0;display:flex;align-items:center;justify-content:center;gap:var(--space-1-5);background:transparent;cursor:pointer}.font-size-control{display:grid;gap:var(--space-2);margin:var(--space-3) 0}.font-size-stepper{margin:var(--space-0)}.font-size-dots{display:grid;grid-template-columns:repeat(10,minmax(var(--space-1),1fr));gap:var(--space-1);align-items:center}.font-size-dot{display:block;height:var(--space-1-5);border-radius:var(--radius-ui-sm);background:var(--control-track);transition:background-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard)}.font-size-dot.filled{background:var(--app-accent)}.reader-desktop-menu-button,.segmented-control button,.page-turn-button,.orientation-button,.toggle-button,.reader-menu-actions button,.close-book-button,.theme-card,.menu-row{transition:transform var(--reader-motion-duration-short) var(--reader-motion-ease-standard),background-color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),color var(--reader-motion-duration-short) var(--reader-motion-ease-standard),opacity var(--reader-motion-duration-short) var(--reader-motion-ease-standard)}.reader-desktop-menu-button:active,.segmented-control button:active,.page-turn-button:active,.orientation-button:active,.toggle-button:active,.reader-menu-actions button:active,.close-book-button:active,.theme-card:active,.menu-row:active{transform:scale(var(--reader-motion-press-scale))}.setting-row{display:grid;grid-template-columns:var(--space-6) 1fr;gap:var(--space-3);align-items:center;margin:var(--space-3-5) 0}.setting-row input,.customize-grid input{accent-color:var(--app-accent)}.page-turn-row{grid-template-columns:repeat(2,1fr);margin:var(--space-3-5) 0 var(--space-4-5)}.page-turn-button,.orientation-button,.toggle-button,.reader-menu-actions button,.close-book-button{min-height:var(--space-11);border-radius:var(--radius-ui);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--control-row);font-size:var(--text-reader-ui-body);font-weight:600}.page-turn-button.active,.orientation-button.active,.toggle-button.active{background:var(--control-active);color:var(--control-active-text)}.settings-section{display:grid;gap:var(--space-2-5);margin:var(--space-3-5) 0}.settings-section-label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--app-muted);font-size:var(--text-reader-ui-body);font-weight:700}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2-5);margin:var(--space-2-5) 0 var(--space-4-5)}.theme-card{min-height:var(--space-23);border-radius:var(--radius-ui);display:grid;place-items:center;border:var(--stroke-hairline) solid var(--border-subtle)}.theme-card span{font-family:var(--font-display);font-size:var(--text-heading-sm)}.theme-card small{font-family:var(--font-ui);font-size:var(--text-reader-ui-caption)}.theme-card.light{background:var(--bg-reader);color:var(--reader-text-ink)}.theme-card.dark{background:var(--reader-dark-bg);color:var(--reader-dark-text)}.theme-card.contrast{background:var(--reader-contrast-bg);color:var(--reader-contrast-text)}.theme-card.active{outline:var(--stroke-strong) solid var(--action-primary);outline-offset:calc(-1 * var(--stroke-strong))}.customize-panel{padding-top:var(--space-2)}.customize-panel summary{min-height:var(--space-12);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2-5);cursor:pointer;font-size:var(--text-reader-ui-body);font-weight:700}.customize-grid{display:grid;gap:var(--space-3-5)}.customize-grid label{display:grid;gap:var(--space-2);color:var(--app-muted);font-size:var(--text-reader-ui-body);font-weight:600}.customize-grid select{border:0;border-radius:var(--radius-ui);padding:0 var(--space-3);background:var(--surface-field);font-size:var(--text-reader-ui-body)}.reader-menu-actions{grid-template-columns:1fr;margin-bottom:var(--space-3)}.orientation-row{grid-template-columns:var(--space-6) repeat(3,1fr);align-items:center;margin-bottom:var(--space-3)}.search-field.compact{box-shadow:var(--shadow-none);margin:var(--space-2-5) 0}.menu-list{display:grid;gap:var(--space-1-5);max-height:var(--height-menu-list);overflow-y:auto;margin-top:var(--space-2)}.menu-row{width:100%;min-height:var(--space-13-5);display:grid;grid-template-columns:var(--space-5-5) 1fr;gap:var(--space-3);align-items:center;padding:var(--space-2-5);border-radius:var(--radius-ui)}.menu-row.active,.menu-row:hover{background:var(--control-row)}.menu-row strong,.menu-row small{display:block}.menu-row small{color:var(--app-muted);margin-top:var(--space-0-5)}.close-book-button{width:100%;margin-top:var(--space-3-5);background:var(--app-ink);color:var(--app-surface)}.line-guide-layer{position:absolute;inset:0;z-index:var(--z-line-guide);--line-guide-position: 42%;--line-guide-focus-height: calc(var(--reader-font-size) * var(--reader-line-height));--line-guide-focus-half: calc(var(--line-guide-focus-height) / 2);pointer-events:none}.line-guide-layer.dim-high{--guide-shadow: var(--line-guide-dim-high)}.line-guide-layer.dim-medium{--guide-shadow: var(--line-guide-dim-medium)}.line-guide-layer.dim-low{--guide-shadow: var(--line-guide-dim-low)}.line-guide-layer.dim-none{--guide-shadow: var(--line-guide-dim-none)}.line-guide-backdrop{position:absolute;left:var(--space-0);right:var(--space-0);background:var(--guide-shadow);-webkit-backdrop-filter:blur(var(--space-0-5));backdrop-filter:blur(var(--space-0-5))}.line-guide-backdrop-top{top:var(--space-0);bottom:calc(100% - var(--line-guide-position) + var(--line-guide-focus-half))}.line-guide-backdrop-bottom{top:calc(var(--line-guide-position) + var(--line-guide-focus-half));bottom:var(--space-0)}.line-guide-window{position:absolute;left:7%;right:7%;top:calc(var(--line-guide-position) - var(--line-guide-focus-half));height:var(--line-guide-focus-height);border-radius:var(--radius-ui);background:transparent;pointer-events:auto;cursor:pointer}.line-guide-controls{position:fixed;left:var(--space-4-5);bottom:calc(var(--space-28) + var(--safe-bottom));z-index:var(--z-line-guide-controls);display:flex;gap:var(--space-2)}.reader-shell{min-height:var(--size-dvh);background:var(--reader-bg);color:var(--reader-text);overflow:hidden;position:relative}::view-transition-group(root){animation-duration:var(--duration-reduced-motion)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-group(reader-page){animation-duration:var(--reader-motion-duration-medium);animation-timing-function:var(--reader-motion-ease-standard)}::view-transition-old(reader-page),::view-transition-new(reader-page){overflow:clip}:root[data-reader-turn-mode=fade][data-reader-turn-direction=next]::view-transition-old(reader-page){animation:reader-vt-fade-out-next var(--reader-motion-duration-medium) var(--reader-motion-ease-exit) both}:root[data-reader-turn-mode=fade][data-reader-turn-direction=next]::view-transition-new(reader-page){animation:reader-vt-fade-in-next var(--reader-motion-duration-medium) var(--reader-motion-ease-enter) both}:root[data-reader-turn-mode=fade][data-reader-turn-direction=previous]::view-transition-old(reader-page){animation:reader-vt-fade-out-previous var(--reader-motion-duration-medium) var(--reader-motion-ease-exit) both}:root[data-reader-turn-mode=fade][data-reader-turn-direction=previous]::view-transition-new(reader-page){animation:reader-vt-fade-in-previous var(--reader-motion-duration-medium) var(--reader-motion-ease-enter) both}@keyframes reader-page-fade-next{0%{opacity:var(--reader-motion-opacity-hidden);transform:translate(var(--space-0))}to{opacity:var(--reader-motion-opacity-visible);transform:translate(var(--space-0))}}@keyframes reader-page-fade-previous{0%{opacity:var(--reader-motion-opacity-hidden);transform:translate(var(--space-0))}to{opacity:var(--reader-motion-opacity-visible);transform:translate(var(--space-0))}}@keyframes reader-vt-fade-in-next{0%,44%{opacity:var(--reader-motion-opacity-hidden);transform:translate(var(--space-0))}to{opacity:var(--reader-motion-opacity-visible);transform:translate(var(--space-0))}}@keyframes reader-vt-fade-out-next{0%{opacity:var(--reader-motion-opacity-visible);transform:translate(var(--space-0))}44%,to{opacity:var(--reader-motion-opacity-hidden);transform:translate(var(--space-0))}}@keyframes reader-vt-fade-in-previous{0%,44%{opacity:var(--reader-motion-opacity-hidden);transform:translate(var(--space-0))}to{opacity:var(--reader-motion-opacity-visible);transform:translate(var(--space-0))}}@keyframes reader-vt-fade-out-previous{0%{opacity:var(--reader-motion-opacity-visible);transform:translate(var(--space-0))}44%,to{opacity:var(--reader-motion-opacity-hidden);transform:translate(var(--space-0))}}@keyframes reader-sheet-backdrop-in{0%{opacity:var(--reader-motion-opacity-hidden)}to{opacity:var(--reader-motion-opacity-visible)}}@keyframes reader-sheet-backdrop-out{0%{opacity:var(--reader-motion-opacity-visible)}to{opacity:var(--reader-motion-opacity-hidden)}}@keyframes reader-sheet-in{0%{opacity:var(--reader-motion-opacity-hidden);transform:translateY(var(--reader-motion-sheet-shift))}to{opacity:var(--reader-motion-opacity-visible);transform:translateY(var(--space-0))}}@keyframes reader-sheet-out{0%{opacity:var(--reader-motion-opacity-visible);transform:translateY(var(--space-0))}to{opacity:var(--reader-motion-opacity-hidden);transform:translateY(var(--reader-motion-sheet-shift))}}@media(max-width:700px){.reader-stage{padding-inline:calc(var(--space-6) * var(--reader-margin-scale))}.reader-topbar{grid-template-columns:minmax(0,1fr) auto}.reader-position strong{font-size:var(--text-reader-ui-title)}.reader-footer{grid-template-columns:var(--space-11) 1fr var(--space-11) var(--space-11)}.bottom-sheet{width:var(--size-vw)}}@media(min-width:700px){.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.reader-desktop-menu-button{display:inline-flex}.reader-mobile-menu-button{display:none}.reader-footer{grid-template-columns:var(--space-11) 1fr var(--space-11)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reader-page[data-turn-direction],.sheet-backdrop,.bottom-sheet{animation:none!important;transform:none!important}::view-transition-group(reader-page),::view-transition-old(reader-page),::view-transition-new(reader-page){animation-duration:var(--duration-reduced-motion)!important;transform:none!important}}.access-overlay{position:fixed;inset:var(--space-0);z-index:var(--access-overlay-z);display:grid;place-items:center;padding:var(--access-overlay-gutter);background:var(--access-overlay-scrim);-webkit-backdrop-filter:blur(var(--access-overlay-blur));backdrop-filter:blur(var(--access-overlay-blur))}.access-panel{width:min(var(--access-panel-width),var(--size-full));display:grid;gap:var(--access-panel-gap);padding:var(--access-panel-padding);border:var(--access-panel-border);border-radius:var(--radius-2xl);background:var(--access-panel-surface);color:var(--text-primary);box-shadow:var(--access-panel-shadow)}.access-icon{justify-self:start;display:inline-flex}.access-panel h1,.access-panel p{margin:var(--space-0)}.access-panel h1{font-family:var(--font-display);font-size:var(--access-title-size);font-weight:500;letter-spacing:var(--tracking-tight)}.access-form{display:grid;gap:var(--access-form-gap)}.access-form input,.admin-password-control input,.admin-range-control select{min-height:var(--target-md);border:var(--stroke-hairline) solid var(--border-subtle);border-radius:var(--radius-ui);padding:var(--space-3);background:var(--surface-field);color:var(--text-primary);font:inherit}.access-actions{display:flex;justify-content:flex-end;gap:var(--access-actions-gap)}.access-panel .ui-button,.screen-admin .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding-inline:var(--space-4)}.access-error,.admin-message{color:var(--action-danger);font-size:var(--text-ui-sm)}.screen-admin{padding-bottom:var(--space-8);--admin-public-tone: var(--app-accent);--admin-locked-tone: var(--app-accent-strong);--admin-password-tone: var(--app-cyan);--admin-status-soft: color-mix(in oklab, var(--app-accent) 12%, transparent);--admin-locked-soft: color-mix(in oklab, var(--app-accent-strong) 18%, transparent);--admin-locked-surface: color-mix(in oklab, var(--app-accent-strong) 14%, var(--surface-panel));--admin-locked-rail: color-mix(in oklab, var(--app-accent-strong) 74%, var(--app-ink));--admin-password-soft: color-mix(in oklab, var(--app-cyan) 12%, transparent)}.admin-header{align-items:start}.admin-setup,.admin-command-panel,.admin-metric,.admin-book-row,.admin-event{border-radius:var(--radius-ui);background:var(--surface-panel);box-shadow:var(--shadow-soft)}.admin-eyebrow{color:var(--app-muted);font-size:var(--text-ui-sm);font-weight:700;letter-spacing:0;text-transform:uppercase}.admin-setup{display:grid;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-4)}.admin-command-panel{display:grid;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4)}.admin-command-copy{display:grid;gap:var(--space-1-5)}.admin-command-copy h2,.admin-command-copy p{margin:var(--space-0)}.admin-command-copy h2{font-size:var(--text-heading-sm);line-height:var(--line-heading)}.admin-command-copy p{color:var(--app-muted);font-size:var(--text-ui-lg)}.admin-access-summary{display:grid;grid-template-columns:repeat(3,minmax(var(--space-0),1fr));gap:var(--space-2)}.admin-access-chip{display:grid;grid-template-columns:var(--space-5) 1fr;gap:var(--space-1) var(--space-2);align-items:center;min-height:var(--target-lg);padding:var(--space-2-5);border-radius:var(--radius-ui);background:var(--surface-panel-soft);color:var(--app-ink)}.admin-access-chip svg{grid-row:span 2}.admin-access-chip span{color:var(--app-muted);font-size:var(--text-ui-sm)}.admin-access-chip strong{font-size:var(--text-heading-sm);line-height:var(--line-tight)}.admin-access-chip-public{background:var(--admin-status-soft)}.admin-access-chip-locked{background:var(--admin-locked-soft)}.admin-access-chip-password{background:var(--admin-password-soft)}.admin-range-control{display:grid;gap:var(--space-1);align-content:start;color:var(--app-muted);font-size:var(--text-ui-sm)}.admin-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.admin-metric{display:grid;gap:var(--space-1);padding:var(--space-4)}.admin-metric span,.admin-event span,.admin-event small,.admin-access-disabled{color:var(--app-muted)}.admin-metric strong{font-size:var(--text-heading-sm)}.admin-grid{display:grid;gap:var(--space-3);margin-bottom:var(--space-5)}.admin-book-row{position:relative;display:grid;grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-4);overflow:hidden}.admin-book-row.is-locked{background:var(--admin-locked-surface)}.admin-book-row:before{content:"";position:absolute;inset:var(--space-0) auto var(--space-0) var(--space-0);width:var(--space-1);background:var(--admin-public-tone)}.admin-book-row.is-locked:before{background:var(--admin-locked-rail)}.admin-book-main,.admin-book-heading,.admin-password-control,.admin-password-control label{display:grid}.admin-book-main{gap:var(--space-2);min-width:var(--space-0)}.admin-book-heading{gap:var(--space-2)}.admin-book-heading>strong{font-size:var(--text-ui-lg);line-height:var(--line-card)}.admin-status-badge{display:inline-grid;grid-template-columns:var(--space-5) auto;gap:var(--space-0-5) var(--space-1-5);align-items:center;width:fit-content;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-pill);background:var(--admin-status-soft);color:var(--app-ink);font-size:var(--text-ui-sm);font-weight:700}.admin-status-badge.is-locked{background:var(--admin-locked-soft);color:var(--app-ink)}.admin-status-badge svg{grid-row:span 2}.admin-status-badge small{grid-column:2;color:var(--app-muted);font-size:var(--text-ui-xs);font-weight:600}.admin-book-stats{display:flex;flex-wrap:wrap;gap:var(--space-1-5) var(--space-3);color:var(--app-muted);font-size:var(--text-ui-sm)}.admin-book-stats span,.admin-stat-link{display:inline-flex;align-items:center;gap:var(--space-1)}.admin-stat-link{appearance:none;margin:var(--space-0);border:var(--stroke-hairline) solid color-mix(in oklab,var(--app-accent) 28%,transparent);border-radius:var(--radius-pill);background:color-mix(in oklab,var(--app-accent) 8%,transparent);color:var(--app-ink);cursor:pointer;font:inherit;padding:var(--space-1) var(--space-2)}.admin-stat-link:hover,.admin-stat-link:focus-visible{background:color-mix(in oklab,var(--app-accent) 14%,transparent)}.admin-depth-bar{--admin-progress: 0%;height:var(--space-1-5);overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-chip)}.admin-depth-bar span{display:block;width:var(--admin-progress);height:100%;border-radius:inherit;background:var(--app-accent)}.admin-password-control{gap:var(--space-2);min-width:var(--space-0)}.admin-password-control label{gap:var(--space-1)}.admin-password-control label span{color:var(--app-muted);font-size:var(--text-ui-sm)}.admin-password-control label strong{font-size:var(--text-ui-md)}.admin-password-control small{color:var(--app-muted);font-size:var(--text-ui-sm);line-height:var(--line-compact)}.admin-access-actions{display:grid;grid-template-columns:repeat(2,minmax(var(--space-0),1fr));gap:var(--space-2);align-items:center;align-self:center}.admin-access-actions .ui-button{width:100%;min-height:var(--target-md)}.admin-book-view-panel{display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-ui-sm);background:color-mix(in oklab,var(--surface-panel-strong) 78%,var(--surface-chip))}.admin-book-view-heading,.admin-view-refresh,.admin-book-view-item{display:flex;align-items:center}.admin-book-view-heading{justify-content:space-between;gap:var(--space-2)}.admin-view-refresh{gap:var(--space-1);margin:var(--space-0);border:0;border-radius:var(--radius-pill);background:var(--surface-floating-soft);color:var(--app-muted);cursor:pointer;font:inherit;padding:var(--space-1) var(--space-2)}.admin-book-view-list{display:grid;gap:var(--space-2)}.admin-book-view-item{flex-wrap:wrap;gap:var(--space-1-5) var(--space-3);padding:var(--space-2);border-radius:var(--radius-ui-sm);background:color-mix(in oklab,var(--surface-panel) 82%,transparent);color:var(--app-muted);font-size:var(--text-ui-sm)}.admin-book-view-item strong{color:var(--app-ink)}.admin-book-view-item span{display:inline-flex;align-items:center;gap:var(--space-1)}.screen-admin .ui-button:disabled{cursor:default;opacity:.42}.admin-events{display:grid;gap:var(--space-3)}.admin-events h2{margin:var(--space-0)}.admin-event{display:grid;gap:var(--space-1);padding:var(--space-4)}@media(min-width:700px){.admin-command-panel{grid-template-columns:minmax(var(--space-0),1fr) minmax(var(--space-image-offset),auto) auto;align-items:center}.admin-metrics{grid-template-columns:repeat(4,1fr)}.admin-book-row{grid-template-columns:minmax(var(--space-0),1fr) minmax(var(--space-image-offset),var(--width-dialog)) auto;align-items:center}.admin-book-view-panel{grid-column:1 / -1}.admin-book-heading{grid-template-columns:minmax(var(--space-0),1fr) auto;align-items:start}.admin-access-actions{min-width:var(--width-admin-min)}}.app-shell{min-height:var(--size-dvh);color:var(--app-ink);background:linear-gradient(180deg,var(--surface-app-wash),transparent var(--space-image-offset)),var(--app-bg);padding-bottom:calc(var(--navigation-shell-clearance) + var(--safe-bottom))}.screen{width:min(var(--size-full),var(--width-screen-max));margin:0 auto;padding:var(--space-8) var(--space-6) 0}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4-5);margin-bottom:var(--space-10)}.screen-header h1{margin:0;font-family:var(--font-display);font-size:var(--text-heading-lg);font-weight:500;line-height:1.05;letter-spacing:var(--tracking-tight)}.screen-header p,.section-title-row p,.library-card p,.year-summary span{margin:var(--space-1) 0 0;color:var(--app-muted);line-height:1.35}@media(max-width:700px){.screen{padding-inline:var(--space-6)}}@media(min-width:900px){.app-shell{padding-left:var(--space-23);padding-bottom:0}}
