.lb { display: none; position: relative; isolation: isolate; min-height: 100vh; padding: clamp(14px, 2vw, 26px) clamp(14px, 4vw, 60px) clamp(60px, 7vw, 110px); color: #0c3c52; }
body.is-lib main { display: none !important; } body.is-lib .lb { display: block; }
.lb::before { content: ""; position: fixed; inset: 0; z-index: -1; background: var(--sr-bg) center / cover no-repeat, #dff3fa; }
.lb-top { max-width: 1180px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.lb-logo { display: inline-flex; align-items: center; }
.lb-logo img { display: block; height: clamp(54px, 6vw, 80px); width: auto; }
.lb-r { display: inline-flex; align-items: center; gap: 14px; }
.lb-top .toggle { translate: none !important; margin: 0; align-self: center; }
.lb-home { display: inline-flex; align-items: center; gap: 8px; height: 40px; margin: 0; align-self: center; padding: 0 18px; border-radius: 999px; background: #0d5f82; border: 1px solid #2259a2; color: #f2c230; text-decoration: none; font: 800 clamp(12.5px, 1.2vw, 14.5px)/1 var(--font-te), var(--font-en), sans-serif; box-shadow: 0 4px 12px rgba(12,93,125,.3); transition: transform .2s ease, filter .2s ease; }
.lb-home:hover { transform: translateY(-2px); filter: brightness(1.12); } .lb-home svg { width: 16px; height: 16px; stroke: #f2c230; }
.lb-in { max-width: 1180px; margin: 0 auto; text-align: center; padding-top: clamp(14px, 3vw, 40px); }
.lb-tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; justify-content: center; margin-top: clamp(10px, 2vw, 22px); }
.lb-search { flex: 1 1 320px; max-width: 560px; display: flex; align-items: center; gap: 10px; height: 58px; padding: 0 8px; background: #fff; border: 1.5px solid #0d5f82; border-radius: 999px; box-shadow: 0 8px 22px rgba(12,93,125,.18); }
.lb-search:focus-within { box-shadow: 0 0 0 4px rgba(66,132,160,.22), 0 12px 28px rgba(12,93,125,.26); }
.lb-search .ic { flex: none; width: 42px; height: 42px; border-radius: 50%; background: #f2c230; display: grid; place-items: center; } .lb-search .ic svg { width: 22px; height: 22px; }
.lb-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: 600 clamp(15px, 1.5vw, 18px)/1.2 var(--font-te), 'Space Grotesk', sans-serif; color: #0c3c52; }
.lb-search input::-webkit-search-cancel-button { display: none; }
.lb-search .sr-clear { margin-right: 2px; }
.lb-cat { position: relative; flex: 0 1 340px; min-width: 240px; text-align: left; }
.lb-cat > button { width: 100%; height: 58px; display: flex; align-items: center; gap: 10px; padding: 0 14px 0 8px; background: #fff; border: 1.5px solid #0d5f82; border-radius: 18px; cursor: pointer; box-shadow: 0 8px 22px rgba(12,93,125,.18); font-family: inherit; color: #0c3c52; text-align: left; }
.lb-cat .ic { flex: none; width: 42px; height: 42px; border-radius: 12px; background: #0d5f82; display: grid; place-items: center; } .lb-cat .ic svg { width: 22px; height: 22px; stroke: #f2c230; }
.lb-cat .tx { flex: 1; min-width: 0; display: block; line-height: 1.2; } .lb-cat small { display: block; font: 700 10.5px/1.2 var(--font-te), sans-serif; color: #4a7a90; } .lb-cat b { display: block; font: 800 14.5px/1.25 var(--font-te), sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-cat .n { flex: none; font: 900 12px/1 var(--font-en), sans-serif; padding: .45em .7em; border-radius: 999px; background: #f2c230; color: #5a3a12; }
.lb-cat .cv { flex: none; width: 16px; height: 16px; transition: transform .25s ease; } .lb-cat > button[aria-expanded="true"] .cv { transform: rotate(180deg); }
.lb-cat ul { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 8px); margin: 0; padding: 6px; list-style: none; max-height: min(60vh, 360px); overflow-y: auto; background: #fff; border: 1.5px solid #0d5f82; border-radius: 16px; box-shadow: 0 20px 44px rgba(12,93,125,.3); }
.lb-cat ul[hidden] { display: none; }
.lb-cat li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 10px; cursor: pointer; font: 700 14px/1.3 var(--font-te), sans-serif; color: #0c3c52; }
.lb-cat li em { font: 900 11.5px/1 var(--font-en), sans-serif; font-style: normal; opacity: .75; }
.lb-cat li:hover { background: #e4f1f6; } .lb-cat li[aria-selected="true"] { background: #0d5f82; color: #f2c230; }
.lb-note { margin: clamp(18px, 3vw, 30px) 0 0; text-align: left; font: 700 14px/1.3 var(--font-te), var(--font-en), sans-serif; color: #0c5d7d; }
.lb-g { margin-top: clamp(22px, 3.4vw, 44px); text-align: left; }
.lb-gh { display: flex; align-items: center; gap: 12px; margin: 0 0 clamp(12px, 1.8vw, 20px); padding-left: 14px; border-left: 5px solid #f2c230; font: 800 clamp(18px, 2.2vw, 28px)/1.3 var(--font-te-head), sans-serif; color: #0c3c52; }
.lb-gh em { font: 900 12px/1 var(--font-en), sans-serif; font-style: normal; padding: .45em .8em; border-radius: 999px; background: #0d5f82; color: #f2c230; }
.lb-g .sr-more { margin-top: 18px; }
.lb :focus-visible { outline: 3px solid #0c5d7d; outline-offset: 3px; }
@media (max-width: 640px) {
  .lb-top { align-items: center; min-height: 54px; }
  .lb-logo img { height: clamp(42px, 11vw, 56px); }
  .lb-r { gap: 10px; align-items: center; }
  .lb-top .toggle { translate: none !important; }
  .lb-home { height: 38px; padding: 0 14px; font-size: 13px; }
}
@media (max-width: 560px) { .lb-cat { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { .lb-home, .lb-search, .lb-cat .cv { transition: none; } }

.bk-meta { display: none; }
.lb-cards, .sr-cards { --bk-ink: #1b1b1b; --bk-leaf: #3f5a1e; --bk-blue: #1d6b87; --bk-frame: #c8d1d9; --bk-foot: #f1eedf; --bk-title: #0c5d7d; display: grid; grid-template-columns: repeat(auto-fill, minmax(clamp(140px, 13vw, 190px), 1fr)); gap: clamp(26px, 3.2vw, 44px) clamp(16px, 2.6vw, 36px); padding: 22px 0 14px; }
.lb-cards .bk-card, .sr-cards .bk-card { flex: none; width: 100%; max-width: 235px; justify-self: center; opacity: 1; transform: none; animation: none; }
