:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f7f1e5;--page-backdrop:#d9d0bc;--surface:#fffdf8;--surface-muted:#f0e4d0;--chrome:#3b2a20;--chrome-surface:#4a362a;--ink:#3b2a20;--ink-soft:#6b5a4c;--ink-on-chrome:#d9cbb8;--hairline:#e6dcc8;--terracotta:#b35e36;--sage:#6c7960;--on-terracotta:#fffdf8;--on-sage:#fffdf8;--ghost:#9a5a44;--ghost-border:#d8b99c;--font-brand-family:Georgia, "Iowan Old Style", serif;--font-brand-size:19px;--font-brand-weight:700;--font-display-family:Georgia, "Iowan Old Style", serif;--font-display-size:34px;--font-display-weight:400;--font-display-line-height:1.15;--font-body-family:-apple-system, "Segoe UI", Roboto, sans-serif;--font-body-size:17px;--font-body-line-height:1.5;--font-body-sm-family:-apple-system, "Segoe UI", Roboto, sans-serif;--font-body-sm-size:14px;--font-body-sm-line-height:1.5;--font-label-caps-family:-apple-system, "Segoe UI", Roboto, sans-serif;--font-label-caps-size:13px;--font-label-caps-weight:700;--font-label-caps-letter-spacing:.06em;--font-caption-family:-apple-system, "Segoe UI", Roboto, sans-serif;--font-caption-size:12px;--font-caption-line-height:1.4;--rounded-sm:6px;--rounded:12px;--rounded-lg:18px;--rounded-full:9999px;--spacing-1:4px;--spacing-2:8px;--spacing-3:10px;--spacing-4:14px;--spacing-5:18px;--spacing-gutter:28px;--spacing-section:40px;--spacing-navbar-x:24px;--spacing-navbar-y:14px;--navbar-background:var(--chrome);--navbar-padding-x:var(--spacing-navbar-x);--navbar-padding-y:var(--spacing-navbar-y);--navbar-brand-color:var(--ink-on-chrome);--search-bar-background:var(--chrome-surface);--search-bar-text:var(--ink-on-chrome);--search-bar-radius:var(--rounded-full);--search-bar-camera-icon-background:var(--terracotta);--book-view-frame-background:var(--paper);--book-view-frame-radius:var(--rounded-lg);--book-view-frame-padding:var(--spacing-section);--book-cover-radius:var(--rounded-sm);--book-cover-gradient:linear-gradient(160deg, var(--terracotta), #8c4426);--button-primary-background:var(--terracotta);--button-primary-text:var(--on-terracotta);--button-primary-radius:var(--rounded-full);--button-secondary-background:var(--sage);--button-secondary-text:var(--on-sage);--button-secondary-radius:var(--rounded-full);--button-ghost-text:var(--ghost);--button-ghost-border:var(--ghost-border);--button-ghost-radius:var(--rounded-full);--button-neutral-background:var(--surface-muted);--button-neutral-text:var(--ink);--button-neutral-border:var(--hairline);--button-neutral-radius:var(--rounded-full);--editions-list-background:var(--surface);--editions-list-row-divider:var(--hairline);--editions-list-radius:var(--rounded);--ownership-chip-background:var(--surface-muted);--ownership-chip-text:var(--ink-soft);--ownership-chip-radius:var(--rounded-full);--admin-navbar-border-bottom:4px solid var(--ghost);--admin-badge-text:var(--ink-on-chrome);--admin-badge-border:var(--ghost-border);--back-to-app-pill-background:var(--chrome-surface);--back-to-app-pill-text:var(--ink-on-chrome);--nav-item-disabled-text:var(--ink-on-chrome);--nav-item-soon-pill-background:var(--chrome-surface);--nav-item-soon-pill-text:var(--ink-on-chrome);--users-table-background:var(--surface);--users-table-row-divider:var(--hairline);--users-table-radius:var(--rounded);--role-chip-background:var(--surface-muted);--role-chip-text:var(--ink-soft);--role-chip-radius:var(--rounded-full);--loaned-card-background:var(--surface);--loaned-card-border:var(--hairline);--loaned-card-ribbon-background:var(--sage);--loaned-card-radius:var(--rounded);--bulma-primary-h:19.2deg;--bulma-primary-s:53.6%;--bulma-primary-l:45.7%;--bulma-link-h:91.2deg;--bulma-link-s:11.5%;--bulma-link-l:42.5%;--bulma-danger-h:15.3deg;--bulma-danger-s:38.7%;--bulma-danger-l:43.5%;--bulma-warning-h:19.2deg;--bulma-warning-s:53.6%;--bulma-warning-l:45.7%;--bulma-success-h:91.2deg;--bulma-success-s:11.5%;--bulma-success-l:42.5%;--bulma-info-h:27.1deg;--bulma-info-s:16.9%;--bulma-info-l:35.9%;--bulma-family-primary:var(--font-body-family);--bulma-radius-small:var(--rounded-sm);--bulma-radius:var(--rounded);--bulma-radius-large:var(--rounded-lg);--shadow-card:0 1px 2px #2b1b0c0f, 0 8px 24px -12px #2b1b0c2e;--shadow-card-hover:0 2px 4px #2b1b0c14, 0 16px 32px -14px #2b1b0c3d}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#1b140e;--page-backdrop:#0f0b08;--surface:#201810;--surface-muted:#33261a;--chrome:#120d09;--chrome-surface:#241b14;--ink:#f2e7d6;--ink-soft:#b8a891;--ink-on-chrome:#b8a891;--hairline:#3a2c1f;--terracotta:#e0824f;--sage:#9bae8a;--on-terracotta:#1b140e;--on-sage:#1b140e;--ghost:#d89a78;--ghost-border:#4a3a2a;--book-cover-gradient:linear-gradient(160deg, var(--terracotta), #7a3d1e);--bulma-primary-h:21.1deg;--bulma-primary-s:70%;--bulma-primary-l:59.4%;--bulma-link-h:91.7deg;--bulma-link-s:18.2%;--bulma-link-l:61.2%;--bulma-danger-h:21.2deg;--bulma-danger-s:55.2%;--bulma-danger-l:65.9%;--bulma-warning-h:21.1deg;--bulma-warning-s:70%;--bulma-warning-l:59.4%;--bulma-success-h:91.7deg;--bulma-success-s:18.2%;--bulma-success-l:61.2%;--bulma-info-h:35.4deg;--bulma-info-s:21.5%;--bulma-info-l:64.5%;--shadow-card:0 1px 2px #00000059, 0 8px 24px -12px #0000008c;--shadow-card-hover:0 2px 4px #0006, 0 16px 32px -14px #0009}body{background-image:radial-gradient(circle at 0 0,#e0824f14,#0000 45%)}.navbar{box-shadow:0 1px #0006}}body{background-color:var(--paper);background-image:radial-gradient(circle at 0 0,#c4782d0f,#0000 45%)}.title,.hero .title{font-family:var(--font-display-family);font-weight:var(--font-display-weight);letter-spacing:-.01em}.hero .subtitle{font-family:var(--bulma-family-primary);color:var(--ink-soft)}.navbar-item strong{font-family:var(--font-brand-family);letter-spacing:.01em;font-size:1.15rem}code{background-color:var(--surface-muted);color:var(--ink);border-radius:var(--bulma-radius-small)}.navbar{background:var(--navbar-background);border-bottom:1px solid var(--hairline);box-shadow:0 1px #2b1b0c05}.navbar .navbar-item,.navbar .navbar-link{color:var(--ink-on-chrome)}.navbar-item strong{color:var(--navbar-brand-color)}.navbar-item.is-active{background-color:var(--navbar-background);box-shadow:inset 0 -2px 0 var(--bulma-primary)}.navbar-row{align-items:center;gap:var(--spacing-gutter);display:flex}.navbar-row .navbar-menu{flex-shrink:0}@media (max-width:1200px){.navbar-row{flex-wrap:wrap}.navbar-row .global-search{flex-basis:100%;order:1;max-width:none;margin:0}}.navbar-burger{color:var(--ink-on-chrome);width:44px;height:44px;margin-left:auto}.navbar-burger:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}@media (max-width:1023.98px){.navbar-row .navbar-menu.is-active{z-index:100;gap:var(--spacing-2);padding:calc(var(--spacing-5) + env(safe-area-inset-top)) calc(var(--spacing-gutter) + env(safe-area-inset-right)) calc(var(--spacing-5) + env(safe-area-inset-bottom)) calc(var(--spacing-gutter) + env(safe-area-inset-left));background:var(--navbar-background);box-shadow:none;overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.navbar-row .navbar-menu.is-active .navbar-start,.navbar-row .navbar-menu.is-active .navbar-end{flex-direction:column;align-items:flex-start;display:flex}.navbar-menu-header{justify-content:space-between;align-items:center;display:flex}.navbar-menu-close{border-radius:var(--rounded-full);width:44px;height:44px;color:var(--ink-on-chrome);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.navbar-menu-close:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}}.global-search{flex:auto;min-width:0;max-width:420px;margin:0 auto;position:relative}.global-search-field{align-items:center;gap:var(--spacing-2);background:var(--search-bar-background);border-radius:var(--search-bar-radius);border:1px solid var(--hairline);padding:var(--spacing-2) var(--spacing-4);display:flex}.global-search-field:focus-within{outline:2px solid var(--terracotta);outline-offset:2px}.global-search-icon{opacity:.8;flex-shrink:0}.global-search-input{min-width:0;min-height:44px;color:var(--search-bar-text);line-height:1;font-family:var(--font-body-sm-family);font-size:var(--font-body-sm-size);background:0 0;border:none;outline:none;flex:1}.global-search-input::placeholder{color:var(--search-bar-text);opacity:.65}.global-search-camera-button{background:var(--search-bar-camera-icon-background);width:44px;height:44px;color:var(--on-terracotta);border-radius:var(--rounded-full);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex}.global-search-camera-button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.global-search-results{top:calc(100% + var(--spacing-2));background:var(--surface);border:1px solid var(--hairline);border-radius:var(--rounded);box-shadow:var(--shadow-card-hover);z-index:40;max-height:70vh;padding:var(--spacing-3);position:absolute;left:0;right:0;overflow-y:auto}.global-search-status{color:var(--ink-soft);font-size:var(--font-body-sm-size);padding:var(--spacing-2) var(--spacing-1);margin:0}.global-search-result-list{gap:var(--spacing-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.global-search-result-row:not(:last-child){border-bottom:1px solid var(--hairline);padding-bottom:var(--spacing-4)}.global-search-result-row--active{background:var(--hairline);border-radius:var(--rounded-sm)}.global-search-result{color:var(--ink);border-radius:var(--rounded-sm);text-decoration:none;display:block}a.global-search-result:hover{color:var(--terracotta)}.global-search-result:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.global-search-result-title{font-weight:600}.global-search-result-author{color:var(--ink-soft);font-size:var(--font-body-sm-size)}.global-search-result-actions{gap:var(--spacing-2);margin-top:var(--spacing-2);flex-wrap:wrap;display:flex}.global-search-result-actions .button:focus-visible,.global-search-result-actions .button.is-small:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.scan-overlay-backdrop{z-index:100;padding:var(--spacing-gutter);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scan-overlay{background:var(--page-backdrop);border-radius:var(--rounded);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-card);position:relative;overflow-y:auto}.scan-overlay-close{top:var(--spacing-3);right:var(--spacing-3);width:44px;height:44px;color:var(--ink-soft);border-radius:var(--rounded-full);cursor:pointer;z-index:1;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:inline-flex;position:absolute}.scan-overlay-close:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.scan-overlay-viewfinder{padding:var(--spacing-5)}.scan-overlay-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--rounded);padding:var(--spacing-5);margin:var(--spacing-2)}.scan-overlay-closed-note{font-size:var(--font-caption-size);color:var(--ink-soft);margin-bottom:var(--spacing-3)}.scan-overlay-title{font-family:var(--font-display-family);color:var(--ink);margin-bottom:var(--spacing-1);font-size:22px}.scan-overlay-author{font-size:var(--font-body-size);color:var(--ink-soft);margin-bottom:var(--spacing-2)}.scan-overlay-meta{font-size:var(--font-body-sm-size);color:var(--ink-soft);margin-bottom:var(--spacing-4)}.scan-overlay-owned-editions{background:var(--surface-muted);border-radius:var(--rounded-sm);padding:var(--spacing-3) var(--spacing-4);margin:0 0 var(--spacing-4);font-size:var(--font-body-sm-size);color:var(--ink-soft);list-style:none}.scan-overlay-actions{gap:var(--spacing-2);margin-bottom:var(--spacing-4);flex-wrap:wrap;display:flex}.scan-overlay-actions .button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.scan-overlay-note{font-size:var(--font-caption-size);color:var(--ink-soft);margin-bottom:var(--spacing-4)}.scan-overlay-error{color:var(--terracotta);margin-bottom:var(--spacing-4)}.scan-overlay-footer{justify-content:space-between;align-items:center;gap:var(--spacing-3);padding-top:var(--spacing-4);border-top:1px solid var(--hairline);display:flex}.scan-overlay-footer a{color:var(--ink-soft);font-size:var(--font-body-sm-size)}.scan-overlay-scan-another{color:var(--terracotta);font-weight:600;font-size:var(--font-body-sm-size);cursor:pointer;padding:var(--spacing-2);background:0 0;border:none}.scan-overlay-scan-another:focus-visible,.scan-overlay-footer a:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.hero.is-light{background:linear-gradient(135deg, var(--surface) 0%, var(--surface-muted) 100%)}.hero.is-light .title{color:var(--ink)}.box{box-shadow:var(--shadow-card);border:1px solid var(--hairline)}.card-hover{transition:transform .15s,box-shadow .15s}.card-hover:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.item-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.empty-state{text-align:center;color:var(--ink-soft);padding:2.5rem 1.5rem}.empty-state .empty-state-icon{opacity:.7;margin-bottom:.5rem;font-size:2rem;display:block}.button{transition:transform .1s,box-shadow .1s}.button:active{transform:translateY(1px)}.book-view-frame{background:var(--book-view-frame-background);border-radius:var(--book-view-frame-radius);max-width:780px;padding:var(--book-view-frame-padding);margin:0 auto}.book-view-hero{gap:var(--spacing-gutter);margin-bottom:var(--spacing-section);display:flex}@media (max-width:600px){.book-view-hero{text-align:center;flex-direction:column;align-items:center}}.book-cover{border-radius:var(--book-cover-radius);width:128px;height:190px;box-shadow:var(--shadow-card-hover);object-fit:cover;flex-shrink:0;display:block;overflow:hidden}.book-cover-placeholder{background:var(--book-cover-gradient);-webkit-line-clamp:6;text-align:center;padding:var(--spacing-4);color:var(--on-terracotta);font-family:var(--font-display-family);font-size:var(--font-caption-size);-webkit-box-orient:vertical;justify-content:center;align-items:center;display:-webkit-box}.book-view-hero-text{padding-top:var(--spacing-1)}.book-view-author{font-family:var(--font-body-family);font-size:var(--font-body-size);color:var(--ink-soft);margin:0 0 var(--spacing-4)}.ownership-chip{background:var(--ownership-chip-background);color:var(--ownership-chip-text);border-radius:var(--ownership-chip-radius);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-body-sm-size);margin:0 0 var(--spacing-5);display:inline-block}.book-actions .buttons{gap:var(--spacing-3)}.button.is-primary{background:var(--button-primary-background);color:var(--button-primary-text);border-radius:var(--button-primary-radius);box-shadow:0 2px 8px -2px hsla(var(--bulma-primary-h), var(--bulma-primary-s), 40%, .45);border:none}.button.is-secondary{background:var(--button-secondary-background);color:var(--button-secondary-text);border-radius:var(--button-secondary-radius);border:none}.button.is-ghost{color:var(--button-ghost-text);border:1px solid var(--button-ghost-border);border-radius:var(--button-ghost-radius);box-shadow:none;background:0 0;text-decoration:none}.button.is-neutral{background:var(--button-neutral-background);color:var(--button-neutral-text);border:1px solid var(--button-neutral-border);border-radius:var(--button-neutral-radius);box-shadow:none;text-decoration:none}.button.is-ghost:hover,.button.is-ghost.is-hovered{color:var(--button-ghost-text);text-decoration:none}.button.is-neutral:hover,.button.is-neutral.is-hovered{color:var(--button-neutral-text);text-decoration:none}.button.is-ghost:focus-visible,.button.is-neutral:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.button.is-primary:disabled,.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:var(--button-primary-background);border-radius:var(--button-primary-radius);border-color:#0000}.button.is-secondary:disabled,.button.is-secondary[disabled],fieldset[disabled] .button.is-secondary{background-color:var(--button-secondary-background);border-radius:var(--button-secondary-radius);border-color:#0000}.button.is-ghost:disabled,.button.is-ghost[disabled],fieldset[disabled] .button.is-ghost{border-color:var(--button-ghost-border);border-radius:var(--button-ghost-radius);background-color:#0000}.button.is-neutral:disabled,.button.is-neutral[disabled],fieldset[disabled] .button.is-neutral{background-color:var(--button-neutral-background);border-color:var(--button-neutral-border);border-radius:var(--button-neutral-radius)}.section-title{font-family:var(--font-label-caps-family);font-size:var(--font-label-caps-size);font-weight:var(--font-label-caps-weight);letter-spacing:var(--font-label-caps-letter-spacing);text-transform:uppercase;color:var(--ink-soft);margin:0 0 var(--spacing-3)}.editions-list{padding:var(--spacing-1) 0;background:var(--editions-list-background);border:1px solid var(--hairline);border-radius:var(--editions-list-radius);margin:0;list-style:none}.edition-row{padding:var(--spacing-4) var(--spacing-5);font-size:var(--font-body-sm-size);border-bottom:1px solid var(--editions-list-row-divider);gap:var(--spacing-2);flex-wrap:wrap;display:flex}.edition-row:last-child{border-bottom:none}.edition-isbn{color:var(--ink);font-weight:600}.edition-meta{color:var(--ink-soft)}.loaned-card{background:var(--loaned-card-background);border:1px solid var(--loaned-card-border);border-radius:var(--loaned-card-radius);padding:var(--spacing-5);align-items:center;gap:var(--spacing-4);display:flex}.loaned-card-ribbon{background:var(--loaned-card-ribbon-background);color:var(--on-sage);font-size:var(--font-caption-size);border-radius:var(--rounded-full);padding:var(--spacing-1) var(--spacing-3);flex-shrink:0;font-weight:700}.loaned-card-text{font-size:var(--font-body-sm-size);color:var(--ink);margin:0}.admin-navbar{border-bottom:var(--admin-navbar-border-bottom)}.admin-badge{margin-left:var(--spacing-2);padding:2px var(--spacing-2);border:1px solid var(--admin-badge-border);border-radius:var(--rounded-full);color:var(--admin-badge-text);font-family:var(--font-label-caps-family);font-size:11px;font-weight:var(--font-label-caps-weight);letter-spacing:var(--font-label-caps-letter-spacing);text-transform:uppercase;display:inline-block}.back-to-app-pill{background:var(--back-to-app-pill-background);color:var(--back-to-app-pill-text);border-radius:var(--rounded-full);padding:var(--spacing-2) var(--spacing-4)}.nav-item-disabled{align-items:center;gap:var(--spacing-2);color:var(--nav-item-disabled-text);cursor:not-allowed;display:flex}.nav-item-soon-pill{background:var(--nav-item-soon-pill-background);color:var(--nav-item-soon-pill-text);border-radius:var(--rounded-full);padding:2px var(--spacing-2);font-size:var(--font-caption-size)}.table-container.users-table{background:var(--users-table-background);border-radius:var(--users-table-radius)}.users-table table tbody tr td{border-bottom:1px solid var(--users-table-row-divider)}.users-table table tbody tr:last-child td{border-bottom:none}.users-table-sort-button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;margin:0;padding:0;font-weight:700}.users-table-sort-button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.role-chip{background:var(--role-chip-background);color:var(--role-chip-text);border-radius:var(--role-chip-radius);padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-body-sm-size);display:inline-block}.users-table table tbody tr.users-table-row-expanded td{border-bottom:none}.users-table-expand-row td{background:var(--surface-muted);border-bottom:1px solid var(--users-table-row-divider);padding:var(--spacing-4)}.users-row-panel .field.is-grouped{gap:var(--spacing-2)}.users-row-panel .button.is-neutral:not(:disabled):not([disabled]){background:var(--surface)}.ownerless-notice{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.ownerless-notice .button{flex-shrink:0}.ownerless-notice-list{list-style:none}.ownerless-notice-list li{border-top:1px solid var(--hairline);padding-top:var(--spacing-2);margin-top:var(--spacing-2)}.ownerless-notice-list li:first-child{border-top:none;margin-top:0;padding-top:0}.ownerless-notice-row-actions{gap:var(--spacing-2);margin-left:var(--spacing-2);display:inline-flex}.ownerless-notice-resolve-panel,.ownerless-notice-confirmation{margin-top:var(--spacing-2)}
