.portal{--lib-surface:#fff;--lib-line:#d8e1ee;--lib-meta:#3d4a5c;--lib-soft:#f6f8fc}:is([data-preset=night],[data-preset=midnight]) .portal,.portal:is([data-preset=night],[data-preset=midnight]){--lib-surface:var(--white);--lib-line:var(--line);--lib-meta:var(--mute);--lib-soft:var(--light)}.portal .portal-main .ep-card.lib-card.lib-card{background:var(--lib-surface);border:1px solid var(--lib-line);border-radius:16px;box-shadow:0 1px 3px #0f172a0f}.portal .portal-main .ep-card.lib-card.lib-card:not(.locked):hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--lib-line));box-shadow:0 6px 18px #0f172a14}.portal .portal-main .ep-card.lib-card.lib-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portal .portal-main .lib-card .body{padding:16px 18px 18px}.portal .portal-main .lib-card .title{font-family:var(--font-heading);letter-spacing:normal;color:var(--ink);margin-block-end:6px;font-size:20px;font-weight:700;line-height:28px}.portal .portal-main .lib-card .desc{color:var(--lib-meta);font-size:14px;line-height:20px}.portal .portal-main .lib-card .meta-row{color:var(--lib-meta);flex-wrap:wrap;gap:8px 12px;font-size:14px;font-weight:500;line-height:20px}.portal .portal-main .lib-card .lib-lang{background:var(--lib-soft);border:1px solid var(--lib-line);border-radius:999px;padding:1px 10px;font-weight:600}.portal .portal-main .lib-card .lib-topic{text-overflow:ellipsis;white-space:nowrap;background:0 0;max-width:100%;font-weight:500;overflow:hidden}.portal .portal-main .lib-card .lib-cover-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}@media (max-width:640px){.portal .portal-main .lib-card .title{font-size:18px;line-height:26px}.portal .portal-main .lib-card .body{padding:14px 16px 16px}}.portal .portal-main .lib-book-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.portal .portal-main .lib-card .cover.lib-book-cover{aspect-ratio:3/4;background:var(--lib-soft);border-block-end:1px solid var(--lib-line)}.portal .portal-main .lib-book-img{object-fit:contain;filter:drop-shadow(0 2px 6px #0f172a2e);width:calc(100% - 28px);height:calc(100% - 28px);position:absolute;inset:14px}.portal .portal-main .lib-book-plate{text-align:center;border:1px solid var(--lib-line);background:linear-gradient(165deg, color-mix(in srgb, var(--accent) 12%, var(--lib-surface)), var(--lib-surface));color:var(--ink);font-family:var(--font-heading);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:16px;font-weight:700;line-height:1.35;display:flex;position:absolute;inset:14px}.portal .portal-main .lib-book-plate svg{color:var(--accent);flex:none}.portal .portal-main .lib-book-plate span{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.portal .lib-filters{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-block-end:18px;display:flex}.portal .lib-search,.portal .lib-select{border:1px solid var(--lib-line);background:var(--lib-surface);height:48px;color:var(--ink);font:inherit;border-radius:12px}.portal .lib-search{flex:260px;min-width:0;max-width:480px;padding:0 16px;font-size:16px}.portal .lib-select{padding:0 12px;font-size:15px}.portal :is(.lib-search,.lib-select,.lib-clear):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portal .lib-count{color:var(--lib-meta);font-size:14px;font-weight:500}.portal .lib-clear{min-height:44px;font:inherit;color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:14px;font-weight:600;text-decoration:underline}.portal .lib-empty{text-align:center;color:var(--lib-meta);background:var(--lib-surface);border:1px solid var(--lib-line);border-radius:16px;padding:40px;font-size:15px}.portal .lib-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal .portal-top .btn.lib-ask{min-height:44px}.portal .lib-selects{display:contents}@media (max-width:640px){.portal .lib-search{flex-basis:100%;max-width:none}}@media (max-width:720px){.portal .lib-filters{gap:8px;margin-block-end:14px}.portal .lib-search{flex-basis:100%;max-width:none;height:44px}.portal .lib-selects{flex:100%;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;display:grid}.portal .lib-select{text-overflow:ellipsis;width:100%;min-width:0;height:40px;padding:0 8px;font-size:14px}.portal .portal-main .lib-card .cover.lib-book-cover:has(.lib-book-plate){aspect-ratio:auto;height:116px}.portal .portal-main .lib-book-plate{text-align:start;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px;inset:12px}.portal .portal-main .lib-book-plate span{-webkit-line-clamp:2}}.portal:has(.lib-reader) :is(.hero-portrait,.flag-banner){display:none}.portal .lib-reader-head{border-block-end:1px solid var(--lib-line);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-block-end:14px;padding-block-end:12px;display:flex}.portal .lib-reader-title{flex:260px;min-width:0}.portal .lib-reader-title h1{font-family:var(--font-heading);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:22px;font-weight:700;line-height:30px;overflow:hidden}.portal .lib-reader-title p{color:var(--lib-meta);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:14px;line-height:20px;overflow:hidden}.portal .lib-reader{max-width:1120px}.portal .lib-tools{background:var(--lib-surface);border:1px solid var(--lib-line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 10px;display:flex}.portal .lib-tools-group{align-items:center;gap:6px;display:flex}.portal .lib-tools-view{margin-inline-start:auto}@media (min-width:961px){.portal .lib-tools{z-index:4;position:sticky;top:8px;box-shadow:0 1px 3px #0f172a0f}.portal .lib-reader .pdf-reader-grid.toc-open .pdf-toc{position:sticky;top:68px}}@media (max-width:640px){.portal .lib-tools{flex-wrap:wrap}.portal .lib-tools-group{flex:100%;justify-content:space-between}.portal .lib-tools-view{justify-content:flex-start;gap:4px;margin-inline-start:0}.portal .lib-tools-view>button:first-child{margin-inline-end:auto}.portal .lib-reader-title h1{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:19px;line-height:26px;display:-webkit-box}}.portal .lib-tools form,.portal .lib-tools form span{white-space:nowrap}@media (max-width:720px){.portal.portal.portal:has(.lib-reader.lib-reader) .portal-main.portal-main{padding-block-start:16px}}
