:root{--bg:#0A0F1E;--text:#FFFFFF;--surface:#121B33;--muted:#B9C3D6;--primary:#7BDDCF;
--secondary:#E8C478;--accent:#F5C542;--link:#7BDDCF}
*{box-sizing:border-box}
img{max-width:100%;height:auto}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Avenir Next', Avenir, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:1.0625rem;line-height:1.6}
h1,h2,h3{font-family:'Avenir Next', Avenir, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:700}
h2{font-size:1.4rem;color:var(--secondary);margin-top:1.75em}
h3{font-size:1.1rem;margin-top:1.25em}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#111;padding:.5em 1em;z-index:10}
.skip:focus{left:1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
header.site{border-bottom:3px solid var(--primary);background:var(--surface)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1em;min-height:72px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.75em;text-decoration:none;color:var(--text);font-family:'Avenir Next', Avenir, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
font-weight:700;font-size:1.2rem}
.brand img{width:48px;height:48px;border-radius:50%}
nav.top ul{list-style:none;display:flex;gap:1.25em;margin:0;padding:0;flex-wrap:wrap}
nav.top a{color:var(--text);text-decoration:none;font-weight:600}
nav.top a:hover,nav.top a[aria-current]{color:var(--primary);text-decoration:underline}
main{padding:28px 0 56px}
.hero{padding:12px 0 8px}
.hero p{color:var(--muted);max-width:60ch;font-size:1.15rem}
.btn{display:inline-block;background:var(--accent);color:#111;font-weight:700;text-decoration:none;
padding:.65em 1.2em;border-radius:999px;margin:.25em .5em .25em 0}
.btn.alt{background:transparent;color:var(--text);border:2px solid var(--primary)}
.tools{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1em;margin:1.5em 0 1em}
.tools label{display:block;font-weight:600;margin-bottom:.25em}
.tools input{font:inherit;padding:.5em .75em;border-radius:8px;border:2px solid var(--primary);background:var(--surface);
color:var(--text);width:min(360px,100%)}
.count{color:var(--muted);margin:0}
ul.grid{list-style:none;padding:0;margin:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
ul.grid>li,ul.tiles>li{min-width:0;margin:0}
.card a{display:block;height:100%;background:var(--surface);border-radius:12px;overflow:hidden;text-decoration:none;
color:var(--text);border:1px solid rgba(123,221,207,.18)}
.card a:hover{border-color:var(--primary)}
.card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#000}
.card .t{overflow-wrap:anywhere;padding:12px 14px 4px;font-weight:700;font-size:1.02rem;line-height:1.3;margin:0;color:var(--text)}
.card .m{padding:0 14px 14px;color:var(--muted);font-size:.9rem;margin:0}
.crumbs{font-size:.95rem;margin-bottom:1em}
.meta{color:var(--muted);margin:.25em 0 1em}
.player{position:relative;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;
border:2px solid var(--primary)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film{display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.film{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
.film .text p{max-width:70ch}
ol.chapters{list-style:none;padding:0;margin:0}
ol.chapters li{border-bottom:1px solid rgba(255,255,255,.1)}
ol.chapters a{display:flex;gap:.75em;padding:.45em 0;text-decoration:none;color:var(--text)}
ol.chapters a:hover span{text-decoration:underline}
ol.chapters time{color:var(--accent);font-variant-numeric:tabular-nums;min-width:3.6em;font-weight:700}
.topics{display:flex;flex-wrap:wrap;gap:.5em;list-style:none;padding:0;margin:.5em 0 0}
.topics li{border:1px solid var(--secondary);color:var(--secondary);border-radius:999px;padding:.1em .7em;font-size:.85rem}
.sources{background:var(--surface);border-radius:12px;padding:4px 20px 12px;margin-top:2em;overflow-wrap:anywhere}
.sources ul{padding-left:1.2em}
.sources li{margin:.3em 0}
footer.site{border-top:1px solid rgba(255,255,255,.12);color:var(--muted);font-size:.95rem;padding:24px 0 40px}
footer.site a{color:var(--text)}
.prose{max-width:70ch}
nav.jump{margin:0 0 1.5em}
nav.jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5em}
nav.jump a{display:inline-block;border:1px solid var(--primary);border-radius:999px;padding:.3em .8em;color:var(--text);
text-decoration:none;font-size:.92rem;font-weight:600}
nav.jump a:hover{background:var(--primary);color:var(--bg)}
nav.jump a.all{border-color:var(--accent)}
nav.jump .n{color:var(--muted);font-weight:400;margin-left:.2em}
nav.jump a:hover .n{color:inherit}
@media (max-width:600px){nav.jump ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5em;-webkit-overflow-scrolling:touch}
nav.jump li{flex:0 0 auto}}
section.pl{margin:0 0 2.5em;scroll-margin-top:12px}
.plhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25em 1em;margin:0 0 .75em}
.plhead h2{margin:0}
.plhead h2 a{color:var(--secondary);text-decoration:none}
.plhead h2 a:hover{text-decoration:underline}
.seeall{margin:.75em 0 0;font-weight:700}
#results h2{margin-top:0}
.topics.pls a{color:var(--secondary);text-decoration:none}
.topics.pls a:hover{text-decoration:underline}
ul.tiles{list-style:none;padding:0;margin:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.tile a{display:flex;flex-direction:column;height:100%;background:var(--surface);border-radius:12px;overflow:hidden;
text-decoration:none;color:var(--text);border:1px solid rgba(123,221,207,.18)}
.tile a:hover{border-color:var(--primary)}
.tile img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#000}
.tile .t{overflow-wrap:anywhere;padding:14px 16px 2px;font-size:1.2rem;line-height:1.25;margin:0;color:var(--secondary)}
.tile .n{padding:0 16px;margin:0;font-weight:700;color:var(--text)}
.tile .d{padding:2px 16px 16px;margin:0;color:var(--muted);font-size:.9rem}
.tile.more a{border-style:dashed}
.tile.bare .t{padding:12px 16px 14px}
.hint{color:var(--muted);margin:1.5em 0 0}
.film .text,.film-page h1,.crumbs{overflow-wrap:anywhere}
@media (max-width:600px){ul.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tile .t{font-size:.95rem;padding:8px 10px 0}.tile.bare .t{padding:8px 10px 10px}.tile .n{font-size:.85rem;padding:0 10px}
.tile .d{font-size:.78rem;padding:2px 10px 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero p{font-size:1.02rem}h2{font-size:1.25rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
