*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue-900:#0b1e3f;--blue-700:#1a3a6b;--blue-500:#2563eb;--blue-400:#3b82f6;--blue-300:#60a5fa;--blue-100:#dbeafe;--blue-50:#f0f7ff;--white:#fff;--sunny:#fbbf24;--sunny-dim:#fbbf2424;--ink:#0b1e3f;--muted:#6b7280;--muted2:#4b5563;--sand:#e5e7eb;--fd:"Cormorant Garamond", Georgia, serif;--fb:"Jost", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--fb);background:var(--blue-50);color:var(--ink);-webkit-font-smoothing:antialiased}.lib-gate{text-align:center;background:radial-gradient(900px 400px at 80% -10%, #2563eb80, transparent 60%), var(--blue-900);color:#fff;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.lib-gate-brand{font-family:var(--fd);margin-bottom:12px;font-size:22px;font-weight:700}.lib-gate-brand em{color:var(--sunny);font-style:italic}.lib-spin{border:3px solid #ffffff2e;border-top-color:var(--sunny);border-radius:50%;width:44px;height:44px;margin:0 auto 16px;animation:.9s linear infinite lib-sp}@keyframes lib-sp{to{transform:rotate(360deg)}}.lib-gate p{color:#fffc;font-weight:300}.lib-topbar{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;border-bottom:1px solid #2563eb1a;justify-content:space-between;align-items:center;height:66px;padding:0 clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.lib-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.lib-logo img{object-fit:contain;width:34px;height:34px}.lib-logo span{font-family:var(--fd);color:var(--ink);letter-spacing:-.01em;font-size:20px;font-weight:700}.lib-logo span em{color:var(--sunny);font-style:italic}.lib-top-actions{align-items:center;gap:8px;display:flex}.lib-top-btn{cursor:pointer;letter-spacing:.02em;color:var(--blue-900);border:1.5px solid var(--sand);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.lib-top-btn:hover{border-color:var(--blue-400);color:var(--blue-500)}.lib-top-btn svg{width:16px;height:16px}@media (width<=560px){.lib-top-btn span{display:none}.lib-top-btn{padding:9px}}.lib-hero{background:radial-gradient(1100px 460px at 86% -20%, #2563eb8c, transparent 60%), radial-gradient(760px 420px at 4% 130%, #fbbf2429, transparent 60%), var(--blue-900);color:#fff;padding:clamp(40px,6vw,68px) 7% clamp(30px,4vw,52px);position:relative;overflow:hidden}.lib-hero:after{content:"";background:linear-gradient(90deg, transparent, var(--blue-500) 30%, var(--sunny) 50%, var(--blue-500) 70%, transparent);height:3px;position:absolute;bottom:0;left:0;right:0}.lib-hero-inner{max-width:1200px;margin:0 auto}.lib-eyebrow{background:var(--sunny);color:var(--blue-900);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;margin-bottom:16px;padding:6px 14px;font-size:10px;font-weight:700;display:inline-flex}.lib-title{font-family:var(--fd);letter-spacing:-.01em;font-size:clamp(36px,5vw,62px);font-weight:700;line-height:1.03}.lib-title em{color:var(--sunny);font-style:italic}.lib-sub{color:#ffffffc7;max-width:560px;margin-top:14px;font-size:16px;font-weight:300;line-height:1.75}.lib-body{max-width:1200px;margin:0 auto;padding:30px clamp(16px,4vw,40px) 90px}.lib-tabs{flex-wrap:wrap;gap:9px;margin-bottom:30px;display:flex}.lib-tab{font-family:var(--fb);letter-spacing:.02em;color:var(--muted2);border:1.5px solid var(--sand);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.lib-tab:hover{border-color:var(--blue-300);color:var(--blue-500)}.lib-tab.active{background:var(--blue-500);border-color:var(--blue-500);color:#fff;box-shadow:0 6px 16px #2563eb40}.lib-tab-n{opacity:.7;font-size:11px;font-weight:700}.lib-tab.active .lib-tab-n{opacity:.9}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:26px 22px;display:grid}.lib-card{color:inherit;cursor:pointer;background:#fff;border:1px solid #eef1f7;border-radius:16px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 8px 26px #0b1e3f14}.lib-card-cover{aspect-ratio:3/4;background:linear-gradient(135deg, var(--blue-100), #eaf1ff);position:relative;overflow:hidden}.lib-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.lib-card:hover .lib-card-cover img{transform:scale(1.06)}.age-badge{z-index:2;color:#0b1e3f;letter-spacing:.01em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;pointer-events:none;background:#fffffff0;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:800;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #0b1e3f2e}.lib-card-fallback{place-items:center;font-size:40px;display:grid;position:absolute;inset:0}.lib-card-overlay{opacity:0;background:linear-gradient(#0000 45%,#0b1e3f9e);justify-content:center;align-items:flex-end;padding-bottom:16px;transition:opacity .28s;display:flex;position:absolute;inset:0}.lib-card:hover .lib-card-overlay{opacity:1}.lib-card-open{background:var(--sunny);color:var(--blue-900);letter-spacing:.03em;border-radius:999px;padding:9px 18px;font-size:12.5px;font-weight:700;transition:transform .28s;transform:translateY(8px)}.lib-card:hover .lib-card-open{transform:translateY(0)}.lib-card-body{flex-direction:column;flex-grow:1;gap:6px;padding:14px 15px 16px;display:flex}.lib-card-cat{letter-spacing:.12em;text-transform:uppercase;color:var(--blue-500);font-size:9.5px;font-weight:700}.lib-card-title{font-family:var(--fd);color:var(--ink);font-size:17px;font-weight:600;line-height:1.22}@keyframes lib-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lib-sk-cover,.lib-sk-line{background:linear-gradient(90deg,#e7ecf4 25%,#f4f7fc 50%,#e7ecf4 75%) 0 0/200% 100%;animation:1.3s linear infinite lib-shimmer}.lib-sk-card{background:#fff;border:1px solid #eef1f7;border-radius:16px;overflow:hidden;box-shadow:0 8px 26px #0b1e3f0f}.lib-sk-cover{aspect-ratio:3/4;width:100%}.lib-sk-body{flex-direction:column;gap:8px;padding:14px 15px 16px;display:flex}.lib-sk-line{border-radius:6px;height:11px}.lib-sk-line.t{width:80%;height:16px}.lib-sk-line.s{width:55%}.lib-empty{text-align:center;color:var(--muted);padding:70px 24px}.lib-empty .e{margin-bottom:14px;font-size:46px;display:block}.lib-empty h3{font-family:var(--fd);color:var(--ink);margin-bottom:8px;font-size:24px}@media (width<=600px){.lib-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px 16px}}@media (prefers-reduced-motion:reduce){.lib-sk-cover,.lib-sk-line{animation:none}}.lib-childbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.lib-child-lead{font-family:var(--fd);color:var(--blue-900);opacity:.55;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.lib-child-chips{flex-wrap:wrap;gap:10px;display:flex}.lib-child-chip{border:2px solid var(--blue-100);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:10px;padding:7px 18px 7px 7px;transition:all .18s;display:inline-flex}.lib-child-chip:hover{border-color:var(--blue-300);transform:translateY(-1px)}.lib-child-chip.active{border-color:var(--blue-500);background:var(--blue-50);box-shadow:0 6px 16px #2563eb2e}.lib-child-ava{background:linear-gradient(135deg,var(--blue-500),var(--blue-300));color:#fff;width:34px;height:34px;font-family:var(--fd);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid;overflow:hidden}.lib-child-ava img{object-fit:cover;width:100%;height:100%}.lib-child-txt{flex-direction:column;align-items:flex-start;line-height:1.25;display:flex}.lib-child-txt b{font-family:var(--fd);color:var(--blue-900);font-size:13.5px;font-weight:700}.lib-child-txt em{color:var(--muted,#6b7280);font-size:11px;font-style:normal;font-weight:600}.lib-child-general{font-family:var(--fb);border:2px dashed var(--blue-200);cursor:pointer;color:var(--blue-700);background:#fff;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:700;transition:all .18s}.lib-child-general:hover{border-color:var(--blue-400)}.lib-child-general.active{background:var(--sunny,#fbbf24);border-color:var(--sunny,#fbbf24);color:var(--blue-900);border-style:solid}.lib-age-nudge{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-900);border-radius:12px;margin:-10px 0 22px;padding:12px 16px;font-size:13.5px;line-height:1.6}.lib-age-nudge a{color:var(--blue-500);font-weight:700}.lib-nudge-link{font:inherit;color:var(--blue-500);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.lib-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.lib-agebar{flex-wrap:wrap;gap:8px;display:flex}.lib-agechip{font-family:var(--fb);color:var(--blue-900);border:1.5px solid var(--blue-100);cursor:pointer;background:#fff;border-radius:999px;align-items:baseline;gap:6px;padding:9px 15px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.lib-agechip em{opacity:.55;font-size:11px;font-style:normal;font-weight:700}.lib-agechip:hover{border-color:var(--blue-300);color:var(--blue-500)}.lib-agechip.active{background:var(--blue-500);border-color:var(--blue-500);color:#fff;box-shadow:0 6px 16px #2563eb40}.lib-agechip.active em{opacity:.85}.lib-searchwrap{flex:0 320px;align-items:center;min-width:230px;display:flex;position:relative}.lib-search-ic{width:17px;height:17px;color:var(--blue-400);pointer-events:none;position:absolute;left:14px}.lib-search-ic svg{width:100%;height:100%}.lib-search{width:100%;font-family:var(--fb);color:var(--ink);border:1.5px solid var(--blue-100);background:#fff;border-radius:999px;outline:none;padding:11px 38px 11px 40px;font-size:14px;transition:border-color .18s}.lib-search:focus{border-color:var(--blue-400)}.lib-search-clear{background:var(--blue-50);width:24px;height:24px;color:var(--blue-700);cursor:pointer;border:none;border-radius:50%;font-size:16px;line-height:1;position:absolute;right:10px}.lib-results-head{font-family:var(--fd);color:var(--ink);margin:4px 0 20px;font-size:18px;font-weight:600}.lib-shelf{margin-bottom:38px}.lib-shelf-head{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:15px;display:flex}.lib-shelf-title{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:0;display:flex}.lib-shelf-emoji{font-size:26px;line-height:1}.lib-shelf-text{flex-direction:column;display:flex}.lib-shelf-label{font-family:var(--fd);color:var(--ink);font-size:21px;font-weight:700;line-height:1.15}.lib-shelf-blurb{color:var(--blue-700);opacity:.7;font-size:12.5px;font-weight:600}.lib-seeall{font-family:var(--fb);color:var(--blue-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;font-size:13px;font-weight:700}.lib-seeall:hover{text-decoration:underline}.lib-shelf-row{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:18px;padding:4px 2px 14px;display:flex;overflow-x:auto}.lib-shelf-row::-webkit-scrollbar{height:8px}.lib-shelf-row::-webkit-scrollbar-thumb{background:var(--blue-100);border-radius:999px}.lib-card-shelf{scroll-snap-align:start;flex:0 0 172px;width:172px}.lib-shelf-more{font-family:var(--fd);color:var(--blue-500);background:var(--blue-50);border:1.5px dashed var(--blue-300);cursor:pointer;border-radius:16px;flex-direction:column;flex:0 0 120px;justify-content:center;align-self:stretch;align-items:center;gap:2px;font-size:22px;font-weight:700;display:flex}.lib-shelf-more span{text-transform:uppercase;letter-spacing:.1em;opacity:.8;font-size:12px;font-weight:700}.lib-subject-head{margin-bottom:18px}.lib-back{font-family:var(--fb);color:var(--blue-500);cursor:pointer;background:0 0;border:none;padding:0 0 8px;font-size:13px;font-weight:700}.lib-back:hover{text-decoration:underline}.lib-subject-title{font-family:var(--fd);color:var(--ink);font-size:clamp(24px,4vw,32px);font-weight:700;line-height:1.1}.lib-subject-blurb{color:var(--blue-700);opacity:.75;margin-top:4px;font-size:14px;font-weight:600}.lib-typechips{flex-wrap:wrap;gap:8px;margin:18px 0 24px;display:flex}.lib-typechip{font-family:var(--fb);color:var(--blue-900);border:1.5px solid var(--blue-100);cursor:pointer;background:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .18s}.lib-typechip:hover{border-color:var(--blue-300);color:var(--blue-500)}.lib-typechip.active{background:var(--blue-900);border-color:var(--blue-900);color:#fff}@media (width<=560px){.lib-controls{flex-direction:column;align-items:stretch}.lib-searchwrap{flex:auto}}
