:root{--bb-canvas:#f3f6fa;--bb-surface:#fff;--bb-ink:#172033;--bb-muted:#667085;--bb-line:#d8dfea;--bb-input-border:#697a95;--bb-primary:#3156d3;--bb-primary-hover:#2747b2;--bb-annotation:#73508f;--bb-success:#247a52;--bb-danger:#b4233c;--bb-focus:#3156d3;--bb-focus-on-rail:#fff;--bb-rail:#111a2b;--bb-scrollbar-thumb:#5d7495;--bb-scrollbar-thumb-hover:#53617a;--bb-scrollbar-track:var(--bb-canvas);--bb-scrollbar-radius:1rem;--bb-display:Charter, Bitstream Charter, Sitka Text, Georgia, serif;--bb-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bb-radius-sm:.375rem;--bb-radius:.5rem;--bb-page-max:75rem;--bb-control-height:2.75rem;--bb-z-backdrop:500;--bb-z-dialog:600;color:var(--bb-ink);background:var(--bb-canvas);font-family:var(--bb-sans);font-synthesis:none;text-rendering:optimizelegibility;scrollbar-color:var(--bb-scrollbar-thumb) var(--bb-scrollbar-track);scrollbar-width:thin;scrollbar-gutter:stable}*{box-sizing:border-box}html{min-height:100%}body{background:var(--bb-canvas);min-width:20rem;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button:not(:disabled),a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.form-status:focus-visible{outline:3px solid var(--bb-focus);outline-offset:2px}::-webkit-scrollbar{width:.75rem;height:.75rem}::-webkit-scrollbar-track{background:var(--bb-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--bb-scrollbar-thumb);border:3px solid var(--bb-scrollbar-track);border-radius:var(--bb-scrollbar-radius)}::-webkit-scrollbar-thumb:hover{background:var(--bb-scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background:var(--bb-primary)}.button{min-height:var(--bb-control-height);border-radius:var(--bb-radius-sm);border:1px solid #0000;justify-content:center;align-items:center;padding:.625rem 1rem;font-weight:650;line-height:1.25;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex;position:relative}.button--primary{color:#fff;background:var(--bb-primary)}.button--primary:hover:not(:disabled){background:var(--bb-primary-hover)}.button--primary:active:not(:disabled){background:#1d398f}.button--secondary{color:var(--bb-ink);background:0 0;border-color:#53617a}.button--secondary:hover:not(:disabled){background:#ffffff1f}.button--danger{color:#fff;background:var(--bb-danger)}.button--inverse{color:#fff;background:0 0;border-color:#b6c0d8}.button--inverse:hover:not(:disabled){color:#111a2b;background:#fff}.button--inverse:active:not(:disabled){background:#d7dff3}.button:disabled{cursor:not-allowed;opacity:.65}.button__label--busy{visibility:hidden}.button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite bb-spin;position:absolute}.auth-page,.route-state{place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-panel{background:var(--bb-surface);border:1px solid var(--bb-line);border-top:4px solid var(--bb-annotation);border-radius:var(--bb-radius);width:min(100%,30rem);padding:clamp(1.5rem,5vw,3rem)}.auth-panel__eyebrow,.page-eyebrow{color:var(--bb-annotation);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:750}h1{color:var(--bb-ink);font-family:var(--bb-display);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.08}.auth-panel__description,.page-introduction{color:var(--bb-muted);margin:.85rem 0 0;line-height:1.6}.auth-form,.security-form{gap:1rem;margin-top:2rem;display:grid}.form-field{gap:.4rem;display:grid}.form-field>label{color:var(--bb-ink);font-size:.9rem;font-weight:700}.text-input{width:100%;min-height:var(--bb-control-height);color:var(--bb-ink);background:var(--bb-surface);border:1px solid var(--bb-input-border);border-radius:var(--bb-radius-sm);padding:.625rem .75rem}.text-input:hover{border-color:#53617a}.text-input[aria-invalid=true]{border-color:var(--bb-danger)}.form-field__description{color:var(--bb-muted);margin:0;font-size:.85rem;line-height:1.4}.form-field__error{min-height:1.25rem;color:var(--bb-danger);font-size:.8rem;line-height:1.25}.password-field{position:relative}.password-field .text-input{padding-right:4.25rem}.password-field__toggle{min-height:2.1rem;color:var(--bb-primary);background:0 0;border:0;border-radius:.25rem;padding:0 .55rem;font-size:.8rem;font-weight:750;position:absolute;top:.3rem;right:.3rem}.password-field__toggle:hover{background:#e9eeff}.form-status{color:#6e1729;border-left:3px solid var(--bb-danger);border-radius:var(--bb-radius-sm);background:#fff0f2;margin:0;padding:.75rem;line-height:1.4}.form-status--success{color:#145c3c;border-left-color:var(--bb-success);background:#e8f7ef}.folio-rail .button:focus-visible,.compact-nav .button:focus-visible{outline-color:var(--bb-focus-on-rail)}.recovery-link{color:var(--bb-primary);margin-top:1rem;font-weight:700;display:inline-block}.app-shell{grid-template-columns:15rem minmax(0,1fr);min-height:100vh;display:grid}.folio-rail{color:#e9efff;background:var(--bb-rail);flex-direction:column;padding:1rem;display:flex}.folio-rail__brand{min-height:3rem;font-family:var(--bb-display);align-items:center;gap:.65rem;font-size:1.25rem;font-weight:700;display:flex}.folio-rail__mark{color:#fff;background:var(--bb-annotation);width:2rem;height:2rem;font-family:var(--bb-sans);letter-spacing:.06em;place-items:center;font-size:.65rem;display:grid}.folio-rail__nav{gap:.25rem;margin-top:2rem;display:grid}.folio-rail__link,.compact-nav__link{color:#cbd5ed;border-radius:var(--bb-radius-sm);padding:.7rem .75rem;font-weight:650;text-decoration:none;display:block;position:relative}.folio-rail__link:before{content:"";background:0 0;width:.25rem;position:absolute;top:.6rem;bottom:.6rem;left:-1rem}.folio-rail__link:hover,.folio-rail__link--active{color:#fff;background:#202d46}.folio-rail__link--active:before{background:#84a0ff}.folio-rail__footer{gap:.75rem;margin-top:auto;display:grid}.folio-rail__owner{overflow-wrap:anywhere;color:#b6c0d8;font-size:.8rem}.folio-rail__error{color:#ffccd5;margin:0;font-size:.8rem}.app-shell__content{min-width:0}.content-page{width:min(100%, var(--bb-page-max));padding:clamp(1.5rem,5vw,4rem)}.compact-nav{display:none}.loading-indicator{min-height:2rem;color:var(--bb-muted);align-items:center;gap:.65rem;display:inline-flex}.loading-indicator__mark{border:2px solid var(--bb-primary);border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite bb-spin}.library-page{gap:2rem;display:grid}.library-page__heading{justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.library-page__actions,.library-form__actions,.dialog-actions,.library-card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.library-form{background:var(--bb-surface);border:1px solid var(--bb-line);border-top:3px solid var(--bb-annotation);border-radius:var(--bb-radius);gap:1rem;max-width:48rem;padding:1.25rem;display:grid}.library-form h2,.library-group h2{font-family:var(--bb-display);margin:0;font-size:1.5rem}.library-form__actions,.dialog-actions{justify-content:flex-end}.library-group{gap:.8rem;display:grid}.library-list{gap:.75rem;display:grid}.library-card{background:var(--bb-surface);border:1px solid var(--bb-line);border-radius:var(--bb-radius);gap:1rem;padding:1rem;display:grid}.library-card--book{grid-template-columns:minmax(0,1fr) auto;align-items:start}.library-card__header{justify-content:space-between;gap:1rem;display:flex}.library-card h3{margin:0;font-size:1rem}.library-card p{color:var(--bb-muted);margin:.35rem 0 0;line-height:1.4}.library-card__meta{font-size:.85rem}.library-card__action-region{justify-items:end;gap:.65rem;display:grid}.library-action-error{justify-items:end;gap:.5rem;max-width:24rem;display:grid}.library-status{font-size:.8rem;font-weight:700;color:var(--bb-annotation)!important}.library-series-books{border-top:1px solid var(--bb-line);gap:.65rem;padding-top:.8rem;display:grid}.library-empty{color:var(--bb-muted);background:var(--bb-surface);border:1px dashed var(--bb-input-border);border-radius:var(--bb-radius-sm);margin:0;padding:1rem}.library-state{justify-items:start;gap:1rem;min-height:8rem;padding-top:2rem;display:grid}.library-textarea{resize:none;min-height:7rem}.library-action--archive{color:#5c3f1c;border-color:#9a6a26}.library-action--archive:hover:not(:disabled){background:#fff5df}.dialog-overlay{z-index:var(--bb-z-backdrop);background:#111a2b8f;position:fixed;inset:0}.dialog-content{z-index:var(--bb-z-dialog);width:min(100vw - 2rem,34rem);max-height:min(44rem,100dvh - 2rem);color:var(--bb-ink);background:var(--bb-surface);border:1px solid var(--bb-line);border-radius:var(--bb-radius);gap:.8rem;padding:1.25rem;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 1rem 3rem #11203340}.dialog-content__title{font-family:var(--bb-display);margin:0;font-size:1.5rem}.dialog-content__description{color:var(--bb-muted);margin:0;line-height:1.5}.dialog-form,.settings-page{gap:1rem;display:grid}.settings-page>h1{font-family:var(--bb-display);margin:0}.settings-nav{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.settings-nav__link{color:var(--bb-ink);background:var(--bb-surface);border:1px solid var(--bb-line);border-radius:var(--bb-radius-sm);border-left:3px solid #0000;padding:.55rem .85rem;font-weight:650;text-decoration:none}.settings-nav__link:hover{border-color:var(--bb-input-border)}.settings-nav__link--active{color:var(--bb-primary);border-left-color:var(--bb-primary);font-weight:750;text-decoration:underline}.settings-section{gap:1rem;margin-top:1rem;display:grid}.settings-section__heading{justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.settings-section h2{font-family:var(--bb-display);margin:0;font-size:1.5rem}.settings-section h3,.settings-panel h3{margin:0;font-size:1rem}.settings-panel{background:var(--bb-surface);border:1px solid var(--bb-line);border-radius:var(--bb-radius);gap:.8rem;max-width:48rem;padding:1rem;display:grid}.settings-notice{max-width:48rem;color:var(--bb-ink);border-left:3px solid var(--bb-annotation);border-radius:var(--bb-radius-sm);background:#f4effa;margin:0;padding:.75rem;line-height:1.4}.settings-meta{overflow-wrap:anywhere;color:var(--bb-muted);margin:.35rem 0 0;font-size:.85rem;line-height:1.5}.settings-status-line{min-height:1.25rem;color:var(--bb-muted);margin:0;font-size:.9rem;line-height:1.25}.settings-status{justify-items:start;gap:.5rem;display:grid}.settings-actions{flex-wrap:wrap;gap:.5rem;display:flex}.settings-checkbox{color:var(--bb-ink);align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.settings-modes{border:1px solid var(--bb-line);border-radius:var(--bb-radius-sm);flex-wrap:wrap;gap:1rem;margin:0;padding:.75rem 1rem;display:flex}.settings-modes legend{color:var(--bb-ink);padding:0 .35rem;font-size:.9rem;font-weight:700}.settings-versions{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.settings-version{background:var(--bb-canvas);border:1px solid var(--bb-line);border-radius:var(--bb-radius-sm);flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.settings-version .settings-meta{margin:0}.settings-compare{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.settings-compare h4{margin:.75rem 0 0;font-size:.85rem}.settings-compare pre{max-width:100%;font-family:var(--bb-sans);overflow-wrap:anywhere;white-space:pre-wrap;margin:.35rem 0 0;font-size:.85rem;line-height:1.5;overflow-x:auto}.settings-overview{gap:1rem;max-width:48rem;margin:0;display:grid}.settings-overview dt{color:var(--bb-ink);font-weight:700}.settings-overview dd{color:var(--bb-muted);margin:.25rem 0 0;line-height:1.6}.generation-gate{gap:.75rem;margin-top:1rem;display:grid}.generation-stages{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.generation-stage{background:var(--bb-surface);border:1px solid var(--bb-line);border-radius:var(--bb-radius-sm);border-top:3px solid #0000;gap:.25rem;padding:.65rem .8rem;display:grid}.generation-stage__mark{color:var(--bb-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.7rem;font-weight:750}.generation-stage__label{color:var(--bb-ink);font-weight:700}.generation-stage--current{border-top-color:var(--bb-primary)}.generation-stage--current .generation-stage__mark{color:var(--bb-primary)}.generation-overrides{border:1px solid var(--bb-line);border-radius:var(--bb-radius-sm);gap:.8rem;margin:0;padding:.75rem 1rem;display:grid}.generation-overrides legend{color:var(--bb-ink);padding:0 .35rem;font-size:.9rem;font-weight:700}.generation-context{background:var(--bb-canvas);border:1px solid var(--bb-line);border-radius:var(--bb-radius-sm);max-width:48rem;padding:.5rem .75rem}.generation-context>summary{color:var(--bb-ink);font-size:.9rem;font-weight:700}.generation-output{background:var(--bb-surface);border:1px solid var(--bb-line);border-radius:var(--bb-radius-sm);max-width:100%;font-family:var(--bb-sans);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding:.75rem;font-size:.9rem;line-height:1.6;overflow-x:auto}@keyframes bb-spin{to{transform:rotate(360deg)}}@media (width<=760px){.app-shell{display:block}.folio-rail{display:none}.compact-nav{background:var(--bb-rail);min-width:0;display:block}.compact-nav__controls{flex-wrap:wrap;align-items:center;gap:.25rem;min-width:0;padding:.5rem;display:flex}.compact-nav .button{flex:none;min-height:2.25rem;margin-left:auto}.compact-nav__status{min-width:0;padding:0 .5rem .5rem}.compact-nav__error{overflow-wrap:anywhere;color:#fff;max-width:100%;margin:0;font-size:.8rem}.compact-nav__link{color:#d7dff3;white-space:nowrap}.compact-nav__link--active{color:#fff;background:#293955}.library-page__heading,.library-card__header,.settings-section__heading{flex-direction:column;align-items:stretch}.library-card--book{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}@media (forced-colors:active){:root{scrollbar-color:auto}}
