@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Work+Sans:wght@300;400;500;600;700;800&display=swap";:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-accent: #0369a1;--color-surface: #ffffff;--color-surface-subtle: #f3f4f6;--color-surface-muted: #e5e7eb;--color-surface-strong: #d1d5db;--color-surface-hover: #f1f5f9;--color-surface-active: #e2e8f0;--color-surface-disabled: #e5e7eb;--color-text: #111827;--color-text-secondary: #374151;--color-text-muted: #4b5563;--color-text-subtle: #6b7280;--color-text-disabled: #9ca3af;--color-text-inverse: #ffffff;--color-danger: #dc2626;--color-success: #10b981;--color-warning: #d97706;--color-info: #0284c7;--color-danger-surface: #fef2f2;--color-success-surface: #f0fdf4;--color-warning-surface: #fffbeb;--color-info-surface: #eff6ff;--color-border-light: #f1f5f9;--color-border-default: #e5e7eb;--color-border-strong: #d1d5db;--color-focus: #3b82f6;--text-primary: #1e293b;--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;--text-size-2xs: .625rem;--text-size-xs: .75rem;--text-size-sm: .875rem;--text-size-base: 1rem;--text-size-lg: 1.125rem;--text-size-xl: 1.25rem;--text-size-2xl: 1.5rem;--text-size-3xl: 1.875rem;--text-size-4xl: 2.25rem;--text-weight-normal: 400;--text-weight-medium: 500;--text-weight-semibold: 600;--text-weight-bold: 700;--text-lineheight-tight: 1.25;--text-lineheight-normal: 1.5;--text-lineheight-relaxed: 1.75;--font-sans: "Work Sans", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Monaco", "Consolas", monospace;--font-display-literary: "DM Serif Display", Georgia, serif;--font-body-literary: "EB Garamond", Georgia, serif;--font-functional: "Work Sans", system-ui, -apple-system, sans-serif;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--border-editorial-subtle: 1px solid #E5E5E3;--border-editorial-warm: 1px solid #D4D4D0;--border-editorial-accent-primary: 3px solid #232D4B;--border-editorial-accent-blue: 4px solid #0786C9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-editorial-paper: 0 2px 4px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-editorial-lifted: 0 4px 8px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .03);--shadow-editorial-soft: 0 8px 16px rgba(35, 45, 75, .06);--shadow-editorial-none: none}[data-theme=dark]{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-accent: #0ea5e9;--color-surface: #0e172a;--color-surface-subtle: #1e293b;--color-surface-muted: #334155;--color-surface-strong: #475569;--color-surface-hover: #1e293b;--color-surface-active: #334155;--color-surface-disabled: #334155;--color-text: #ffffff;--color-text-secondary: #e2e8f0;--color-text-muted: #cbd5e1;--color-text-subtle: #94a3b8;--color-text-disabled: #64748b;--color-text-inverse: #0f172a;--color-danger: #ef4444;--color-success: #22c55e;--color-warning: #fbbf24;--color-info: #38bdf8;--color-danger-surface: #2c0b0e;--color-success-surface: #022c22;--color-warning-surface: #422006;--color-info-surface: #082f49;--color-border-light: #1e293b;--color-border-default: #334155;--color-border-strong: #475569;--color-focus: #60a5fa;--text-primary: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .7)}.context-functional,:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--content-max-width: 100%;--card-padding: 1rem;--line-height-tight: 1.4;--line-height-normal: 1.6;--font-family-display: var(--font-functional);--font-family-body: var(--font-functional)}.context-editorial{--spacing-xs: .375rem;--spacing-sm: .625rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2.25rem;--spacing-2xl: 3rem;--content-max-width: 42.5rem;--card-padding: 2.25rem;--line-height-tight: 1.5;--line-height-normal: 1.7;--font-family-display: var(--font-display-literary);--font-family-body: var(--font-body-literary);--color-surface: #F1F1EF;--color-text: #2C2C2C;--color-text-secondary: #5A5A5A;--color-primary: #232D4B;--color-accent: #0786C9;--color-border-default: #E5E5E3;--color-surface-subtle: #FAFAF9;--border-default: var(--border-editorial-subtle);--shadow-default: var(--shadow-editorial-paper);--border-radius-default: .25rem}[data-theme=dark] .context-editorial{--color-surface: #F1F1EF;--color-text: #2C2C2C;--color-text-secondary: #5A5A5A;--color-primary: #232D4B;--color-accent: #0786C9;--color-border-default: #E5E5E3;--color-surface-subtle: #FAFAF9}.typography-literary-display{font-family:var(--font-display-literary);font-weight:400;line-height:var(--line-height-tight)}.typography-literary-body{font-family:var(--font-body-literary);font-weight:400;line-height:var(--line-height-normal)}.typography-functional{font-family:var(--font-functional);font-weight:400;line-height:var(--line-height-normal)}*{margin:0;padding:0;box-sizing:border-box;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}html{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--text-size-base);line-height:var(--text-lineheight-normal);color:var(--color-text-secondary);background-color:var(--color-surface-subtle);max-width:100vw;overflow-x:hidden}.prose{max-width:65ch;margin:0 auto;line-height:1.6}.prose h1{font-size:var(--text-size-4xl);font-weight:var(--text-weight-bold);margin-bottom:var(--space-12);color:var(--color-text-primary);line-height:1.2;letter-spacing:-.02em}.prose h2{font-size:var(--text-size-2xl);font-weight:var(--text-weight-semibold);margin-top:var(--space-16);margin-bottom:var(--space-6);color:var(--color-text-primary);line-height:1.3}.prose>h2:first-of-type,.prose>p+h2{margin-top:0}.prose h3{font-size:var(--text-size-xl);font-weight:var(--text-weight-semibold);margin-top:var(--space-8);margin-bottom:var(--space-4);color:var(--color-text-primary);line-height:1.4}.prose p{margin-bottom:var(--space-6);color:var(--color-text-primary);font-size:var(--text-size-lg);line-height:1.7}.prose p:first-of-type,.prose .lead{font-size:var(--text-size-xl);line-height:1.8;margin-bottom:var(--space-12);color:var(--color-text-secondary);font-weight:var(--text-weight-normal)}.prose ul,.prose ol{margin-left:0;padding-left:var(--space-8);margin-bottom:var(--space-8);margin-top:var(--space-6)}.prose li{margin-bottom:var(--space-4);color:var(--color-text-primary);font-size:var(--text-size-lg);line-height:1.6;padding-left:var(--space-2)}.prose a{color:var(--color-primary);text-decoration:underline;transition:color .2s ease}.prose a:hover{color:var(--color-primary-hover)}.prose strong{font-weight:var(--text-weight-semibold);color:var(--color-text-primary)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-secondary);padding:.125rem .375rem;border-radius:var(--radius-sm)}@media (max-width: 640px){.prose h1{font-size:var(--text-size-3xl);margin-bottom:var(--space-8)}.prose h2{font-size:var(--text-size-xl);margin-top:var(--space-12)}.prose h3{font-size:var(--text-size-lg)}.prose p,.prose li{font-size:var(--text-size-base)}.prose p:first-of-type,.prose .lead{font-size:var(--text-size-lg)}}.nav-bar{background:var(--color-surface);box-shadow:0 1px 2px #0000000d;border-bottom:1px solid var(--color-surface-muted)}.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem}nav{height:4rem}nav .container{height:100%}.nav-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none}.nav-button svg{width:20px;height:20px;stroke:currentColor}.nav-button-menu{color:var(--color-text-muted);background:transparent}.nav-button-menu:hover{background-color:var(--color-surface-subtle)}.nav-button-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.nav-button-primary:hover{background-color:var(--color-primary-hover)}.nav-button-disabled{background-color:var(--color-surface-strong);color:var(--color-text-disabled);cursor:not-allowed}.nav-button-settings{color:var(--color-text-muted);background:transparent}.nav-button-settings:hover{background-color:var(--color-surface-subtle)}.nav-button-settings:disabled{color:var(--color-text-disabled);cursor:not-allowed}.nav-button-secondary{color:var(--color-text-disabled);background:transparent}.nav-button-secondary:hover{background-color:var(--color-surface-subtle);color:var(--color-text-muted)}@media (max-width: 400px){.nav-button{width:32px;height:32px}.nav-button svg{width:18px;height:18px}}.app-layout{min-height:100vh;background-color:var(--color-surface-subtle)}.main-content{max-width:1200px;margin:0 auto}.page-container{max-width:42rem;margin:0 auto;text-align:center}.page-container-wide{max-width:56rem;margin:0 auto}.page-container-narrow{max-width:28rem;margin:0 auto}.page-title{font-size:var(--text-size-3xl);font-weight:var(--text-weight-bold);color:var(--color-text);margin-bottom:1rem}.page-subtitle{font-size:var(--text-size-lg);color:var(--color-text-muted);margin-bottom:2rem}.section-title{font-size:var(--text-size-2xl);font-weight:var(--text-weight-bold);color:var(--color-text);margin-bottom:.5rem}.section-title-inline{font-size:var(--text-size-2xl);font-weight:var(--text-weight-bold);color:var(--color-text);margin:0}.section-subtitle{color:var(--color-text-muted);margin-bottom:2rem}.btn-primary{display:inline-block;padding:.75rem 1.5rem;background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--text-weight-medium);border-radius:.5rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{display:inline-block;padding:.75rem 1.5rem;background-color:var(--color-surface-subtle);color:var(--color-text-secondary);font-weight:var(--text-weight-medium);border-radius:.5rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:var(--color-surface-muted)}.content-section{margin-bottom:1rem}.welcome-message{color:var(--color-text-secondary);margin-bottom:1rem}.form-container,.form-field{margin-bottom:1.5rem}.form-label{display:block;font-size:var(--text-size-sm);font-weight:var(--text-weight-medium);color:var(--color-text-secondary);margin-bottom:.5rem}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-surface-strong);border-radius:.375rem;font-size:var(--text-size-base);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px #3b82f61a}.form-input:disabled{background-color:var(--color-surface-subtle);cursor:not-allowed}.form-help{margin-top:.25rem;font-size:var(--text-size-xs);color:var(--color-text-subtle)}.form-error{margin-top:.5rem;font-size:var(--text-size-sm);color:var(--color-danger)}.btn-full-width{width:100%}.btn-disabled{opacity:.5;cursor:not-allowed}.text-small{font-size:.875rem;color:var(--color-text-muted)}.text-muted{color:var(--color-text-subtle)}.text-center{text-align:center}.divider{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-surface-muted)}.coming-soon{margin-bottom:1rem}.feature-list{margin-bottom:.25rem}input[type=text],input[type=email]{width:100%;padding:.5rem .75rem;border:1px solid var(--color-surface-strong);border-radius:.375rem;font-size:1rem;background-color:var(--color-surface);color:var(--color-text)}input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px #3b82f61a}.btn{display:inline-block;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all .2s}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1d4ed8}.btn:disabled{opacity:.5;cursor:not-allowed}.isbn-card{padding:1rem;border:1px solid var(--color-surface-muted);border-radius:.5rem;background:var(--color-surface);box-shadow:0 1px 2px #0000000d;transition:box-shadow .2s}.isbn-card.has-controls{padding:1.5rem 1rem 1rem 1.5rem}.isbn-card:hover{box-shadow:0 4px 6px -1px #0000001a}.isbn-field{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.isbn-field .label{font-size:.875rem;font-weight:500;color:#374151}.books-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}.edit-books-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overlay{position:fixed;inset:0;z-index:40}.dropdown-menu{position:absolute;top:3rem;left:0;z-index:50}.dropdown-menu-right{position:absolute;top:3rem;right:0;z-index:50}.content-spacing>*+*{margin-top:1rem}.content-spacing-sm>*+*{margin-top:.25rem}.content-gap{display:flex;flex-direction:column;gap:1.5rem}.settings-card{background:var(--color-surface);border-radius:.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid var(--color-surface-muted);padding:1.5rem}.settings-section{margin-bottom:1.5rem}.settings-divider{border-top:1px solid var(--color-surface-muted);margin:1.5rem 0}.instruction-box{background-color:#eff6ff;border-radius:.5rem;padding:1rem;font-size:.875rem;color:#1e40af}.instruction-title{font-weight:500;color:#1e3a8a;margin-bottom:.5rem}.empty-state{text-align:center;padding:3rem 0;background:var(--color-surface);border-radius:.5rem;border:1px solid var(--color-surface-muted)}.sticky-actions{position:sticky;top:0;z-index:40;width:100%;background:var(--color-surface);border-bottom:1px solid var(--color-border-default);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.sticky-actions-inner{max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-4);background-color:var(--color-surface-subtle);border-radius:var(--radius-md)}.nav-layout{display:flex;justify-content:space-between;align-items:center;height:4rem}.nav-brand{font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none;transition:color .2s}.nav-brand:hover{color:var(--color-text-secondary)}.draggable-item{cursor:move;transition:transform .2s}.draggable-item:hover{transform:scale(1.02)}.draggable-item:active{transform:scale(.95)}.icon-sm{width:.75rem;height:.75rem}.icon-md{width:1rem;height:1rem}.icon-lg{width:1.25rem;height:1.25rem}.tooltip{position:fixed;background-color:#111827;color:#fff;font-size:.875rem;border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a;padding:.5rem .75rem;white-space:nowrap;pointer-events:none;z-index:9999}.tooltip-arrow{position:absolute;top:-.25rem;right:1rem;width:.5rem;height:.5rem;background-color:#111827;transform:rotate(45deg)}.menu-dropdown{background:var(--color-surface);border:1px solid var(--color-surface-muted)!important;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;min-width:8rem}.menu-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;color:var(--color-text-secondary);background:var(--color-surface);border:none;width:100%;text-align:left;white-space:nowrap;text-decoration:none;transition:background-color .2s}.menu-item:hover{background-color:var(--color-surface-subtle)}.menu-item-active{background-color:#e0f2fe;color:#0369a1;font-weight:500}.menu-item-active:hover{background-color:#bae6fd}.menu-item.danger{color:#dc2626}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;cursor:pointer}.radio-option input[type=radio]{width:1rem;height:1rem;accent-color:#2563eb}.radio-option:hover{color:#1f2937}button[aria-label=Menu] svg{stroke:#4b5563!important}button[aria-label="Sign in to add books"] svg{stroke:#4b5563!important}a[aria-label="Add book"] svg{stroke:#fff!important}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal-dialog{background:var(--color-surface);border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;max-width:28rem;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.modal-close:hover{color:#374151}.modal-body{padding:0 1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.form-group{margin-bottom:1.5rem}.form-select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-surface-strong);border-radius:.375rem;font-size:1rem;background-color:var(--color-surface);color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease}.form-select:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px #3b82f61a}.book-container{position:relative}.book-drag-handle{position:absolute;top:0;left:0}.drag-handle-button{display:flex;align-items:center;justify-content:center;width:24px;height:36px;border-radius:6px;border:none;cursor:move;color:#9ca3af;background:transparent;transition:all .2s ease}.drag-handle-button:hover{background-color:#f3f4f6;color:#4b5563}.drag-handle-button svg{width:20px;height:20px;stroke:currentColor}.book-actions-menu{position:absolute;top:.5rem;right:.5rem}.book-actions-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;color:#4b5563;background:transparent;transition:all .2s ease}.book-actions-trigger:hover{background-color:#f3f4f6}.book-actions-trigger svg{width:20px;height:20px;stroke:currentColor}.book-actions-dropdown{position:absolute;top:3rem;right:0;z-index:50;background:#fff;border:1px solid #4b556340!important;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;min-width:8rem}.book-action-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;color:#374151;background:#fff;border:none;width:100%;text-align:left;white-space:nowrap;text-decoration:none;transition:background-color .2s;cursor:pointer}.book-action-item:hover{background-color:#f3f4f6}.book-action-icon{width:1rem;height:1rem}.book-action-remove{color:#dc2626}.book-menu-overlay{position:fixed;inset:0;z-index:40}.book-edit-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.book-edit-modal{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;max-width:28rem;width:100%;max-height:90vh;overflow-y:auto}.book-edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.book-edit-modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.book-edit-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.book-edit-modal-close:hover{color:#374151}.book-edit-modal-body{padding:0 1.5rem}.book-edit-form{display:flex;flex-direction:column;gap:1.5rem}.book-edit-field{display:flex;flex-direction:column}.book-edit-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.book-edit-input,.book-edit-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease}.book-edit-input:focus,.book-edit-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.book-edit-input-readonly{background-color:#f3f4f6;cursor:not-allowed}.book-edit-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.book-edit-cancel-button{display:inline-block;padding:.75rem 1.5rem;background-color:#f3f4f6;color:#374151;font-weight:500;border-radius:.5rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease}.book-edit-cancel-button:hover{background-color:#e5e7eb}.book-edit-save-button{display:inline-block;padding:.75rem 1.5rem;background-color:#2563eb;color:#fff;font-weight:500;border-radius:.5rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease}.book-edit-save-button:hover{background-color:#1d4ed8}.book-edit-coming-soon{margin-top:1rem;padding:.75rem;background-color:#f3f4f6;border-radius:.375rem;color:#6b7280;font-size:.875rem;text-align:center}.display-name-display{display:flex;align-items:center;gap:.5rem}.display-name-edit-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;transition:all .2s ease}.display-name-edit-button:hover{background-color:#f3f4f6;color:#374151}.display-name-edit-form{width:100%}.display-name-input-group{display:flex;align-items:flex-start;gap:.5rem}.display-name-input{flex:1;min-width:0}.display-name-actions{display:flex;gap:.25rem;flex-shrink:0}.display-name-save-button,.display-name-cancel-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.display-name-save-button{background-color:#10b981;color:#fff}.display-name-save-button:hover:not(:disabled){background-color:#059669}.display-name-save-button:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.display-name-cancel-button{background-color:#f3f4f6;color:#6b7280}.display-name-cancel-button:hover:not(:disabled){background-color:#e5e7eb;color:#374151}.display-name-cancel-button:disabled{opacity:.5;cursor:not-allowed}.form-success{margin-top:.5rem;font-size:.875rem;color:#10b981;font-weight:500}.book-isbn-card{padding:1rem;border:1px solid var(--color-surface-muted);border-radius:.5rem;background:var(--color-surface);box-shadow:0 1px 2px #0000000d;transition:box-shadow .2s}.book-isbn-card--with-controls{padding:1.5rem 2rem}.book-isbn-card:hover{box-shadow:0 4px 6px -1px #0000001a}.book-work-details{margin-bottom:1rem}.book-title{font-size:1.125rem;font-weight:600;color:var(--color-primary);margin-bottom:.25rem}.book-subtitle{color:var(--color-text-muted)}.book-contributors{font-size:.875rem;color:var(--color-text-muted)}.book-edition-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.book-isbn-field{display:flex;align-items:center;gap:.5rem}.book-isbn-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.book-isbn-value{color:var(--color-text)}.book-isbn-copy-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;color:#4b5563;background:transparent;transition:all .2s ease}.book-isbn-copy-button:hover{background-color:#f3f4f6}.book-isbn-copy-icon{width:.75rem;height:.75rem;stroke:currentColor}.book-isbn-copy-icon--copied{color:#059669}.book-collection-details{font-size:.875rem;color:var(--color-text-muted)}.book-read-status{color:var(--color-text-muted)}.book-read-status-value{font-weight:500;color:var(--color-text-secondary)}.main-navigation{background:var(--color-surface);box-shadow:0 1px 2px #0000000d;border-bottom:1px solid var(--color-surface-muted)}.main-navigation-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media (max-width: 480px){.main-navigation-container{padding:0 .5rem}.main-navigation-left,.main-navigation-right{gap:.25rem}.main-navigation-brand,.main-navigation-username-link{font-size:1.125rem}}.main-navigation-layout{display:flex;justify-content:space-between;align-items:center;height:4rem}.main-navigation-left,.main-navigation-right{display:flex;align-items:center;gap:.5rem}.main-navigation-brand-section{display:flex;align-items:center;gap:0;min-width:0;flex-shrink:1}.main-navigation-brand{font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none;transition:color .2s;white-space:nowrap}.main-navigation-brand:hover{color:var(--color-text-secondary)}.main-navigation-username-link{font-size:1.25rem;font-weight:600;color:var(--color-text-muted);text-decoration:none;transition:color .2s;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.main-navigation-username-link:hover{color:var(--color-text-secondary);opacity:1}.mobile-menu-wrapper{position:relative}.mobile-menu-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;color:#4b5563;background:transparent;transition:all .2s ease}.mobile-menu-trigger:hover{background-color:#f3f4f6}.mobile-menu-icon{width:20px;height:20px;stroke:currentColor}.mobile-menu-dropdown{position:absolute;top:3rem;left:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-surface-muted);border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;min-width:8rem}.mobile-menu-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;color:var(--color-text-secondary);background:var(--color-surface);border:none;width:100%;text-align:left;white-space:nowrap;text-decoration:none;transition:background-color .2s;cursor:pointer}.mobile-menu-item:hover{background-color:var(--color-surface-subtle)}.mobile-menu-item-icon{width:1rem;height:1rem}.search-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;color:#9ca3af;background:transparent;text-decoration:none;transition:all .2s ease}.search-button:hover{background-color:#f3f4f6;color:#4b5563}.search-button-icon{width:20px;height:20px;stroke:currentColor}.view-options-wrapper{position:relative}.view-options-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;color:#4b5563;background:transparent;transition:all .2s ease}.view-options-trigger:hover{background-color:#f3f4f6}.view-options-icon{width:20px;height:20px;stroke:currentColor}.view-options-dropdown{position:absolute;top:3rem;right:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-surface-muted);border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;min-width:8rem}.view-option-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;color:var(--color-text-secondary);background:var(--color-surface);border:none;width:100%;text-align:left;white-space:nowrap;text-decoration:none;transition:background-color .2s;cursor:pointer}.view-option-item:hover{background-color:var(--color-surface-subtle)}.view-option-item--active{background-color:#e0f2fe;color:#0369a1;font-weight:500}.view-option-item--active:hover{background-color:#bae6fd}.view-option-item-icon{width:1rem;height:1rem}.view-options-divider{height:1px;background-color:var(--border, #e2e8f0);margin:.5rem 0}.navigation-spacer{display:flex;align-items:center;justify-content:center;width:36px;height:36px;opacity:0;pointer-events:none}.navigation-spacer-content{width:20px;height:20px}.add-book-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;background-color:#2563eb;color:#fff;text-decoration:none;transition:all .2s ease}.add-book-button:hover{background-color:#1d4ed8}.add-book-button-icon{width:20px;height:20px;stroke:currentColor}.add-book-disabled-wrapper{position:relative}.add-book-button--disabled{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:not-allowed;background-color:#d1d5db;color:#6b7280;transition:all .2s ease}.add-book-button-icon--disabled{width:20px;height:20px;stroke:currentColor}.navigation-menu-overlay{position:fixed;inset:0;z-index:40}.add-book-tooltip{position:fixed;background-color:#111827;color:#fff;font-size:.875rem;border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a;padding:.5rem .75rem;white-space:nowrap;pointer-events:none;z-index:9999}.add-book-tooltip-arrow{position:absolute;top:-.25rem;right:1rem;width:.5rem;height:.5rem;background-color:#111827;transform:rotate(45deg)}.privacy-settings-form{display:flex;flex-direction:column;gap:1.5rem}.privacy-setting-field{display:flex;flex-direction:column;gap:.75rem}.privacy-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.privacy-checkbox{width:1.25rem;height:1.25rem;accent-color:#2563eb;cursor:pointer}.privacy-setting-title{font-size:1rem;font-weight:500;color:#374151}.privacy-setting-description{font-size:.875rem;color:#6b7280;line-height:1.5;margin-left:2rem}.edit-page-content{display:flex;flex-direction:column;gap:2rem}@media (min-width: 768px){.edit-page-content{flex-direction:row;align-items:flex-start}.books-section{flex:3}.settings-section{flex:1;min-width:0}}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.user-title-section{display:flex;align-items:center;gap:1rem}.user-menu-container{position:relative}.edit-icon{width:1rem;height:1rem;margin-right:.5rem}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin:1rem 0;font-size:.875rem}.account-info-value{color:#111827}.settings-description{color:#6b7280;margin-bottom:1rem}.settings-placeholder{color:#6b7280}.danger-zone-description{color:#6b7280;margin-bottom:1rem}.settings-footer{text-align:center;margin-top:2rem}.settings-back-link{font-size:.875rem;color:#2563eb;transition:color .2s;text-decoration:none}.settings-back-link:hover{color:#1d4ed8}.sticky-actions-buttons{display:flex;justify-content:flex-end;gap:var(--space-3);align-items:center}.edit-page-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.books-section-title{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:1rem}.empty-state-message{color:#4b5563;margin-bottom:1rem}.add-book-section{text-align:center;margin-top:2rem}.settings-field-label{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:1rem;display:block}.coming-soon-section{font-size:.875rem;color:#6b7280;margin-top:2rem}.coming-soon-list{list-style-type:disc;list-style-position:inside;margin-top:.5rem;font-size:.875rem;color:#6b7280}.modal-overlay.svelte-1ed95g7{position:fixed;inset:0;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content.svelte-1ed95g7{background:var(--surface, #ffffff);border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:42rem;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header.svelte-1ed95g7{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 0;border-bottom:1px solid var(--border, #e2e8f0)}.modal-header.svelte-1ed95g7 h2:where(.svelte-1ed95g7){margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.close-button.svelte-1ed95g7{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;color:var(--text-secondary, #64748b);border-radius:.25rem;transition:all .2s}.close-button.svelte-1ed95g7:hover{background-color:var(--hover, #f1f5f9);color:var(--text-primary, #1e293b)}.close-button.svelte-1ed95g7:disabled{opacity:.5;cursor:not-allowed}.modal-body.svelte-1ed95g7{flex:1;overflow-y:auto;padding:1.5rem}.error-message.svelte-1ed95g7{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;margin-bottom:1rem}.progress-message.svelte-1ed95g7{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;color:#0369a1;margin-bottom:1rem}.section.svelte-1ed95g7{margin-bottom:2rem}.section.svelte-1ed95g7 h3:where(.svelte-1ed95g7){margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.format-options.svelte-1ed95g7{display:grid;gap:.75rem}.format-option.svelte-1ed95g7{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid var(--border, #e2e8f0);border-radius:.5rem;cursor:pointer;transition:all .2s}.format-option.svelte-1ed95g7:hover{border-color:var(--primary, #2563eb);background-color:var(--hover, #f8fafc)}.format-option.selected.svelte-1ed95g7{border-color:var(--primary, #2563eb);background-color:var(--primary-light, #dbeafe)}.format-option.svelte-1ed95g7 input[type=radio]:where(.svelte-1ed95g7){margin-top:.125rem}.format-content.svelte-1ed95g7{flex:1}.format-header.svelte-1ed95g7{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.format-icon.svelte-1ed95g7{font-size:1.25rem}.format-name.svelte-1ed95g7{font-weight:600;color:var(--text-primary, #1e293b)}.format-description.svelte-1ed95g7{margin:0;font-size:.875rem;color:var(--text-secondary, #64748b)}.options-grid.svelte-1ed95g7{display:grid;gap:1rem}.option-item.svelte-1ed95g7{display:flex;flex-direction:column;gap:.25rem;cursor:pointer;padding:.75rem;border:1px solid var(--border, #e2e8f0);border-radius:.375rem;transition:background-color .2s}.option-item.svelte-1ed95g7:hover{background-color:var(--hover, #f8fafc)}.option-label.svelte-1ed95g7{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary, #1e293b)}.option-description.svelte-1ed95g7{font-size:.875rem;color:var(--text-secondary, #64748b);margin-left:1.25rem}.filter-group.svelte-1ed95g7{margin-bottom:1.5rem}.filter-group.svelte-1ed95g7 h4:where(.svelte-1ed95g7){margin:0 0 .5rem;font-size:1rem;font-weight:500;color:var(--text-primary, #1e293b)}.filter-description.svelte-1ed95g7{margin:0 0 .75rem;font-size:.875rem;color:var(--text-secondary, #64748b)}.status-options.svelte-1ed95g7{display:flex;gap:.5rem;flex-wrap:wrap}.status-option.svelte-1ed95g7{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border, #e2e8f0);border-radius:2rem;cursor:pointer;transition:all .2s;font-size:.875rem}.status-option.svelte-1ed95g7:hover{border-color:var(--primary, #2563eb);background-color:var(--hover, #f8fafc)}.status-option.selected.svelte-1ed95g7{border-color:var(--primary, #2563eb);background-color:var(--primary-light, #dbeafe)}.status-option.svelte-1ed95g7 input[type=checkbox]:where(.svelte-1ed95g7){margin:0}.filter-toggle.svelte-1ed95g7{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer;margin-bottom:.75rem}.date-range.svelte-1ed95g7{display:flex;gap:1rem;margin-left:1.25rem}.date-input.svelte-1ed95g7{display:flex;flex-direction:column;gap:.25rem;flex:1}.date-input.svelte-1ed95g7 label:where(.svelte-1ed95g7){font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.date-input.svelte-1ed95g7 input[type=date]:where(.svelte-1ed95g7){padding:.5rem;border:1px solid var(--border, #e2e8f0);border-radius:.375rem;font-size:.875rem}.modal-footer.svelte-1ed95g7{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border, #e2e8f0)}.cancel-button.svelte-1ed95g7{padding:.5rem 1rem;border:1px solid var(--border, #e2e8f0);border-radius:.375rem;background-color:transparent;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s}.cancel-button.svelte-1ed95g7:hover:not(:disabled){background-color:var(--hover, #f1f5f9)}.export-button.svelte-1ed95g7{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:.375rem;background-color:var(--primary, #2563eb);color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.export-button.svelte-1ed95g7:hover:not(:disabled){background-color:var(--primary-dark, #1d4ed8)}.export-button.svelte-1ed95g7:disabled{opacity:.5;cursor:not-allowed}.spinner.svelte-1ed95g7{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:svelte-1ed95g7-spin 1s linear infinite}.spinner.small.svelte-1ed95g7{width:.75rem;height:.75rem;border-width:1.5px}@keyframes svelte-1ed95g7-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.modal-content.svelte-1ed95g7{margin:1rem;max-height:calc(100vh - 2rem)}.date-range.svelte-1ed95g7{flex-direction:column;gap:.75rem}.modal-footer.svelte-1ed95g7{flex-direction:column}.export-button.svelte-1ed95g7,.cancel-button.svelte-1ed95g7{width:100%;justify-content:center}}.theme-toggle.svelte-1cmi4dh{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;color:var(--color-text-muted);background:transparent;transition:all .2s ease}.theme-toggle.svelte-1cmi4dh:hover{background-color:var(--color-surface-subtle);color:var(--color-text-secondary)}.theme-toggle.svelte-1cmi4dh:focus{outline:none;box-shadow:0 0 0 2px var(--color-focus);background-color:var(--color-surface-subtle)}.theme-toggle-icon.svelte-1cmi4dh{width:20px;height:20px;stroke:currentColor}.nav-button.svelte-1n2ql5p{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;background:transparent}.nav-button--menu.svelte-1n2ql5p,.nav-button--ghost.svelte-1n2ql5p{color:var(--color-text-muted);background:transparent}.nav-button--menu.svelte-1n2ql5p:hover,.nav-button--ghost.svelte-1n2ql5p:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.nav-button--primary.svelte-1n2ql5p{background:var(--color-primary);color:var(--color-text-inverse)}.nav-button--primary.svelte-1n2ql5p:hover{background:var(--color-primary-hover)}.nav-button--secondary.svelte-1n2ql5p{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-default)}.nav-button--secondary.svelte-1n2ql5p:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.nav-button--disabled.svelte-1n2ql5p{background:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.nav-button--disabled.svelte-1n2ql5p:hover{background:var(--color-surface-disabled)}.nav-button.svelte-1n2ql5p .nav-button__icon{width:20px;height:20px;stroke:currentColor}.nav-button.svelte-1n2ql5p:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.site-footer.svelte-jz8lnl{margin-top:auto;padding-top:var(--space-16);padding-bottom:var(--space-12);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary)}.footer-content.svelte-jz8lnl{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-12);margin-bottom:var(--space-12)}.footer-section.svelte-jz8lnl h3:where(.svelte-jz8lnl){font-size:var(--text-size-xl);font-weight:var(--text-weight-semibold);margin-bottom:var(--space-4);color:var(--color-text-primary)}.footer-section.svelte-jz8lnl h4:where(.svelte-jz8lnl){font-size:var(--text-size-base);font-weight:var(--text-weight-semibold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-6);color:var(--color-text-secondary)}.footer-section.svelte-jz8lnl p:where(.svelte-jz8lnl){color:var(--color-text-secondary);line-height:1.6;font-size:var(--text-size-base)}.footer-section.svelte-jz8lnl nav:where(.svelte-jz8lnl) ul:where(.svelte-jz8lnl){list-style:none;padding:0;margin:0}.footer-section.svelte-jz8lnl nav:where(.svelte-jz8lnl) li:where(.svelte-jz8lnl){margin-bottom:var(--space-4)}.footer-section.svelte-jz8lnl nav:where(.svelte-jz8lnl) a:where(.svelte-jz8lnl){color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease;font-size:var(--text-size-base);line-height:1.5}.footer-section.svelte-jz8lnl nav:where(.svelte-jz8lnl) a:where(.svelte-jz8lnl):hover{color:var(--color-text-primary)}.footer-bottom.svelte-jz8lnl{padding-top:var(--space-8);margin-top:var(--space-6);border-top:1px solid var(--color-border-primary);text-align:center}.footer-bottom.svelte-jz8lnl p:where(.svelte-jz8lnl){color:var(--color-text-tertiary);font-size:var(--text-size-base)}@media (max-width: 768px){.footer-content.svelte-jz8lnl{grid-template-columns:1fr;gap:var(--space-6)}.footer-section.svelte-jz8lnl:first-child{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-primary)}}.app-layout.svelte-12qhfyh{min-height:100vh;display:flex;flex-direction:column}.main-content.svelte-12qhfyh{flex:1;padding-bottom:var(--space-16);margin-bottom:var(--space-16)}
