@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Libre+Baskerville:wght@400;700&display=swap");:root{--bg:#0c1422;--panel:#111c2d;--panel2:#172439;--ink:#f8f1e5;--muted:#aab6c8;--line:#334155;--accent:#ff5964;--teal:#35b7b4;--paper:#fffaf0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 1px 1px,#243149 1px,transparent 1px) 0 0/16px 16px,var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif}.topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px clamp(16px,4vw,54px);border-bottom:1px solid var(--line);background:#0c1422e8;backdrop-filter:blur(16px)}a{color:inherit}.brand{font:700 1.05rem "Libre Baskerville",serif;text-decoration:none}.topbar nav{display:flex;gap:16px}.topbar nav a{font-size:.85rem;font-weight:700}.library-shell{width:min(1520px,calc(100% - 34px));margin:auto;padding:38px 0 80px}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:38px;align-items:stretch;border-bottom:5px solid var(--ink);padding-bottom:34px}.kicker{margin:0 0 10px;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800}.hero h1{margin:0;max-width:11ch;font:700 clamp(3rem,7vw,7rem)/.92 "Libre Baskerville",serif;letter-spacing:-.055em}.hero p:not(.kicker){max-width:64ch;color:var(--muted);font-size:1.05rem;line-height:1.7}.hero figure{position:relative;margin:0;min-height:360px;border:1px solid #e9dfcf;border-radius:14px;overflow:hidden;box-shadow:0 18px 0 #060b12}.hero img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06)}.hero figcaption{position:absolute;left:16px;right:16px;bottom:14px;border-top:1px solid #fff9;padding-top:8px;font-size:.7rem;font-weight:800;text-transform:uppercase}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero-actions button,.hero-actions a,.filters button,.load-more{min-height:46px;border:1px solid var(--ink);border-radius:9px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#111827;font-weight:800;text-decoration:none}.hero-actions a{background:transparent;color:var(--ink)}.source-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}.source-summary article{border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:10px;background:var(--panel);padding:18px}.source-summary strong{display:block;font:700 2rem "Libre Baskerville",serif}.source-summary span,.source-summary p{color:var(--muted);font-size:.8rem}.library-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;align-items:start}.filters{position:sticky;top:76px;border:1px solid var(--line);border-top:8px solid var(--accent);border-radius:12px;background:var(--panel);padding:22px}.filters h2{font:700 1.7rem "Libre Baskerville",serif;margin:0 0 18px}.filters label{display:grid;gap:6px;margin:0 0 14px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.filters select,.filters input{min-height:46px;width:100%;border:1px solid var(--line);border-radius:8px;background:#0d1726;color:var(--ink);padding:0 12px;font:inherit;text-transform:none;letter-spacing:0}.filters button{width:100%;margin-top:7px;background:var(--ink)}.filters .ghost{background:transparent;color:var(--ink)}.pdf-links{display:grid;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.pdf-links a{font-size:.8rem;color:#8bd5ff}.results-head{display:flex;justify-content:space-between;gap:18px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:15px}.results h2{margin:0;font:700 clamp(2rem,4vw,4rem) "Libre Baskerville",serif}.stats{color:var(--muted);font-size:.85rem}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.qcard{display:flex;flex-direction:column;border:1px solid var(--line);border-top:7px solid var(--qaccent,var(--teal));border-radius:10px;background:var(--panel);padding:18px;box-shadow:0 9px 0 #060b1244}.qmeta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.qcard h3{font:700 1.15rem/1.3 "Libre Baskerville",serif;margin:14px 0}.options{display:grid;gap:8px}.option{border:1px solid var(--line);border-radius:8px;padding:10px;background:#0c1625;color:#dce5f0;font-size:.86rem}.qcard.revealed .option.correct{border-color:#4ade80;background:#143623}.answer{display:none;margin-top:14px;border-left:4px solid #4ade80;background:#0d1a22;padding:12px;color:#dce5f0;font-size:.85rem;line-height:1.55}.qcard.revealed .answer{display:block}.qactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}.qactions button,.qactions a{min-height:36px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);padding:0 12px;font-weight:800;text-decoration:none;font-size:.75rem;display:inline-flex;align-items:center}.qactions button:hover,.qactions a:hover{background:var(--qaccent);color:#07101b}.load-more{width:100%;margin-top:22px;background:transparent;color:var(--ink)}dialog{width:min(760px,calc(100% - 24px));border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);padding:0;box-shadow:0 30px 90px #0009}dialog::backdrop{background:#020617cc}.quiz-dialog{position:relative;padding:28px}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:var(--ink);font-size:2rem}.quiz-choice{display:block;width:100%;text-align:left;margin:9px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#0d1726;color:var(--ink)}.quiz-choice.correct{border-color:#4ade80}.quiz-choice.wrong{border-color:#fb7185}.quiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.quiz-nav button{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 16px;font-weight:800}.empty{grid-column:1/-1;border:1px dashed var(--line);padding:32px;text-align:center;color:var(--muted)}@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero figure{min-height:320px}.library-grid{grid-template-columns:1fr}.filters{position:static}.cards{grid-template-columns:1fr}.source-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.library-shell{width:calc(100% - 20px);padding-top:20px}.topbar{align-items:flex-start;flex-direction:column}.hero h1{font-size:2.8rem}.source-summary{grid-template-columns:1fr}.results-head{align-items:flex-start;flex-direction:column}.topbar nav{overflow:auto;width:100%}}

/* Unified premium scroll system */
:root{--scroll-track:rgba(15,23,42,.32);--scroll-thumb-1:#22d3ee;--scroll-thumb-2:#8b5cf6;--scroll-thumb-3:#34d399}
html{scrollbar-gutter:stable;scroll-behavior:smooth;overflow-x:hidden}
body,#root,main{max-width:100%;overflow-x:hidden}
*{scrollbar-width:thin!important;scrollbar-color:var(--scroll-thumb-1) var(--scroll-track)!important}
*::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}
*::-webkit-scrollbar-track{background:var(--scroll-track)!important;border-radius:999px!important;box-shadow:inset 0 0 0 1px rgba(148,163,184,.08)!important}
*::-webkit-scrollbar-thumb{min-height:52px;background:linear-gradient(180deg,var(--scroll-thumb-1),var(--scroll-thumb-2) 58%,var(--scroll-thumb-3))!important;border:3px solid transparent!important;background-clip:padding-box!important;border-radius:999px!important;box-shadow:0 0 16px rgba(34,211,238,.2)!important}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#67e8f9,#a78bfa 56%,#6ee7b7)!important;background-clip:padding-box!important}
*::-webkit-scrollbar-corner{background:transparent!important}
iframe{max-width:100%;border:0}
@media(max-width:1180px){header nav>div:nth-child(2){display:none!important}[data-testid="button-mobile-menu"]{display:inline-flex!important}.container{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important}section,article,div{min-width:0}}
@media(max-width:760px){*::-webkit-scrollbar{width:8px!important;height:8px!important}html{scrollbar-gutter:auto}.container{padding-left:12px!important;padding-right:12px!important}}
