:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper-0:#fff;--paper-50:#faf9f6;--paper-100:#f1eee8;--paper-200:#e1dcd3;--paper-300:#c9c1b6;--ink-500:#786f77;--ink-600:#655c65;--ink-700:#4d444f;--ink-900:#29232d;--plum-50:#f1edf4;--plum-100:#e7deec;--plum-300:#c2afce;--plum-600:#745980;--plum-700:#60456e;--plum-800:#4d355a;--plum-900:#3d2848;--citron-100:#f5efbc;--citron-300:#dfd580;--citron-800:#605511;--sage-50:#eaf0eb;--sage-700:#385c46;--blue-50:#eaf0f7;--blue-700:#365a7b;--blue-800:#244c85;--amber-50:#faf0dd;--amber-700:#795017;--red-50:#faeeeb;--red-700:#943e36;--red-800:#78302a;--red-900:#62241f;--clay-200:#e7c4b2;--slate-200:#c4d4de;--sage-200:#c7d5c5;--alpha-ink-08:#29232d14;--alpha-ink-14:#29232d24;--alpha-ink-48:#29232d7a;--color-canvas:var(--paper-50);--color-surface:var(--paper-0);--color-surface-subtle:var(--paper-100);--color-surface-brand:var(--plum-50);--color-surface-inverse:var(--ink-900);--color-text:var(--ink-900);--color-text-secondary:var(--ink-600);--color-text-inverse:var(--paper-50);--color-text-on-action:var(--paper-0);--color-border:var(--paper-200);--color-border-strong:var(--ink-500);--color-action:var(--plum-700);--color-action-hover:var(--plum-800);--color-action-pressed:var(--plum-900);--color-action-soft:var(--plum-50);--color-link:var(--plum-700);--color-link-hover:var(--plum-900);--color-focus:var(--blue-800);--color-focus-gap:var(--paper-0);--color-selected-bg:var(--plum-100);--color-selected-text:var(--plum-900);--color-selection-bg:var(--citron-100);--color-selection-text:var(--ink-900);--color-disabled-bg:var(--paper-100);--color-disabled-text:var(--ink-600);--color-disabled-border:var(--paper-300);--color-placeholder:var(--ink-600);--color-overlay:var(--alpha-ink-48);--color-accent:var(--citron-300);--color-accent-soft:var(--citron-100);--color-on-accent:var(--citron-800);--color-info:var(--blue-700);--color-info-soft:var(--blue-50);--color-success:var(--sage-700);--color-success-soft:var(--sage-50);--color-warning:var(--amber-700);--color-warning-soft:var(--amber-50);--color-danger:var(--red-700);--color-danger-hover:var(--red-800);--color-danger-pressed:var(--red-900);--color-danger-soft:var(--red-50);--color-status-want:var(--ink-600);--color-status-want-bg:var(--paper-100);--color-status-reading:var(--plum-700);--color-status-reading-bg:var(--plum-50);--color-status-read:var(--sage-700);--color-status-read-bg:var(--sage-50);--color-rating:var(--plum-700);--color-rating-empty:var(--ink-500);--color-local:var(--ink-600);--color-local-bg:var(--paper-100);--color-backup:var(--blue-700);--color-backup-bg:var(--blue-50);--color-cover-plum:var(--plum-100);--color-cover-clay:var(--clay-200);--color-cover-blue:var(--slate-200);--color-cover-sage:var(--sage-200);--color-cover-citron:var(--citron-100);--color-cover-ink:var(--ink-900);--color-cover-text:var(--ink-900);--color-cover-text-inverse:var(--paper-50);--color-cover-rule:var(--alpha-ink-14);--font-ui:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-editorial:Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--font-numeric:var(--font-ui);--text-caption:.75rem;--text-small:.875rem;--text-body:1rem;--text-lead:1.125rem;--text-h3:1.375rem;--text-h2:clamp(1.75rem, 3vw, 2.25rem);--text-h1:clamp(2rem, 4vw, 3rem);--text-display:clamp(2.75rem, 5.8vw, 5.25rem);--text-metric:2rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.08;--leading-heading:1.2;--leading-body:1.6;--leading-compact:1.4;--tracking-title:-.035em;--tracking-label:.12em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-cover:2px;--radius-control:6px;--radius-card:10px;--radius-panel:16px;--radius-pill:999px;--border-width:1px;--focus-width:3px;--focus-offset:3px;--shadow-cover:2px 4px 8px var(--alpha-ink-08);--shadow-popover:0 8px 24px var(--alpha-ink-08);--shadow-dialog:0 20px 64px var(--alpha-ink-14);--control-height:3rem;--target-min:2.75rem;--icon-sm:1rem;--icon-md:1.25rem;--icon-lg:1.5rem;--content-max:75rem;--reading-max:42rem;--form-max:36rem;--dialog-max:32rem;--page-gutter:clamp(1rem, 4vw, 3rem);--cover-ratio:2 / 3;--share-story-ratio:9 / 16;--share-square-ratio:1;--z-base:0;--z-sticky:10;--z-popover:20;--z-dialog:30;--z-toast:40;--duration-fast:.12s;--duration-normal:.18s;--duration-slow:.24s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-ui);color:var(--color-text);background:var(--color-canvas)}body{font-size:var(--text-body);line-height:var(--leading-body);margin:0}button,input,select,textarea{font:inherit;color:inherit}button,input,select,textarea,a{-webkit-tap-highlight-color:var(--color-action-soft)}button{touch-action:manipulation}img,svg{max-width:100%}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset);box-shadow:0 0 0 var(--focus-offset) var(--color-focus-gap)}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s;--duration-slow:0s}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){:focus-visible{outline-color:highlight}button,input,select,textarea{border:1px solid buttontext}}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}svg{width:var(--icon-md);height:var(--icon-md);stroke-width:1.75px;flex-shrink:0}.skip-link{top:var(--space-4);left:var(--space-4);z-index:var(--z-popover);padding:var(--space-3);background:var(--color-surface);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.app-header{max-width:var(--content-max);padding:var(--space-6) var(--page-gutter);justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;margin:auto;display:flex}.brand{align-items:center;gap:var(--space-3);color:var(--color-text);font:var(--text-h3)/var(--leading-heading) var(--font-editorial);min-height:var(--target-min);text-decoration:none;display:inline-flex}.brand-mark{align-items:end;gap:3px;width:32px;height:32px;display:flex}.brand-mark i{background:var(--color-action);border-radius:var(--radius-cover);width:7px;height:25px}.brand-mark i:nth-child(2){height:32px}.brand-mark i:nth-child(3){background:var(--color-accent);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);height:22px}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-5);border-radius:var(--radius-control);border:var(--border-width) solid transparent;font-weight:var(--weight-semibold);cursor:pointer;text-align:center;transition:background var(--duration-fast);text-decoration:none;display:inline-flex}.button-primary{background:var(--color-action);color:var(--color-text-on-action)}.button-primary:hover{background:var(--color-action-hover);color:var(--color-text-on-action)}.button-primary:active{background:var(--color-action-pressed)}.button-secondary{background:var(--color-surface);border-color:var(--color-border-strong)}.button-secondary:hover{background:var(--color-surface-subtle)}.app-layout{max-width:var(--content-max);gap:var(--space-12);padding:var(--space-12) var(--page-gutter);grid-template-columns:13rem minmax(0,1fr);min-height:70vh;margin:auto;display:grid}.sidebar nav{gap:var(--space-2);display:grid}.nav-link{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-3);border-radius:var(--radius-control);color:var(--color-text-secondary);border-inline-start:3px solid #0000;text-decoration:none;display:flex}.nav-link:hover{background:var(--color-action-soft)}.nav-link.is-active{color:var(--color-selected-text);background:var(--color-selected-bg);border-inline-start-color:var(--color-action);font-weight:var(--weight-semibold)}main{min-width:0;scroll-margin-top:var(--space-6)}main:focus{box-shadow:none;outline:none}.sync-resolution-heading,#merge-title{scroll-margin-block-start:var(--space-6)}.page-content{max-width:var(--reading-max)}.eyebrow{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:var(--weight-semibold)}h1,h2{font-family:var(--font-editorial);font-weight:var(--weight-regular);line-height:var(--leading-heading);letter-spacing:var(--tracking-title);overflow-wrap:anywhere}h1{font-size:var(--text-h1);margin:0}h2{font-size:var(--text-h2)}.page-description{font-size:var(--text-lead);color:var(--color-text-secondary);margin:var(--space-4) 0 var(--space-10)}.notice-panel{border:var(--border-width) solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-8);overflow-wrap:anywhere}.notice-panel p{margin:var(--space-4) 0 0}.notice-panel p:first-child{margin-top:0}.notice-panel .button{margin-top:var(--space-6)}.stage-label{font-size:var(--text-small);color:var(--color-on-accent);background:var(--color-accent-soft);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control)}.empty-state>svg{color:var(--color-action);width:var(--icon-lg);height:var(--icon-lg)}.empty-state h2{margin-block:var(--space-3)}.back-link{align-items:center;gap:var(--space-2);min-height:var(--target-min);margin-bottom:var(--space-6);display:inline-flex}.app-footer{max-width:var(--content-max);padding:var(--space-6) var(--page-gutter);color:var(--color-text-secondary);font-size:var(--text-small);justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin:auto;display:flex}.footer-links{gap:var(--space-5);flex-wrap:wrap;display:flex}.shelf-heading{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.year-field{gap:var(--space-1);font-size:var(--text-small);color:var(--color-text-secondary);display:grid}.year-field select{min-height:var(--control-height);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-control);padding:var(--space-2) var(--space-4);font-size:var(--text-body)}.shelf-metrics{gap:var(--space-4);border-block:var(--border-width) solid var(--color-border);padding:var(--space-6) 0;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.shelf-metrics div{flex-direction:column-reverse;display:flex}.shelf-metrics dt{color:var(--color-text-secondary);font-size:var(--text-small)}.shelf-metrics dd{font-size:clamp(1.35rem, 4vw, var(--text-metric));font-variant-numeric:tabular-nums;line-height:var(--leading-heading);overflow-wrap:anywhere;margin:0}.metric-note,.local-note{color:var(--color-text-secondary);font-size:var(--text-small)}.shelf-heading-actions{align-items:end;gap:var(--space-5);display:flex}.shelf-add{white-space:nowrap}.segmented-control{gap:var(--space-1);flex-wrap:wrap;display:flex}.segmented-control button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-small);display:inline-flex}.segmented-control button[aria-pressed=true]{background:var(--color-selected-bg);color:var(--color-selected-text);border-color:var(--color-action);font-weight:var(--weight-semibold)}.segmented-control button:hover{background:var(--color-action-soft)}.book-collection{margin:0;padding:0;list-style:none}.book-collection--grid{gap:var(--space-8) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr));display:grid}.book-entry{color:var(--color-text);min-width:0;text-decoration:none;display:block}.book-entry:hover{color:var(--color-text)}.book-entry:hover h2{text-underline-offset:.2em;text-decoration:underline}.book-cover-frame{width:100%;aspect-ratio:var(--cover-ratio)}.book-cover-frame>.book-cover,.book-cover-frame>.book-cover-image{width:100%;height:100%;display:block}.book-cover{aspect-ratio:var(--cover-ratio);background:var(--color-cover-plum);color:var(--color-cover-text);border-radius:var(--radius-cover);box-shadow:var(--shadow-cover);padding:var(--space-4);justify-content:space-between;gap:var(--space-2);border-inline-start:5px solid var(--color-cover-rule);flex-direction:column;display:flex;overflow:hidden}.book-cover-image{width:100%;aspect-ratio:var(--cover-ratio);object-fit:contain;background:var(--color-surface-subtle);border-radius:var(--radius-cover);box-shadow:var(--shadow-cover);display:block}.book-cover span{font-family:var(--font-editorial);line-height:var(--leading-heading);overflow-wrap:anywhere;-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book-information{min-width:0}.book-information h2{font:var(--weight-semibold) var(--text-body)/var(--leading-compact) var(--font-ui);letter-spacing:normal;margin:var(--space-3) 0 var(--space-1)}.book-information p{color:var(--color-text-secondary);margin:0 0 var(--space-2);font-size:var(--text-small);overflow-wrap:anywhere}.reading-status{border-radius:var(--radius-pill);font-size:var(--text-caption);padding:var(--space-1) var(--space-2);color:var(--color-status-want);background:var(--color-status-want-bg);display:inline-block}.reading-status--read{color:var(--color-status-read);background:var(--color-status-read-bg)}.reading-status--reading{color:var(--color-status-reading);background:var(--color-status-reading-bg)}.book-collection--list{padding-left:var(--space-6);list-style:decimal}.book-collection--list li{padding:var(--space-4) 0;border-bottom:var(--border-width) solid var(--color-border)}.book-collection--list .book-entry{gap:var(--space-4);grid-template-columns:3rem minmax(0,1fr);display:grid}.book-collection--list .book-cover{padding:var(--space-2)}.book-collection--list .book-cover span{display:none}.book-collection--list h2{margin-top:0}.book-rating{color:var(--color-rating);margin-left:var(--space-3);display:inline-block}.local-note{margin-top:var(--space-10)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.book-form,.book-search{max-width:var(--form-max)}.search-results{padding:0;list-style:none}.search-results li{padding-block:var(--space-6);border-bottom:var(--border-width) solid var(--color-border);overflow-wrap:anywhere}.search-results h2{font-size:var(--text-h3)}.selected-cover{width:7rem;margin-top:var(--space-6)}.book-form>fieldset{border:0;min-width:0;margin:0;padding:0}.form-field{gap:var(--space-2);margin:var(--space-5) 0;min-width:0;display:grid}.form-field input,.form-field textarea,.form-field select{width:100%;min-width:0;min-height:var(--control-height);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);font-size:var(--text-body)}.form-field textarea{resize:vertical}.form-field [aria-invalid=true]{border-color:var(--color-danger)}.field-error,.form-error{color:var(--color-danger)}.field-error,.field-help{font-size:var(--text-small)}.field-help{color:var(--color-text-secondary)}.form-columns{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.book-primary-choices{margin-block:var(--space-5);align-items:end}.status-field{border:0;min-width:0;margin:0;padding:0}.status-field legend,.year-choice>label{margin-bottom:var(--space-2);display:block}.status-options{gap:var(--space-1);flex-wrap:wrap;display:flex}.status-option{cursor:pointer;position:relative}.status-option input{opacity:0;width:1px;height:1px;position:absolute}.status-option span{min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--text-small);justify-content:center;align-items:center;display:inline-flex}.status-option input:checked+span{background:var(--color-selected-bg);color:var(--color-selected-text);border-color:var(--color-action);font-weight:var(--weight-semibold)}.status-option input:focus-visible+span{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.year-stepper{grid-template-columns:var(--target-min) minmax(5rem, 1fr) var(--target-min);max-width:14rem;display:grid}.year-stepper input{width:100%;min-width:0;height:var(--control-height);border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface);text-align:center;font:inherit;font-size:var(--text-body);appearance:textfield}.year-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.year-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.year-stepper input[aria-invalid=true]{border-color:var(--color-danger)}.year-stepper button{min-height:var(--target-min);border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-h3);cursor:pointer}.year-stepper button:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control);border-right:0}.year-stepper button:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0;border-left:0}.year-stepper button:disabled{color:var(--color-disabled-text);cursor:default}.book-form details{margin-block:var(--space-5)}.book-form summary{cursor:pointer;padding-block:var(--space-3);min-height:var(--target-min);color:var(--color-link)}.rating-field{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-3);min-width:0}.rating-options{align-items:center;gap:var(--space-1);color:var(--color-rating);flex-wrap:wrap;display:flex}.rating-option{width:var(--target-min);min-height:var(--target-min);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.rating-option input{opacity:0;width:1px;height:1px;position:absolute}.rating-option span{font-size:2rem;line-height:1}.rating-option input:focus-visible+span{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset);border-radius:var(--radius-control)}.rating-clear{margin-inline-start:var(--space-2)}.form-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.button-danger{background:var(--color-danger);color:var(--color-text-on-action)}.button-danger:hover{background:var(--color-danger-hover)}.button:disabled{cursor:wait;background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-disabled-border)}.dialog-backdrop{background:var(--color-overlay);z-index:var(--z-dialog);padding:var(--page-gutter);place-items:center;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-6);max-width:var(--dialog-max);max-height:90vh;box-shadow:var(--shadow-dialog);overflow-y:auto}.confirm-dialog h2{margin-top:0}.book-detail-heading{gap:var(--space-6);grid-template-columns:minmax(5rem,8rem) minmax(0,1fr);align-items:start;display:grid}.book-detail-heading p{overflow-wrap:anywhere}.book-facts{margin-block:var(--space-8);gap:var(--space-4);display:grid}.book-facts dt{font-size:var(--text-small);color:var(--color-text-secondary)}.book-facts dd,.book-facts .book-rating{margin:0}.private-note{white-space:pre-wrap;overflow-wrap:anywhere}.share-entry{margin-block:var(--space-5)}.share-preview{margin-block:var(--space-6)}.share-preview h2{margin-top:0}.share-consent{align-items:center;gap:var(--space-3);min-height:var(--target-min);margin-block:var(--space-5);display:flex}.share-canvas{width:100%;max-width:30rem;height:auto;margin:var(--space-6) auto;border:var(--border-width) solid var(--color-border);display:block}.share-canvas--story{max-width:22rem}.support-layout{gap:var(--space-6);display:grid}.support-layout .notice-panel{margin:0}.support-intro>svg{width:2rem;height:2rem;color:var(--color-action);margin-bottom:var(--space-4)}.support-intro h2,.pix-card h2,.support-feedback h2{margin:0}.support-intro p{max-width:var(--reading-max)}.support-card-heading{align-items:flex-start;gap:var(--space-3);display:flex}.support-card-heading>svg{margin-top:var(--space-1);color:var(--color-action)}.support-card-heading p{color:var(--color-text-secondary);margin:var(--space-1) 0 0}.pix-card{gap:var(--space-4);display:grid}.pix-qr-frame{width:min(100%,17rem);padding:var(--space-3);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card)}.pix-qr-frame img{width:100%;height:auto;display:block}.pix-recipient{gap:var(--space-1);display:grid}.pix-recipient span,.pix-recipient small,.support-disclosure,.pix-key{color:var(--color-text-secondary);font-size:var(--text-small)}.pix-code-label{font-size:var(--text-small);font-weight:var(--weight-semibold)}.pix-code{width:100%;min-height:5.5rem;padding:var(--space-3);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-control);resize:vertical;font-family:var(--font-mono);font-size:var(--text-caption);overflow-wrap:anywhere}.pix-key{overflow-wrap:anywhere;margin:0}.pix-key span{font-family:var(--font-mono)}.support-disclosure{margin:0}.support-copy-status{color:var(--color-success);font-size:var(--text-small);margin:0}.support-feedback p{max-width:var(--reading-max)}@media (width<=63.999rem){.app-layout{gap:var(--space-8);padding-top:var(--space-6);grid-template-columns:minmax(0,1fr)}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}}@media (width<=39.999rem){.book-detail-heading{grid-template-columns:minmax(0,1fr)}.book-detail-heading .book-cover-frame{width:7rem}.app-header{padding-top:var(--space-4);padding-bottom:var(--space-4)}.app-header .button{width:100%}.sidebar nav{gap:var(--space-1)}.nav-link{padding:var(--space-2);gap:var(--space-2);font-size:var(--text-small)}.notice-panel{padding:var(--space-6)}}.pwa-status{margin:var(--space-6) auto;padding:var(--space-4);max-width:75rem;color:var(--color-text-secondary);border-top:1px solid var(--color-border);font-size:var(--text-small)}.local-test-notice{max-width:var(--content-max);margin:var(--space-2) auto 0;padding-inline:var(--page-gutter);color:var(--color-text-secondary);font-size:var(--text-caption)}.pwa-status p{margin:var(--space-2) 0}.bottom-navigation{display:none}.more-navigation{gap:var(--space-3);margin-top:var(--space-6);max-width:var(--form-max);display:grid}.more-navigation small{font-weight:var(--weight-regular);color:var(--color-text-secondary);display:block}.shelf-toolbar{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-3);width:100%;display:flex}.shelf-search{min-width:0;max-width:26rem;min-height:var(--target-min);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);flex:1;align-items:center;display:flex}.shelf-search:focus-within{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.shelf-search-field{align-items:center;gap:var(--space-2);min-width:0;padding-inline:var(--space-3);flex:1;display:flex}.shelf-search-field svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--color-text-secondary)}.shelf-search-field input{width:100%;min-width:0;min-height:var(--target-min);color:var(--color-text);font:inherit;background:0 0;border:0;outline:0}.shelf-search-clear,.shelf-mode{min-width:var(--target-min);min-height:var(--target-min);border-radius:var(--radius-control);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.shelf-search-clear:hover,.shelf-mode:hover{background:var(--color-surface-subtle);color:var(--color-text)}.shelf-mode{margin-inline-start:auto}.shelf-filters{border-bottom:var(--border-width) solid var(--color-border);width:fit-content;max-width:100%;margin-bottom:var(--space-4);gap:0}.shelf-filters button{color:var(--color-text-secondary);padding-inline:var(--space-3);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px}.shelf-filters button[aria-pressed=true]{border-color:var(--color-action);color:var(--color-action);background:0 0}.shelf-filters button:hover{background:var(--color-surface-subtle)}.shelf-page .shelf-metrics{gap:var(--space-2) var(--space-5);margin-block:var(--space-3);border:0;flex-wrap:wrap;padding:0;display:flex}.shelf-page .shelf-metrics div{align-items:baseline;gap:var(--space-1);flex-direction:row-reverse}.shelf-page .shelf-metrics dd{font-size:var(--text-body);font-weight:var(--weight-semibold)}.shelf-page .shelf-metrics dt{font-size:var(--text-small)}.shelf-heading{align-items:center}.shelf-heading h1{font-size:clamp(2rem,4vw,3rem)}.shelf-metrics{margin-block:var(--space-4);padding-block:var(--space-3)}.shelf-metrics dd{font-size:var(--text-h3)}.shelf-page .share-entry{margin-block:var(--space-2)}.button-quiet{color:var(--color-link);padding-inline:var(--space-2);background:0 0;text-decoration:underline}.button-quiet:hover{background:var(--color-surface-subtle)}.search-results li{align-items:center;gap:var(--space-3);padding-block:var(--space-4);grid-template-columns:3.25rem minmax(0,1fr) auto;display:grid}.search-result-info{overflow-wrap:anywhere;min-width:0}.search-result-info h2{font-size:var(--text-body);font-family:var(--font-ui);font-weight:var(--weight-semibold);margin:0}.search-result-info p{margin:var(--space-1) 0 0}.search-result-cover{width:3.25rem}.search-result-cover .book-cover{padding:var(--space-1);border-inline-start-width:3px}.search-result-cover .book-cover svg,.search-result-cover .book-cover span{display:none}.search-result-select{min-height:var(--target-min);padding:0 var(--space-2);font-size:var(--text-small);white-space:nowrap}.search-result-error{margin-top:var(--space-2);font-size:var(--text-small);grid-column:2/-1}@media (width<=22.5rem){.search-results li{gap:var(--space-2);grid-template-columns:2.75rem minmax(0,1fr) auto}.search-result-cover{width:2.75rem}}@media (width<=63.999rem){html{scroll-padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}body{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.sidebar,.shelf-add{display:none}.app-header{padding-top:calc(var(--space-3) + env(safe-area-inset-top));padding-bottom:var(--space-3)}.app-layout{padding-top:var(--space-4)}.bottom-navigation{z-index:var(--z-sticky);background:var(--color-surface);border-top:var(--border-width) solid var(--color-border);padding:var(--space-1) env(safe-area-inset-right) calc(var(--space-3) + env(safe-area-inset-bottom)) env(safe-area-inset-left);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.bottom-navigation a{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;min-height:3.5rem;padding:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-small);overflow-wrap:anywhere;flex-direction:column;text-decoration:none;display:flex}.bottom-navigation a[aria-current=page]{background:var(--color-selected-bg);color:var(--color-selected-text);font-weight:var(--weight-semibold)}.book-collection--grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=39.999rem){.brand{gap:var(--space-2);font-size:1.125rem}.brand-mark{gap:2px;width:26px;height:28px}.brand-mark i{width:6px;height:21px}.brand-mark i:nth-child(2){height:28px}.brand-mark i:nth-child(3){height:18px}.pwa-status{padding-bottom:var(--space-2);margin-bottom:0}.app-footer{gap:var(--space-2);padding-top:var(--space-2);display:grid}.book-collection--grid{gap:var(--space-6) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-heading{gap:var(--space-3)}.shelf-heading h1{font-size:var(--text-h2)}.year-field{gap:var(--space-1)}.shelf-filters{flex-wrap:nowrap;width:100%}.shelf-filters button{min-width:0;padding-inline:var(--space-1);white-space:nowrap;flex:1 1 0;font-size:clamp(.75rem,3.5vw,.875rem)}.shelf-metrics{gap:var(--space-2)}.shelf-metrics dt,.metric-note{font-size:var(--text-small)}.metric-note,.shelf-toolbar{margin-block:var(--space-2)}.shelf-search{max-width:none}}.settings-preferences{max-width:var(--form-max)}.header-tools{align-items:center;gap:var(--space-2);display:flex}.header-option{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-small);cursor:pointer;text-decoration:none;display:inline-flex}.header-option:disabled{cursor:default;opacity:.65}.global-sync{background:var(--color-action-soft)}.sync-label-mobile{display:none}.header-support,.global-sync-unavailable{background:0 0;border:0}.global-sync-attention{max-width:var(--content-max);padding:var(--space-3) var(--page-gutter);background:var(--color-accent-soft);font-size:var(--text-small);margin:auto}.global-sync-attention p{margin:0}.global-sync-attention>div{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.global-sync-attention a,.global-sync-attention button{min-height:var(--target-min);align-items:center;display:inline-flex}.global-sync-attention button{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}@media (width<=39.999rem){.app-header{gap:var(--space-1)}.header-tools{gap:var(--space-1);margin-inline-start:auto}.global-sync-unavailable{display:none}.header-option{padding-inline:var(--space-1)}.header-support{color:var(--color-link);gap:var(--space-1);background:0 0;border:0}.header-support svg{width:var(--icon-sm);height:var(--icon-sm)}.global-sync{color:var(--color-link);background:0 0;border:0}.global-sync svg,.sync-label-full{display:none}.sync-label-mobile{display:inline}.empty-state{grid-template-columns:var(--icon-lg) minmax(0, 1fr);align-items:start;gap:var(--space-3);padding:var(--space-4);display:grid}.empty-state h2{font-size:var(--text-h3);margin:0}.empty-state .button{margin-top:var(--space-3)}}.global-action-error{font-size:var(--text-small);flex-basis:100%;margin:0}.header-login-state{color:var(--color-text-secondary);font-size:.68rem;line-height:1.2;display:block}.pwa-update-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.pwa-update-banner>div{flex:240px}.pwa-update-banner p{font-size:var(--text-small);margin:0}.pwa-update-banner button{flex-shrink:0}body:has(.analytics-banner){padding-bottom:8rem}.analytics-banner{z-index:var(--z-popover);left:50%;bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-2);width:min(34rem, calc(100% - 2 * var(--page-gutter)));padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-popover);flex-wrap:wrap;display:flex;position:fixed;transform:translate(-50%)}.analytics-banner>div:first-child{flex:220px}.analytics-banner p{font-size:var(--text-small);margin:0}.analytics-banner .field-help{color:var(--color-text-secondary)}.analytics-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.analytics-actions a{color:var(--color-link);font-size:var(--text-small);text-decoration:underline}.analytics-actions .button{padding-inline:var(--space-3);font-size:var(--text-small)}@media (width<=63.999rem){.analytics-banner{bottom:calc(5rem + env(safe-area-inset-bottom))}body:has(.analytics-banner){padding-bottom:calc(16rem + env(safe-area-inset-bottom))}}@media (width<=39.999rem){.analytics-banner{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-color:var(--color-border)}.analytics-actions{gap:var(--space-1)}.analytics-actions .button{min-height:var(--target-min)}}
