.lib-page{--navy:#010332;--blue:#0F73FF;--teal:#21DCBE;--ink:#0e1336;--ink-2:#3a4170;--ink-3:#6b7299;--line:#e6e8f2;--bg-soft:#f4f6fc;--bg-softer:#fafbff;--shadow-sm:0 1px 2px rgba(1,3,50,.06),0 2px 8px rgba(1,3,50,.04);--shadow-md:0 12px 32px -10px rgba(1,3,50,.18),0 4px 12px rgba(1,3,50,.06);--ease:cubic-bezier(.22,1,.36,1);background:var(--bg-softer)}.lib-page .wrap{max-width:1400px;margin:0 auto;padding:0 40px}.lib-page a{color:inherit;text-decoration:none}.lib-page img{display:block;max-width:100%}.lib-hero{background:radial-gradient(700px 360px at 84% 12%,rgba(33,220,190,.16),transparent 60%),radial-gradient(680px 360px at 10% 92%,rgba(15,115,255,.22),transparent 60%),linear-gradient(135deg,#010332,#060a4a 60%,#0a1163);color:#fff;padding:54px 0 46px}.lib-crumbs{font-size:13px;color:#fff9;display:flex;gap:8px;align-items:center;margin-bottom:18px}.lib-crumbs a:hover{color:#fff}.lib-crumbs .cur{color:#ffffffe6}.lib-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading,"Montserrat");font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}.lib-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #21dcbe2e}.lib-hero h1{color:#fff;font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.lib-hero p{color:#ffffffc7;font-size:16px;line-height:1.6;max-width:680px;margin:0}.lib-hero strong{color:#fff}.lib-toolbar{position:sticky;top:0;z-index:40;background:#fffffff5;backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--line);padding:14px 0}.lib-toolbar-inner{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lib-search{display:flex;align-items:center;gap:8px;flex:1 1 280px;min-width:220px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:9px 16px}.lib-search svg{width:16px;height:16px;color:var(--ink-3);flex:none}.lib-search input{border:0;background:transparent;outline:none;font:inherit;font-size:14px;width:100%;color:var(--ink)}.lib-filters{display:flex;gap:8px;flex-wrap:wrap}.lib-fdrop{position:relative}.lib-fdrop>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:13.5px;font-weight:700;color:var(--ink-2);white-space:nowrap}.lib-fdrop>summary::-webkit-details-marker{display:none}.lib-fdrop>summary:hover{border-color:var(--blue);color:var(--navy)}.lib-fdrop[open]>summary{border-color:var(--blue);color:var(--navy)}.lib-fdrop .chev{width:13px;height:13px;transition:transform .2s}.lib-fdrop[open] .chev{transform:rotate(180deg)}.lib-fdrop .cnt{color:var(--blue);font-size:12px}.lib-fpanel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:240px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:8px}.lib-fnone{color:var(--ink-3);font-size:13px;padding:8px 10px;margin:0}.lib-fopt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13.5px}.lib-fopt:hover{background:var(--bg-soft)}.lib-fopt input{position:absolute;opacity:0;width:0;height:0}.lib-fopt .box{width:18px;height:18px;border:1.5px solid var(--line);border-radius:5px;display:grid;place-items:center;flex:none;transition:all .15s}.lib-fopt .box svg{width:11px;height:11px;color:#fff;opacity:0}.lib-fopt input:checked+.box{background:var(--blue);border-color:var(--blue)}.lib-fopt input:checked+.box svg{opacity:1}.lib-fopt .lbl{flex:1;color:var(--ink)}.lib-fopt .num{color:var(--ink-3);font-size:12px}.lib-sort{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink-2)}.lib-sort select{font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;color:var(--navy);cursor:pointer}.lib-activebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.lib-result-count{font-size:13px;color:var(--ink-3);font-weight:700}.lib-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1}.lib-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:5px 6px 5px 12px;font-size:12.5px;font-weight:600;color:var(--ink-2)}.lib-chip button{border:0;background:#01033214;width:18px;height:18px;border-radius:50%;cursor:pointer;line-height:1;color:var(--ink-2)}.lib-chip button:hover{background:var(--blue);color:#fff}.lib-clear{border:0;background:none;color:var(--blue);font-weight:700;font-size:13px;cursor:pointer}.lib-grid-wrap{padding:38px 0 80px}.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lib-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}.lib-card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:var(--shadow-md)}.lib-banner{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy);display:block}.lib-banner img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.lib-card:hover .lib-banner img{transform:scale(1.06)}.lib-ph{position:absolute;inset:0;display:grid;place-items:center;color:#ffffff80;background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 1px,transparent 1px 22px),linear-gradient(135deg,#010332,#0a1163);font-family:var(--font-heading,"Montserrat");font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.lib-type{position:absolute;top:12px;left:12px;background:#010332c7;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px}.lib-replay{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:5px;background:var(--blue);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px}.lib-replay svg{width:10px;height:10px}.lib-datechip{position:absolute;bottom:12px;left:12px;background:#fff;border-radius:10px;padding:6px 10px;text-align:center;line-height:1;box-shadow:var(--shadow-sm)}.lib-datechip .d{display:block;font-size:16px;font-weight:800;color:var(--navy);letter-spacing:-.02em}.lib-datechip .m{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-top:2px}.lib-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}.lib-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--ink-3);font-size:11.5px;font-weight:600;margin-bottom:9px}.lib-meta span{display:inline-flex;align-items:center;gap:5px}.lib-meta svg{width:12px;height:12px}.lib-body h3{margin:0 0 7px;font-size:15px;font-weight:800;color:var(--navy);line-height:1.3;letter-spacing:-.01em}.lib-body h3 a:hover{color:var(--blue)}.lib-body p{margin:0 0 14px;color:var(--ink-2);font-size:12.5px;line-height:1.55}.lib-foot{margin-top:auto}.lib-cta{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:800;font-size:13px}.lib-cta svg{width:13px;height:13px;transition:transform .2s var(--ease)}.lib-card:hover .lib-cta svg{transform:translate(4px)}.lib-empty{text-align:center;padding:70px 20px}.lib-empty .icn{width:56px;height:56px;border-radius:50%;background:var(--bg-soft);display:grid;place-items:center;margin:0 auto 18px;color:var(--ink-3)}.lib-empty .icn svg{width:24px;height:24px}.lib-empty h3{margin:0 0 8px;color:var(--navy);font-size:20px;font-weight:800}.lib-empty p{margin:0 0 20px;color:var(--ink-2)}.lib-page .btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border-radius:999px;font-weight:700;font-size:14px;border:1.5px solid transparent;cursor:pointer}.lib-page .btn-primary{background:var(--blue);color:#fff}.lib-page .btn-primary:hover{background:var(--navy)}@media(max-width:1024px){.lib-grid{grid-template-columns:repeat(2,1fr)}.lib-page .wrap{padding:0 24px}}@media(max-width:680px){.lib-grid{grid-template-columns:1fr}.lib-toolbar-inner{flex-direction:column;align-items:stretch}.lib-filters{overflow-x:auto}}
