@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Open Sans;src:url(/fonts/open-sans.ttf)format("truetype");font-weight:300 800;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fs-none:0;--fs-axis:9px;--fs-axis-compact:8px;--fs-nav:12px;--fs-nav-compact:11px;--swatch:var(--clay);--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:28px;--fs-xxl:36px;--fs-hero:56px;--fs-fluid-title:clamp(var(--fs-xl),4vw,var(--fs-hero));--radius-none:0;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:28px;--radius-pill:999px;--paper:#f8f4ed;--sheet:#fffcf7;--ink:#312820;--secondary-ink:#6d6055;--line:#dfd5c9;--clay:#a7492d;--clay-dark:#8c381f;--clay-soft:#f2e2d8;--leaf:#345d3a;--leaf-soft:#e3ecde;--quiet:#eee8df;--focus:#81371f;--shadow:0 2px 5px #49321809;--search:#f1ebe2;--on-clay:#fffaf6;--primary-bg:#a7492d;--primary-hover:#8c381f;--finished-line:#b8c9ae;--hover-line:#c7b4a4;--hover-shadow:0 5px 18px #49321812;--md-outline:#8e8277;--md-primary:var(--clay);--md-primary-fill:var(--primary-bg);--md-primary-fill-hover:var(--primary-hover);--md-on-primary-fill:var(--on-clay);--md-primary-container:var(--clay-soft);--md-on-primary-container:var(--clay-dark);--md-secondary-container:var(--clay-soft);--md-on-secondary-container:var(--clay-dark);--md-background:var(--paper);--md-surface:var(--sheet);--md-surface-container:var(--quiet);--md-search:var(--search);--md-on-surface:var(--ink);--md-on-surface-variant:var(--secondary-ink);--md-outline-variant:var(--line);--md-success:var(--leaf);--md-success-container:var(--leaf-soft);--md-error:var(--clay-dark);--md-scrim:#31282066;--md-navigation:var(--sheet);--md-state-hover-opacity:8%;--md-state-focus-opacity:10%;--md-state-pressed-opacity:12%;--md-state-duration:.15s;--md-state-hover:currentColor}@supports (color:color-mix(in lab, red, red)){:root{--md-state-hover:color-mix(in srgb,currentColor var(--md-state-hover-opacity),transparent)}}:root{--md-state-focus:currentColor}@supports (color:color-mix(in lab, red, red)){:root{--md-state-focus:color-mix(in srgb,currentColor var(--md-state-focus-opacity),transparent)}}:root{--md-state-pressed:currentColor}@supports (color:color-mix(in lab, red, red)){:root{--md-state-pressed:color-mix(in srgb,currentColor var(--md-state-pressed-opacity),transparent)}}@media (prefers-reduced-motion:reduce){:root{--md-state-duration:0s}}*{box-sizing:border-box}body{font-family:Open Sans,Arial,sans-serif;font-size:var(--fs-sm);background:var(--paper);color:var(--ink);margin:0;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0}button svg,a svg{flex-shrink:0}svg.icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--sheet);padding:12px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.preview-strip{border-bottom:1px solid var(--line);font-size:var(--fs-xs);color:var(--secondary-ink);background:var(--sheet);justify-content:space-between;align-items:center;gap:12px;padding:8px 24px;display:flex}.preview-strip label{align-items:center;gap:10px;display:flex}.preview-strip select{border:1px solid var(--line);background-color:var(--sheet);border-radius:var(--radius-sm);min-height:32px;color:var(--ink);font-size:var(--fs-xs);padding:4px 8px}.app-shell{grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 49px);display:grid}.sidebar{border-right:1px solid var(--line);flex-direction:column;padding:32px 20px;display:flex}.brand{font-size:var(--fs-md);align-items:center;gap:10px;margin:0 0 8px;font-weight:700;display:flex}.brand svg{width:25px;height:25px;color:var(--clay)}.sidebar-note{color:var(--secondary-ink);font-size:var(--fs-xs);margin:0 0 28px;padding:0 0 0 35px;line-height:1.5}.sidebar-note svg{color:var(--clay);width:26px;height:26px}.sidebar-note p{margin:0}main{align-self:start;width:100%;min-width:0;max-width:1380px;margin:0 auto;padding:36px 40px 64px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.eyebrow{font-size:var(--fs-xs);color:var(--secondary-ink);margin:0 0 4px}h1{font-size:var(--fs-xl);letter-spacing:-.8px;margin:0;font-weight:700;line-height:1.25}h2{font-size:var(--fs-lg);margin:0;font-weight:700;line-height:1.35}p{margin:0}.primary,.secondary{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-weight:600;display:inline-flex}.primary{background:var(--primary-bg);color:var(--on-clay)}.primary:hover{background:var(--primary-hover)}.secondary{background:var(--sheet);border:1px solid var(--line)}.secondary:hover{background:var(--quiet)}.icon-button{border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;width:44px;min-width:44px;min-height:44px;display:inline-flex}.icon-button:hover{background:var(--quiet)}.text-button{min-height:44px;color:var(--clay);text-underline-offset:3px;background:0 0;padding:8px 0;font-weight:600;text-decoration:underline}#filter-count{background:var(--clay-soft);color:var(--clay);border-radius:var(--radius-sm);font-size:var(--fs-xs);padding:0 5px}.cover{aspect-ratio:1.05;width:100%;display:block;overflow:hidden}.cover-svg{width:100%;height:100%;display:block;overflow:hidden}.cover-fallback{background:var(--quiet);height:100%;color:var(--secondary-ink);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.cover-fallback svg{width:36px;height:36px}.cover-fallback span{font-size:var(--fs-xs)}.status-badge{font-size:var(--fs-xs);border-radius:var(--radius-pill);background:var(--quiet);color:var(--secondary-ink);align-items:center;gap:6px;max-width:100%;padding:4px 9px;display:inline-flex}.status-badge.reading,.status-badge.paused{background:var(--clay-soft);color:var(--clay-dark)}.status-badge.read{background:var(--leaf-soft);color:var(--leaf)}.status-badge svg{width:13px;height:13px}.progress-track{background:var(--line);border-radius:var(--radius-sm);height:5px;margin:10px 0 0;overflow:hidden}.progress-track span{background:var(--clay);border-radius:var(--radius-sm);height:100%;display:block}.history-note{font-size:var(--fs-xs);color:var(--secondary-ink);align-items:center;gap:4px;margin-top:7px;display:flex}.history-note svg{width:12px;height:12px;color:var(--leaf)}.series-button{text-align:left;background:0 0;flex-direction:column;gap:7px;width:100%;min-height:44px;padding:10px 0 0;display:flex}.series-label{font-size:var(--fs-xs);color:var(--secondary-ink);overflow-wrap:anywhere}.series-label b{color:var(--ink);font-weight:600}.series-steps{flex-wrap:wrap;gap:5px;display:flex}.series-step{width:22px;height:22px;font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper);color:var(--secondary-ink);justify-content:center;align-items:center;display:inline-flex}.series-step.finished{background:var(--leaf-soft);color:var(--leaf);border-color:var(--finished-line)}.series-step.current{box-shadow:0 0 0 2px var(--clay);border-color:var(--sheet)}.series-step.unknown{border-style:dashed}.series-step svg{width:12px;height:12px}.series-button:hover .series-label{text-underline-offset:3px;text-decoration:underline}.book-format{font-size:var(--fs-xs);color:var(--secondary-ink);margin-top:9px;display:block}.state-panel{text-align:center;max-width:540px;margin:auto;padding:72px 20px 100px}.state-panel .state-icon{color:var(--clay);justify-content:center;margin-bottom:22px;display:flex}.state-panel .state-icon svg{stroke-width:1.2px;width:48px;height:48px}.state-panel p{color:var(--secondary-ink);margin:14px 0 24px}.state-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.loading-card{background:var(--sheet);border-radius:var(--radius-md);border:1px solid var(--line);height:340px;padding:14px}.loading-card .loading-cover{background:var(--quiet);border-radius:var(--radius-sm);height:200px}.loading-card .loading-line{background:var(--quiet);border-radius:var(--radius-sm);width:80%;height:14px;margin-top:18px}.loading-card .loading-line:last-child{width:55%}dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--sheet);width:calc(100% - 32px);max-width:560px;max-height:calc(100dvh - 40px);color:var(--ink);padding:24px;box-shadow:0 24px 80px #31282035}dialog::backdrop{background:var(--md-scrim)}body:has(dialog[open]){overflow:hidden}.dialog-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.dialog-heading h2{overflow-wrap:anywhere}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.dialog-caption{color:var(--secondary-ink);font-size:var(--fs-xs);margin-bottom:16px}.series-list{margin:0;padding:0;list-style:none}.series-list li{border-top:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.series-order{background:var(--quiet);border-radius:var(--radius-pill);width:28px;height:28px;font-size:var(--fs-xs);justify-content:center;align-items:center;display:flex}.series-list strong{font-weight:600;display:block}.series-list p{font-size:var(--fs-xs);color:var(--secondary-ink);margin-top:3px}.series-list .completed-label{color:var(--leaf)}.detail-copy{line-height:1.65}.detail-copy p{margin:0 0 14px}.detail-copy .secondary{margin-top:8px}@media (min-width:1600px){main{padding-left:56px;padding-right:56px}}@media (max-width:1190px){main{padding:28px}.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:28px 16px}.brand{font-size:var(--fs-md)}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}main{padding:24px 24px 116px}}@media (max-width:600px){.preview-strip{font-size:var(--fs-xs);align-items:flex-start;gap:8px;padding:8px 16px}.preview-strip>span{max-width:125px}.preview-strip label{font-size:var(--fs-xs);flex-direction:column;align-items:flex-end;gap:4px}.preview-strip select{max-width:160px;font-size:var(--fs-xs);min-height:28px}main{padding:22px 16px 110px}.page-header{gap:12px;margin-bottom:20px}h1{font-size:var(--fs-xl);letter-spacing:-.7px}.eyebrow{font-size:var(--fs-xs)}.add-button{width:44px;min-width:44px;padding:0}.add-button>span:last-child{display:none}.status-badge{font-size:var(--fs-xs);padding:4px 7px}.series-label{font-size:var(--fs-xs);line-height:1.5}.series-step{width:19px;height:19px;font-size:var(--fs-xs)}.series-steps{gap:4px}.history-note{font-size:var(--fs-xs);align-items:flex-start;line-height:1.5}.history-note svg{flex-shrink:0;margin-top:2px}.book-format{font-size:var(--fs-xs)}.state-panel{padding:52px 8px 72px}.state-panel h2{font-size:var(--fs-lg)}.state-panel p{font-size:var(--fs-sm)}dialog{padding:20px}.loading-card{height:270px;padding:10px}.loading-card .loading-cover{height:150px}}select,.preview-strip select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23312820' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px}.preview-strip select{padding-right:40px}.cover-fallback{text-align:center;padding:12px}.cover-fallback>span{overflow-wrap:anywhere;max-width:100%}@media (prefers-reduced-motion:no-preference){button,a{transition:background-color .12s,color .12s}dialog[open]{animation:.18s cubic-bezier(.23,1,.32,1) dialog-enter}dialog[open]::backdrop{animation:.14s ease-out backdrop-enter}.loading-cover,.loading-line{animation:1.6s ease-in-out infinite breath}@keyframes breath{50%{opacity:.55}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}}@media (prefers-reduced-motion:reduce){button:active:not(:disabled){transform:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#191715;--sheet:#25211d;--ink:#f2e9dd;--secondary-ink:#bdb1a4;--line:#61564b;--quiet:#302b25;--search:#302b25;--clay:#edab8d;--clay-dark:#f4c2aa;--clay-soft:#443027;--primary-bg:#9d432a;--primary-hover:#ae4b30;--leaf:#afd0a1;--leaf-soft:#293b2b;--finished-line:#607c55;--focus:#edab8d;--shadow:0 2px 5px #00000030;--hover-line:#a89580;--hover-shadow:0 5px 18px #00000045;--md-outline:#7f7468;--md-scrim:#0005;--md-navigation:var(--paper)}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23f2e9dd' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.preview-strip>span{margin-right:auto}@media (max-width:600px){.preview-strip{grid-template-columns:1fr 1fr;display:grid}.preview-strip>span{grid-column:1/-1;max-width:none}.preview-strip label{align-items:flex-start}.preview-strip select{width:100%;max-width:none;min-height:44px}}.sort-row{color:var(--secondary-ink);font-size:var(--fs-xs);justify-content:flex-end;margin:0 0 16px;display:flex}.sort-row label{align-items:center;gap:10px;display:flex}.sort-row select{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:44px;color:var(--ink);background-color:var(--sheet);max-width:100%;padding:8px 40px 8px 12px}@media (max-width:600px){.sort-row{justify-content:flex-start}.sort-row label{width:100%}.sort-row select{min-width:0;font-size:var(--fs-xs);flex:1}}:root[data-palette=vanilla]{--paper:#f6efd6;--sheet:#fffbef;--ink:#3a2433;--secondary-ink:#6e5666;--line:#dccdb4;--clay:#8a3a6f;--clay-dark:#6f2d59;--clay-soft:#f0e0ea;--quiet:#ede3c6;--search:#faf3dc;--on-clay:#fffbef;--primary-bg:#6f2d59;--primary-hover:#5a2348;--focus:#6f2d59;--hover-line:#b994ab;--shadow:0 2px 5px #3a24330a;--hover-shadow:0 5px 18px #3a243318;--md-outline:#907b7e}:root[data-palette=vanilla][data-theme=dark]{--paper:#241822;--sheet:#312230;--ink:#f3ead0;--secondary-ink:#c9b8b8;--line:#6e5466;--clay:#e9b8d6;--clay-dark:#f4cfe5;--clay-soft:#4a3044;--quiet:#3b2a38;--search:#3b2a38;--on-clay:#2a1a27;--primary-bg:#f2e6b1;--primary-hover:#fff2be;--focus:#f2e6b1;--hover-line:#b597a9;--shadow:0 2px 5px #00000030;--hover-shadow:0 5px 18px #00000045;--md-outline:#8a737f}:root[data-palette=sage]{--paper:#f5f8f3;--sheet:#fcfdf9;--ink:#20382d;--secondary-ink:#53655b;--line:#c9d6cb;--clay:#365e49;--clay-dark:#284d39;--clay-soft:#e0ebe1;--quiet:#e9efe7;--search:#edf2eb;--on-clay:#fcfdf9;--primary-bg:#365e49;--primary-hover:#284d39;--focus:#365e49;--leaf:#2f5c3e;--leaf-soft:#dcebdd;--finished-line:#a3bfa7;--hover-line:#809d88;--shadow:0 2px 5px #20382d09;--hover-shadow:0 5px 18px #20382d15;--md-outline:#7b8b81}:root[data-palette=sage][data-theme=dark]{--paper:#17241e;--sheet:#22342a;--ink:#edf4ea;--secondary-ink:#b2c5b6;--line:#5c7764;--clay:#b7d5ba;--clay-dark:#d0e6cd;--clay-soft:#334d3b;--quiet:#2b4133;--search:#2b4133;--on-clay:#20382d;--primary-bg:#b7d5ba;--primary-hover:#d0e6cd;--focus:#b7d5ba;--leaf:#b5d7b8;--leaf-soft:#304b38;--finished-line:#789e80;--hover-line:#a0bda7;--shadow:0 2px 5px #00000030;--hover-shadow:0 5px 18px #00000045;--md-outline:#748d7b}:root[data-palette=sage][data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23eef0d8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.appearance-options{border:0;gap:10px;min-width:0;margin:0 0 24px;padding:0;display:grid}.appearance-options legend{font-size:var(--fs-sm);margin-bottom:12px;font-weight:600}.palette-option{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--paper);align-items:center;gap:12px;min-height:64px;padding:14px;display:flex}.palette-option:has(input:checked){border-color:var(--focus);box-shadow:inset 0 0 0 1px var(--focus)}.palette-option input{width:18px;height:18px;accent-color:var(--clay);flex-shrink:0}.palette-option strong{font-size:var(--fs-sm);display:block}.palette-option small{font-size:var(--fs-xs);color:var(--secondary-ink)}.palette-swatch{border:1px solid var(--line);border-radius:var(--radius-sm);flex-shrink:0;margin-left:auto;display:flex;overflow:hidden}.palette-swatch span{background:var(--swatch);width:22px;height:32px}#appearance-dialog .dialog-caption{margin-top:16px}:root[data-palette=ink]{--paper:#eef2f7;--sheet:#fcfdff;--ink:#23354e;--secondary-ink:#53667c;--line:#b8c5d5;--clay:#304d73;--clay-dark:#263e5e;--clay-soft:#e0e8f3;--quiet:#e3e9f1;--search:#f5f8fc;--on-clay:#fff;--primary-bg:#304d73;--primary-hover:#263e5e;--focus:#304d73;--hover-line:#8ea3bf;--shadow:0 2px 5px #0000000a;--hover-shadow:0 5px 18px #00000018;--md-outline:#75869a}:root[data-palette=ink][data-theme=dark]{--paper:#141e2c;--sheet:#1f2c3e;--ink:#eaf0fa;--secondary-ink:#b5c3d7;--line:#526682;--clay:#aec9ee;--clay-dark:#c4daf7;--clay-soft:#30445f;--quiet:#26354a;--search:#26354a;--on-clay:#182638;--primary-bg:#aec9ee;--primary-hover:#c4daf7;--focus:#aec9ee;--hover-line:#7f97b8;--shadow:0 2px 5px #00000030;--hover-shadow:0 5px 18px #00000045;--md-outline:#6e809a}:root[data-palette=lavender]{--paper:#f1edf7;--sheet:#fdfaff;--ink:#382b4b;--secondary-ink:#675876;--line:#c5b8d3;--clay:#69517d;--clay-dark:#554065;--clay-soft:#e8deef;--quiet:#e7e0f0;--search:#f8f5fc;--on-clay:#fff;--primary-bg:#69517d;--primary-hover:#554065;--focus:#69517d;--hover-line:#a796ba;--shadow:0 2px 5px #0000000a;--hover-shadow:0 5px 18px #00000018;--md-outline:#897b97}:root[data-palette=lavender][data-theme=dark]{--paper:#211a2b;--sheet:#30263c;--ink:#f2eaf8;--secondary-ink:#c4b6d0;--line:#71617e;--clay:#d2b8e8;--clay-dark:#e1cdf2;--clay-soft:#463651;--quiet:#3a2f47;--search:#3a2f47;--on-clay:#271e33;--primary-bg:#d2b8e8;--primary-hover:#e1cdf2;--focus:#d2b8e8;--hover-line:#9c88b0;--shadow:0 2px 5px #00000030;--hover-shadow:0 5px 18px #00000045;--md-outline:#877894}:root[data-palette=petrol]{--paper:#edf4f3;--sheet:#fbfffd;--ink:#213f43;--secondary-ink:#4b676a;--line:#aac4c4;--clay:#245e67;--clay-dark:#1b4c54;--clay-soft:#d9e9e8;--quiet:#dfebea;--search:#f5faf9;--on-clay:#fff;--primary-bg:#245e67;--primary-hover:#1b4c54;--focus:#245e67;--hover-line:#7fa5a8;--shadow:0 2px 5px #0000000a;--hover-shadow:0 5px 18px #00000018;--md-outline:#6e898b}:root[data-palette=petrol][data-theme=dark]{--paper:#15282b;--sheet:#20373b;--ink:#e8f4f2;--secondary-ink:#acc7c8;--line:#587e83;--clay:#a0d4d8;--clay-dark:#bce7e9;--clay-soft:#304e54;--quiet:#253f43;--search:#253f43;--on-clay:#183034;--primary-bg:#a0d4d8;--primary-hover:#bce7e9;--focus:#a0d4d8;--hover-line:#6f979b;--shadow:0 2px 5px #00000030;--hover-shadow:0 5px 18px #00000045;--md-outline:#688c90}.login-main{align-self:start;max-width:480px;padding:44px 24px 48px}.login-brand{text-align:center;margin-bottom:26px}.login-brand .brand{font-size:var(--fs-lg);justify-content:center;margin:0 0 8px}.login-brand .brand .icon{width:29px;height:29px}.login-brand>p{font-size:var(--fs-xs);color:var(--secondary-ink)}.login-panel{border:1px solid var(--line);background:var(--sheet);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px}.login-panel h1{font-size:var(--fs-xl);letter-spacing:-.6px}.login-intro{font-size:var(--fs-sm);color:var(--secondary-ink);margin-top:10px;margin-bottom:28px}.login-field{margin-bottom:20px}.login-field label{font-size:var(--fs-sm);margin-bottom:7px;font-weight:600;display:block}.login-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-width:0;height:48px;color:var(--ink);font-size:var(--fs-md);padding:10px 12px;display:block}.login-field input::placeholder{color:var(--secondary-ink);opacity:1}.login-field input[aria-invalid=true]{border-color:var(--clay-dark)}.password-control{position:relative}.password-control input{padding-right:58px}.password-control .icon-button{color:var(--secondary-ink);position:absolute;top:2px;right:2px}.login-submit{width:100%;min-height:48px;margin-top:4px}.field-error{font-size:var(--fs-xs);color:var(--clay-dark);margin-top:7px;line-height:1.6}.login-feedback{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--clay-soft);font-size:var(--fs-sm);margin-bottom:16px;padding:12px;line-height:1.6}.session-notice{background:var(--quiet);color:var(--secondary-ink);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin-bottom:22px;padding:12px}.login-progress{font-size:var(--fs-sm);color:var(--secondary-ink);margin-bottom:12px}.cancel-login{margin:8px auto 0;padding:8px 14px;display:block}.login-footer{text-align:center;margin-top:12px}.login-footer .text-button{font-size:var(--fs-xs);padding:8px 16px}.demo-help{text-align:center;color:var(--secondary-ink);font-size:var(--fs-xs);margin-top:18px}.demo-help p{margin-bottom:12px}.demo-help button{font-size:var(--fs-xs)}.login-submit:disabled{opacity:1;color:var(--secondary-ink);background:var(--quiet);border:1px solid var(--line)}@media (max-width:600px){.login-main{max-width:440px;padding:28px 16px 32px}.login-panel{padding:24px}.login-brand{margin-bottom:22px}.login-brand .brand{font-size:var(--fs-lg)}.login-panel h1{font-size:var(--fs-xl)}.login-intro{margin-bottom:24px}.preview-strip select{max-width:100%}}@media (max-width:360px){.login-panel{padding:20px}.login-main{padding-top:24px}.login-panel h1{font-size:var(--fs-xl)}.login-brand .brand{font-size:var(--fs-md)}.login-intro{font-size:var(--fs-xs)}}.appearance-modal{color:var(--ink);background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-lg);width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 32px);padding:24px;overflow:auto}.appearance-modal::backdrop{background:var(--md-scrim)}.appearance-modal h2{margin-bottom:24px}.appearance-modal select{border:1px solid var(--line);background-color:var(--sheet);width:100%;min-height:44px;color:var(--ink);border-radius:var(--radius-sm);margin:8px 0 24px;padding:8px 12px;display:block}.appearance-modal form{text-align:right}.appearance-modal .palette-option{min-height:44px}.appearance-modal .appearance-options{gap:8px;margin-bottom:16px}.adaptation-finder{margin-top:18px}.adaptation-finder-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--quiet);margin-top:14px;padding:20px}.adaptation-finder-panel h3{font-size:var(--fs-md);margin:18px 0 10px}.adaptation-finder-panel a{font-size:var(--fs-xs)}.adaptation-finder-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.adaptation-finder-heading h3{margin:18px 0 10px}.adaptation-finder-list{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.adaptation-finder-list li{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px;display:flex}.adaptation-finder-list li>div{overflow-wrap:anywhere;min-width:0}.adaptation-finder-list li>button{flex:none;min-height:44px}.adaptation-finder-list li>span{color:var(--secondary-ink);font-size:var(--fs-xs)}.adaptation-finder-list p{margin:4px 0}.adaptation-finder-panel>.text-button{min-height:44px;margin-top:12px}@media (max-width:600px){.adaptation-finder-panel{padding:14px}.adaptation-finder-list li{flex-direction:column;align-items:stretch}.adaptation-finder-list li>button{align-self:flex-start}}.adaptation-finder-panel a,.adaptation-finder-list li>span,.adaptation-finder-list li>a{align-items:center;min-height:44px;display:inline-flex}.adaptation-finder-candidates{gap:8px;max-width:280px;display:grid}.adaptation-finder-candidates>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adaptation-finder-candidates button{min-height:44px}.adaptation-finder-panel h4{font-size:var(--fs-sm);margin:16px 0 8px}.adaptation-finder-heading h4{margin:16px 0 8px}.adaptation-finder-source+.adaptation-finder-source{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}.adaptation-finder-panel .adaptation-finder-source-title{font-size:var(--fs-md);margin:14px 0 6px}:root[data-palette=graphite]{--paper:#f3f3f1;--sheet:#fff;--ink:#1f2124;--secondary-ink:#5d6168;--line:#d6d7d9;--clay:#8a5300;--clay-dark:#6e4200;--clay-soft:#f6ead6;--quiet:#e8e8e6;--search:#f7f7f6;--on-clay:#fff;--primary-bg:#26292e;--primary-hover:#3a3e45;--focus:#8a5300;--hover-line:#a9acb1;--shadow:0 2px 5px #0000000a;--hover-shadow:0 5px 18px #00000018;--md-outline:#81848a}:root[data-palette=graphite][data-theme=dark]{--paper:#161718;--sheet:#222426;--ink:#ececea;--secondary-ink:#b0b3b8;--line:#4a4d52;--clay:#f0b75e;--clay-dark:#f6cb85;--clay-soft:#3d3222;--quiet:#2c2e31;--search:#2c2e31;--on-clay:#1b1c1e;--primary-bg:#f0b75e;--primary-hover:#f6cb85;--focus:#f0b75e;--hover-line:#8d9096;--shadow:0 2px 5px #00000030;--hover-shadow:0 5px 18px #00000045;--md-outline:#75787d}:root[data-palette=sepia]{--paper:#f1e7d6;--sheet:#f8f0e2;--ink:#3b2e22;--secondary-ink:#6b5a48;--line:#d8c8af;--clay:#7d4f24;--clay-dark:#6f4520;--clay-soft:#ead9c0;--quiet:#e6d9c3;--search:#f4ead9;--on-clay:#fbf4e8;--primary-bg:#7a4e25;--primary-hover:#633f1d;--focus:#6f4520;--hover-line:#b59a7b;--shadow:0 2px 5px #3b2e2209;--hover-shadow:0 5px 18px #3b2e2215;--md-outline:#887864}:root[data-palette=sepia][data-theme=dark]{--paper:#1f1812;--sheet:#2a2119;--ink:#e8d9bf;--secondary-ink:#b5a184;--line:#5a4a38;--clay:#d9a866;--clay-dark:#e6bd83;--clay-soft:#42331f;--quiet:#352a1f;--search:#352a1f;--on-clay:#2a2119;--primary-bg:#c89350;--primary-hover:#d9a866;--focus:#d9a866;--hover-line:#9a8466;--shadow:0 2px 5px #00000030;--hover-shadow:0 5px 18px #00000045;--md-outline:#85735c}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
.book-main{max-width:1280px;padding-top:28px}.back-link{min-height:44px;color:var(--secondary-ink);align-items:center;margin-bottom:20px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--clay)}.brand-mark{color:var(--clay);font-size:var(--fs-xl)}.book-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:36px;display:grid}.book-aside{min-width:0}.detail-cover{aspect-ratio:1.05;border-radius:var(--radius-md);background:var(--quiet);border:1px solid var(--line);overflow:hidden}.detail-cover svg{width:100%;height:100%;display:block}.cover-fallback{padding:16px}.book-meta{margin-top:24px}.book-meta dl{gap:14px;margin:0;display:grid}.book-meta dt{font-size:var(--fs-xs);color:var(--secondary-ink)}.book-meta dd{font-size:var(--fs-sm);margin:3px 0 0}.tag{border-radius:var(--radius-sm);background:var(--quiet);font-size:var(--fs-xs);padding:4px 9px;display:inline-block}.source-info{border-top:1px solid var(--line);color:var(--secondary-ink);font-size:var(--fs-xs);margin-top:24px;padding-top:16px}.source-info summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;display:flex}.source-info summary:after{content:"+"}.source-info[open] summary:after{content:"−"}.source-info p{margin:0 0 8px}.external-links{flex-wrap:wrap;gap:6px 14px;margin-top:12px;display:flex}.external-links a{min-height:44px;color:var(--clay);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.book-content{min-width:0}.book-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.book-heading h1{font-size:var(--fs-xxl);overflow-wrap:anywhere}.author-line{color:var(--secondary-ink);font-size:var(--fs-md);margin-top:8px}.book-heading .icon-button{border:1px solid var(--line);background:var(--sheet)}.section{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:20px;padding:22px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading h2{font-size:var(--fs-lg)}.section-heading .text-button{font-size:var(--fs-xs);flex-shrink:0;padding:0 4px}.muted{color:var(--secondary-ink)}.small{font-size:var(--fs-xs)}.reading-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.reading-top .status-badge{font-size:var(--fs-sm)}.reading-top .muted{font-size:var(--fs-xs)}.reading-progress{font-size:var(--fs-xxl);margin-top:16px;font-weight:600;line-height:1.3}.reading-progress span{font-size:var(--fs-md);color:var(--secondary-ink);font-weight:400}.reading-section .progress-track{height:7px;margin:12px 0 10px}.reading-section .history-note{font-size:var(--fs-xs)}.reading-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:22px;display:flex}.reading-more{position:relative}.reading-more summary{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sheet);align-items:center;min-height:44px;padding:10px 14px;list-style:none;display:flex}.reading-more summary::-webkit-details-marker{display:none}.reading-more[open] summary{background:var(--quiet)}.reading-menu{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:180px;box-shadow:var(--hover-shadow);z-index:3;padding:5px;position:absolute;top:50px;right:0}.reading-menu button{text-align:left;border-radius:var(--radius-sm);background:0 0;width:100%;min-height:44px;padding:10px;display:block}.reading-menu button:hover{background:var(--quiet)}.rating-line{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:10px;display:flex}.rating-line .text-button{font-size:var(--fs-sm)}.rating{color:var(--clay);font-weight:600}.annotation{font-size:var(--fs-sm);line-height:1.75}.section details>summary{cursor:pointer;min-height:44px;color:var(--clay);font-weight:600;font-size:var(--fs-sm);align-items:center;display:flex}.series-intro{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.series-position{font-size:var(--fs-sm);color:var(--secondary-ink)}.series-intro a{color:var(--clay);align-items:center;min-height:44px;font-weight:600;display:inline-flex}.series-list li{grid-template-columns:28px minmax(0,1fr);gap:12px}.series-title{font-weight:600;font-size:var(--fs-sm);line-height:1.45;display:block}.series-title[href]{text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:flex}.series-list .series-current{background:var(--clay-soft);border-radius:var(--radius-sm);border-color:#0000;margin:4px -12px;padding:12px}.series-list .series-current .series-order{background:var(--sheet);color:var(--clay)}.series-description{font-size:var(--fs-xs);color:var(--secondary-ink);margin:6px 0 12px}.history-item{border-top:1px solid var(--line);padding:15px 0}.history-item:first-of-type{border-top:0;padding-top:0}.history-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.history-heading strong{font-size:var(--fs-sm)}.history-item p{font-size:var(--fs-xs);color:var(--secondary-ink);margin:4px 0}.history-item .history-impression{color:var(--ink);font-size:var(--fs-sm);margin-top:9px}.note-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-sm);line-height:1.7}.adaptations{grid-template-columns:1fr 1fr;gap:14px;display:grid}.film{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);padding:14px}.film h3{font-size:var(--fs-sm);margin:0 0 4px;line-height:1.5}.film p{font-size:var(--fs-xs);color:var(--secondary-ink);margin-bottom:14px}.film label{font-size:var(--fs-xs);color:var(--secondary-ink);display:block}.film select{border-radius:var(--radius-sm);background-color:var(--sheet);border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font-size:var(--fs-xs);margin-top:5px;padding:8px 40px 8px 10px}.notice:empty{display:none}.notice{z-index:30;background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--hover-shadow);color:var(--ink);font-size:var(--fs-sm);width:max-content;max-width:calc(100% - 32px);padding:12px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.editor-fields{gap:16px;display:grid}#editor-fields label{font-size:var(--fs-sm);gap:7px;margin-bottom:16px;font-weight:600;display:grid}#editor-fields input,#editor-fields select,#editor-fields textarea{background-color:var(--paper);width:100%;min-height:44px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-md);padding:10px}#editor-fields select{padding-right:40px}#editor-fields textarea{resize:vertical;min-height:150px;line-height:1.6}#editor-fields .muted{font-size:var(--fs-xs);margin-bottom:16px}#form-error{font-size:var(--fs-sm);color:var(--clay-dark);margin:12px 0}#editor-fields .confirmation{font-size:var(--fs-sm);line-height:1.6}.empty-copy{color:var(--secondary-ink);font-size:var(--fs-sm);line-height:1.7}@media (max-width:1100px){.book-layout{grid-template-columns:190px minmax(0,1fr);gap:24px}.book-main{padding:24px}.book-heading h1{font-size:var(--fs-xl)}.reading-actions{gap:8px}.reading-actions button{font-size:var(--fs-sm)}}@media (max-width:900px){.book-main{padding-bottom:110px}.notice{bottom:82px}}@media (max-width:600px){.preview-strip>span{font-size:var(--fs-xs)}.preview-strip label{min-width:0}.preview-strip select{max-width:100%;font-size:var(--fs-xs)}.book-main{padding:16px 16px 100px}.back-link{font-size:var(--fs-xs);margin-bottom:12px}.book-layout{flex-direction:column;gap:20px;display:flex}.book-aside{grid-template-columns:106px minmax(0,1fr);gap:16px;width:100%;display:grid}.detail-cover{border-radius:var(--radius-sm);width:106px}.book-meta{margin:0}.book-meta dl{gap:9px}.book-meta dt{font-size:var(--fs-xs)}.book-meta dd{font-size:var(--fs-xs);margin-top:1px}.source-info{grid-column:1/-1;margin-top:0;padding-top:0}.source-info summary{min-height:44px}.book-content{width:100%}.book-heading{gap:12px;margin-bottom:18px}.book-heading h1{font-size:var(--fs-xl);letter-spacing:-.5px}.author-line{font-size:var(--fs-sm);margin-top:6px}.section{margin-bottom:16px;padding:16px}.section-heading h2{font-size:var(--fs-md)}.section-heading{margin-bottom:10px}.reading-top{flex-wrap:wrap;align-items:flex-start;gap:8px}.reading-progress{font-size:var(--fs-xl)}.reading-actions{gap:8px;margin-top:18px}.reading-actions>.primary{width:100%}.reading-actions>.secondary{flex:1}.reading-more summary{justify-content:center;min-width:68px}.rating-line{font-size:var(--fs-xs);gap:8px}.series-intro{gap:4px 12px}.series-intro a,.series-title{font-size:var(--fs-sm)}.adaptations{grid-template-columns:1fr}.book-heading>.icon-button{flex-shrink:0}.annotation{font-size:var(--fs-sm)}.notice{font-size:var(--fs-xs)}}@media (prefers-reduced-motion:no-preference){.notice{animation:.16s ease-out dialog-enter}}.detail-series-steps{gap:8px;margin:10px 0 12px}.detail-series-steps .series-step{width:28px;height:28px;font-size:var(--fs-xs)}.detail-series-steps .series-step svg{width:14px;height:14px}.book-layout{row-gap:24px}.book-heading{grid-area:1/2;margin-bottom:0}.book-layout>.reading-section{grid-area:2/2;margin-bottom:0}.reading-actions>.session-controls{margin:0}.book-aside{grid-area:1/1/span 4}.book-review-row,.book-content,.book-layout>.source-info{grid-column:2}.book-layout>.source-info{margin-top:0}.book-review-row .review-summary{border:0;margin:0;padding:0}.book-review-row .review-summary-trigger{width:auto;min-height:44px}.book-review-row:has(.review-summary[data-saved=false]) .review-summary-trigger{box-shadow:none;color:var(--secondary-ink);background:0 0;border:0;padding-left:0;padding-right:0}.book-epub-link{min-height:44px;color:var(--clay);font-size:var(--fs-sm);text-underline-offset:3px;align-items:center;gap:8px;margin-top:12px;font-weight:600;text-decoration:underline;display:inline-flex}.book-epub-link:hover{color:var(--clay-dark)}.book-extras{border-top:1px solid var(--line);margin:8px 0 20px}.book-extras>summary{cursor:pointer;min-height:52px;color:var(--secondary-ink);font-size:var(--fs-sm);justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.book-extras>summary::-webkit-details-marker{display:none}.book-extras>summary:after{content:"+";font-size:var(--fs-md)}.book-extras[open]>summary:after{content:"−"}.book-extras>summary:hover{color:var(--ink)}.book-extras-content{flex-wrap:wrap;align-items:center;gap:4px 16px;padding:4px 0 12px;display:flex}.book-extras-content>.text-button{min-height:44px;font-size:var(--fs-sm);align-items:center;display:inline-flex}.book-extras-content>.section{flex-basis:100%;margin:12px 0 0}.book-sessions .session-history{border:0;margin:0;padding:0}.reading-actions>.session-controls:has(>button.primary){flex:1}.reading-desktop-actions{flex-wrap:wrap;align-items:center;gap:0 10px;display:flex}.reading-desktop-actions .text-button{min-height:44px;font-size:var(--fs-xs);color:var(--secondary-ink)}@media (min-width:1100px){.reading-actions>.reading-more{display:none}}@media not (min-width:1100px){.reading-desktop-actions{display:none}}@media (max-width:600px){.book-layout{grid-template-columns:1fr;gap:16px;display:grid}.book-heading{grid-area:1/1;margin-bottom:0}.book-layout>.reading-section{grid-area:2/1}.book-aside{grid-area:3/1;grid-template-columns:106px minmax(0,1fr);gap:16px;display:grid}.book-review-row,.book-content,.book-layout>.source-info{grid-column:1}.book-content{flex-direction:column;display:flex}.book-layout>.source-info{margin:0}.book-content>.section{margin-bottom:16px}.reading-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reading-actions>.primary{grid-column:1/-1;width:100%;min-height:44px}.reading-actions>.session-controls{width:100%;margin:0}.reading-actions>.session-controls button{width:100%}.reading-actions>.session-controls.active{order:-1;grid-column:1/-1}.reading-actions>.session-controls:has(>button.primary){order:-1;grid-column:1/-1}.reading-actions>.reading-more{width:100%}:is(.reading-actions:has(>.session-controls>button.primary)>.reading-more,.reading-actions:has(>.session-controls.active)>.reading-more){grid-column:1/-1}.reading-actions>.reading-more summary{justify-content:center;width:100%;min-height:44px}.reading-actions>.reading-more .reading-menu{left:0;right:0}.reading-section>.session-controls button{min-height:44px}}.film-status{align-items:stretch;gap:6px;display:flex}.film-status button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sheet);min-width:0;min-height:44px;color:var(--secondary-ink);font-size:var(--fs-xs);flex:1;justify-content:center;align-items:center;gap:5px;padding:8px 6px;line-height:1.4;display:flex}.film-status button[aria-pressed=true][data-film-status=wanted]{background:var(--clay-soft);color:var(--clay-dark);border-color:var(--clay)}.film-status button[aria-pressed=true][data-film-status=watched]{background:var(--leaf-soft);color:var(--leaf);border-color:var(--finished-line)}.film-status .icon{width:14px;height:14px}.series-popup-button{font-size:var(--fs-sm)}summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.rating-picker{border:0;min-width:0;margin:0 0 20px;padding:0}.rating-picker legend{font-weight:600;font-size:var(--fs-sm);margin-bottom:10px}.rating-stars{gap:4px;display:flex}.star-button{border-radius:var(--radius-sm);background:0 0;width:44px;height:44px;padding:5px}.star-button:hover{background:var(--clay-soft)}.star-button svg{width:100%;height:100%}.star-base{fill:var(--quiet);stroke:var(--secondary-ink);stroke-width:1px}.star-fill{fill:var(--clay);stroke:var(--clay);stroke-width:1px}.rating-value{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;display:flex}.rating-value output{font-size:var(--fs-md);font-weight:600}.rating-value .text-button{font-size:var(--fs-xs)}.rating-picker input[type=range]{accent-color:var(--clay);min-height:44px;background:0 0!important;border:0!important;padding:0!important}.rating-static{vertical-align:middle;gap:2px;margin-right:8px;display:inline-flex}.rating-static svg{width:17px;height:17px}.rating-line>span{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.portal-ratings{gap:4px;display:grid}.portal-ratings a{font-size:var(--fs-sm);justify-content:space-between;gap:12px;text-decoration:none;display:flex}.portal-ratings a>span{text-underline-offset:3px;text-decoration:underline}.portal-ratings b{font-size:var(--fs-sm);white-space:nowrap}.portal-ratings small{font-size:var(--fs-xs);color:var(--secondary-ink);font-weight:400}.portal-snapshot{font-size:var(--fs-xs);color:var(--secondary-ink)}.demo-cover-image{object-fit:cover;width:100%;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.book-main{animation:.24s cubic-bezier(.23,1,.32,1) book-page-enter}@keyframes book-page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}.cover-editor,.links-editor{border:0;border-top:1px solid var(--line);min-width:0;margin:20px 0;padding:18px 0}.cover-editor legend,.links-editor legend{font-size:var(--fs-md);padding:0 8px 0 0;font-weight:600}.cover-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}#cover-preview{border-radius:var(--radius-sm);background:var(--quiet);width:100px;height:130px;margin-bottom:16px;overflow:hidden}#cover-preview>.cover-svg{width:100%;height:100%}#cover-preview .cover-fallback span{font-size:var(--fs-xs)}.link-editor-row{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) 44px;gap:0 8px;margin-bottom:12px;padding:12px;display:grid}.link-editor-row label{grid-column:1;min-width:0}.link-editor-row button{border:1px solid var(--line);grid-area:1/2;align-self:end;margin-bottom:16px}#cover-feedback{font-size:var(--fs-xs);color:var(--secondary-ink);margin-top:10px}.remove-book-row{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.remove-book-row .text-button{color:var(--secondary-ink);font-weight:400;text-decoration:none}.remove-name{overflow-wrap:anywhere;margin-bottom:16px;font-weight:600}.history-item>.text-button{font-size:var(--fs-xs)}#discard-dialog{max-width:480px}#discard-dialog .dialog-actions{flex-wrap:wrap}#remove-dialog p{line-height:1.7}#editor:has(.links-editor){max-width:620px}#editor-fields .link-editor-row label{margin-bottom:10px}#editor-fields input[type=file]{font-size:var(--fs-xs);min-width:0;padding:8px}.demo-cover-image{object-fit:cover}textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (max-width:600px){#editor-fields .link-editor-row input{font-size:var(--fs-md)}.link-editor-row{padding:10px}#discard-dialog .dialog-actions>button{width:100%}}.adaptation-top{grid-template-columns:72px minmax(0,1fr);gap:14px;margin-bottom:14px;display:grid}.adaptation-poster{aspect-ratio:2/3;border-radius:var(--radius-sm);background:var(--quiet);border:1px solid var(--line);overflow:hidden}.adaptation-poster img,#adaptation-poster-preview img{object-fit:cover;width:100%;height:100%}.poster-fallback{height:100%;color:var(--secondary-ink);font-size:var(--fs-xs);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:8px;line-height:1.5;display:flex}.poster-fallback .icon{flex-shrink:0;width:25px;height:25px}.adaptation-copy{min-width:0}.adaptation-copy h3{overflow-wrap:anywhere}.adaptation-copy p{overflow-wrap:anywhere;margin-bottom:5px}.adaptation-copy .text-button{font-size:var(--fs-xs);padding:4px 0}.film .adaptation-note{white-space:pre-wrap;color:var(--ink);overflow-wrap:anywhere;margin:14px 0 0;line-height:1.7}.film .adaptation-related{font-size:var(--fs-xs);overflow-wrap:anywhere;margin:12px 0 0;line-height:1.6}.adaptation-external{min-height:44px;color:var(--clay);font-size:var(--fs-xs);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}#adaptation-editor{max-width:740px;overflow:hidden}#adaptation-form{flex-direction:column;max-height:calc(100dvh - 90px);display:flex}#adaptation-fields{overscroll-behavior:contain;min-height:0;padding-right:4px;overflow:auto}#adaptation-form>.dialog-heading,#adaptation-form>.dialog-actions,#adaptation-error{flex-shrink:0}#adaptation-form>.dialog-actions{border-top:1px solid var(--line);flex-wrap:wrap;margin-top:16px;padding-top:14px}#adaptation-form [data-delete-adaptation]{margin-right:auto}#adaptation-fields>p{margin-bottom:16px;line-height:1.6}#adaptation-fields label{font-size:var(--fs-xs);flex-direction:column;gap:7px;min-width:0;margin-bottom:16px;font-weight:600;display:flex}#adaptation-fields input:not([type=checkbox]):not([type=radio]),#adaptation-fields select,#adaptation-fields textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--paper);width:100%;min-height:44px;color:var(--ink);font:inherit;font-size:var(--fs-sm);padding:10px}#adaptation-fields select{padding-right:36px}#adaptation-fields textarea{resize:vertical;min-height:110px;line-height:1.6}.adaptation-meta-fields{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}#adaptation-fields fieldset{border:0;margin:0 0 20px;padding:0}#adaptation-fields legend{font-size:var(--fs-sm);margin-bottom:10px;font-weight:600}.adaptation-choices{gap:12px;display:flex}#adaptation-fields .adaptation-choices label{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;flex-direction:row;align-items:center;gap:10px;min-height:44px;margin-bottom:8px;padding:10px}.adaptation-choices label{flex:1}#adaptation-fields .adaptation-works small{color:var(--secondary-ink);margin-top:4px;font-weight:400;display:block}#adaptation-fields [type=checkbox],#adaptation-fields [type=radio]{width:20px;height:20px;accent-color:var(--clay);flex-shrink:0}.adaptation-works span{overflow-wrap:anywhere}:is(.adaptation-choices label:has(:checked),.adaptation-works label:has(:checked)){border-color:var(--clay)}#adaptation-fields .adaptation-poster-editor{grid-template-columns:90px minmax(0,1fr);gap:16px;display:grid}#adaptation-poster-preview{aspect-ratio:2/3;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--quiet);overflow:hidden}#adaptation-fields .adaptation-poster-editor label{margin-bottom:8px}.adaptation-poster-editor p{line-height:1.6}.adaptation-poster-editor .text-button{padding-left:0}#adaptation-upload-feedback{font-size:var(--fs-xs)}#adaptation-error{color:var(--clay-dark);background:var(--clay-soft);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin-top:12px;padding:10px;line-height:1.6}#adaptation-discard p,#adaptation-remove p{font-size:var(--fs-sm);margin-top:14px;line-height:1.7}#adaptation-editor .icon-button{font-size:var(--fs-xl)}@media (max-width:600px){.adaptation-meta-fields{grid-template-columns:1fr}#adaptation-fields input:not([type=checkbox]):not([type=radio]),#adaptation-fields select,#adaptation-fields textarea{font-size:var(--fs-md)}#adaptation-fields .adaptation-poster-editor{grid-template-columns:68px minmax(0,1fr);gap:12px}.adaptation-top{grid-template-columns:62px minmax(0,1fr);gap:12px}.adaptation-choices{flex-direction:column;gap:0}#adaptation-form>.dialog-actions button{flex:1}#adaptation-form>.dialog-actions [data-delete-adaptation]{text-align:left;flex-basis:100%;padding-left:0}#adaptation-remove .dialog-actions,#adaptation-discard .dialog-actions{flex-wrap:wrap}}#adaptation-fields .poster-upload-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sheet);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:10px;display:flex;position:relative;overflow:hidden}#adaptation-fields .poster-upload-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}#adaptation-fields .poster-upload-button:focus-within{outline:2px solid var(--focus);outline-offset:3px}.adaptation-work-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.adaptation-work-row>span{min-width:0;font-size:var(--fs-sm);overflow-wrap:anywhere;flex:1;font-weight:600;line-height:1.5}.adaptation-work-row small{font-size:var(--fs-xs);color:var(--secondary-ink);margin-top:4px;font-weight:400;display:block}.adaptation-work-row button{font-size:var(--fs-xs);flex-shrink:0}.adaptation-work-row.is-selected{border-color:var(--clay)}#adaptation-work-selection{margin-bottom:18px}#adaptation-work-status{margin:0 0 10px;line-height:1.6}@media (max-width:600px){.adaptation-work-row{gap:8px;padding:10px}.adaptation-work-row>span{font-size:var(--fs-xs)}.adaptation-work-row button{font-size:var(--fs-xs);padding:8px}}.preview-strip{font-size:var(--fs-sm);flex-wrap:wrap;line-height:1.5}.preview-strip>span,.preview-strip label,.preview-strip select{font-size:inherit}.preview-strip label{min-width:0}.preview-strip select{border-radius:var(--radius-sm);max-width:280px;min-height:36px;padding:6px 36px 6px 10px}@media (max-width:600px){.preview-strip{font-size:var(--fs-md);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preview-strip select{width:100%;max-width:none;min-height:44px}.preview-strip label{align-items:stretch;gap:6px}}.book-file-choice{cursor:pointer}.book-file-choice .secondary{align-self:flex-start}.book-file-choice input.sr-only{border:0;width:1px;height:1px;min-height:0;padding:0}.book-file-choice:focus-within .secondary{outline:3px solid var(--focus);outline-offset:3px}.book-file-choice .small{overflow-wrap:anywhere}.book-file-name{color:var(--secondary-ink);font-size:var(--fs-sm);overflow-wrap:anywhere;margin-top:8px;display:block}@media (max-width:600px){.rating-line{flex-wrap:wrap}.rating-line .text-button{white-space:nowrap;flex-shrink:0}}
.back-link{min-height:44px;font-size:var(--fs-sm);color:var(--secondary-ink);align-items:center;margin-bottom:18px;font-weight:600;display:inline-flex}.add-heading>p:last-child{color:var(--secondary-ink);font-size:var(--fs-sm);margin-top:10px;line-height:1.7}.add-heading h1:focus{outline:none}.search-label{font-size:var(--fs-sm);margin-bottom:10px;font-weight:600;display:block}.query-row{gap:12px;display:flex}.query-field{background:var(--search);border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;align-items:center;gap:14px;min-width:0;padding:0 18px;display:flex}.query-field .icon{color:var(--secondary-ink);flex:none}.query-field input{width:100%;min-width:0;height:54px;font-size:var(--fs-sm);color:var(--ink);background:0 0;border:0;outline:0}.query-field:focus-within{outline:2px solid var(--focus);outline-offset:2px}.query-row>.primary{padding:12px 28px}.search-alternative{justify-content:space-between;align-items:center;gap:16px;margin:12px 0 26px;display:flex}.search-alternative>span{font-size:var(--fs-xs);color:var(--secondary-ink)}.search-alternative button{font-size:var(--fs-sm);min-height:44px}.search-state{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;padding:34px}.search-state h2{font-size:var(--fs-lg);margin-bottom:12px}.search-state h3{font-size:var(--fs-md);margin-bottom:10px}.search-state p{font-size:var(--fs-sm);color:var(--secondary-ink);max-width:580px;margin:auto;line-height:1.8}.search-state button{margin-top:20px}.small-state{padding:26px}.error-state{background:var(--clay-soft);border-color:var(--clay)}.results-section{margin-top:28px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{font-size:var(--fs-lg)}.section-heading>span{font-size:var(--fs-xs);color:var(--secondary-ink)}.result-list{gap:12px;padding:0;list-style:none;display:grid}.search-result{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--sheet);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px;display:grid}.result-cover{border-radius:var(--radius-sm);background:var(--quiet);align-self:start;width:72px;height:100px;display:block;overflow:hidden}.result-cover svg.cover-svg{width:100%;height:100%}.result-cover .cover-fallback{gap:8px;height:100%;padding:6px}.result-cover .cover-fallback .icon{flex:none;width:26px;height:26px}.result-cover .cover-fallback>span{font-size:var(--fs-xs);line-height:1.4}.search-result h3{font-size:var(--fs-md);overflow-wrap:anywhere;line-height:1.5}.author{font-size:var(--fs-sm);color:var(--secondary-ink);margin:6px 0 12px}.result-hint{font-size:var(--fs-xs);color:var(--secondary-ink);margin-top:10px;line-height:1.7}.search-result>a,.search-result>button{font-size:var(--fs-xs)}.catalog-entry{border:1px solid var(--line);background:var(--quiet);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding:22px;display:flex}.catalog-entry h2{font-size:var(--fs-md);margin-bottom:6px}.catalog-entry p{font-size:var(--fs-xs);color:var(--secondary-ink)}.catalog-entry button{font-size:var(--fs-sm);flex:none}.portal-filter{gap:8px;margin-bottom:18px;display:flex}.portal-filter button{min-height:44px;font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--sheet);padding:8px 16px}.portal-filter button[aria-pressed=true]{color:var(--on-clay);background:var(--primary-bg);border-color:var(--primary-bg)}.origin-tags{flex-wrap:wrap;gap:6px;display:flex}.origin-tags>span{font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--secondary-ink);padding:2px 6px}.already-owned{font-size:var(--fs-xs);color:var(--leaf);margin-top:10px;font-weight:600;display:inline-block}.result-count{font-size:var(--fs-xs);color:var(--secondary-ink);margin-bottom:16px}.form-back{min-height:44px;font-size:var(--fs-sm);margin-bottom:20px}.form-layout{grid-template-columns:190px minmax(0,1fr);gap:28px;display:grid}.cover-editor{min-width:0}.form-cover{background:var(--quiet);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;height:245px;margin-bottom:14px;overflow:hidden}.form-cover>svg,.form-cover>img{object-fit:cover;width:100%;height:100%;display:block}.form-cover .cover-fallback{height:100%;font-size:var(--fs-sm);padding:18px}.cover-upload{width:100%;font-size:var(--fs-xs);cursor:pointer;text-align:center;min-height:44px;position:relative;overflow:hidden}.cover-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.cover-upload:focus-within{outline:2px solid var(--focus);outline-offset:3px}.cover-editor>.text-button{width:100%;font-size:var(--fs-xs);min-height:44px}.field-helper{font-size:var(--fs-xs);color:var(--secondary-ink);margin-top:10px;line-height:1.7}.form-fields{min-width:0}.form-section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--sheet);min-width:0;margin-bottom:20px;padding:24px}.origin-label{font-size:var(--fs-xs)!important}.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:18px 0;display:grid}.field{font-size:var(--fs-xs);min-width:0;font-weight:600;line-height:1.6;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--quiet);width:100%;min-width:0;color:var(--ink);min-height:44px;font-size:var(--fs-sm);margin-top:8px;padding:10px 12px;font-family:inherit;font-weight:400}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2375685c' stroke-width='1.6'%3E%3Cpath d='m3 6 5 5 5-5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.field textarea{resize:vertical;line-height:1.7}.extra-fields{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.extra-fields summary{cursor:pointer;min-height:44px;font-size:var(--fs-sm);align-items:center;font-weight:600;display:flex}.reason-field{margin-top:20px}.initial-status{padding-top:16px}.initial-status legend{font-size:var(--fs-md);float:left;width:100%;margin:6px 0 12px;font-weight:600}.status-choice{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;clear:both;gap:12px;min-height:44px;margin-bottom:10px;padding:14px;display:flex}.status-choice:has(input:checked){background:var(--clay-soft);border-color:var(--clay)}.status-choice input{accent-color:var(--clay);flex:none;width:18px;height:18px;margin-top:3px}.status-choice strong{font-size:var(--fs-sm)}.status-choice small{font-size:var(--fs-xs);color:var(--secondary-ink);margin-top:5px;line-height:1.7;display:block}.form-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.form-actions button{font-size:var(--fs-sm)}.form-error,.cover-error{color:var(--clay-dark);font-size:var(--fs-xs);margin:8px 0;line-height:1.7}.saved-card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:190px minmax(0,1fr);gap:30px;padding:28px;display:grid}.saved-cover{background:var(--quiet);border-radius:var(--radius-sm);width:190px;height:245px;display:block;overflow:hidden}.saved-cover>svg,.saved-cover>img{object-fit:cover;width:100%;height:100%}.saved-cover .cover-fallback{height:100%;padding:20px}.saved-label{font-size:var(--fs-xs);color:var(--leaf)}.saved-card h2{font-size:var(--fs-xl);margin:8px 0;line-height:1.5}.saved-card dl{font-size:var(--fs-xs);flex-wrap:wrap;gap:24px;margin-top:20px;display:flex}.saved-card dt{color:var(--secondary-ink)}.saved-card dd{overflow-wrap:anywhere;margin:6px 0 0}.saved-card button{font-size:var(--fs-sm);margin-top:20px}.result-actions{font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.notice:not(:empty){background:var(--sheet);border:1px solid var(--line);z-index:10;font-size:var(--fs-xs);padding:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.preview-strip select{max-width:100%}#duplicate-dialog{max-height:90dvh;overflow:auto}#duplicate-content>.result-list{margin-top:20px}#duplicate-content .search-result{grid-template-columns:60px minmax(0,1fr)}#duplicate-content .result-cover{width:60px;height:80px}#duplicate-content .search-result>a{grid-column:2;justify-self:start}.dialog-caption{line-height:1.7}@media (max-width:1190px){.search-result{grid-template-columns:65px minmax(0,1fr);gap:16px}.result-cover{width:65px;height:90px}.search-result>a,.search-result>button{grid-column:2;justify-self:start}.form-layout{grid-template-columns:150px minmax(0,1fr);gap:20px}.form-cover{height:200px}.fields-grid{grid-template-columns:1fr}.form-section{padding:20px}}@media (max-width:600px){.add-main{padding:20px 16px 116px}.add-heading h1{font-size:var(--fs-xl)}.add-heading>p:last-child{font-size:var(--fs-xs)}.back-link{font-size:var(--fs-xs);margin-bottom:12px}.query-row{gap:8px}.query-field{gap:8px;padding:0 12px}.query-field .icon{width:18px;height:18px}.query-field input{font-size:var(--fs-xs);height:50px}.query-row>.primary{font-size:var(--fs-xs);padding:10px 14px}.search-alternative{flex-wrap:wrap;align-items:flex-start;gap:0}.search-alternative>span{width:100%;font-size:var(--fs-xs)}.search-alternative button{font-size:var(--fs-xs)}.search-state{padding:26px 18px}.search-state h2{font-size:var(--fs-md)}.search-state p{font-size:var(--fs-xs)}.section-heading h2{font-size:var(--fs-md)}.section-heading>span{font-size:var(--fs-xs);text-align:right}.search-result{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:16px}.result-cover{width:52px;height:74px}.result-cover .cover-fallback{gap:6px;padding:4px}.result-cover .cover-fallback .icon{width:20px;height:20px}.result-cover .cover-fallback>span{font-size:var(--fs-xs)}.search-result h3{font-size:var(--fs-sm)}.author,.search-result>a,.search-result>button,.result-hint{font-size:var(--fs-xs)}.catalog-entry{flex-direction:column;align-items:stretch;gap:16px;padding:18px}.catalog-entry h2{font-size:var(--fs-md)}.catalog-entry button{width:100%;font-size:var(--fs-xs)}.form-layout{grid-template-columns:1fr}.cover-editor{grid-template-columns:100px minmax(0,1fr);align-items:center;gap:8px 16px;display:grid}.form-cover{grid-row:1/5;width:100px;height:132px;margin:0}.cover-upload,.cover-editor>.text-button{font-size:var(--fs-xs)}.cover-editor>.field-helper{font-size:var(--fs-xs);margin:0}.cover-error{grid-column:1/-1}.form-section{padding:18px}.form-section .section-heading{align-items:flex-start}.form-section h2{font-size:var(--fs-md)}.fields-grid{gap:16px}.field{font-size:var(--fs-xs)}.field input,.field select,.field textarea{font-size:var(--fs-sm)}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%;font-size:var(--fs-xs)}.initial-status legend{font-size:var(--fs-md)}.saved-card{grid-template-columns:1fr;gap:20px;padding:20px}.saved-cover{width:110px;height:145px}.saved-card h2{font-size:var(--fs-lg)}.saved-card dl{gap:16px}.saved-card button{width:100%;font-size:var(--fs-xs)}.result-actions{text-align:center;flex-direction:column;align-items:stretch;gap:12px}.result-actions button{font-size:var(--fs-xs)}.notice:not(:empty){width:calc(100% - 32px);bottom:84px}.preview-strip label{min-width:0}.preview-strip select{font-size:var(--fs-xs)}}@media (prefers-reduced-motion:no-preference){.search-result{animation:.24s ease-out result-enter}.search-result>a,.search-result>button{transition:background .16s}.source-card{transition:border-color .16s}@keyframes result-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}.new-book-frame{background:var(--paper);z-index:30;border:0;width:100%;height:100dvh;position:fixed;inset:0}button:disabled{opacity:.5;cursor:not-allowed}.add-main{max-width:1040px}.add-heading{margin-bottom:32px}.add-heading h1{font-size:var(--fs-fluid-title);line-height:1.13}.add-heading>p:last-child{font-size:var(--fs-md)}.add-choices{gap:18px;display:grid}.add-choices[hidden]{display:none}.add-choice{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;padding:28px 32px}.add-choice-heading{align-items:flex-start;gap:0;margin-bottom:24px;display:flex}.add-choice h2{font-size:var(--fs-lg);margin:3px 0 6px;line-height:1.3}.add-choice-heading p{font-size:var(--fs-sm);color:var(--secondary-ink);max-width:660px;line-height:1.6}.add-choice .search-label{margin-bottom:8px}.add-choice .query-field{background:var(--quiet)}.add-choice .query-field input{font-size:var(--fs-md)}.add-choice .query-row>button{flex:none;min-width:176px;min-height:54px}.add-choice .search-section{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.add-choice .search-section .section-heading{margin-bottom:12px}.add-choice .search-section h3{font-size:var(--fs-md)}.add-choice .search-results{gap:10px;padding:0;list-style:none;display:grid}.add-choice .search-result{background:var(--quiet);padding:12px}.add-choice .empty-copy{color:var(--secondary-ink);font-size:var(--fs-sm);margin:0}.add-choice-manual{justify-content:space-between;align-items:center;gap:24px;display:flex}.add-choice-manual .add-choice-heading{margin:0}.add-choice-manual>button{flex:none;min-height:48px}.add-copy-status:empty{display:none}.add-copy-status{font-size:var(--fs-sm);color:var(--leaf);margin:12px 0 0}.add-task-details{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.add-task-details summary{cursor:pointer;color:var(--clay);font-size:var(--fs-sm);align-items:center;min-height:44px;font-weight:600;display:flex}.add-task-details textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--quiet);width:100%;min-height:220px;color:var(--ink);font:inherit;font-size:var(--fs-sm);resize:vertical;padding:14px;line-height:1.6}@media (max-width:700px){.add-choice{padding:22px 20px}.add-choice-manual{display:block}.add-choice-manual .add-choice-heading{margin-bottom:20px}.add-choice-manual>button{width:100%}}@media (max-width:600px){.add-heading{margin-bottom:24px}.add-heading h1{font-size:var(--fs-xl)}.add-heading>p:last-child{font-size:var(--fs-sm)}.add-choices{gap:12px}.add-choice{border-radius:var(--radius-md);padding:20px 16px}.add-choice-heading{gap:0;margin-bottom:20px}.add-choice h2{font-size:var(--fs-md);margin:2px 0 5px}.add-choice-heading p{font-size:var(--fs-xs)}.add-choice .query-row{flex-direction:column;gap:10px}.add-choice .query-row>button{width:100%;min-height:48px}.add-choice .query-field input{font-size:var(--fs-md)}.add-choice .search-result{background:var(--quiet)}}.catalog-search-button{min-height:48px;margin-bottom:18px}.catalog-results{gap:10px;margin:0;padding:0;list-style:none;display:grid}.catalog-results li{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--quiet);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.catalog-results li>div{gap:4px;min-width:0;display:grid}.catalog-results strong{font-size:var(--fs-md);overflow-wrap:anywhere}.catalog-results span{font-size:var(--fs-xs);color:var(--secondary-ink)}.catalog-results button{flex:none;min-height:44px}.catalog-confirm{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--quiet);margin:0 0 20px;padding:16px 20px}.catalog-confirm strong{color:var(--clay)}.catalog-confirm p{color:var(--secondary-ink);font-size:var(--fs-sm);margin:8px 0 0;line-height:1.5}.catalog-confirm a{min-height:44px;color:var(--clay);align-items:center;font-weight:600;display:inline-flex}@media (max-width:600px){.catalog-search-button{width:100%}.catalog-results li{flex-direction:column;align-items:stretch}.catalog-results button{width:100%}}.catalog-modes{gap:8px;margin-bottom:18px;display:flex}.catalog-modes button{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--sheet);min-height:44px;color:var(--ink);font:inherit;font-size:var(--fs-sm);cursor:pointer;padding:9px 20px;font-weight:600}.catalog-modes button[aria-pressed=true]{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--on-clay)}.series-preview{border-top:1px solid var(--line);padding-top:20px}.series-preview h3{font-size:var(--fs-lg);margin:12px 0 4px}.series-preview p{font-size:var(--fs-sm);color:var(--secondary-ink);margin:8px 0;line-height:1.6}.series-preview a:not(.secondary){color:var(--clay)}.series-members{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.series-members li{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--quiet);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.series-members li>div{gap:5px;min-width:0;display:grid}.series-members strong{font-size:var(--fs-md);overflow-wrap:anywhere;line-height:1.4}.series-members span{font-size:var(--fs-xs);color:var(--secondary-ink);line-height:1.5}.series-members .secondary{flex:none;min-height:44px}@media (max-width:600px){.series-members li{flex-direction:column;align-items:stretch}.series-members .secondary{text-align:center;width:100%}}.series-member-actions{flex:none;align-items:center;gap:8px;display:flex}@media (max-width:600px){.series-member-actions{flex-direction:column;align-items:stretch}.series-member-actions>*{text-align:center;width:100%}}
.ms-icon{fill:currentColor;flex-shrink:0;width:24px;height:24px;display:block}html{scroll-padding-top:16px;scroll-padding-bottom:16px}.app-shell{min-height:0;display:block}.app-shell>main{max-width:1320px;padding:calc(32px + env(safe-area-inset-top)) 28px 64px;width:100%;margin:0 auto}.shelf-navigation{z-index:30;color:var(--md-on-surface-variant);display:flex;position:fixed}.shelf-navigation a{font-size:var(--fs-xs);white-space:nowrap;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:4px;font-weight:600;line-height:16px;display:flex}.shelf-navigation a[aria-current=page]{color:var(--md-on-surface)}.nav-indicator{border-radius:var(--radius-lg);place-items:center;width:56px;height:32px;display:grid;position:relative;overflow:hidden}.shelf-navigation a[aria-current=page] .nav-indicator{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.nav-brand{width:44px;height:44px;color:var(--md-primary);place-items:center;display:grid}.shelf-navigation>*{flex-shrink:0}.shelf-navigation .nav-add{border-radius:var(--radius-lg);background:var(--md-primary-container);width:56px;height:56px;color:var(--md-on-primary-container);place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000002e,0 4px 10px #0000001f}.nav-indicator:after,.nav-add:after{content:"";border-radius:inherit;pointer-events:none;transition:background-color var(--md-state-duration);position:absolute;inset:0}@media (hover:hover){.shelf-navigation a:hover .nav-indicator:after,.nav-add:hover:after{background:var(--md-state-hover)}}.shelf-navigation a:focus-visible .nav-indicator:after,.nav-add:focus-visible:after{background:var(--md-state-focus)}.shelf-navigation a:active .nav-indicator:after,.nav-add:active:after{background:var(--md-state-pressed)}@media (max-width:600px){.shelf-navigation{padding:12px max(4px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:var(--md-navigation);border-top:1px solid var(--md-outline-variant);justify-content:space-around;bottom:0;left:0;right:0}.nav-brand,.shelf-navigation .nav-add{display:none}.shelf-navigation a{flex:1;min-width:0;min-height:52px}.app-shell>main{padding:calc(24px + env(safe-area-inset-top)) 20px calc(112px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}}@media (max-width:374px){.shelf-navigation{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.shelf-navigation a{font-size:var(--fs-nav-compact);letter-spacing:-.1px}.nav-indicator{width:48px}}@media (max-width:350px){.app-shell>main{padding-left:16px;padding-right:16px}}@media not (max-width:600px){.shelf-navigation{width:calc(88px + env(safe-area-inset-left));padding:calc(16px + env(safe-area-inset-top)) 0 calc(16px + env(safe-area-inset-bottom)) env(safe-area-inset-left);background:var(--md-navigation);border-right:1px solid var(--md-outline-variant);flex-direction:column;align-items:center;gap:12px;top:0;bottom:0;left:0;overflow-y:auto}.nav-brand{margin-bottom:0}.shelf-navigation .nav-add{margin-bottom:12px}.shelf-navigation a:not(.nav-add):focus-visible{outline-offset:-3px}.shelf-navigation a:not(.nav-add){min-width:72px;min-height:56px}.shelf-shell{padding-left:calc(88px + env(safe-area-inset-left));padding-right:env(safe-area-inset-right)}}@media (not (max-width:600px)) and (max-width:900px){.app-shell>main{padding:calc(24px + env(safe-area-inset-top)) 24px 48px}}.back-link,.integration-back,.reading-more>summary{background:var(--md-surface);color:var(--md-on-surface);border:1px solid var(--md-outline-variant);border-radius:var(--radius-pill)}input::placeholder,textarea::placeholder{color:var(--secondary-ink);opacity:1}.brand>svg,.brand>[data-icon]{border-radius:var(--radius-md);background:var(--ink);width:42px;height:42px;color:var(--sheet);flex-shrink:0;place-items:center;padding:10px;display:grid}.brand>[data-icon]>svg{width:22px;height:22px;color:inherit}.page-header{margin-bottom:32px}.eyebrow{margin-bottom:10px}.primary,.secondary,.icon-button{border-radius:var(--radius-pill)}body input:not([type=checkbox]):not([type=radio]):not([type=range]),body textarea,body select{font-size:var(--fs-md)!important}.section,.reading-panel,.more-panel,.home-summary,.reading-card,.queue-item,.series-panel,.film,.notification-example{border-radius:var(--radius-lg)}dialog{border-radius:var(--radius-lg);background:var(--sheet)}.back-link,.integration-back{width:max-content;max-width:100%;min-height:44px;padding:8px 16px;text-decoration:none}.reading-more>summary{padding:10px 16px}.book-heading>.icon-button{background:var(--sheet)}@media (max-width:600px){.page-header{margin-bottom:24px}dialog{border-radius:var(--radius-lg)}}
dialog:modal{margin:auto}.primary,.secondary{border-radius:var(--radius-pill);letter-spacing:.1px;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.primary,.primary:hover{background:var(--md-primary-fill);color:var(--md-on-primary-fill)}.secondary,.secondary:hover{border:1px solid var(--md-outline);color:var(--md-primary);background:0 0}:is(.primary,.secondary,.md-chip,.md-segmented button,.md-fab,.md-icon-button):after{content:"";border-radius:inherit;pointer-events:none;transition:background-color var(--md-state-duration);position:absolute;inset:0}@media (hover:hover){:is(.primary,.secondary,.md-chip,.md-segmented button,.md-fab,.md-icon-button):hover:not(:disabled):after{background:var(--md-state-hover)}}:is(.primary,.secondary,.md-chip,.md-segmented button,.md-fab,.md-icon-button):focus-visible:after{background:var(--md-state-focus)}:is(.primary,.secondary,.md-chip,.md-segmented button,.md-fab,.md-icon-button):active:not(:disabled):after{background:var(--md-state-pressed)}:is(.primary,.secondary,.md-chip,.md-segmented button,.md-fab,.md-icon-button):active:not(:disabled){transform:none}:is(.primary,.secondary,.md-chip,.md-segmented button) .ms-icon{width:18px;height:18px}.primary>.ms-icon,.secondary>.ms-icon{margin-left:-4px}.md-icon-button{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--md-on-surface-variant);-webkit-tap-highlight-color:transparent;background:0 0;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.md-icon-button:hover{background:0 0}.md-chip{border:1px solid var(--md-outline);border-radius:var(--radius-sm);min-height:44px;color:var(--md-on-surface-variant);white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;flex:none;align-items:center;gap:6px;padding:0 16px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.md-chip>.ms-icon{margin-left:-6px;display:none}.md-chip[aria-pressed=true]{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.md-chip[aria-pressed=true]>.ms-icon{display:block}.md-segmented{border:1px solid var(--md-outline);border-radius:var(--radius-pill);flex:none;display:inline-flex}.md-segmented button{min-width:52px;min-height:44px;color:var(--md-on-surface);-webkit-tap-highlight-color:transparent;background:0 0;justify-content:center;align-items:center;padding:0 14px;display:inline-flex;position:relative;overflow:hidden}.md-segmented button:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.md-segmented button:last-child{border-radius:0 var(--radius-pill) var(--radius-pill) 0}.md-segmented button+button{border-left:1px solid var(--md-outline)}.md-segmented button[aria-pressed=true]{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.md-segmented button:focus-visible{outline-offset:-4px}.status-badge{border-radius:var(--radius-sm);background:var(--md-surface-container);min-height:28px;color:var(--md-on-surface);padding:0 10px;font-weight:600;line-height:1.3}.status-badge.reading,.status-badge.paused{background:var(--md-primary-container);color:var(--md-on-primary-container)}.status-badge.read{background:var(--md-success-container);color:var(--md-success)}.progress-bar{align-items:center;gap:4px;height:6px;display:flex}.progress-bar>i{background:var(--md-primary);border-radius:3px;height:6px}.progress-bar>b{background:var(--md-primary-container);border-radius:3px;flex:1;height:6px}.progress-bar>em{background:var(--md-primary);border-radius:3px;flex:none;width:6px;height:6px}.md-select select{border:1px solid var(--md-outline);border-radius:var(--radius-xs);width:100%;min-height:44px;color:var(--md-on-surface);background-color:#0000;padding:0 40px 0 14px}.md-fab{border-radius:var(--radius-lg);background:var(--md-primary-container);width:56px;height:56px;color:var(--md-on-primary-container);-webkit-tap-highlight-color:transparent;place-items:center;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000002e,0 4px 10px #0000001f}@media (prefers-reduced-motion:reduce){:is(.primary,.secondary,.md-chip,.md-segmented button,.md-fab,.md-icon-button):after{transition:none}}
.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
.cover-image{width:100%;height:100%;min-height:inherit;background:var(--quiet);overflow:hidden}.cover-image img{object-fit:contain;width:100%;height:100%;display:block}.cover-placeholder{text-align:center;overflow-wrap:anywhere;background:var(--quiet);width:100%;height:100%;color:var(--secondary-ink);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.cover-placeholder .icon{width:44px;height:44px}.cover-placeholder span{max-width:100%;font-size:var(--fs-sm)}.form-cover .cover-image{min-height:250px}.field{flex-direction:column;gap:8px;margin:12px 0;display:flex}.field textarea{min-height:90px}.field input,.field textarea,.field select{max-width:100%;font-size:var(--fs-md);min-height:44px;color:var(--ink);background-color:var(--sheet);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.form-actions button,.dialog-actions button{min-height:44px}.link-editor{border:1px solid var(--line);border-radius:var(--radius-sm);margin:14px 0;padding:12px}.link-editor legend{color:var(--secondary-ink);font-size:var(--fs-sm);padding:0 6px}.duplicate-option{border-bottom:1px solid var(--line);padding:16px 0}.duplicate-option p{margin:8px 0}.book-editor{width:min(1040px,100vw - 32px);max-width:1040px;max-height:calc(100dvh - 32px);overflow:auto}.book-editor .dialog-heading{background:var(--sheet);z-index:2;padding:12px 0;position:sticky;top:-24px}.book-editor .form-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}.reading-history{gap:0;padding:0;list-style:none;display:grid}.reading-history li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding:16px 0;display:flex}.reading-history h3{font-size:var(--fs-sm);font-weight:600}.reading-history p{margin-top:8px}.external-links{gap:12px;margin-top:20px;display:grid}.external-link-row a{min-height:44px;color:var(--clay);font-weight:600;font-size:var(--fs-sm);overflow-wrap:anywhere;align-items:center;display:inline-flex}.external-link-row .small{font-size:var(--fs-xs)}.save-notice:empty{display:none}.save-notice{font-size:var(--fs-sm);color:var(--leaf);padding:12px 0}.subheading{font-size:var(--fs-sm);margin-top:20px;font-weight:600}.reading-hint{margin-top:14px}.add-entry{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.recent-books{margin-top:24px}.search-result h2{font-size:var(--fs-md);overflow-wrap:anywhere;font-weight:600}.search-result .cover-placeholder{padding:4px}.search-result .cover-placeholder span{display:none}.search-result .icon{width:24px;height:24px}.note-content,.annotation{white-space:pre-wrap;overflow-wrap:anywhere}.status-badge.abandoned{color:var(--secondary-ink);background:var(--quiet)}@media (max-width:800px){.book-editor .form-layout{grid-template-columns:1fr}.book-editor .cover-editor{width:100%;max-width:240px;margin:0 auto}.reading-history li{flex-wrap:wrap}.book-editor{max-height:calc(100dvh - 16px);padding:18px}.book-editor .dialog-heading{top:-18px}}@media (prefers-reduced-motion:reduce){.book-editor{transition:none;animation:none}}.book-heading>div{min-width:0}.book-heading .author-line,.book-heading .small{overflow-wrap:anywhere}.draft-back{margin-bottom:16px}.search-result>div:nth-child(2),.duplicate-option{min-width:0}.search-result .author,.duplicate-option strong,.duplicate-option p{overflow-wrap:anywhere}.external-rating-badges{color:var(--secondary-ink);font-size:var(--fs-xs);flex-wrap:wrap;gap:4px 8px;margin:8px 0;line-height:1.4;display:flex}.external-rating-badge{flex-wrap:wrap;align-items:baseline;gap:3px 5px;max-width:100%;display:inline-flex}.external-rating-badge strong{color:var(--ink);white-space:nowrap;font-weight:600}.external-rating-badge small{font-size:var(--fs-xs);color:var(--secondary-ink);white-space:nowrap}.home-reading-copy .external-rating-badges,.home-queue-copy .external-rating-badges,.home-recent-copy .external-rating-badges{margin:4px 0}.series-main .entry-copy .external-rating-badges{margin:3px 0 8px}.review-summary-copy{font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.7}.review-summary-copy dl{gap:12px;margin:16px 0;display:grid}.review-summary-copy dt{font-weight:700}.review-summary-copy dd{margin:3px 0 0}.review-summary-copy ul{font-size:var(--fs-xs);padding-left:20px}.review-summary-copy li{margin:8px 0}.review-summary-form{gap:14px;margin-top:20px;display:grid}.review-summary-form label{font-size:var(--fs-xs);gap:6px;font-weight:600;display:grid}.review-summary-form :is(input:not([type=checkbox]),textarea,select){border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--paper);width:100%;min-height:44px;color:var(--ink);font:inherit;font-size:var(--fs-sm);padding:10px}.review-summary-form textarea{resize:vertical;line-height:1.5}.review-summary-form fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);gap:12px;padding:14px;display:grid}.review-summary-form legend{font-weight:700;font-size:var(--fs-sm);padding:0 6px}.review-summary-counts{grid-template-columns:1fr 1fr;gap:12px;display:grid}.review-summary-form .review-summary-accepted{font-size:var(--fs-sm);align-items:center;gap:10px;line-height:1.5;display:flex}.review-summary-accepted input{width:20px;height:20px;accent-color:var(--clay);flex:none}.review-summary-form .primary{justify-self:start;min-height:44px}@media (max-width:600px){.review-summary-form .primary{width:100%}}.review-summary{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.review-summary-trigger{text-align:center;width:100%;min-height:44px}.review-summary-dialog{overscroll-behavior:contain;max-width:680px;margin:auto;position:fixed;inset:0;overflow:auto}.review-summary-dialog .dialog-heading{z-index:1;background:var(--sheet);padding:4px 0 12px;position:sticky;top:-24px}.review-summary-tools{justify-content:flex-end;margin-top:12px;display:flex}.book-editor,.book-confirm-dialog{margin:auto;position:fixed;inset:0}.book-editor.reading-editor{width:min(760px,100vw - 32px);max-width:760px}.book-editor.notes-editor{width:min(640px,100vw - 32px);max-width:640px}.notes-editor textarea{min-height:220px}.reading-dates{gap:8px;margin:18px 0 24px;display:grid}.reading-date-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);grid-template-columns:minmax(120px,1fr) minmax(0,2fr);align-items:center;gap:16px;min-height:58px;padding:0 16px;display:grid}.reading-date-label{font-size:var(--fs-sm);white-space:nowrap;font-weight:700}.reading-date-value{text-align:left;width:100%;min-height:48px;color:var(--clay);font-size:var(--fs-md);background:0 0;justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.reading-date-value:hover{color:var(--clay-dark)}.reading-date-value .icon{width:18px;height:18px}.reading-date-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--sheet);width:min(380px,100vw - 20px);max-width:none;max-height:calc(100dvh - 24px);color:var(--ink);margin:auto;padding:18px;position:fixed;inset:0;overflow:auto;box-shadow:0 18px 55px #20150d40}.reading-date-dialog::backdrop{background:var(--md-scrim)}.reading-date-dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.reading-date-dialog-heading h3{font-size:var(--fs-md);line-height:1.35}.reading-date-dialog .rdp-root{--rdp-accent-color:var(--clay);--rdp-accent-background-color:var(--clay-soft);--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-height:42px;--rdp-day_button-width:42px;width:max-content;max-width:100%;font-size:var(--fs-sm);margin:0 auto}.reading-date-dialog .rdp-day_button:hover{background:var(--quiet)}.reading-date-dialog .rdp-selected .rdp-day_button{background:var(--primary-bg);color:var(--on-clay)}.reading-date-dialog .rdp-dropdown_root{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);min-height:44px}.reading-date-dialog .rdp-button_next,.reading-date-dialog .rdp-button_previous{width:44px;height:44px}.reading-date-precision{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:12px;padding-top:10px;display:flex}.reading-date-precision p{width:100%;font-size:var(--fs-xs);color:var(--secondary-ink)}.reading-date-clear{margin-top:2px}@media (max-width:400px){.reading-date-dialog{padding:10px}.reading-date-dialog .rdp-root{--rdp-day-width:min(44px,calc((100vw - 48px)/7));--rdp-day_button-width:min(42px,calc((100vw - 50px)/7))}.reading-date-row{grid-template-columns:110px minmax(0,1fr);gap:8px;padding:0 12px}}.reading-date-dialog .rdp-month_caption{font-size:var(--fs-sm);font-weight:400}.reading-date-dialog .rdp-dropdowns{gap:6px}.reading-date-dialog .rdp-dropdown_root{justify-content:space-between}.reading-date-dialog .rdp-dropdown_root:first-child{min-width:116px}.reading-date-dialog .rdp-dropdown_root:last-child{min-width:78px}.reading-date-dialog .rdp-caption_label{width:100%;font-size:var(--fs-sm);justify-content:space-between;gap:6px;padding:0 8px;font-weight:600}@media (max-width:400px){.reading-date-dialog .rdp-dropdown_root:first-child{min-width:101px}.reading-date-dialog .rdp-dropdown_root:last-child{min-width:70px}}@media (max-width:350px){.reading-date-label{font-size:var(--fs-sm)}.reading-date-value .icon{display:none}}.book-heading .author-line a{align-items:center;min-height:44px;display:inline-flex}.review-summary-details{margin-top:18px}.review-summary-details summary{width:max-content;max-width:100%;min-height:44px;color:var(--clay);cursor:pointer;text-underline-offset:3px;padding:10px 2px;font-weight:600;text-decoration:underline}.review-summary-details summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-sm)}.review-summary-details summary:hover{color:var(--ink)}@media (max-width:600px){.review-summary-dialog{max-height:calc(100dvh - 24px);padding:18px}.review-summary-dialog .dialog-heading{top:-18px}}.reading-progress-empty{color:var(--secondary-ink);font-size:var(--fs-sm);margin-top:18px}.reading-progress-empty+.small{margin-top:10px}.annotation-preview{max-height:14em;line-height:1.75;overflow:hidden}.annotation-preview.is-expanded{max-height:none;overflow:visible}.annotation-toggle{min-height:44px;margin-top:8px}@media (max-width:800px){.annotation-preview{max-height:10.5em}}
.page-subtitle{color:var(--md-on-surface-variant);margin:4px 0 0}.library-fab{z-index:20;right:max(16px,env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));position:fixed}@media not (max-width:600px){.library-fab{display:none}}.library-controls{gap:12px;margin-bottom:16px;display:grid}.search-field{border:1px solid var(--md-outline);border-radius:var(--radius-pill);background:var(--md-search);min-width:0;min-height:56px;color:var(--md-on-surface-variant);align-items:center;gap:12px;padding:0 6px 0 16px;display:flex}.search-field input{min-width:0;height:54px;color:var(--md-on-surface);background:0 0;border:0;flex:1}.search-field input::placeholder{color:var(--md-on-surface-variant);opacity:1}.search-field input::-webkit-search-cancel-button{display:none}.search-field:focus-within{outline:3px solid var(--focus);outline-offset:2px}.search-field input:focus-visible{outline:none}.status-filter{flex-wrap:wrap;gap:8px;display:flex}.status-filter .md-chip>span{font-size:var(--fs-xs);font-weight:400}.control-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.results-line{min-width:0;color:var(--md-on-surface-variant);font-size:var(--fs-sm);flex-wrap:wrap;flex:auto;align-items:center;gap:0 16px;display:flex}.results-line p{margin:0}.filter-count{border-radius:var(--radius-pill);background:var(--md-primary-fill);min-width:20px;height:20px;color:var(--md-on-primary-fill);font-size:var(--fs-xs);place-items:center;padding:0 5px;line-height:1;display:inline-grid}.sort-field{flex:0 270px;min-width:0}.book-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.book-card{border:1px solid var(--md-outline-variant);border-radius:var(--radius-md);background:var(--md-surface);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.book-card .cover-link{background:var(--md-surface-container);display:block;position:relative}.book-card .cover{aspect-ratio:2/3;width:100%;display:block}.book-card .cover-image,.book-card .cover-image img,.book-card .cover-placeholder{width:100%;height:100%;min-height:0}.book-card .cover-placeholder span{display:none}.book-copy{flex-direction:column;flex:1;gap:8px;min-width:0;padding:12px 14px 14px;display:flex}.book-copy .status-badge{max-width:100%;font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;align-self:flex-start;line-height:28px;display:inline-block;overflow:hidden}.book-title{color:var(--md-on-surface);font-weight:600;text-decoration:none}.book-title:after{content:"";z-index:1;border-radius:var(--radius-md);position:absolute;inset:0}.book-title:focus-visible{outline:0}.book-title:focus-visible:after{outline:3px solid var(--focus);outline-offset:-3px}.title-text{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:16px;line-height:1.3;display:-webkit-box;overflow:hidden}.book-author{color:var(--md-on-surface-variant);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:-6px 0 0}.book-copy .history-note{margin:0}.book-card:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;transition:background-color var(--md-state-duration);position:absolute;inset:0}@media (hover:hover){.book-card:hover:before{background:color-mix(in srgb,var(--md-on-surface) 6%,transparent)}}.book-card:has(.book-title:active):before{background:color-mix(in srgb,var(--md-on-surface) 10%,transparent)}.queue-controls{z-index:2;color:var(--md-on-surface-variant);font-size:var(--fs-xs);align-items:center;gap:4px;margin-top:auto;display:flex;position:relative}.queue-controls span{white-space:nowrap;flex:1}.queue-controls .md-icon-button{color:var(--md-on-surface)}.queue-down .ms-icon{transform:rotate(180deg)}.epub-badge{border:1px solid var(--md-outline-variant);border-radius:var(--radius-sm);background:var(--md-surface);color:var(--md-on-surface);font-size:var(--fs-xs);letter-spacing:.3px;pointer-events:none;padding:2px 8px;font-weight:600;line-height:1.4;position:absolute;bottom:8px;left:8px}.book-grid.is-list{border-top:1px solid var(--md-outline-variant);grid-template-columns:minmax(0,1fr);gap:0}.is-list .book-card{border:0;border-bottom:1px solid var(--md-outline-variant);background:0 0;border-radius:0;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:0 16px;padding:12px 0;display:grid;overflow:visible}.is-list .cover-link{border-radius:6px;align-self:start;overflow:hidden}.is-list .book-copy{gap:4px;padding:0}.is-list .book-title:after{border-radius:0}.is-list .title-text{-webkit-line-clamp:2}.is-list .book-author{margin:0}.is-list .progress-bar{display:none}.is-list .cover-placeholder{padding:4px}.is-list .cover-placeholder .icon{width:24px;height:24px}.is-list .epub-badge{letter-spacing:0;padding:0 3px;font-size:10px;bottom:2px;left:2px}.is-list .queue-controls{margin-top:4px}.filters-dialog{border-radius:var(--radius-xl);background:var(--md-surface);color:var(--md-on-surface);border:0}.filters-dialog h2{font-size:24px;font-weight:600;line-height:32px}.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.filter-fields label{color:var(--md-on-surface-variant);font-size:var(--fs-xs);flex-direction:column;gap:4px;display:flex}.filters-dialog .dialog-actions{gap:8px;margin-top:24px}.filters-dialog .dialog-actions .text-button{padding:8px 12px;text-decoration:none}@media not (max-width:600px){.book-grid.is-reading-sparse:not(.is-list){grid-template-columns:repeat(auto-fit,minmax(190px,230px));justify-content:center;gap:24px}}@media (max-width:600px){.status-filter{overscroll-behavior-inline:contain;scrollbar-width:none;flex-wrap:nowrap;margin:-6px;padding:6px;scroll-padding-inline:6px;overflow-x:auto}.status-filter::-webkit-scrollbar{display:none}.status-filter button:is([data-status=interested],[data-status=paused],[data-status=abandoned]):not([aria-pressed=true]){display:none}.control-actions{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"results results""filters view""sort sort";display:grid}.control-actions>.results-line{grid-area:results}.control-actions>.filters-button{grid-area:filters;justify-self:start}.control-actions>.view-switch{grid-area:view}.control-actions>.sort-field{grid-area:sort}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.book-copy{padding:10px 12px 12px}.filter-fields{grid-template-columns:minmax(0,1fr)}.app-shell>main:has(.library-fab){padding-bottom:calc(168px + env(safe-area-inset-bottom))}}@media (max-width:374px){.book-copy .status-badge{padding:0 8px;font-size:11px}.book-copy{padding:10px 10px 12px}}
