:root{--spruce:#22312A;--pine:#44584C;--cream:#F1E8D5;--paper:#FFFDF7;--manila:#EDE0C4;--manila-deep:#E2D3B4;--card-white:#FDF9EE;--amber:#E3A44F;--amber-dark:#B87F2C;--amber-glow:rgba(227,164,79,0.35);--stamp:#B33A2B;--rule:rgba(34,49,42,0.25);--bg:var(--cream);--surface:var(--paper);--ink:var(--spruce);--muted:#55635A;--brand:var(--amber);--brand-2:var(--amber-dark);--danger:var(--stamp);--border:#DCCFB0;--r-sm:8px;--r-md:14px;--shadow-sm:0 1px 4px rgba(34,49,42,0.10);--shadow-md:0 4px 16px rgba(34,49,42,0.12);--glow:0 8px 40px var(--amber-glow);--copper:var(--amber);--copper-dark:var(--amber-dark);--copper-light:var(--manila-deep);--copper-pale:var(--manila);--brown-dark:var(--spruce);--brown-med:var(--pine);--brown-light:#5F6D62;--warm-white:var(--paper)}*,:after,:before{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-sans,"Nunito Sans","Segoe UI",sans-serif);font-size:15px;background:var(--cream);background-image:radial-gradient(ellipse at 20% 0,rgba(227,164,79,.08) 0,transparent 55%);color:var(--brown-dark);-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}a{color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:500;letter-spacing:0}:focus-visible{outline:2px solid var(--spruce);outline-offset:2px}.page-shell{max-width:1120px;margin:0 auto;padding:1rem}.top-bar{position:-webkit-sticky;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(34,49,42,.96);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 1px 4px rgba(34,49,42,.04)}.top-bar-inner{max-width:1120px;margin:0 auto;padding:0 1.5rem;min-height:64px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}.top-brand{display:inline-flex;align-items:center;text-decoration:none;line-height:1}.top-brand img{height:36px;width:auto}.top-nav{gap:.5rem}.top-nav,.top-nav-primary{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end}.top-nav-primary{gap:.25rem}.top-nav-link{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;border-radius:var(--r-sm);padding:.4rem .7rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-size:11px;font-weight:500;letter-spacing:.08em;color:rgba(246,240,228,.85);transition:background .15s,color .15s}.top-nav-link:hover{background:rgba(227,164,79,.12);color:var(--amber)}.top-nav-link.is-active{color:var(--amber)}.top-nav-link svg{flex-shrink:0;opacity:.7}.top-nav-link:hover svg{opacity:1}.top-nav-admin{display:flex;gap:.25rem;margin-left:.25rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.16)}.top-nav-admin a{text-decoration:none;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(246,240,228,.7);padding:.3rem .5rem;border-radius:var(--r-sm);transition:background .15s,color .15s}.top-nav-admin a:hover{background:rgba(227,164,79,.12);color:var(--amber)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:1.25rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s,transform .2s}.card:hover{box-shadow:var(--glow)}.hero{display:grid;grid-gap:.85rem;gap:.85rem}.landing-shell{display:flex;flex-direction:column;width:100%}.landing-content{max-width:720px;width:100%;margin:0 auto;padding:2.75rem 1.25rem 3rem;position:relative;z-index:1}.landing-hero-photo{position:relative;width:100%;min-height:72vh;background:var(--spruce);display:flex;align-items:flex-end;overflow:hidden}.landing-hero-photo img{object-fit:cover}.landing-hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(34,49,42,.96),rgba(34,49,42,.45) 55%,rgba(34,49,42,.25));pointer-events:none}.landing-hero-content{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;padding:3rem 1.5rem 3.5rem;display:flex;flex-direction:column;align-items:flex-start}.landing-hero-content .landing-hero-badge{background:transparent;border-color:rgba(246,240,228,.5);color:var(--cream)}.landing-title{font-size:clamp(2.1rem,6vw,3.6rem);font-weight:500;line-height:1.12;letter-spacing:0;max-width:16ch;margin:.6rem 0 .9rem}.landing-subtitle,.landing-title{color:var(--cream);text-align:left}.landing-subtitle{font-size:1.05rem;line-height:1.6;opacity:.92;max-width:46ch;margin:0 0 1.5rem}.landing-cta{padding:.75rem 1.6rem;font-size:12px}.landing-hero-content .button.secondary{border:1.5px solid rgba(246,240,228,.9);color:var(--cream);background:rgba(34,49,42,.35)}.landing-hero-content .button.secondary:hover:not(:disabled){background:var(--cream);color:var(--spruce)}.landing-hero-content :focus-visible{outline-color:var(--cream)}.landing-hero-content .landing-consent{color:rgba(246,240,228,.75)}.landing-hero-content .landing-consent .fp-link{color:var(--cream)}.landing-hero-content .landing-consent .fp-link:hover{color:var(--amber)}@media (max-width:640px){.landing-hero-content{align-items:center}.landing-subtitle,.landing-title{text-align:center;margin-left:auto;margin-right:auto}.landing-hero-content .cta-row{justify-content:center}}.landing-features{display:grid;grid-gap:1.5rem;gap:1.5rem;margin-top:.5rem}.landing-feature-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:1.25rem 1.25rem 1.5rem;box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s}.landing-feature-card:focus-visible,.landing-feature-card:hover{box-shadow:var(--glow);border-color:var(--amber)}.landing-feature-photo{position:relative;margin-bottom:1rem}.landing-feature-card h3{margin:0 0 .5rem;font-size:1.2rem}.landing-feature-card p{margin:0;color:var(--brown-med);font-size:.95rem;line-height:1.55}.landing-feature-cta{display:block;margin-top:.85rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--amber-dark)}.landing-how-title{margin:0 0 1.25rem;font-size:clamp(1.5rem,4vw,2rem)}@media (min-width:860px){.landing-content{max-width:1040px}.landing-features{grid-template-columns:repeat(3,1fr);gap:1.75rem}}.landing-gift{margin-top:1rem;display:flex;justify-content:center}.landing-gift-card{max-width:720px;width:100%;text-align:center;padding:2.5rem 1.5rem 2.75rem}.landing-gift-title{margin:.5rem 0 .85rem;font-size:clamp(1.5rem,4vw,2rem)}.landing-gift-body{margin:0 auto;max-width:58ch;color:var(--pine);font-size:1rem;line-height:1.65}.badge{display:inline-block;font-family:var(--font-mono,"IBM Plex Mono",monospace);border:1px solid var(--copper-light);color:var(--ink);border-radius:4px;padding:.18rem .55rem;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;width:-moz-fit-content;width:fit-content;background:var(--copper-pale)}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.button{border:1px solid var(--rule);border-radius:4px;padding:.5rem .9rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);background:transparent;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.button.primary{font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.92rem;font-weight:700;letter-spacing:0;text-transform:none;background:var(--amber);color:var(--spruce);border-color:var(--amber);border-radius:4px;padding:.6rem 1.4rem}.button.primary:hover:not(:disabled){box-shadow:var(--glow);transform:translateY(-1px)}.button.primary:active{transform:scale(.99)}.button.secondary{background:transparent;color:var(--pine);border-color:var(--rule)}.button.secondary:hover:not(:disabled){background:rgba(34,49,42,.05);border-color:var(--spruce);color:var(--spruce)}.button.danger{background:transparent;color:var(--stamp);border:1px solid rgba(179,58,43,.45)}.button.danger:hover:not(:disabled){background:rgba(179,58,43,.1);border-color:rgba(179,58,43,.65)}.button.success{background:transparent;color:var(--spruce);border:1px solid rgba(34,49,42,.45)}.button.success:hover:not(:disabled){background:rgba(34,49,42,.1);border-color:rgba(34,49,42,.65)}.button:disabled{opacity:.4;cursor:default}@media (max-width:480px){.button--full{display:block;width:100%;text-align:center}}.icon-button{width:2.2rem;height:2.2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.grid{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.app-header{display:grid;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.app-header h2{margin:0}.app-nav{display:flex;flex-wrap:wrap;gap:.45rem}.app-nav a{text-decoration:none;border:1px solid var(--copper-light);background:transparent;border-radius:var(--r-sm);padding:.38rem .75rem;font-size:11px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--brown-med);transition:background .15s,border-color .15s}.app-nav a:hover{background:var(--copper-pale);border-color:var(--copper)}.app-section h3{margin-top:0}.app-form{display:grid;grid-gap:.75rem;gap:.75rem}.app-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--pine)}.app-form input{border:1px solid var(--border);border-radius:var(--r-sm);padding:.55rem .7rem;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.95rem;background:var(--surface);color:var(--brown-dark);transition:border-color .15s,box-shadow .15s}.app-form input:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow),0 4px 24px var(--amber-glow)}.field-label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--pine)}.profile-textarea{width:100%;min-height:5.5rem;border:1px solid var(--border);border-radius:var(--r-sm);padding:.55rem .7rem;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.95rem;background:var(--surface);color:var(--brown-dark);resize:vertical;transition:border-color .15s,box-shadow .15s}.profile-textarea:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow),0 4px 24px var(--amber-glow)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:500}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--copper)}.app-form label.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-family:var(--font-sans,"Nunito Sans",sans-serif);text-transform:none;font-weight:400;font-size:.95rem;letter-spacing:normal;color:var(--ink)}.app-form label.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--amber)}.app-form input.radius-slider{border:0;border-radius:0;padding:0;accent-color:var(--copper)}.range-scale-label{color:var(--brown-light);font-size:.88rem;font-weight:500}.chip-row-group{display:grid;grid-gap:.35rem;gap:.35rem}.chip-row-label{font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--pine)}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;padding-bottom:.2rem}.chip{flex:0 0 auto;border:1px solid var(--spruce);border-radius:4px;padding:.4rem .75rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.74rem;letter-spacing:.03em;font-weight:500;white-space:nowrap;background:transparent;color:var(--spruce);cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.chip:hover:not(:disabled){transform:translateY(-1px)}.chip--active{background:var(--spruce);border-color:var(--spruce);color:var(--cream)}.chip--active:hover:not(:disabled){background:var(--pine);border-color:var(--pine);color:var(--cream)}.chip:disabled{opacity:.4;cursor:default}.search-quota-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .65rem;border-radius:var(--r-sm);background:var(--copper-pale);border:1px solid var(--copper-light);font-size:.82rem;font-weight:500;color:var(--brown-med)}.search-quota-inline--exhausted{background:rgba(179,58,43,.08);border-color:rgba(179,58,43,.4);color:var(--stamp)}.search-quota-hint{font-weight:400;opacity:.85}.search-location-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .6rem;padding:.5rem .65rem;border-radius:var(--r-sm);background:var(--copper-pale);border:1px solid var(--copper-light)}.search-location-label{font-size:.82rem;font-weight:500;color:var(--brown-light)}.search-location-address{font-size:.88rem;font-weight:600;color:var(--brown-med)}.search-location-summary .button{margin-left:auto;font-size:.78rem;padding:.3rem .6rem}.inline-grid{display:grid;grid-gap:.75rem;gap:.75rem}.status-error{color:var(--danger);font-weight:600}.status-success{border:1px solid var(--copper-light);background:var(--copper-pale);border-radius:var(--r-md);padding:.8rem}.status-success-inline{color:var(--copper-dark);font-weight:600;margin-bottom:0}.stack-list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.75rem;gap:.75rem;margin-top:.75rem}.list-item h4{margin-top:0;margin-bottom:.5rem}.list-item h5{margin:0 0 .35rem;font-size:1rem}.catalog-suggestion-line{display:block;text-align:left}.catalog-suggestion-line+.catalog-suggestion-line{margin-top:.2rem}.catalog-suggestion-item{display:flex;flex-direction:row;align-items:center;gap:.75rem}.message-list{margin-top:.7rem;display:grid;grid-gap:.4rem;gap:.4rem}.message-row{margin:0;font-size:.95rem}.message-meta{margin-left:.5rem;color:var(--brown-light);font-size:.8rem}.message-compose{margin-top:.75rem;display:grid;grid-gap:.55rem;gap:.55rem}.message-compose label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--pine)}.message-compose textarea{border:1px solid var(--border);border-radius:var(--r-sm);padding:.55rem .7rem;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.95rem;resize:vertical;background:var(--surface);color:var(--brown-dark);transition:border-color .15s,box-shadow .15s}.message-compose textarea:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow),0 4px 24px var(--amber-glow)}.location-picker{margin-top:.4rem}.location-picker h4{margin:0 0 .45rem}.suggestions{display:grid;grid-gap:.45rem;gap:.45rem}.suggestion-item{border:1px solid var(--copper-light);background:var(--warm-white);border-radius:var(--r-sm);text-align:left;padding:.55rem .7rem;cursor:pointer;transition:background .15s,border-color .15s}.suggestion-item:hover{background:var(--copper-pale);border-color:var(--copper)}.suggestion-item strong{display:block;margin-bottom:.2rem;color:var(--brown-dark)}.suggestion-item span{color:var(--brown-light);font-size:.9rem}.location-map-wrapper{margin-top:.7rem}.location-map{width:100%;height:260px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--copper-light)}.map-help-text{margin-top:.45rem;color:var(--brown-light);font-size:.9rem}.location-chip{margin-top:.55rem;border:1px solid var(--copper-light);background:var(--copper-pale);border-radius:var(--r-sm);padding:.4rem .7rem;width:-moz-fit-content;width:fit-content;font-size:.9rem;color:var(--brown-med)}.advanced-location{margin-top:.6rem}.advanced-location summary{cursor:pointer;color:var(--brown-light);margin-bottom:.5rem}.inventory-list{margin-top:1rem}.library-preview{margin-top:.75rem}.nested-list-item{border-style:dashed}.highlighted-item{border-color:var(--copper);box-shadow:0 0 0 2px rgba(227,164,79,.25)}.section-flat,.section-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1rem;gap:1rem}.section-mobile-nav{display:grid;grid-gap:.65rem;gap:.65rem}.section-mobile-trigger{width:-moz-fit-content;width:fit-content}.section-body{display:grid;grid-gap:1rem;gap:1rem}.section-sidebar{display:none}.section-sidebar h3{margin-top:0}.section-nav{display:grid;grid-gap:.45rem;gap:.45rem}.section-nav a{text-decoration:none;font-family:var(--font-mono,"IBM Plex Mono",monospace);border:1px solid var(--copper-light);border-radius:var(--r-sm);background:transparent;padding:.45rem .65rem;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--brown-med);transition:background .15s,border-color .15s}.section-nav a.is-active,.section-nav a:hover{background:var(--copper-pale);border-color:var(--copper)}.section-nav a.is-active{color:var(--copper-dark)}.section-content{display:grid;grid-gap:1rem;gap:1rem}.request-section{margin-top:1rem}.request-card p{margin:.25rem 0}.request-item-actions{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.6rem}.request-item-actions label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--pine)}.request-item-actions input{border:1px solid var(--border);border-radius:var(--r-sm);padding:.5rem .65rem;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.95rem;background:var(--surface);color:var(--brown-dark);transition:border-color .15s,box-shadow .15s}.request-item-actions input:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow),0 4px 24px var(--amber-glow)}.book-card-row{display:flex;gap:.75rem;align-items:flex-start}.book-card-body{flex:1 1;min-width:0}.book-card-body h4,.book-card-body h5{margin-top:0}.book-cover{width:56px;height:80px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;border:1px solid var(--copper-light)}.book-cover--placeholder{background:var(--copper-pale);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35rem;text-align:center;overflow:hidden}.book-cover__title{font-family:var(--font-serif,"Fraunces",serif);font-size:.7rem;font-weight:600;-webkit-line-clamp:3}.book-cover__author,.book-cover__title{color:var(--copper-dark);line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.book-cover__author{font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.55rem;font-weight:400;opacity:.75;margin-top:.15rem;-webkit-line-clamp:2}.book-cover--tile.book-cover--placeholder .book-cover__title{font-size:.85rem;-webkit-line-clamp:4}.book-cover--tile.book-cover--placeholder .book-cover__author{font-size:.7rem;margin-top:.25rem}.book-tile-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.65rem;gap:.65rem;margin-top:.75rem}@media (min-width:480px){.book-tile-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:800px){.book-tile-grid{grid-template-columns:repeat(4,1fr)}}.book-tile{padding:.6rem;width:100%}.book-tile,.book-tile-wrap{display:flex;flex-direction:column}.book-tile-wrap{align-items:stretch;gap:.3rem}.book-tile-more-like-this{align-self:center;background:none;border:none;padding:.1rem .3rem;font-size:.68rem;color:var(--copper-dark);text-decoration:underline;cursor:pointer}.book-tile-more-like-this:hover{color:var(--copper)}.book-cover--tile{width:100%;aspect-ratio:2/3;height:auto;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--copper-light);flex-shrink:0}.book-tile-body{margin-top:.45rem;flex:1 1;display:flex;flex-direction:column}.book-tile-body h4,.book-tile-body h5{margin:0 0 .2rem;font-size:.82rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-tile-body p{margin:0 0 .15rem;font-size:.75rem;color:var(--brown-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-tile-body .cta-row{margin-top:auto;padding-top:.4rem;flex-wrap:wrap;gap:.35rem}.book-tile-body .button{font-size:.75rem;padding:.3rem .5rem}.rq-tile-btn{cursor:pointer;border:1px solid var(--copper-pale);background:var(--warm-white);text-align:left;transition:border-color .15s,background .18s,box-shadow .18s}.rq-tile-btn:hover:not(:disabled){border-color:var(--copper);background:var(--copper-pale);box-shadow:0 2px 8px rgba(227,164,79,.18)}.rq-tile-btn:disabled{opacity:.55;cursor:default}.rq-tile-btn--requested{background:var(--copper-pale);border-color:var(--copper)}.rq-requested-badge{display:inline-block;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--copper-dark);margin-top:.25rem}.rq-lib-stats{font-size:.88rem;color:var(--brown-light);margin:.25rem 0 .5rem}.rq-backdrop{position:fixed;inset:0;background:rgba(34,49,42,.5);z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:rq-fade-in .15s ease-out}@keyframes rq-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rq-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.rq-modal{background:var(--warm-white);border:1px solid var(--copper-light);border-radius:12px 12px 0 0;box-shadow:0 -4px 24px rgba(34,49,42,.15);width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:rq-slide-up .2s ease-out}@media (min-width:600px){.rq-backdrop{align-items:center;padding:1rem}.rq-modal{border-radius:var(--r-md);max-height:80vh}}.rq-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem .75rem;border-bottom:1px solid var(--copper-pale);flex-shrink:0}.rq-header-info{flex:1 1;min-width:0}.rq-library-name{margin:0;font-size:1.15rem;color:var(--brown-dark)}.rq-library-meta{font-size:.8rem;color:var(--brown-light)}.rq-scroll{flex:1 1;overflow-y:auto;padding:.75rem 1.1rem 1rem}.rq-instruction{font-size:.85rem;color:var(--brown-light);margin:0 0 .65rem}.rq-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.55rem;gap:.55rem}@media (min-width:480px){.rq-grid{grid-template-columns:repeat(3,1fr)}}.rq-book-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--copper-pale);border-radius:var(--r-sm);background:var(--warm-white);cursor:pointer;padding:.45rem;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s;font-family:inherit;color:inherit;width:100%}.rq-book-card:hover:not(:disabled){border-color:var(--copper);background:var(--copper-pale)}.rq-book-card:disabled{opacity:.4;cursor:default}.rq-book-card--selected{border-color:var(--copper);background:var(--copper-pale);box-shadow:inset 0 0 0 2px var(--copper)}.rq-check{position:absolute;top:.35rem;right:.35rem;width:22px;height:22px;border-radius:50%;background:var(--copper);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 1px 4px rgba(34,49,42,.2)}.rq-book-card .book-cover--tile{width:100%;aspect-ratio:2/3;border-radius:var(--r-sm)}.rq-book-title{display:block;font-family:var(--font-serif,"Fraunces",Georgia,serif);font-size:.78rem;font-weight:600;color:var(--brown-dark);line-height:1.3;margin-top:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rq-book-author{display:block;font-size:.68rem;color:var(--brown-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.similar-book-card{cursor:default}.similar-book-location{display:block;font-size:.68rem;color:var(--brown-light);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.similar-book-request{margin-top:.5rem;width:100%;font-size:.75rem;padding:.35rem .5rem}.rq-footer{padding:.75rem 1.1rem;border-top:1px solid var(--copper-pale);background:var(--warm-white);flex-shrink:0}.rq-footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem .75rem}.rq-footer-row .button.primary{margin-left:auto}.rq-selection-count{font-size:.85rem;font-weight:600;color:var(--brown-med)}.rq-quota-bar{padding:.6rem 1.1rem;border-bottom:1px solid var(--copper-pale);background:rgba(227,164,79,.04);flex-shrink:0}.rq-quota-label{font-size:.78rem;color:var(--brown-med);margin-bottom:.35rem;display:block}.rq-quota-track{height:4px;background:var(--copper-pale);border-radius:2px;overflow:hidden}.rq-quota-fill{height:100%;background:var(--copper);border-radius:2px;transition:width .2s ease}.rq-message-label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--pine);margin-bottom:.5rem}.rq-message-textarea{width:100%;border:1px solid var(--border);border-radius:var(--r-sm);padding:.55rem .7rem;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.92rem;resize:vertical;background:var(--surface);color:var(--brown-dark);transition:border-color .15s,box-shadow .15s;line-height:1.4}.rq-message-textarea:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow),0 4px 24px var(--amber-glow)}.rq-book-card--quota-locked{opacity:.4;cursor:not-allowed}.rq-success{padding:2.5rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.rq-success-icon{margin-bottom:.25rem}.rq-success-text{font-size:1.05rem;font-weight:600;color:var(--brown-dark);margin:0}.lp-loading{padding:2rem;text-align:center}.lp-bio{padding:.75rem 1.25rem;font-size:.88rem;color:var(--brown-med);border-bottom:1px solid var(--copper-pale)}.flag-form{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--copper-light)}.flag-textarea{width:100%;font-size:.75rem;padding:.3rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);resize:vertical;font-family:inherit;transition:border-color .15s,box-shadow .15s}.flag-textarea:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow),0 4px 24px var(--amber-glow)}@media (min-width:800px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.section-mobile-nav{display:none}.section-body{grid-template-columns:260px minmax(0,1fr);align-items:start}.section-sidebar{display:block;position:-webkit-sticky;position:sticky;top:80px}}.um-shell{display:flex;height:calc(100vh - 96px);height:calc(100dvh - 96px);min-height:420px;overflow:hidden;border:1px solid var(--border);border-radius:5px;box-shadow:var(--shadow-sm);background:var(--paper)}.um-left-pane{width:100%;flex-direction:column;border-right:1px solid var(--rule);overflow:hidden}.um-left-header,.um-left-pane{display:flex;background:var(--warm-white);flex-shrink:0}.um-left-header{padding:1rem 1.1rem .65rem;border-bottom:1px solid var(--rule);align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.um-left-title{margin-right:auto}.um-archive-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;white-space:nowrap}.um-left-title{margin:0;font-size:1.25rem;color:var(--spruce)}.um-conv-list{overflow-y:auto;flex:1 1}.um-empty-list{padding:1.5rem 1.1rem;color:var(--brown-med)}.um-bulk-bar{display:flex;align-items:center;gap:.6rem;padding:.45rem 1.1rem;border-bottom:1px solid var(--rule);background:var(--cream);flex-shrink:0}.um-bulk-select-all{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--pine);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.um-bulk-select-all input[type=checkbox]{accent-color:var(--spruce);width:15px;height:15px;cursor:pointer}.um-bulk-action{font-size:.78rem;padding:.25rem .55rem;margin-left:auto}.um-conv-checkbox{display:flex;align-items:center;flex-shrink:0;padding-top:.15rem;cursor:pointer}.um-conv-checkbox input[type=checkbox]{accent-color:var(--spruce);width:15px;height:15px;cursor:pointer}.um-conv-item--checked{background:rgba(34,49,42,.06)}.um-conv-item{width:100%;display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1.1rem;border:none;border-bottom:1px solid var(--rule);background:transparent;cursor:pointer;text-align:left;transition:background .12s}.um-conv-item:hover{background:rgba(34,49,42,.05)}.um-conv-item--active{background:var(--manila);border-left:3px solid var(--spruce);padding-left:calc(1.1rem - 3px)}.um-conv-item--actionable{border-left:3px solid var(--stamp);padding-left:calc(1.1rem - 3px);background:rgba(179,58,43,.05)}.um-conv-item--actionable.um-conv-item--active{background:var(--manila)}.um-conv-icon{color:var(--pine);flex-shrink:0;margin-top:2px}.um-conv-body{flex:1 1;min-width:0}.um-conv-top{display:flex;align-items:baseline;justify-content:space-between;gap:.35rem;margin-bottom:.18rem}.um-conv-name{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:.95rem;color:var(--spruce);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-conv-time{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:var(--pine);flex-shrink:0}.um-conv-book{font-size:.78rem;color:var(--pine);margin-bottom:.18rem;font-family:var(--font-serif,"Fraunces",Georgia,serif);position:relative;min-width:0}.um-book-summary-wrap{cursor:default;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-book-tooltip{position:fixed;z-index:60;min-width:180px;max-width:280px;background:var(--warm-white);border:1px solid var(--rule);border-radius:var(--r-sm);box-shadow:var(--shadow-md);padding:.45rem .65rem;display:flex;flex-direction:column;gap:.2rem}.um-book-tooltip-row{display:block;font-family:var(--font-serif,"Fraunces",Georgia,serif);font-size:.82rem;color:var(--brown-dark);line-height:1.35;white-space:normal}.um-book-tooltip-row+.um-book-tooltip-row{padding-top:.2rem;border-top:1px solid var(--copper-pale)}.um-conv-preview{font-size:.78rem;color:var(--brown-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-conv-you{color:var(--brown-med);font-weight:600}.um-right-wrapper{flex:1 1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.um-right-wrapper,.um-right-wrapper--empty{background:var(--cream)}.um-no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--brown-light);font-size:.95rem}.um-right-pane{display:flex;flex-direction:column;height:100%;overflow:hidden}.um-right-header{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .65rem;padding:.75rem 1rem;border-bottom:1px solid var(--rule);background:var(--warm-white);flex-shrink:0}.um-back-btn{display:none}.um-right-header-info{display:flex;align-items:center;gap:.6rem;flex:1 1;min-width:200px}.um-right-counterpart{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:1.05rem;color:var(--spruce);white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;flex:0 1 auto}.um-counterpart-name,.um-right-counterpart{overflow:hidden;text-overflow:ellipsis;min-width:0}.um-right-header-info .rqo-status{flex-shrink:0;white-space:nowrap}.um-library-link{all:unset;cursor:pointer;color:var(--pine);display:inline-flex;align-items:center;flex-shrink:0;opacity:.7;transition:opacity .15s}.um-library-link:hover{opacity:1}.um-right-header-actions{gap:.45rem;margin-left:auto}.um-book-strip,.um-right-header-actions{display:flex;align-items:center;flex-shrink:0}.um-book-strip{justify-content:space-between;gap:1rem;padding:.55rem 1rem;border-bottom:1px solid var(--rule)}.um-book-strip-title{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-size:.9rem;color:var(--brown-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-book-strip-exp{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pine);flex-shrink:0}.um-decision-panel{padding:.75rem 1rem;background:var(--manila);border-top:2px solid var(--stamp);border-bottom:1px solid var(--rule);flex-shrink:0;max-height:45%;overflow-y:auto}.um-decision-heading{margin:0 0 .55rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stamp)}.um-item-row{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;flex-wrap:wrap}.um-item-row+.um-item-row{border-top:1px solid var(--rule);margin-top:.3rem;padding-top:.5rem}.um-item-row--pending{flex-direction:column;align-items:flex-start}.um-item-info{display:flex;flex-direction:column;gap:.1rem}.um-item-title{font-weight:600;font-size:.88rem;color:var(--brown-dark);font-family:var(--font-serif,"Fraunces",Georgia,serif)}.um-item-authors{font-size:.75rem;color:var(--brown-light)}.um-item-requested{font-size:.66rem;letter-spacing:.05em}.um-item-requested,.um-item-status{font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;color:var(--pine)}.um-item-status{flex:0 0 auto;font-size:.62rem;font-weight:600;letter-spacing:.07em;border:1px solid var(--rule);border-radius:3px;padding:.15rem .45rem}.um-item-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.um-qty-label{display:flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--pine)}.um-qty-input,.um-qty-label{font-family:var(--font-mono,"IBM Plex Mono",monospace)}.um-qty-input{width:4rem;border:1px solid var(--rule);border-radius:4px;padding:.3rem .45rem;font-size:.88rem;background:var(--card-white);color:var(--spruce);transition:border-color .15s,box-shadow .15s}.um-qty-input:focus-visible{outline:none;border-color:var(--spruce);box-shadow:0 0 0 3px var(--amber-glow)}.um-messages-scroll{flex:1 1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.um-empty-messages{color:var(--brown-light);text-align:center;margin-top:2rem;font-size:.9rem}.um-bubble-row{display:flex}.um-bubble-row--mine{justify-content:flex-end}.um-bubble{max-width:72%;padding:.55rem .85rem;border-radius:var(--r-md);font-size:.9rem;line-height:1.45;word-break:break-word}.um-bubble--mine{background:var(--spruce);color:var(--cream);border-bottom-right-radius:2px}.um-bubble--theirs{background:var(--warm-white);color:var(--brown-dark);border:1px solid var(--rule);border-bottom-left-radius:2px}.um-bubble-body{display:block}.um-bubble-time{display:block;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;opacity:.65;margin-top:.25rem;text-align:right}.um-compose{display:flex;align-items:flex-end;gap:.6rem;padding:.75rem 1rem;border-top:1px solid var(--rule);background:var(--warm-white);flex-shrink:0}.um-compose-textarea{flex:1 1;border:1px solid var(--border);border-radius:var(--r-sm);padding:.55rem .7rem;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.92rem;background:var(--surface);color:var(--brown-dark);resize:none;transition:border-color .15s,box-shadow .15s;line-height:1.4}.um-compose-textarea:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow),0 4px 24px var(--amber-glow)}.um-send-btn{align-self:flex-end;flex-shrink:0}.um-loading{flex-direction:column;padding:3rem 1rem;gap:.75rem;color:var(--brown-light)}.um-loading,.um-modal-backdrop{display:flex;align-items:center;justify-content:center}.um-modal-backdrop{position:fixed;inset:0;background:rgba(34,49,42,.45);z-index:50;padding:1rem}.um-modal{background:var(--warm-white);border:1px solid var(--border);border-top:2px solid var(--stamp);border-radius:5px;box-shadow:var(--shadow-md);width:100%;max-width:420px;max-height:85vh;overflow-y:auto;padding:1.25rem}.um-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.um-modal-header h4{margin:0;font-size:1.1rem}.um-modal-body{display:grid;grid-gap:.75rem;gap:.75rem}.um-select{width:100%;border:1px solid var(--rule);border-radius:4px;padding:.5rem .65rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.82rem;background:var(--surface);color:var(--spruce);cursor:pointer;transition:border-color .15s,box-shadow .15s}.um-select:focus-visible{outline:none;border-color:var(--spruce);box-shadow:0 0 0 3px var(--amber-glow)}@media (max-width:767px){.um-shell{height:calc(100vh - 152px);height:calc(100dvh - 152px);min-height:340px}.um-left-pane--hidden-mobile,.um-right-wrapper--hidden-mobile{display:none}.um-back-btn{display:inline-flex}.um-right-pane{height:100%}}@media (min-width:768px){.um-left-pane{width:320px;min-width:260px}.um-left-pane--hidden-mobile,.um-right-wrapper--hidden-mobile{display:flex}.um-back-btn{display:none}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1.5rem;animation:fade-up .5s ease-out both}.empty-state-icon{margin-bottom:1rem;opacity:.6}.empty-state-title{margin:0 0 .5rem;font-size:1.2rem;color:var(--brown-dark)}.empty-state-body{margin:0;color:var(--brown-light);font-size:.95rem;line-height:1.5;max-width:320px}.empty-state-actions{margin-top:1.25rem}.rq-success-circle{stroke-dasharray:138;stroke-dashoffset:138;animation:rq-circle-draw .6s ease-out .1s forwards}.rq-success-check{stroke-dasharray:40;stroke-dashoffset:40;animation:rq-check-draw .4s ease-out .5s forwards}@keyframes rq-circle-draw{to{stroke-dashoffset:0}}@keyframes rq-check-draw{to{stroke-dashoffset:0}}.rq-success-sub{font-size:.88rem;color:var(--brown-light);margin:0;max-width:280px;line-height:1.45}.mob-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:rgba(34,49,42,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -1px 6px rgba(0,0,0,.25);padding:.35rem 0 max(.35rem,env(safe-area-inset-bottom))}.mob-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem 0;text-decoration:none;color:rgba(246,240,228,.75);transition:color .15s}.mob-tab--active{color:var(--amber)}.mob-tab-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;transition:background .15s}.mob-tab--active .mob-tab-icon{background:rgba(227,164,79,.18)}.mob-tab-label{font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-size:10px;font-weight:500;letter-spacing:.05em}@media (min-width:768px){.mob-tab-bar{display:none}}@media (max-width:767px){body:has(.mob-tab-bar) .top-nav{display:none}}@media (max-width:767px){.page-shell,.section-shell{padding-bottom:4.5rem}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.anim-fade-up{animation:fade-up .5s ease-out both}.anim-stagger-1{animation-delay:.05s}.anim-stagger-2{animation-delay:.12s}.anim-stagger-3{animation-delay:.19s}.anim-stagger-4{animation-delay:.26s}.anim-stagger-5{animation-delay:.33s}@media (max-width:679px){.top-nav-link span{display:none}.top-nav-link{padding:.45rem}}@media (max-width:799px){.top-nav:has(.top-nav-admin) .top-nav-link span{display:none}.top-nav:has(.top-nav-admin) .top-nav-link{padding:.45rem}}@media (max-width:599px){.top-nav-admin a{font-size:9px;padding:.25rem .4rem}}.ec-catalog-card{position:relative;background:var(--manila);border:1px solid var(--spruce);border-top:2px solid var(--stamp);border-radius:5px;box-shadow:var(--shadow-md);padding:1.5rem 1.25rem 2rem}.ec-catalog-card__ruled{background-image:repeating-linear-gradient(transparent 0 33px,var(--rule) 33px 34px);background-size:100% 34px;line-height:34px}.ec-hole{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:var(--cream);border:1px solid var(--spruce);pointer-events:none}.ec-stamp-badge{display:inline-block;top:-22px;right:-14px;transform:rotate(-8deg);background:var(--paper);border:3px double var(--stamp);border-radius:4px;padding:.35em .6em;font-size:.68rem;letter-spacing:.1em;line-height:1.4;text-align:center;-webkit-mask-image:radial-gradient(ellipse at 35% 65%,black 55%,rgba(0,0,0,.55) 82%,rgba(0,0,0,.3) 100%);mask-image:radial-gradient(ellipse at 35% 65%,black 55%,rgba(0,0,0,.55) 82%,rgba(0,0,0,.3) 100%)}.ec-stamp-badge,.ec-stamp-mark{position:absolute;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-weight:600;text-transform:uppercase;color:var(--stamp)}.ec-stamp-mark{top:42%;left:50%;transform:translate(-50%,-50%) rotate(-12deg) scale(1.6);opacity:0;background:rgba(255,253,247,.9);border:4px double var(--stamp);border-radius:5px;padding:14px 28px;font-size:1.4rem;letter-spacing:.16em;pointer-events:none}.ec-stamp-mark.visible{animation:ec-stamp-in .22s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes ec-stamp-in{0%{transform:translate(-50%,-50%) rotate(-12deg) scale(1.6);opacity:0}to{transform:translate(-50%,-50%) rotate(-12deg) scale(1);opacity:.92}}@media (prefers-reduced-motion:reduce){.ec-stamp-mark.visible{animation:none;opacity:.92;transform:translate(-50%,-50%) rotate(-12deg) scale(1);transition:opacity .3s ease}}.ec-mono-label{text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--pine)}.ec-mono-label,.ec-ruled-input{font-family:var(--font-mono,"IBM Plex Mono",monospace)}.ec-ruled-input{width:100%;border:none;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;color:var(--spruce);padding:0 .25rem;transition:border-color .15s ease,box-shadow .15s ease}.ec-ruled-input::placeholder{color:var(--pine);opacity:.8}.ec-ruled-input:focus-visible{outline:none;border-bottom:2px solid var(--spruce);box-shadow:0 4px 24px var(--amber-glow)}.ec-slip-row{display:flex;align-items:center;gap:.75rem;padding:.85rem .5rem;background:transparent;border-radius:4px;cursor:pointer;transition:box-shadow .15s ease,background .15s ease,transform .15s ease}.ec-slip-row:hover{transform:translateY(-1px)}.ec-slip-row.selected{box-shadow:inset 0 0 0 2px var(--amber);background:rgba(227,164,79,.12)}.ec-photo-card{border-radius:14px;overflow:hidden;aspect-ratio:4/3}.ec-photo-card img{width:100%;height:100%;display:block;object-fit:cover}.ec-slip-modal{background:var(--manila);border:1px solid var(--spruce);border-top:2px solid var(--stamp)}.rq-slip-eyebrow{display:block;margin-bottom:.2rem}.rq-gift-notice{display:flex;align-items:center;gap:.6rem;margin:.75rem 0 .6rem;padding:.5rem .65rem;border:1px solid var(--rule);border-radius:4px;background:var(--cream)}.rq-gift-notice-badge{position:static;flex-shrink:0;transform:rotate(-4deg)}.rq-gift-notice-text{flex:1 1;margin:0;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.72rem;line-height:1.45;color:var(--pine)}.rq-success-panel{position:relative;z-index:0;width:100%}.rq-success-panel .ec-stamp-mark{z-index:-1}.nb-results-drawer{background:var(--spruce);border-radius:var(--r-md);padding:1.25rem;margin-top:1rem}.nb-results-drawer>p{color:var(--cream)}.nb-results-drawer>p.status-error{color:#FF8A75}.fb-drawer-head{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);opacity:.8;margin:0 0 1.1rem}.fb-lib-card{background:var(--manila);border:1px solid rgba(34,49,42,.5);border-radius:5px;color:var(--spruce);padding:1.25rem 1.25rem 1.1rem;box-shadow:var(--shadow-md)}.fb-lib-call{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--pine);margin:0 0 .3rem}.fb-lib-name{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:1.35rem;margin:0 0 .15rem}.fb-lib-bio{font-size:.92rem;color:var(--pine);max-width:60ch;margin:0}.fb-book-grid{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:.75rem;gap:.75rem}.fb-book{display:flex;flex-direction:column;background:var(--card-white);border:1px solid rgba(34,49,42,.45);border-radius:5px;padding:.8rem .85rem .65rem;box-shadow:0 3px 10px rgba(34,49,42,.12);text-align:left;transition:box-shadow .15s ease,border-color .15s ease}.fb-book:hover{border-color:var(--amber);box-shadow:var(--glow)}.fb-book-main{display:block;width:100%;text-align:left;background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit}.fb-book-main:disabled{cursor:default}.fb-book-top{display:flex;gap:.7rem;align-items:flex-start}.fb-book-info{flex:1 1 auto;min-width:0}.book-cover.fb-book-cover{width:42px;height:auto;aspect-ratio:2/3;border-radius:3px;border:1px solid rgba(34,49,42,.3)}.fb-book-cover .book-cover__title{font-size:.55rem;-webkit-line-clamp:4}.fb-book-cover .book-cover__author{display:none}.fb-book-call{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pine);margin:0 0 .3rem}.fb-book-title{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:.98rem;line-height:1.25;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}.fb-book-author{font-size:.8rem;color:var(--pine);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:.1rem 0 0}.fb-book-main{margin-bottom:.7rem}.fb-book-foot{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.fb-book--requested{opacity:.78}.fb-book--requested .fb-book-avail{color:var(--stamp);font-weight:600}.fb-book-avail{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--pine)}.fb-lib-foot{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.6rem}.field-hint{display:block;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-size:.8rem;color:var(--muted);margin:.25rem 0 0;line-height:1.4}.field-hint.status-error{color:var(--danger);font-weight:600}.form-section{display:grid;grid-gap:.75rem;gap:.75rem;padding-top:1.5rem;border-top:1px solid rgba(34,49,42,.12)}.form-section:first-child{padding-top:0;border-top:none}.form-section-title{margin:0;font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--pine)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.fp-link{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:none;padding:0}.fp-link:hover{color:var(--spruce)}.fp-link--stamp{color:var(--stamp)}.fp-link--stamp:hover{color:var(--stamp);opacity:.8}.fp-link:disabled{opacity:.45;cursor:default}.fp-fields{background-image:repeating-linear-gradient(transparent 0 43px,var(--rule) 43px 44px);background-size:100% 44px}.fp-field{display:flex;align-items:baseline;gap:.55rem;height:44px;line-height:44px;min-width:0;transition:box-shadow .15s ease}.fp-field:focus-within{box-shadow:inset 0 -2px 0 0 var(--spruce)}.fp-field-name{flex:0 0 auto;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--pine)}.fp-field input,.fp-field-name{font-family:var(--font-mono,"IBM Plex Mono",monospace)}.fp-field input{flex:1 1 auto;min-width:0;height:100%;border:none;background:transparent;font-size:.92rem;color:var(--spruce);padding:0 .25rem}.fp-field input::placeholder{color:var(--pine);opacity:.75}.fp-field input:focus-visible{outline:none;box-shadow:none}.fp-field-value{flex:1 1 auto;min-width:0;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.92rem;color:var(--spruce);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-field .fp-link{flex:0 0 auto;line-height:normal}.fp-ruled-field{margin-top:1rem}.fp-ruled-field:first-child{margin-top:0}.fp-ruled-label{display:block;font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--pine);margin-bottom:.15rem}.fp-ruled-field input,.fp-ruled-label{font-family:var(--font-mono,"IBM Plex Mono",monospace)}.fp-ruled-field input{width:100%;border:none;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;font-size:.95rem;color:var(--spruce);padding:.3rem .1rem;transition:border-color .15s ease,box-shadow .15s ease}.fp-ruled-field input::placeholder{color:var(--pine);opacity:.65}.fp-ruled-field input:focus-visible{outline:none;border-bottom:2px solid var(--spruce);box-shadow:0 4px 24px var(--amber-glow)}.fp-ruled-field input:disabled{opacity:.6}.fp-ruled-textarea{width:100%;border:none;background-color:transparent;background-image:repeating-linear-gradient(transparent 0 31px,var(--rule) 31px 32px);background-size:100% 32px;line-height:32px;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.9rem;color:var(--spruce);padding:0;min-height:96px;resize:vertical;border-radius:4px}.fp-ruled-textarea::placeholder{color:var(--pine);opacity:.75}.fp-ruled-textarea:focus-visible{outline:none;background-image:repeating-linear-gradient(transparent 0 30px,var(--spruce) 30px 32px);box-shadow:0 4px 24px var(--amber-glow)}.fp-section-title{display:block;font-size:11px;letter-spacing:.08em;margin:0 0 .9rem}.fp-lock-stamp,.fp-section-title{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-weight:600;text-transform:uppercase;color:var(--stamp)}.fp-lock-stamp{display:inline-block;font-size:.6rem;letter-spacing:.09em;border:2px double var(--stamp);border-radius:3px;padding:.2rem .45rem;transform:rotate(-2deg);margin-left:.5rem;vertical-align:middle}.fp-fineprint{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pine);line-height:1.7;margin:.5rem 0 0}.fp-fineprint--stamp{color:var(--stamp)}.fb-card{position:relative;max-width:680px;padding-bottom:2.75rem}.fb-header{display:block;margin-bottom:.6rem}.fb-chip-group{margin-top:.9rem}.fb-range{margin:1.4rem 0 .4rem;max-width:420px}.fb-range-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}.fb-range-value{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--spruce)}.fb-range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer;border:none;padding:0;margin:0}.fb-range input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--rule)}.fb-range input[type=range]::-moz-range-track{height:2px;background:var(--rule)}.fb-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-8px;width:10px;height:18px;border-radius:2px;background:var(--spruce);border:none}.fb-range input[type=range]::-moz-range-thumb{width:10px;height:18px;border-radius:2px;background:var(--spruce);border:none}.fb-range input[type=range]:disabled{opacity:.45;cursor:default}.fb-range-scale{display:flex;justify-content:space-between;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.06em;color:var(--pine)}.fb-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.2rem}.fb-quota-badge{line-height:1.5}.fb-quota-badge--exhausted{color:var(--stamp)}.fb-location-editor{margin:1rem 0 .25rem;padding:1rem;background:var(--card-white);border:1px solid var(--rule);border-radius:5px}@media (max-width:640px){.fb-actions .button.primary{width:100%;text-align:center}}.slip-branch{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:1.35rem;margin:.15rem 0 .1rem;color:var(--spruce)}.slip-quota-line{display:block;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--pine);margin:.2rem 0 0}.slip-rows{border-top:1px solid var(--spruce);margin:.5rem 0 .9rem}.slip-row{position:relative;display:flex;align-items:center;gap:.85rem;padding:.7rem .3rem;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.slip-row:hover{box-shadow:var(--glow)}.slip-row.is-selected{background:rgba(227,164,79,.14)}.slip-row--disabled{opacity:.45;cursor:default}.slip-row--disabled:hover{box-shadow:none}.slip-row input[type=checkbox]{position:absolute;width:22px;height:22px;opacity:0;margin:0;cursor:pointer}.slip-row--disabled input[type=checkbox]{cursor:default}.slip-box{flex:0 0 auto;width:19px;height:19px;border-radius:4px;border:2px solid var(--spruce);background:var(--card-white);position:relative;transition:background .15s ease}.slip-box:after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid var(--cream);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0}.prof-notif-row input:checked~.slip-box,.slip-row input:checked~.slip-box{background:var(--spruce)}.prof-notif-row input:checked~.slip-box:after,.slip-row input:checked~.slip-box:after{opacity:1}.prof-notif-row input:focus-visible~.slip-box,.slip-row input:focus-visible~.slip-box{box-shadow:0 0 0 3px var(--amber-glow)}.book-cover.slip-cover{width:30px;height:auto;aspect-ratio:2/3;border-radius:3px;border:1px solid rgba(34,49,42,.3)}.slip-cover .book-cover__title{font-size:.45rem;-webkit-line-clamp:4}.slip-cover .book-cover__author{display:none}.slip-title{flex:1 1 auto;min-width:0;font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:1rem;color:var(--spruce)}.slip-title small{display:block;font-family:var(--font-sans,"Nunito Sans",sans-serif);font-weight:400;font-size:.76rem;color:var(--pine);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slip-copies{flex:0 1 auto;text-align:right;font-size:.66rem;letter-spacing:.05em}.slip-copies,.slip-note-label{font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;color:var(--pine)}.slip-note-label{display:block;font-size:.72rem;font-weight:500;letter-spacing:.07em;margin-bottom:.5rem}.slip-note{min-height:96px}.slip-bio{font-size:.9rem;line-height:1.5;color:var(--pine);margin:0 0 .75rem}.slip-fineprint{margin:1rem 0;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--stamp);text-align:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.5rem 0}.ec-slip-modal .rq-footer{background:transparent;border-top:none}.ec-slip-modal .rq-header{border-bottom-color:var(--rule)}.acc-form{position:relative;max-width:640px;background:var(--paper);border:1px solid var(--border);border-radius:5px;box-shadow:var(--shadow-sm);padding:1.5rem 1.5rem 1.75rem;overflow:hidden}.acc-form-head{display:block;font-size:.74rem;font-weight:500;letter-spacing:.08em;color:var(--pine);margin:0 0 1rem}.acc-form-head,.acc-isbn-hint{font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase}.acc-isbn-hint{font-size:.66rem;letter-spacing:.05em;color:var(--stamp);margin:.35rem 0 0}.acc-scan-button{display:block;width:100%;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);background:var(--card-white);border:1px dashed var(--spruce);border-radius:5px;padding:.75rem 1rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.acc-scan-button:before{content:"▌▌▌ ";letter-spacing:.02em;color:var(--spruce)}.acc-scan-button:hover{color:var(--spruce);border-color:var(--amber);box-shadow:var(--glow)}.acc-scan-stage{position:relative;border-radius:5px;overflow:hidden;background:var(--spruce);box-shadow:var(--shadow-sm)}.acc-scan-video{display:block;width:100%;aspect-ratio:4/3;max-height:340px;object-fit:cover}.acc-scan-reticle{position:absolute;top:50%;left:50%;width:min(70%,260px);height:34%;transform:translate(-50%,-50%);border:2px solid var(--amber);border-radius:6px;box-shadow:0 0 0 999px rgba(34,49,42,.28);pointer-events:none}.acc-scan-status{position:absolute;left:0;right:0;bottom:.7rem;text-align:center;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--paper)}.acc-scan-under{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-top:.5rem}.acc-scan-hint{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--pine)}.acc-scan-close{flex-shrink:0}.acc-scan-divider{display:flex;align-items:center;gap:.7rem;margin:1.1rem 0;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}.acc-scan-divider:after,.acc-scan-divider:before{content:"";flex:1 1;border-top:1px solid var(--rule)}.acc-suggest{margin-top:1.2rem}.acc-suggest>.ec-mono-label{display:block;margin-bottom:.55rem}.acc-suggest-card{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;width:100%;background:var(--card-white);border:1px solid rgba(34,49,42,.4);border-radius:5px;padding:.6rem .8rem;text-align:left;cursor:pointer;box-shadow:0 3px 10px rgba(34,49,42,.1);transition:border-color .15s ease,box-shadow .15s ease;font:inherit;color:inherit}.acc-suggest-card:hover{border-color:var(--amber);box-shadow:var(--glow)}.acc-suggest-card+.acc-suggest-card{margin-top:.5rem}.acc-suggest-main{flex:1 1 180px;min-width:0}.acc-suggest-title{display:block;font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:.95rem;line-height:1.25}.acc-suggest-meta{display:block;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--pine);margin-top:.15rem}.acc-suggest-card .fp-link{margin-left:auto}.acc-copies{display:flex;align-items:center;gap:.9rem;margin-top:1.4rem}.acc-stepper{display:inline-flex;align-items:center;border:1px solid var(--spruce);border-radius:4px;overflow:hidden}.acc-stepper button{width:34px;height:34px;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:1rem;cursor:pointer;color:var(--spruce);background:transparent;border:none;transition:background .15s ease}.acc-stepper button:hover:not(:disabled){background:rgba(34,49,42,.07)}.acc-stepper button:disabled{opacity:.4;cursor:default}.acc-stepper output{width:44px;text-align:center;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.92rem;border-left:1px solid var(--rule);border-right:1px solid var(--rule);line-height:34px}.acc-submit-row{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.acc-added-line{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pine);margin:.9rem 0 0}.prof-wrap{max-width:620px}.prof-member-card{margin-bottom:1.75rem;padding-bottom:1.5rem}.prof-member-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.2rem 1rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--pine);margin:0 0 .9rem}.prof-member-name{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:1.6rem;color:var(--spruce);border-bottom:1px solid var(--rule);padding-bottom:.35rem;margin:0}.prof-member-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;margin-top:.7rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}.prof-sections{background:var(--paper);border:1px solid var(--border);border-radius:5px;box-shadow:var(--shadow-sm)}.prof-section{padding:1.4rem 1.5rem}.prof-section+.prof-section{border-top:1px solid var(--rule)}.prof-fact{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin:0}.prof-fact dt{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--pine)}.prof-fact dd{margin:0;font-size:.95rem;overflow-wrap:anywhere}.prof-count{text-align:right;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.06em;color:var(--pine);margin:.3rem 0 0}.prof-notif-lead{font-size:.92rem;margin:0 0 .35rem}.prof-notif-row{position:relative;display:flex;align-items:center;gap:.8rem;padding:.55rem .1rem;border-bottom:1px solid var(--rule);cursor:pointer}.prof-notif-row input[type=checkbox]{position:absolute;width:20px;height:20px;opacity:0;margin:0;cursor:pointer}.prof-notif-row input[type=checkbox]:disabled{cursor:default}.prof-notif-row--disabled{opacity:.55;cursor:default}.prof-notif-text{flex:1 1 auto;font-size:.92rem}.prof-notif-tag{flex:0 0 auto;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);border:1px solid var(--rule);border-radius:3px;padding:.15rem .4rem}.prof-notif-hint{font-size:.8rem;color:var(--muted);margin:.5rem 0 0;line-height:1.4}.prof-save-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-top:2px solid var(--spruce);background:var(--card-white);border-radius:0 0 5px 5px}.prof-save-status{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:var(--pine);margin:0}.prof-save-status--error{color:var(--stamp)}.prof-signout{text-align:center;margin-top:1.25rem}.lib-wrap{max-width:880px}.lib-nameplate{position:relative;background:var(--spruce);color:var(--cream);border-radius:14px;padding:1.6rem 1.75rem;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.lib-nameplate-eyebrow{display:block;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);margin-bottom:.35rem}.lib-nameplate h2{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:1.8rem;color:var(--cream);margin:0;padding-right:10rem}.lib-nameplate-meta{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cream);opacity:.8;margin:.5rem 0 0}.lib-nameplate-warning{font-size:.88rem;color:#FF8A75;margin:.6rem 0 0;max-width:56ch}.lib-nameplate-warning a{color:var(--cream)}.lib-add-btn{position:absolute;right:1.75rem;top:50%;transform:translateY(-50%)}@media (max-width:640px){.lib-nameplate h2{padding-right:0}.lib-add-btn{position:static;transform:none;display:block;margin-top:1rem}}.lib-details{background:var(--manila);border:1px solid var(--spruce);border-radius:5px;box-shadow:var(--shadow-sm);padding:1.3rem 1.4rem;margin-bottom:1.75rem;display:grid;grid-template-columns:1.3fr 1fr;grid-gap:1.75rem;gap:1.75rem}@media (max-width:720px){.lib-details{grid-template-columns:1fr}}.lib-detail-label{display:block;margin-bottom:.5rem}.lib-bio-text{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.88rem;line-height:32px;background-image:repeating-linear-gradient(transparent 0 31px,var(--rule) 31px 32px);background-size:100% 32px;min-height:64px;margin:0}.lib-bio-text--empty{opacity:.6}.lib-loc-fact{font-size:.95rem;margin:0}.lib-detail-actions{margin-top:.8rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.lib-shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.lib-shelf-title{display:block;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stamp)}.lib-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:.9rem;gap:.9rem}.lib-confirm{margin-top:.6rem;background:rgba(179,58,43,.08);border:1px solid rgba(179,58,43,.4);border-radius:4px;padding:.5rem .6rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.lib-confirm p{font-size:.8rem;font-weight:600;color:var(--stamp);margin:0}.lib-confirm-actions{display:flex;gap:.7rem}.lib-correction{grid-column:1/-1;background:var(--manila);border:1px solid var(--spruce);border-top:2px solid var(--stamp);border-radius:5px;padding:1.1rem 1.2rem 1.3rem;box-shadow:var(--shadow-sm)}.lib-correction-head{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);margin:0 0 .6rem}.lib-correction-actions{display:flex;justify-content:flex-end;align-items:center;gap:.8rem;margin-top:.6rem}.wl-card{position:relative;max-width:480px;padding-bottom:2.75rem;overflow:hidden;text-align:left}.wl-head{display:block;margin-bottom:.8rem}.wl-sub{font-size:.92rem;color:var(--pine);margin:0 0 .6rem}.wl-actions{display:flex;justify-content:flex-end;margin-top:1.1rem}@media (max-width:480px){.wl-actions .button.primary{width:100%;text-align:center}}.loc-fieldset{min-width:0}.loc-suggest{margin-top:.8rem;border-top:1px solid var(--rule)}.loc-suggest-row{display:block;width:100%;text-align:left;padding:.6rem .4rem;background:transparent;border:none;border-bottom:1px solid var(--rule);border-left:3px solid transparent;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,background .15s ease}.loc-suggest-row:hover:not(:disabled){border-left-color:var(--amber);background:rgba(227,164,79,.07)}.loc-suggest-row:disabled{opacity:.5;cursor:default}.loc-suggest-main{display:block;font-weight:700;font-size:.92rem}.loc-suggest-sub{display:block;font-size:.8rem;color:var(--pine)}.loc-actions{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.loc-confirmed{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--spruce);border:1px solid var(--spruce);border-radius:4px;padding:.4rem .7rem;background:rgba(227,164,79,.12)}.loc-advanced{margin-top:1rem}.loc-advanced summary{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:var(--pine);opacity:.8;cursor:pointer;margin-bottom:.5rem}.rqo-wrap{max-width:720px}.rqo-title{font-size:1.6rem;margin:0 0 .25rem}.rqo-subtitle{font-size:.95rem;color:var(--pine);margin:0 0 1.5rem;max-width:58ch}.rqo-section{margin-top:1.75rem}.rqo-section-head{display:block;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);margin-bottom:.8rem}.rqo-list{display:grid;grid-gap:.75rem;gap:.75rem}.rqo-card{background:var(--card-white);border:1px solid rgba(34,49,42,.45);border-radius:5px;padding:.9rem 1rem;box-shadow:0 3px 10px rgba(34,49,42,.1)}.rqo-top{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;flex-wrap:wrap}.rqo-name{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:1.05rem;margin:0}.rqo-status{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.64rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--rule);border-radius:3px;padding:.15rem .45rem;color:var(--pine)}.rqo-status--pending{color:var(--stamp);border-color:rgba(179,58,43,.45)}.rqo-status--partial{color:var(--amber-dark);border-color:rgba(184,127,44,.5)}.rqo-items{list-style:none;margin:.5rem 0 0;padding:0}.rqo-item{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.3rem 0;border-bottom:1px solid var(--rule)}.rqo-item:last-child{border-bottom:none}.rqo-item-title{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-weight:600;font-size:.92rem;min-width:0}.rqo-item-status{flex:0 0 auto;font-size:.62rem;letter-spacing:.06em}.rqo-item-status,.rqo-meta{font-family:var(--font-mono,"IBM Plex Mono",monospace);text-transform:uppercase;color:var(--pine)}.rqo-meta{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;flex-wrap:wrap;margin-top:.6rem;padding-top:.5rem;border-top:1px solid var(--rule);font-size:.64rem;letter-spacing:.05em}.rqo-empty{font-size:.92rem;color:var(--pine);margin:0}@media (prefers-reduced-motion:reduce){.button.primary:hover:not(:disabled),.chip:hover:not(:disabled){transform:none}}@media (max-width:480px){.top-bar-inner{padding:0 .75rem}.ec-catalog-card{padding:1.25rem 1rem 2rem}.fb-card .fb-header{padding-right:5rem}.fb-quota-badge{right:-4px}.acc-form{padding:1.25rem 1rem 1.5rem}.acc-submit-row .button.primary{width:100%;text-align:center}.prof-section{padding:1.2rem 1rem}.prof-save-bar{padding:1rem}.lib-nameplate{padding:1.25rem 1.1rem}.lib-details{padding:1.1rem 1rem;gap:1.25rem}.nb-results-drawer{padding:.85rem}.fb-lib-card{padding:1rem .9rem .9rem}.rq-footer,.rq-header,.rq-scroll{padding-left:.85rem;padding-right:.85rem}}.policy-shell{max-width:720px;padding-top:1.5rem;padding-bottom:3rem}.policy-topnav{margin-bottom:1.25rem}.policy-header{margin-bottom:1.5rem}.policy-eyebrow{display:inline-block;margin-bottom:.5rem}.policy-title{margin:0 0 .75rem;font-size:clamp(1.7rem,5vw,2.3rem)}.policy-intro{max-width:65ch;margin:0;color:var(--pine);font-size:.98rem;line-height:1.65}.policy-card{display:grid;grid-gap:0;gap:0}.policy-section{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--rule)}.policy-section:first-child{margin-top:0;padding-top:0;border-top:none}.policy-section-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.6rem}.policy-section-num{flex-shrink:0;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.72rem;font-weight:600;letter-spacing:.1em;color:var(--stamp)}.policy-section-head h2{margin:0;font-size:1.2rem;color:var(--spruce)}.policy-section li,.policy-section p{max-width:65ch;color:var(--brown-dark);font-size:.95rem;line-height:1.65}.policy-section p+p{margin-top:.75rem}.policy-list{margin:.5rem 0 0;padding-left:1.2rem;display:grid;grid-gap:.45rem;gap:.45rem}.policy-callout{margin-top:1rem;padding:1rem 1.1rem;border-left:3px solid var(--stamp);border-radius:4px;background:rgba(179,58,43,.06)}.policy-callout p{max-width:65ch;margin:0;color:var(--brown-dark);font-size:.95rem;line-height:1.6}.policy-callout p+p{margin-top:.5rem}.policy-callout strong{color:var(--stamp)}.policy-footer-nav{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center}@media (max-width:480px){.policy-card{padding:1.25rem 1rem 1.5rem}}.landing-footer{margin-top:2rem;padding:1.5rem 1.25rem 2.5rem;align-items:center;gap:.5rem 1.25rem;border-top:1px solid var(--rule)}.landing-footer,.landing-footer-links{display:flex;flex-wrap:wrap;justify-content:center}.landing-footer-links{gap:.5rem 1.1rem}.landing-consent{max-width:64ch;text-align:left}