.lib-shelves{--book-h:184px;--plank:16px;background:linear-gradient(#00000059,#00000026),repeating-linear-gradient(90deg,#ffffff04 0 2px,#0000 2px 9px),linear-gradient(#3a2516,#2a1a0f);border-radius:18px;padding:18px 22px 10px;position:relative;box-shadow:inset 0 0 0 1px #ffd28c14,inset 0 10px 40px #0009,0 20px 60px #00000080}.lib-shelves:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(60% 40% at 50% -10%,#ffc87838,#0000 70%);position:absolute;inset:0}.lib-row{height:calc(var(--book-h) + var(--plank) + 14px);content-visibility:auto;contain-intrinsic-size:auto calc(var(--book-h) + var(--plank) + 14px);align-items:flex-end;gap:3px;padding:0 14px;display:flex;position:relative}.lib-row:after{content:"";height:var(--plank);background:linear-gradient(#6b4423 0%,#4d2f17 40%,#3b2410 100%);border-radius:3px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 6px 14px #000000a6,inset 0 1px #ffdcaa40}.lib-row:before{content:"";left:10px;right:10px;bottom:var(--plank);pointer-events:none;background:linear-gradient(#0000,#00000073);height:10px;position:absolute}.lib-book{height:var(--book-h);cursor:pointer;transform-origin:bottom;background:linear-gradient(90deg, #ffffff24 0%, #fff0 18%, #00000014 60%, #00000059 100%), var(--spine);border-radius:3px 5px 5px 3px;outline:none;flex:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,filter .28s;position:relative;box-shadow:inset 2px 0 3px #ffffff1f,inset -3px 0 6px #00000073,2px 2px 6px #00000080}.lib-book:hover,.lib-book:focus-visible{filter:brightness(1.08);z-index:2;transform:translateY(-10px)rotateX(-3deg);box-shadow:2px 10px 18px #0009,0 0 0 1px #ffd27859}.lib-book.pulled{z-index:5;transition-duration:.45s;transform:translateY(-46px)translateZ(40px)rotateY(-22deg)scale(1.04)}.lib-book .band{opacity:.9;background:linear-gradient(90deg,#e9c46a,#f6e7b4,#c99a2e);height:2px;position:absolute;left:3px;right:3px}.lib-book .band.t{top:12px}.lib-book .band.t2{top:17px}.lib-book .band.b{bottom:14px}.lib-book .band.b2{bottom:19px}.lib-book .spine-text{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em;white-space:nowrap;color:#f3dfa2;text-shadow:0 0 1px #000c,0 1px #0009,0 0 8px #ffdc8c40;justify-content:center;align-items:center;font-family:Georgia,Times New Roman,serif;font-weight:700;display:flex;position:absolute;inset:24px 0 46px;overflow:hidden;transform:rotate(180deg)}.lib-book .spine-text i{text-overflow:ellipsis;white-space:nowrap;direction:ltr;max-height:100%;font-style:normal;display:block;overflow:hidden}@media (max-width:599px){.lib-shelves{--book-h:128px;--plank:12px;padding:12px 6px 6px}.lib-row{gap:2px;padding:0 6px}.lib-book .brand{display:none}.lib-book .spine-text{inset:20px 0 26px}.lib-book .count{font-size:9px}.lib-book .band.b{bottom:10px}.lib-book .band.b2{bottom:14px}}.lib-book .ribbon{background:linear-gradient(#ff6b6b,#c0392b);border-radius:0 0 3px 3px;width:5px;position:absolute;top:-2px;right:6px;box-shadow:0 1px 3px #0009}.lib-book .ribbon.hum{background:linear-gradient(#c77dff,#7b2cbf);right:13px}.lib-book .era-dot{border-radius:99px;width:6px;height:6px;position:absolute;bottom:7px;left:50%;transform:translate(-50%);box-shadow:0 0 6px}.lib-book .brand{letter-spacing:.05em;color:#f3dfa2;text-shadow:0 0 2px #000000e6;background:radial-gradient(circle at 35% 30%,#fff0c859,#00000040);border:1px solid #e9c46ae6;border-radius:99px;justify-content:center;align-items:center;width:18px;height:18px;font:800 6.5px/1 Georgia,serif;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 0 4px #e9c46a59,inset 0 0 2px #0009}.lib-book .count{color:#fff0c8bf;font:700 8px/1 JetBrains Mono,monospace;position:absolute;top:3px;left:50%;transform:translate(-50%)}.lib-book.dim{opacity:.28;filter:grayscale(.6);pointer-events:none}.lib-desk{z-index:70;background:radial-gradient(70% 55% at 50% 30%,#ffc8781a,#0000 70%),linear-gradient(#08090ceb 0%,#08090ce0 55%,#2a1a0f 56%,#1d120a 100%);justify-content:center;align-items:center;padding:10px;animation:.35s both lib-fade;display:flex;position:fixed;inset:0}@keyframes lib-fade{0%{opacity:0}to{opacity:1}}.lib-desk .pen{opacity:.9;filter:drop-shadow(0 12px 10px #0009);pointer-events:none;width:220px;position:absolute;bottom:7%;right:4%;transform:rotate(-28deg)}.lib-desk .lamp{opacity:.55;pointer-events:none;width:160px;position:absolute;top:6%;left:5%}.lib-book-open{perspective:2400px;width:min(1180px,98vw);height:min(720px,92vh);transform-style:preserve-3d;animation:.7s cubic-bezier(.2,.8,.2,1) both lib-land;position:relative}@keyframes lib-land{0%{opacity:0;transform:translateY(40vh)scale(.22)rotateX(40deg)}60%{opacity:1}to{opacity:1;transform:none}}.lib-cover{transform-origin:0;background:linear-gradient(90deg, #ffffff1f, #fff0 20%), var(--spine);color:#f3dfa2;text-align:center;backface-visibility:hidden;z-index:3;border-radius:10px 16px 16px 10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;animation:1s cubic-bezier(.4,0,.2,1) .5s both lib-open;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 10px #0000002e,inset 0 0 0 12px #e9c46a59,0 30px 60px #0009}@keyframes lib-open{to{opacity:0;visibility:hidden;transform:rotateY(-180deg)}}.lib-seal{color:#f3dfa2;text-shadow:0 1px #000000b3;background:radial-gradient(circle at 40% 30%,#fff0c840,#0003);border:2px solid #e9c46ae6;border-radius:99px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:86px;height:86px;font-family:Georgia,serif;display:flex;box-shadow:0 0 0 4px #e9c46a40,0 0 18px #e9c46a59,inset 0 0 12px #00000080}.lib-seal b{letter-spacing:.12em;font-size:20px}.lib-seal small{letter-spacing:.22em;opacity:.9;font-size:6.5px}.lib-stamp{z-index:0;opacity:.7;letter-spacing:.25em;color:#8a7a5abf;pointer-events:none;border:1px solid #8a7a5a80;border-radius:4px;padding:3px 6px;font:700 8.5px/1 Georgia,serif;position:absolute;top:14px;right:16px;transform:rotate(-4deg)}.lib-page.left .lib-stamp{left:16px;right:auto;transform:rotate(3deg)}.lib-pages{color:#2a2017;background:linear-gradient(90deg,#efe6d2 0%,#d9ccb0 49%,#bfb08f 50%,#d9ccb0 51%,#efe6d2 100%);border-radius:10px;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0;box-shadow:0 30px 70px #000000b3,inset 0 0 0 1px #00000040}.lib-pages:after{content:"";z-index:-1;background:repeating-linear-gradient(90deg,#d8cdb3 0 1px,#efe6d2 1px 3px);border-radius:10px;position:absolute;inset:6px -8px -8px 6px;box-shadow:0 12px 30px #0000008c}.lib-page{isolation:isolate;flex-direction:column;min-height:0;padding:26px 30px 56px;display:flex;position:relative;overflow:hidden}.lib-page.left{border-radius:10px 0 0 10px;box-shadow:inset -30px 0 40px -30px #00000059}.lib-page.right{border-radius:0 10px 10px 0;box-shadow:inset 30px 0 40px -30px #00000059}.lib-page>*{z-index:1;position:relative}.lib-page>.lib-stamp{z-index:0}.lib-page .folio{color:#8a7a5a;font:600 11px/1 Georgia,serif;position:absolute;bottom:18px}.lib-page.left .folio{left:28px}.lib-page.right .folio{right:28px}.lib-page.flip-out{transform-origin:0;animation:.32s ease-in both lib-flip-out}.lib-page.flip-in{transform-origin:0;animation:.34s ease-out both lib-flip-in}.lib-page.left.flip-out,.lib-page.left.flip-in{transform-origin:100%}@keyframes lib-flip-out{to{filter:brightness(.7);transform:rotateY(-88deg)}}@keyframes lib-flip-in{0%{filter:brightness(.7);transform:rotateY(88deg)}to{transform:none}}.lib-rule{background:linear-gradient(90deg,#0000,#00000059,#0000);height:1px;margin:8px 0 10px}.lib-work{border-bottom:1px dotted #00000024;border-radius:8px;grid-template-columns:76px 1fr auto;align-items:center;gap:8px 10px;padding:6px;display:grid}.lib-work:hover{background:#0000000d}.lib-work.hl{background:#ffb13d38;box-shadow:inset 0 0 0 1px #e0890080}.lib-cat{color:#8a5a12;letter-spacing:.02em;font:700 11px/1.2 JetBrains Mono,monospace}.lib-title{color:#2a2017;font:600 13px/1.35 Georgia,Times New Roman,serif}.lib-meta{color:#6f6148;flex-wrap:wrap;gap:6px;margin-top:2px;font-size:10.5px;display:flex}.lib-meta .k{color:#3f5f8a;font-weight:700}.lib-meta .g{color:#6a3e8f}.lib-acts{align-items:center;gap:5px;display:flex}.lib-btn{cursor:pointer;color:#2a2017;background:#ffffff8c;border:1px solid #0003;border-radius:8px;justify-content:center;align-items:center;gap:3px;min-width:26px;height:26px;padding:0 6px;font-size:12px;transition:transform .12s,background .15s;display:inline-flex}.lib-btn:hover{background:#fff;transform:translateY(-1px)}.lib-btn.yt{color:#c4302b;font-weight:800}.lib-btn.wiki{color:#2d4a7a}.lib-cnt{font:800 11px/1 JetBrains Mono,monospace}.lib-cnt.c0{color:#8a7a5a;background:#ffffff80}.lib-cnt.c1{color:#1f6b2f;background:#bfe8c6;border-color:#7fcf90}.lib-cnt.c2{color:#155c25;background:#8fd99c;border-color:#5fbf72}.lib-cnt.c3{color:#0f4d1d;background:#5cc96e;border-color:#3fae54}.lib-cnt.c4{color:#fff;background:#2fb04a;border-color:#238a39}.lib-cnt.c5{color:#4a3000;background:linear-gradient(#ffd166,#e9a60f);border-color:#c98f06;box-shadow:0 0 10px #ffc85099}.lib-hum{color:#7b2cbf}.lib-hum.on{color:#fff;background:#c77dff;border-color:#9d4edd;box-shadow:0 0 10px #c77dff8c}.lib-chip{color:#4a3f2f;cursor:pointer;background:#ffffff73;border:1px solid #0003;border-radius:99px;padding:3px 9px;font-size:11px}.lib-chip.on{color:#f3dfa2;background:#2a2017;border-color:#2a2017}.lib-nav{z-index:4;align-items:center;gap:10px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.lib-nav button{white-space:nowrap;color:#f3dfa2;cursor:pointer;background:#2a2017;border:1px solid #0000004d;border-radius:10px;height:34px;padding:0 14px;font-size:13px;box-shadow:0 4px 10px #0006}.lib-nav button:disabled{opacity:.35;cursor:default}.lib-close{z-index:80;color:#fff;cursor:pointer;background:#00000080;border:1px solid #fff3;border-radius:99px;width:38px;height:38px;font-size:18px;position:absolute;top:12px;left:12px}.lib-scroll{scrollbar-width:thin;flex:1;min-height:0;padding-inline-end:4px;overflow-y:auto}@media (max-width:860px){.lib-pages{background:linear-gradient(#efe6d2,#e4d9c0);grid-template-columns:1fr}.lib-page.left{display:none}.lib-page.right{box-shadow:none;border-radius:10px;padding:18px 16px 56px}.lib-book-open{height:min(760px,94vh)}.lib-desk .pen,.lib-desk .lamp{display:none}.lib-desk{align-items:flex-start;padding-top:54px}.lib-work{grid-template-columns:64px 1fr;row-gap:4px}.lib-acts{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.lib-chip{padding:2px 7px;font-size:10px}.lib-title{font-size:12.5px}.lib-shelves{--book-h:150px;padding:12px 10px 6px}.lib-row{padding:0 6px}}.lib-hits{z-index:40;direction:rtl;background:linear-gradient(#fbf6ea,#f3ead6);border:1px solid #c9a96e73;border-radius:14px;max-height:min(60vh,440px);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 18px 40px #00000059,inset 0 1px #ffffffb3}.lib-hit{text-align:right;cursor:pointer;color:#2a2017;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;width:100%;padding:7px 10px;display:grid}.lib-hit:hover,.lib-hit:focus-visible{background:#ffffffbf;border-color:#c9a96e80;outline:none}.lib-hit-cat{color:#7a5a1e;white-space:nowrap;direction:ltr;background:#c9a96e38;border-radius:6px;padding:4px 6px;font:800 11px/1 JetBrains Mono,monospace}.lib-hit-title{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:ltr;min-width:0;font-size:12.5px;font-weight:700;overflow:hidden}.lib-hit-title em{color:#3f5f8a;font-style:normal;font-weight:600}.lib-hit-comp{white-space:nowrap;font-size:11px;font-weight:800}.lib-hit-cnt{border:1px solid #00000026;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;display:inline-flex}@media (max-width:860px){.lib-hit{grid-template-rows:auto auto;grid-template-columns:auto 1fr}.lib-hit-comp{grid-column:1/-1;justify-self:start}.lib-hit-cnt{display:none}}.lib-btn.play{color:#fff;background:linear-gradient(#3fbf5a,#228a3a);border-color:#1d7a33;font-weight:900}.lib-btn.play small{opacity:.9;margin-inline-start:2px;font-size:9px}.lib-btn.yt.official{color:#fff;background:linear-gradient(#e0463f,#b3221b);border-color:#8f1b15}.lib-player{z-index:70;left:50%;bottom:max(12px, env(safe-area-inset-bottom));color:#f3e9d2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#1c1814f7,#100e0cf7);border:1px solid #e9c46a59;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(960px,100vw - 24px);padding:10px 14px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px #0000008c,inset 0 1px #ffffff0f}.lib-pbtn{color:#f3e9d2;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:9px;justify-content:center;align-items:center;gap:4px;min-width:30px;height:30px;padding:0 8px;font-size:12px;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.lib-pbtn:hover:not(:disabled){background:#ffffff24;transform:translateY(-1px)}.lib-pbtn:disabled{opacity:.4;cursor:default}.lib-pbtn.big{color:#fff;background:linear-gradient(#3fbf5a,#228a3a);border-color:#1d7a33;border-radius:50%;min-width:46px;height:46px;font-size:16px}.lib-pbtn.on{background:#3fbf5a40;border-color:#3fbf5a}.lib-pinfo{min-width:0}.lib-ptitle{white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:12.5px;font-weight:700;overflow:hidden}.lib-ptitle b{color:#e9c46a;margin-inline-end:6px;font-family:JetBrains Mono,monospace;font-size:11px}.lib-ptitle em{color:#bfae8a;font-style:normal}.lib-pcomp{color:#bfae8a;font-size:11px}.lib-pseek{direction:ltr;align-items:center;gap:8px;margin-top:4px;display:flex}.lib-pseek input[type=range]{accent-color:#e9c46a;flex:1;height:4px}.lib-pnav{align-items:center;gap:6px;display:flex}.lib-yt{z-index:60;color:#f3e9d2;background:#0f0e0c;border:1px solid #e9c46a59;border-radius:14px;max-width:760px;margin:0 auto;position:absolute;inset:auto 16px 16px;overflow:hidden;box-shadow:0 20px 50px #0009}.lib-yt-head{background:#ffffff0a;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.lib-yt-frame{aspect-ratio:16/9;background:#000;width:100%;position:relative}.lib-yt-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (max-width:860px){.lib-player{grid-template-columns:auto 1fr;gap:8px;padding:8px 10px}.lib-pnav{grid-column:1/-1;justify-content:flex-end}.lib-yt{inset:auto 6px 6px}}.lib-hit-marks{align-items:center;gap:4px;display:inline-flex}.lib-hit-marks .lib-hit-cnt{cursor:pointer}.lib-hit-marks .lib-hum{color:#6a3e8f;background:#ffffff80}.lib-hit-marks .lib-hum.on{background:#c9a6ee;border-color:#8a5bc4}@media (max-width:860px){.lib-hit-marks,.lib-hit-marks .lib-hit-cnt{display:inline-flex}}.lib-btn.lib-note.on{background:#e2a83c38;border-color:#e2a83cb3}
