/* Each world shares the gallery's calm typography, with its own material and
   static scene. All selectors stay outside the playback and game dialogs. */
.gallery-shell[data-world="movies"]{--world-bg:#110f0c;--world-panel:#201c15;--world-line:#685438;--world-radius:10px}
.gallery-shell[data-world="series"]{--world-bg:#071715;--world-panel:#102723;--world-line:#37675d;--world-radius:8px}
.gallery-shell[data-world="anime"]{--world-bg:#17101a;--world-panel:#281b2a;--world-line:#755242;--world-radius:3px}
.gallery-shell[data-world="dorama"]{--world-bg:#1a1118;--world-panel:#2c1e29;--world-line:#765363;--world-radius:22px}
.gallery-shell[data-world="kids"]{--world-bg:#091a24;--world-panel:#142d3b;--world-line:#5c6970;--world-radius:24px}
.gallery-shell[data-world="retro"]{--world-bg:#111321;--world-panel:#20243b;--world-line:#535d85;--world-radius:8px}
.gallery-shell[data-world="youtube"]{--world-bg:#111811;--world-panel:#202b20;--world-line:#53664c;--world-radius:3px}
.gallery-shell[data-world="radio"]{--world-bg:#18130e;--world-panel:#2b2117;--world-line:#775b3f;--world-radius:12px}
.gallery-shell[data-world="tv"]{--world-bg:#07151e;--world-panel:#102838;--world-line:#3d6175;--world-radius:10px}
.gallery-shell[data-world="arcade"]{--world-bg:#0a1715;--world-panel:#142d27;--world-line:#3c705b;--world-radius:12px}
.gallery-shell[data-world]{background:var(--world-bg,var(--bg))}
.world-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:clamp(24px,4vw,64px);align-items:center;margin:8px 0 52px;min-width:0}
.world-hero-copy{min-width:0;padding:28px 0}
.world-kicker{display:flex;align-items:center;gap:10px;color:var(--accent);font:10px Mono,monospace;letter-spacing:.12em;line-height:1.8;text-transform:uppercase}
.world-kicker i{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.world-hero h1{font-size:clamp(38px,4.8vw,74px);font-weight:380;letter-spacing:-.065em;line-height:1.08;max-width:11ch;margin:24px 0 22px;text-wrap:balance}
.world-hero p{font-size:clamp(12px,1.1vw,15px);line-height:1.85;color:#b8c1c1;max-width:36ch}
.world-explore{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;margin-top:26px;padding:10px 18px;border:1px solid var(--world-line);border-radius:28px;text-decoration:none;font-size:11px;color:var(--text);background:transparent}
.world-explore:hover{background:var(--world-panel);border-color:var(--accent)}
.world-signature{display:flex;align-items:center;gap:16px;margin-top:42px;color:var(--accent);font:8px Mono,monospace;letter-spacing:.1em;line-height:1.8;opacity:.8}
.world-signature i{flex:1;max-width:90px;height:1px;background:var(--world-line)}
.world-scene{position:relative;min-width:0;aspect-ratio:1.4;overflow:hidden;border:1px solid var(--world-line);border-radius:var(--world-radius);background:var(--world-panel)}
.world-scene>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.world-scene-caption{position:absolute;left:18px;right:18px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid #d4e1d02e;border-radius:6px;background:#061219e8;color:#eef2ea;font-size:10px;line-height:1.5}
.world-scene-caption>span:last-child{color:var(--accent);font-size:20px}
.gallery-shell[data-world] .section{margin-block:42px}
.gallery-shell[data-world] .section-head{padding-bottom:16px;border-bottom:1px solid var(--world-line,#293840)}
.gallery-shell[data-world] .section-head h2{font-size:clamp(20px,2.2vw,30px);font-weight:420;letter-spacing:-.04em}
.gallery-shell[data-world] .section-head>a{min-height:44px;display:flex;align-items:center;font-size:11px}
.gallery-shell[data-world] .poster-art{border-color:var(--world-line,#293840);border-radius:var(--world-radius,12px)}
.gallery-shell[data-world] .category-link{position:relative;background:var(--world-panel,#0d202b);border-color:var(--world-line,#35505d);border-radius:var(--world-radius,12px);padding:22px;min-height:84px;line-height:1.6}
.gallery-shell[data-world] .category-link:hover{border-color:var(--accent)}
.gallery-shell[data-world] .page-heading{padding:18px 0 28px;border-bottom:1px solid var(--world-line,#293840);margin-block:12px 32px}
.gallery-shell[data-world] .page-heading h1{font-size:clamp(30px,4.5vw,60px);font-weight:400;letter-spacing:-.055em;line-height:1.18;overflow-wrap:anywhere}
.gallery-shell[data-world] .detail{padding-block:24px;border-top:1px solid var(--world-line,#293840)}
.gallery-shell[data-world] .detail-cover{border-radius:var(--world-radius,12px);border:1px solid var(--world-line,#293840)}
.gallery-shell[data-world] .detail h1{font-weight:420;letter-spacing:-.05em;line-height:1.15}
.gallery-shell[data-world] .detail-actions .button{border-radius:24px}
.gallery-shell[data-world] .episode{border-color:var(--world-line,#293840);padding:20px 12px;min-height:70px}
.gallery-shell[data-world] .episode:hover{background:var(--world-panel,#101d26)}
.gallery-shell[data-world] .back-link{min-height:44px;display:inline-flex;align-items:center;margin:0 0 16px}
/* Cinema: small ticket-like portals; the existing static collage remains one link. */
.gallery-shell[data-world="movies"] .portal{background:#201c1566;border-color:#68543888;border-radius:10px;padding:24px;min-height:116px}
.gallery-shell[data-world="movies"] .portal:hover{border-color:var(--accent);background:#292319}
.gallery-shell[data-world="movies"] .portal strong{font-weight:450;font-size:17px;letter-spacing:-.035em}
.gallery-shell[data-world="movies"] .portal .arrow{border:1px solid #8b724455;width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center}
.gallery-shell[data-world="movies"] .latest-portal{min-height:240px;margin-block:20px;background:#1c1a14}
.gallery-shell[data-world="movies"] .latest-portal:after{background:linear-gradient(90deg,#19170f 25%,#19170fb3 50%,transparent 90%)}
/* Series: chapter lines. Anime: graphic edge. Dorama: soft frames. */
.gallery-shell[data-world="series"] .section-head{border-left:2px solid var(--accent);padding-left:16px}
.gallery-shell[data-world="series"] .poster-art{border-bottom:3px solid #528f80}
.gallery-shell[data-world="anime"] .world-scene{border-top:4px solid var(--accent);border-bottom:4px solid var(--accent)}
.gallery-shell[data-world="anime"] .section-head h2{font-weight:600;letter-spacing:-.05em}
.gallery-shell[data-world="anime"] .category-link{border-left:4px solid var(--accent)}
.gallery-shell[data-world="dorama"] .world-scene{border-radius:80px 22px 22px 22px}
.gallery-shell[data-world="dorama"] .section-head h2{font-weight:350}
.gallery-shell[data-world="dorama"] .poster>strong{color:#f0d7e2}
/* Family expedition and the lavender archive of the mothership. */
.gallery-shell[data-world="kids"] .world-scene{border:3px solid #ad975a;border-radius:38px 14px 38px 14px}
.gallery-shell[data-world="kids"] .world-kicker i{width:10px;height:10px}
.gallery-shell[data-world="kids"] .category-link{border-bottom:3px solid #aa9656}
.gallery-shell[data-world="retro"] .world-scene:after{content:'';position:absolute;inset:10px;border:1px solid #c0cdf750;border-radius:2px;pointer-events:none}
.gallery-shell[data-world="retro"] .world-scene-caption{z-index:1;font-family:Mono,monospace;font-size:9px}
.gallery-shell[data-world="retro"] .category-link{border-top:3px solid #9aa8d2}
/* Documentary contact sheets and warm radio dials. */
.gallery-shell[data-world="youtube"] .poster-art{aspect-ratio:16/10}
.gallery-shell[data-world="youtube"] .strip{grid-auto-columns:minmax(210px,1fr)}
.gallery-shell[data-world="youtube"] .section-head h2{font-size:clamp(20px,2vw,27px)}
.gallery-shell[data-world="youtube"] .category-link{border-left:3px solid #a5b98e}
.gallery-shell[data-world="radio"] .signal-card{background:var(--world-panel);border-color:var(--world-line);border-radius:12px}
.gallery-shell[data-world="radio"] .signal-art{background:repeating-radial-gradient(circle at 50% 50%,#a5774222 0 1px,transparent 2px 15px),#251d13}
.gallery-shell[data-world="radio"] .signal-art:before{display:none}
.gallery-shell[data-world="radio"] .live-tag{background:#35281d;color:#f0c38a;border-color:#a3774655}
.gallery-shell[data-world="radio"] .category-link{border-radius:40px 12px 12px 40px}
/* Broadcast is logo-first; the category selector and source identities stay intact. */
.gallery-shell[data-world="tv"] .world-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);margin-bottom:32px}
.gallery-shell[data-world="tv"] .world-scene{aspect-ratio:1.8}
.gallery-shell[data-world="tv"] .world-hero h1{font-size:clamp(38px,4.4vw,64px)}
.gallery-shell[data-world="tv"] .world-signature{margin-top:24px}
.gallery-shell[data-world="tv"] .live-toolbar{padding:20px 0;border-block:1px solid var(--world-line)}
.gallery-shell[data-world="tv"] .signal-card{border-color:#3d617588;border-radius:10px;background:#0d2230}
.gallery-shell[data-world="tv"] .signal-art{background:#102d40}
.gallery-shell[data-world="tv"] .signal-caption{border-top:1px solid #3d617566;padding-top:14px}
/* Arcade cabinets on the catalog only. The canvas, emulator and inputs are untouched. */
.gallery-shell[data-world="arcade"] .world-scene{border-radius:12px;border-bottom:4px solid #89d7a7}
.world-hero .input-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.world-hero .input-badges span{border:1px solid #58816b;border-radius:4px;background:#10271e;padding:8px 10px;color:#b9e6cb;font:9px Mono,monospace}
.gallery-shell[data-world="arcade"] .game-card{border-radius:12px;border-color:#3c705b;background:#122b24}
.gallery-shell[data-world="arcade"] .game-cover{border-bottom:3px solid #6faf88}
.gallery-shell[data-world="arcade"] .console-card{background:#10251f;border-color:#3c705b;border-radius:8px}
@media(min-width:1600px){.world-scene{max-height:520px}.world-hero h1{font-size:78px}}
@media(max-width:1000px){.world-hero{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.world-hero h1{font-size:42px}.world-hero-copy{padding:12px 0}.world-scene{aspect-ratio:1.05}.world-signature{margin-top:28px;font-size:7px}.world-kicker{font-size:9px}.world-scene-caption{left:12px;right:12px;bottom:12px;padding:10px;font-size:9px}.gallery-shell[data-world="tv"] .world-scene{aspect-ratio:1.3}.gallery-shell[data-world="movies"] .latest-portal .portal-copy{max-width:60%}}
@media(max-width:700px){.world-hero,.gallery-shell[data-world="tv"] .world-hero{grid-template-columns:1fr;gap:24px;margin:0 0 36px}.world-hero-copy{padding:4px 0 0}.world-hero h1,.gallery-shell[data-world="tv"] .world-hero h1{font-size:clamp(38px,9vw,60px);max-width:14ch;margin:18px 0 16px}.world-hero p{max-width:42ch;font-size:12px}.world-signature{display:none}.world-explore{margin-top:20px;min-height:46px}.world-scene,.gallery-shell[data-world="tv"] .world-scene{aspect-ratio:1.5}.world-scene-caption{font-size:10px}.gallery-shell[data-world="dorama"] .world-scene{border-radius:48px 16px 16px}.gallery-shell[data-world="kids"] .world-scene{border-radius:28px 12px}.gallery-shell[data-world] .section{margin-block:32px}.gallery-shell[data-world] .section-head{padding-bottom:10px}.gallery-shell[data-world] .category-link{padding:18px;min-height:76px}.gallery-shell[data-world] .detail{padding-top:18px}.gallery-shell[data-world] .detail h1{font-size:28px}.gallery-shell[data-world] .page-heading{padding-top:8px}.gallery-shell[data-world] .page-heading h1{font-size:32px}.gallery-shell[data-world="movies"] .latest-portal{min-height:220px}.gallery-shell[data-world="movies"] .portal{padding:20px}.gallery-shell[data-world="movies"] .latest-portal .portal-copy{max-width:70%}.gallery-shell[data-world="movies"] .portal strong{font-size:16px}.gallery-shell[data-world="youtube"] .strip{grid-auto-columns:210px}.gallery-shell[data-world] .episode{padding:18px 8px;gap:10px;align-items:start}.gallery-shell[data-world] .episode strong{overflow-wrap:anywhere}.world-hero .input-badges{margin-top:20px}.gallery-shell[data-world="tv"] .live-toolbar{padding:16px 0}}
