/* Maintained CSS reproducing the surviving site's black/lime/magenta identity. */
:root { color-scheme: light; --green:#3fff3f; --pink:#c400a5; --link-color:var(--pink); }
* { box-sizing:border-box; }
body { margin:0; background:#efefef; color:#222; font:16px/1.5 Arial, sans-serif; }
a { color:var(--link-color); text-decoration:none; }
a:hover { text-decoration:underline; }
button, input { font:inherit; }
button { cursor:pointer; }
img { max-width:100%; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #aa0092; outline-offset:4px; }
.visually-hidden, .skip:not(:focus) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip:focus { position:fixed; top:0; left:0; padding:12px; background:white; z-index:10; }
.brand { font-family:FilmotypeGinger, Impact, sans-serif; font-weight:normal; font-size:44px; line-height:1; letter-spacing:2px; color:var(--green); }
.brand img { object-fit:contain; height:auto; width:280px; display:block; }
.section-title { grid-column:1/-1; }
.editorial-block { grid-column:1/-1; margin:20px 0; }
.editorial-block h2, .editorial-block h3 { font-size:30px; font-weight:normal; }
.site-header { padding:12px 24px 18px; background:#000; color:#eee; }
.header-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-header h1 { margin:24px 0 0; text-align:center; font-size:clamp(26px, 4vw, 42px); font-weight:normal; line-height:1.2; }
.collections-nav { color:var(--green); line-height:1.9; }
.collections-nav a { color:#ff63e7; display:inline-block; padding:0 7px; }
.collections-nav a + a { border-left:1px solid #277727; }
.collections-nav span { display:inline-block; min-width:70px; }
.collection { max-width:1320px; margin:0 auto; padding:20px 30px 60px; }
.collection.best-of { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:0 40px; max-width:1160px; }
.best-of .collection-intro { grid-column:1/-1; }
.collection-outro { grid-column:1/-1; margin-top:30px; }
.best-of .filters { grid-column:2; grid-row:2; flex-direction:column; align-items:start; align-self:start; gap:2px; }
.best-of .video-grid { grid-column:1; grid-row:2; }
.collection.best-of:not(:has(.filters)) { grid-template-columns:minmax(0,1fr); max-width:1000px; }
.collection-intro { max-width:1050px; margin:0 auto 25px; }
.collection-intro:empty { display:none; }
.collection-intro p { font-size:20px; }
.filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 28px; padding:10px 14px; border-left:3px solid #00bd00; }
.filters button { border:0; background:transparent; color:var(--pink); padding:6px 10px; }
.filters button[aria-pressed=true] { background:#222; color:var(--green); }
.video-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:32px 22px; }
.video-card { min-width:0; }
.thumbnail { aspect-ratio:4/3; display:block; position:relative; background:linear-gradient(145deg,#262626,#535353); box-shadow:1px 3px 8px #999; overflow:hidden; }
.thumbnail img { width:100%; height:100%; object-fit:cover; display:block; }
.thumbnail-placeholder { position:absolute; inset:0; display:flex; justify-content:center; align-items:center; padding:10px 8px; color:#bbb; font-size:11px; background:#333; }
.thumbnail:has(img:not([hidden])) .thumbnail-placeholder { display:none; }
.video-card h3 { color:#222; font-size:15px; font-weight:normal; line-height:1.3; margin:9px 0; }
.video-card a:hover h3 { color:var(--pink); }
.video-card .editorial { display:none; }
.editorial dl { margin:0; }
.editorial dd { margin:0 0 12px; }
.editorial dd > span { font-weight:bold; }
.top-ten .video-grid { display:block; max-width:1024px; margin:auto; }
.top-ten .video-card { margin:0 auto 75px; }
.top-ten .thumbnail { aspect-ratio:auto; width:fit-content; max-width:100%; background:transparent; box-shadow:none; }
.top-ten .thumbnail img { width:auto; height:auto; max-width:100%; object-fit:contain; }
.top-ten .thumbnail-missing .thumbnail, .top-ten .thumbnail.thumbnail-missing { width:240px; aspect-ratio:16/9; background:linear-gradient(145deg,#262626,#535353); }
.top-ten .thumbnail.no-preview { width:240px; aspect-ratio:16/9; }
.top-ten .video-card h3 { font-size:26px; }
.top-ten .editorial { display:block; padding:0 20px 20px; border-left:1px solid #444; border-bottom:1px solid #444; }
.top-ten .editorial p { margin:8px 0; }
.site-footer { background:#111; color:#aaa; padding:24px; font-size:13px; text-align:center; }
.site-footer a { color:#ff63e7; }
body.home { background:#000; color:#ccc; }
.home-layout { display:grid; grid-template-columns:5fr 7fr; min-height:85vh; }
#cover { padding:15px 8px; }
#cover .brand { margin:0 0 24px; }
#cover .brand img { width:100px; height:auto; }
#cover .collections-nav { font-size:16px; }
#cover .collections-nav a { padding:0 4px; }
.archive-feature { min-width:0; padding:10px 18px 40px 10px; }
.archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 20px; }
.archive-grid .video-card { min-width:0; }
.archive-grid h3 { color:#aaa; font-size:14px; font-weight:normal; line-height:1.4; margin:8px 0 0; }
.archive-grid .thumbnail { aspect-ratio:16/9; box-shadow:none; background:none; }
#gallery-pagination { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:36px 0 0; font-size:13px; }
#gallery-pagination a { color:#bbb; }
#gallery-pagination a[aria-disabled=true] { color:#555; pointer-events:none; }
#gallery-page { color:#888; }
.video-date { margin:6px 0; font-size:12px; color:#aaa; }
dialog { --link-color:#ff7bea; width:min(1000px,95vw); max-height:94vh; border:1px solid #999; background:#222; color:#ddd; padding:20px; }
dialog::backdrop { background:#000d; }
dialog a { color:var(--link-color); }
.player-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:15px; }
.player-heading h2 { margin:0; font-size:21px; }
#player-close { flex-shrink:0; width:40px; height:40px; min-height:40px; padding:12px; margin:-8px -8px 0 0; color:#bbb; }
#player-frame:has(iframe) { aspect-ratio:16/9; }
#player-frame iframe { border:0; width:100%; height:100%; display:block; }
#player-status { font-size:14px; }
.player-navigation { display:flex; justify-content:space-between; gap:12px; margin:8px 0; }

.share-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:8px 0 14px; }
#player-link { flex:1; min-width:180px; max-width:100%; padding:9px; }
#copy-status { font-size:12px; color:#aaa; }
.about-page { max-width:800px; margin:60px auto; padding:0 24px; min-height:50vh; }
.about-page h1 { font-size:36px; font-weight:normal; }
.about-page p { font-size:20px; line-height:1.7; }
.player-open { overflow:hidden; }
.error-page { max-width:800px; margin:80px auto; padding:20px; min-height:50vh; }
@media(max-width:1000px) { .header-row { flex-direction:column; gap:14px; } #cover .brand { max-width:none; font-size:50px; } .collection.best-of { display:block; } .best-of .filters { flex-direction:row; align-items:center; gap:8px; } }
@media(max-width:600px) { .brand { font-size:34px; } .site-header { padding:14px; } .collections-nav { font-size:14px; } .collections-nav a { padding:4px; } .collection { padding:20px 16px 40px; } .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; } .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .top-ten .video-card h3 { font-size:21px; } dialog { padding:14px; } }
@media(max-width:1023px) { .home-layout { display:block; } #cover .brand { margin-bottom:16px; } #cover .brand img { width:280px; height:auto; } .archive-feature { padding:12px 20px 40px; } .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .archive-grid { grid-template-columns:minmax(0,1fr); gap:34px; } .archive-grid h3 { font-size:16px; } #cover .collections-nav { font-size:14px; } #cover .collections-nav span { min-width:58px; } #cover .collections-nav a { padding:0 3px; } .brand img { width:280px; max-width:100%; height:auto; } }

.site-icon { display:inline-block; width:1em; height:1em; fill:currentColor; flex-shrink:0; vertical-align:-.12em; }
.play-cue { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:40px; height:40px; color:#fff; opacity:0; pointer-events:none; filter:drop-shadow(0 1px 3px #000b); }
.play-cue .site-icon { display:block; width:100%; height:100%; }
.video-link:hover .play-cue, .video-link:focus-visible .play-cue { opacity:.9; }
@media(hover:none), (pointer:coarse) { .play-cue { opacity:.6; } }
dialog .player-action { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:5px 0; color:var(--link-color); font:inherit; font-size:13px; font-weight:400; line-height:1.4; text-decoration:none; background:none; border:0; border-radius:0; box-shadow:none; }
dialog .player-action:hover { color:#ff8aeb; text-decoration:underline; }
dialog .player-action:focus-visible { outline:1px solid var(--green); outline-offset:2px; }
dialog .player-action:disabled { color:#777; cursor:default; text-decoration:none; }
.player-source-row { margin:6px 0; }
#player-close.player-action { width:40px; height:40px; min-height:40px; padding:12px; color:#bbb; }
#player-close:hover { color:#fff; }
@media(max-width:600px) { .site-header .collections-nav span { min-width:58px; } .site-header .collections-nav a { padding:2px; } }
/* Original Best Of text filters: lime rule, magenta links, no panels/selects. */
body.home #cover .gallery-filters { margin:26px 0 28px; padding:0 0 0 12px; border-left:3px solid #3fff3f; max-width:30em; }
.gallery-filter-label { margin:0 5px 4px 0; color:#bbb; font-size:15px; font-weight:bold; }
.gallery-filters ul { list-style:none; margin:0; padding:0; }
.gallery-filters button { border:0; border-radius:0; background:transparent; color:#ff3dff; padding:2px 3px; font:inherit; font-size:15px; line-height:24px; text-align:left; cursor:pointer; }
.gallery-filters button:hover { text-decoration:underline; }
.gallery-filters button[aria-pressed="true"] { color:#3fff3f; background:#000; text-decoration:none; }
.gallery-filter-style li { display:block; }
#gallery-reset { margin-bottom:10px; text-decoration:underline; }
.gallery-heading { border-bottom:1px solid #3fff3f; margin:0 0 20px; padding:0 0 10px; }
.gallery-heading h2 { color:#3fff3f; font-size:16px; font-weight:normal; margin:0; }
@media(max-width:1023px) {
  body.home #cover .gallery-filters { max-width:none; margin:20px 0 8px; padding-left:0; border-left:0; }
  .gallery-filter-label { display:inline; }
  .gallery-filters ul { display:inline; }
  .gallery-filter-style li { display:inline-block; }
  .gallery-filter-style li:not(:last-child)::after { content:' - '; color:#777; }
  .gallery-filters button { padding:4px 3px; font-size:14px; }
}
/* Secondary annual links reuse the existing archive presentation. */
.hub-intro { color:#aaa; font-size:13px; margin:0 0 22px; }
.annual-editions-jump { margin:-8px 0 18px; font-size:13px; }
.annual-editions-jump a { color:#aaa; }
.annual-editions { margin:36px 0 12px; padding-top:18px; border-top:1px solid #333; }
.annual-editions h2 { color:#aaa; font-size:14px; font-weight:normal; margin:0 0 10px; }
.annual-editions ul { display:flex; flex-wrap:wrap; gap:10px 18px; list-style:none; padding:0; margin:0; }
.annual-editions a { font-size:13px; color:#d488cc; }
/* Shared collection/editorial presentation; no per-year rules. */
.editorial-content .editorial-paragraph { margin:8px 0; }
.editorial-description { line-height:1.5; }
.editorial-credits { margin-top:1.2em; font-size:80%; line-height:1.3; }
.editorial-credits .editorial-paragraph { margin:.9em 0; }
.editorial-credits .editorial-paragraph > span:first-child { font-weight:bold; }
.editorial-occurrence + .editorial-occurrence { margin-top:28px; padding-top:18px; border-top:1px solid #555; }
.editorial-provenance { margin:0 0 14px; }
.editorial-section { font-size:.9em; }
.collection-standard.top-ten .video-grid { width:100%; max-width:1024px; margin:0 auto; }
.collection-standard.top-ten .video-card { width:100%; margin:0 auto 80px; }
.collection-standard.top-ten .thumbnail { display:block; width:100%; max-width:1024px; aspect-ratio:auto; background:transparent; box-shadow:none; }
.collection-standard.top-ten .thumbnail img { display:block; width:100%; height:auto; object-fit:contain; }
.collection-standard.top-ten .thumbnail.no-preview, .collection-standard.top-ten .thumbnail.thumbnail-missing { width:100%; aspect-ratio:16/9; background:#333; }
.collection-standard.top-ten .video-card h3 { font-size:2em; line-height:1.2; margin:.5em 0; }
.collection-standard.top-ten .editorial { display:block; padding:0 20px 20px; border-left:1px solid #444; border-bottom:1px solid #444; }
.collection-section { font-size:30px; font-weight:normal; margin:24px 0 16px; }
@media(max-width:640px) {
  .collection-standard.top-ten .video-card h3 { font-size:1.4em; }
  .collection-standard.top-ten .editorial { padding:0 2% 2%; border:0; }
}
