/* R12: an authored editorial introduction within the existing Worlds shelf. */
body[data-category=worlds] .shelf-heading>p{max-width:48ch}
#worlds-editorial{max-width:1280px;margin:0 auto}
#worlds-editorial[hidden],#worlds-future[hidden]{display:none}
.worlds-feature{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:clamp(28px,4vw,64px);align-items:start;margin-bottom:64px}
.worlds-cinema{min-width:0;background:#080808}
.worlds-film{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}
.worlds-film-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--finish-line);min-height:54px}
.worlds-film-caption>span{font-size:9px;letter-spacing:.12em;color:var(--finish-muted)}
.worlds-film-caption>span span{padding:0 8px}
.worlds-film-toggle{min-height:44px;padding:6px 0 6px 12px;font-size:12px;color:var(--finish-ink);white-space:nowrap}
.worlds-film-status{font-size:12px;line-height:1.6;color:var(--finish-muted);margin:8px 0 0}
.worlds-film-status:empty{display:none}
.worlds-editorial-copy>.micro{display:block;font-size:9px;letter-spacing:.13em;color:var(--finish-muted)}
.worlds-editorial-copy h2{font-size:clamp(30px,3.5vw,54px);font-weight:380;letter-spacing:-.045em;line-height:1.04;margin:17px 0}
.worlds-editorial-copy>p{font-size:13px;line-height:1.65;color:var(--finish-muted);margin:0 0 22px}
.worlds-paths{border-top:1px solid var(--finish-line)}
.worlds-paths button{display:grid;grid-template-columns:52px 1fr 20px;gap:5px 12px;width:100%;text-align:left;align-items:center;padding:15px 0;min-height:74px;border-bottom:1px solid var(--finish-line)}
.worlds-path-kind{grid-row:1/3;font-size:9px;letter-spacing:.1em;color:var(--finish-muted)}
.worlds-paths strong{font-size:16px;line-height:1.25;font-weight:420;letter-spacing:-.02em}
.worlds-path-note{grid-column:2;font-size:11px;line-height:1.4;color:var(--finish-muted)}
.worlds-path-arrow{grid-column:3;grid-row:1/3;color:var(--finish-muted);transition:transform .2s ease,color .2s ease}
.worlds-paths button:hover .worlds-path-arrow{transform:translate(3px,-3px);color:var(--finish-ink)}
.worlds-catalogue-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px;border-top:1px solid var(--finish-line);padding-top:23px}
.worlds-catalogue-heading h2{font-size:22px;font-weight:400;letter-spacing:-.025em;margin:0}
.worlds-catalogue-heading p{font-size:11px;line-height:1.6;color:var(--finish-muted);margin:0}
.worlds-catalogue-heading p span{padding-left:12px}
/* These are catalogue records, not invented album covers or finished games. */
.shelf-ui #shelf-grid[data-category=worlds]{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.shelf-ui #shelf-grid[data-category=worlds] .shelf-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;border-top:1px solid var(--finish-line);padding:24px 0;align-items:start}
.shelf-ui #shelf-grid[data-category=worlds] .shelf-window{width:112px;height:112px;aspect-ratio:1;border:0}
.shelf-ui #shelf-grid[data-category=worlds] .shelf-card-text{border:0;padding:0;gap:7px;grid-template-rows:auto auto auto auto}
.shelf-ui #shelf-grid[data-category=worlds] .shelf-card-text strong{font-size:20px}
.shelf-ui #shelf-grid[data-category=worlds] .shelf-line{font-size:12px}
.shelf-ui #shelf-grid[data-category=worlds] .shelf-price{font-size:11px;color:var(--finish-muted)}
.worlds-type-mark{display:flex!important;flex-direction:column;justify-content:space-between;padding:13px 0;border-block:1px solid var(--finish-line)!important;color:var(--finish-muted);font-size:9px;line-height:1.5;letter-spacing:.08em}
.worlds-type-mark b{font-size:30px;letter-spacing:-.05em;font-weight:350;color:var(--finish-ink)}
#worlds-future{max-width:1280px;margin:48px auto 0;padding:26px 0 0;border-top:1px solid var(--finish-line);display:flex;justify-content:space-between;gap:24px}
#worlds-future h2{font-size:20px;font-weight:380;letter-spacing:-.02em;margin:0}
#worlds-future p{font-size:12px;line-height:1.65;color:var(--finish-muted);max-width:42ch;margin:0}
@media(min-width:1000px){
 body[data-category=worlds] .shelf-heading>p{position:absolute;right:0;bottom:72px;text-align:right}
 body[data-category=worlds] .shelf-heading #world-filters{margin-top:14px}
 body[data-category=worlds] .shelf-ui:has(#world-filters:not([hidden])) .shelf-scroll{top:284px}
}
@media(min-width:1000px) and (max-height:800px){
 .worlds-film{max-height:max(200px,calc(100svh - 430px))}
 .worlds-editorial-copy h2{font-size:38px;margin:10px 0}
 .worlds-editorial-copy>p{margin-bottom:14px;font-size:12px}
 .worlds-paths button{min-height:60px;padding:10px 0}
 .worlds-feature{margin-bottom:36px}
}
@media(min-width:701px) and (max-width:999px){
 .worlds-feature{grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr);gap:26px}
 .shelf-ui #shelf-grid[data-category=worlds]{gap:0 24px}
 .shelf-ui #shelf-grid[data-category=worlds] .shelf-card{grid-template-columns:76px minmax(0,1fr);gap:16px}
 .shelf-ui #shelf-grid[data-category=worlds] .shelf-window{width:76px;height:96px}
}
@media(max-width:700px){
 .worlds-feature{grid-template-columns:1fr;gap:28px;margin-bottom:40px}
 .worlds-editorial-copy h2{font-size:36px;margin:12px 0}
 .worlds-editorial-copy h2 br{display:none}
 .worlds-editorial-copy h2 br::after{content:' '}
 .worlds-editorial-copy>p{font-size:13px;margin-bottom:20px}
 .worlds-paths button{min-height:76px}
 .worlds-catalogue-heading{display:block;padding-top:22px;margin-bottom:8px}
 .worlds-catalogue-heading p{margin-top:8px}
 .shelf-ui #shelf-grid[data-category=worlds]{grid-template-columns:1fr}
 .shelf-ui #shelf-grid[data-category=worlds] .shelf-card{grid-template-columns:82px minmax(0,1fr);gap:20px;padding:23px 0}
 .shelf-ui #shelf-grid[data-category=worlds] .shelf-window{width:82px;height:100px}
 .shelf-ui #shelf-grid[data-category=worlds] .shelf-card-text strong{font-size:21px}
 .shelf-ui #shelf-grid[data-category=worlds] .shelf-price{font-size:12px}
 #worlds-future{display:block;margin-top:30px}
 #worlds-future p{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.worlds-path-arrow{transition:none}}
body[data-reduced=true] .worlds-path-arrow{transition:none}
