/* Illustrated station: each room changes material, composition and motion. */
:root {
  --bg: #171113; --panel: #23191a; --ink: #ebd9b1; --muted: #b8a990;
  --line: #615044; --accent: #ef5b46; --gold: #d7ad62; --paper-ink: #30281f;
  --poster: Rye, Georgia, serif; --typewriter: 'Special Elite', monospace;
  --pixel: 'Press Start 2P', monospace; --paper-surface: #d8c49c;
}
[data-theme=matine] { --bg:#ede1c4; --panel:#deceac; --ink:#322720; --muted:#675b47; --line:#ab946e; --accent:#a92e28; --gold:#715d31; --paper-surface:#f0e5ca; }
[data-area=biblioteca][data-theme=noir] { --bg:#171e19; --panel:#222c23; --ink:#dfd8bc; --muted:#abb09b; --line:#586049; --accent:#d69a57; --paper-surface:#cfbf99; }
[data-area=biblioteca][data-theme=matine] { --bg:#e7e6d1; --panel:#d5d8b8; --ink:#2b3929; --muted:#5d6951; --line:#a0a680; --accent:#7b362e; --paper-surface:#f0ead4; }
[data-area=cine][data-theme=noir] { --bg:#190d15; --panel:#2b1521; --ink:#efdab7; --muted:#c4a598; --line:#734337; --accent:#ed765a; }
[data-area=cine][data-theme=matine] { --bg:#eed7ce; --panel:#dfb9ad; --ink:#4c202b; --muted:#7c4e50; --line:#b88379; --accent:#983c37; }
[data-area=game][data-theme=noir] { --bg:#101c1c; --panel:#142b2b; --ink:#ddedc3; --muted:#9cb5ab; --line:#355e56; --accent:#a8ef94; --gold:#eb885e; }
[data-area=game][data-theme=matine] { --bg:#dbe6cf; --panel:#c5d7ba; --ink:#183c34; --muted:#466951; --line:#799c78; --accent:#9c322f; --gold:#315c50; }
[data-area=estudio][data-theme=noir] { --bg:#162126; --panel:#213037; --ink:#e2d5b7; --muted:#acb6ae; --line:#50655d; --accent:#e59b75; --paper-surface:#d7c4a1; }
[data-area=estudio][data-theme=matine] { --bg:#d7e2dc; --panel:#c1d0c8; --ink:#243c38; --muted:#50645c; --line:#8bada0; --accent:#9b4034; --paper-surface:#ede0c5; }
body { transition:background .5s,color .5s; }
html,body { overflow-x:clip; }
body::after { content:none; }
#atmosphere { position:fixed; inset:0; width:100%; height:100%; z-index:24; pointer-events:none; }
.console-onair b { opacity:.3; animation:none; }
.audio-playing .console-onair b { opacity:1; animation:onair-breathe 2.4s ease-in-out infinite; }
@keyframes onair-breathe { 50% { opacity:.6; } }
@media(prefers-reduced-motion:reduce) { #atmosphere { display:none; } .audio-playing .console-onair b { animation:none; } }
.masthead { height:82px; border-bottom:1px solid var(--line); }
.masthead .wordmark { font:400 28px/1 var(--poster); }
.masthead .brand-dot { font-size:10px; }
.theme-toggle { border:2px solid var(--line); box-shadow:3px 3px 0 #0003; }
.theme-toggle .signal-lamp { box-shadow:0 0 9px var(--accent); }
.main-nav { height:57px; border-bottom:3px double var(--line); }
.main-nav a { font-family:var(--typewriter); font-size:15px; }
.main-nav a[aria-current=page]::after { bottom:8px; height:1px; }
.main-nav button { font-family:var(--typewriter); }
.primary { background:var(--accent); border:1px solid transparent; box-shadow:4px 4px 0 #0005; border-radius:0; transition:transform .2s,box-shadow .2s; }
.primary:hover { background:var(--accent); transform:translate(-2px,-2px); box-shadow:6px 6px 0 #0005; }
.primary:active { transform:translate(2px,2px); box-shadow:1px 1px 0 #0005; }
.section-heading h2 { font:400 47px/1.08 var(--serif); }
.section-heading h2 em { color:var(--accent); font-size:inherit; }
.eyebrow,.mono { line-height:1.5; }
.room-heading { position:relative; overflow:hidden; padding:26px 5% 25px; border-bottom:3px double var(--line); animation:none; }
.room-heading>* { position:relative; z-index:1; }
.room-title h1 { font:400 84px/1.1 var(--poster); margin:14px 0; }
.room-title>svg { width:62px; height:62px; stroke-width:1.15; color:var(--gold); }
.room-sub p { font-size:27px; }
.room-sub>.mono { font-size:12px; }
.scene-serial { position:absolute; right:5%; top:29px; font:12px var(--typewriter); color:var(--muted); }
.room-meta { font-family:var(--typewriter); }

/* The central is a printed poster and a wall of tickets. */
.central-hero { background:#130c0c; color:#ecd6a5; height:calc(100svh - 260px); min-height:565px; max-height:790px; padding:23px 5% 20px; }
.central-hero::after { content:''; position:absolute; inset:13px; border:1px solid #d7ad6250; pointer-events:none; z-index:1; }
.hero-art { opacity:1; object-position:center; transform:translate(var(--pointer-x,0),var(--pointer-y,0)) scale(1.035); transition:transform .5s ease-out; }
.hero-copy { width:48%; margin:35px 0; z-index:3; }
.hero-copy h1 { font:400 109px/.94 var(--poster); text-shadow:4px 4px 0 #260808; margin:22px 0; }
.hero-copy h1 span { color:#e04a31; }
.hero-copy .eyebrow { font:12px var(--typewriter); color:#e2c597; display:flex; gap:10px; align-items:center; }
.live-indicator { width:7px; height:7px; border-radius:50%; background:#e9533d; box-shadow:0 0 9px #e9533d88; }
.hero-tagline { font-family:var(--typewriter); font-size:19px; margin:18px 0 24px; }
.hero-tagline em { font-size:31px; }
.hero-bottom { font-family:var(--typewriter); font-size:12px; border-color:#ccb38555; z-index:3; }
.hero-top { color:#c5b192; font-size:12px; }
.vertical-note { right:24px; font-family:var(--typewriter); color:#d2b88d; }
.hand-note { display:block; font:italic 27px var(--serif); color:#c5ad7a; transform:rotate(-5deg); margin-top:25px; }
.hero-ticket { position:absolute; right:7%; bottom:100px; z-index:3; width:190px; padding:18px; background:#d6ba80; color:#321d19; transform:rotate(7deg); box-shadow:5px 7px 0 #0005; border-block:3px double #543326; transition:transform .4s; }
.hero-ticket:hover { transform:rotate(0) translateY(-8px); color:#601f1b; }
.hero-ticket .mono { font:11px var(--typewriter); }
.hero-ticket strong { display:block; font:400 27px/1.2 var(--poster); margin:12px 0; }
.hero-ticket>span:last-child { font:11px var(--mono); display:flex; gap:8px; align-items:center; border-top:1px dashed #65492c; padding-top:12px; }
.hero-ticket svg { width:17px; }
.hero-seal { position:absolute; top:85px; right:5%; border:3px double #d8b46e; border-radius:50%; width:106px; height:106px; display:flex; flex-direction:column; align-items:center; justify-content:center; font:10px/1.4 var(--mono); color:#d8b46e; transform:rotate(14deg); text-align:center; }
.hero-seal b { font:29px var(--poster); }
[data-theme=matine] .central-hero { background:#e4c993; color:#f3e1bf; }
[data-theme=matine] .hero-art { filter:sepia(.25) saturate(.85); opacity:1; mix-blend-mode:normal; }
[data-theme=matine] .hero-copy { padding:20px 24px; margin-left:-24px; background:#e5cf9dea; color:#301e19; clip-path:polygon(1% 1%,99% 0,100% 96%,96% 98%,74% 97%,53% 100%,22% 98%,0 100%); }
[data-theme=matine] .hero-copy h1 { text-shadow:2px 3px 0 #ceb27b; }
[data-theme=matine] .hero-copy h1 span { color:#a73328; }
[data-theme=matine] .hero-copy .eyebrow { color:#683a2e; }
[data-theme=matine] .hero-top,[data-theme=matine] .hero-bottom,[data-theme=matine] .vertical-note { color:#e7d6b7; }
[data-theme=matine] .hand-note { color:#7a342b; }
.ticker { background:#922d28; color:#f3dca5; transform:rotate(-.5deg); margin:0 -2px; padding:11px 0; border-block:2px solid #b45539; }
.ticker span { font:15px var(--typewriter); }
.frequency-section { padding:65px 5%; background-color:var(--bg); }
.room-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:17px; border:0; align-items:start; }
.room-tile,.room-tile:first-child { border:1px solid var(--line); padding:12px 12px 20px; background:var(--paper-surface); color:var(--paper-ink); box-shadow:5px 6px 0 #0004; transform:rotate(var(--door-tilt,-1deg)); transition:transform .4s,box-shadow .4s; }
.room-tile:nth-child(even) { --door-tilt:2deg; margin-top:15px; }
.room-tile:nth-child(3) { --door-tilt:-2deg; }
.room-tile:nth-child(5) { --door-tilt:1.5deg; }
.room-tile.reveal.in-view { transform:rotate(var(--door-tilt,-1deg)); }
.room-tile:hover,.room-tile.reveal.in-view:hover { background:var(--paper-surface); color:var(--paper-ink); transform:rotate(0) translateY(-9px); box-shadow:7px 14px 0 #0003; }
.tile-top { position:relative; font:11px var(--typewriter); color:#67533a; padding:5px 0 11px; gap:5px; }
.tile-top>svg { order:3; margin-left:auto; }
.door-label { font-size:10px; }
.tile-symbol { height:150px; position:relative; overflow:hidden; margin-bottom:14px; }
.tile-symbol>img { width:100%; height:100%; object-fit:cover; object-position:75% center; transition:transform .7s; }
.room-tile[data-room=cine] .tile-symbol>img { object-position:20% center; }
.room-tile[data-room=game] .tile-symbol>img { object-position:95% center; }
.room-tile[data-room=estudio] .tile-symbol>img { object-position:15% center; }
.tile-symbol>span { position:absolute; bottom:8px; right:8px; width:31px; height:31px; display:grid; place-items:center; background:#d4ba80; color:#281b15; border:1px solid #3b2817; }
.tile-symbol>span>svg { width:20px; height:20px; color:inherit!important; }
.room-tile:hover .tile-symbol>img { transform:scale(1.1); }
.room-tile h3 { font:400 27px/1.2 var(--poster); margin:14px 0 7px; overflow-wrap:anywhere; }
.room-tile p,.room-tile:hover p,.room-tile:hover .tile-top { color:#5e4d37; }
.room-tile p { font:12px var(--typewriter); }
.bulletin-section { background:var(--panel); }
.bulletin-layout { gap:55px; }
.story-picture { border:8px solid var(--paper-surface); transform:rotate(-1.5deg); height:300px; }
.story-picture img { object-position:center; }
.stamp { background:#cbb17fcc; color:#691e19; border-color:#691e19; font:24px/1.05 var(--poster); }
.lead-story h3 { font-family:var(--serif); font-size:44px; }
.bulletin-side { border-left:1px dashed var(--line); }
.project-art { isolation:isolate; }
.project-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.28; z-index:-1; transition:opacity .5s,transform .7s; }
.project-card:hover .project-image { opacity:.55; transform:scale(1.035); }
.project-art>svg { display:none; }
.collective-section h2 { font:400 65px/1.02 var(--serif); }
.collective-section .avatar { font:25px var(--poster); }

/* Radio: brass faceplate, tuning selector and real analyser output. */
[data-area=radio] .room-heading { background:#6f241f; color:#ead3a2; border-color:#bb8a51; }
[data-area=radio] .room-meta,[data-area=radio] .scene-serial,[data-area=radio] .room-sub>.mono { color:#dcb58d; }
[data-area=radio] .room-meta a,[data-area=radio] .room-title h1 span,[data-area=radio] .room-title>svg { color:#f4c673; }
[data-theme=matine][data-area=radio] .room-heading { background:#c9ad71; color:#35261e; }
[data-theme=matine][data-area=radio] .room-meta,[data-theme=matine][data-area=radio] .scene-serial,[data-theme=matine][data-area=radio] .room-sub>.mono { color:#514028; }
[data-theme=matine][data-area=radio] .room-meta a,[data-theme=matine][data-area=radio] .room-title h1 span { color:#8e2d22; }
.radio-feature { border:0; grid-template-columns:.8fr 1.2fr; gap:35px; align-items:stretch; }
.record-label { position:relative; min-height:560px; background:#1b100f; color:#ecc789; padding:27px; overflow:hidden; border:7px double #b58c51; transform:rotate(-2deg); }
.radio-poster-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:76% center; opacity:.7; }
.poster-caption,.poster-edition,.radio-poster-title { position:relative; z-index:1; }
.poster-caption { font:12px var(--typewriter); }
.radio-poster-title { margin:30px 0 auto; text-shadow:3px 4px 0 #2c100d; }
.radio-poster-title strong { display:block; font:400 82px/.98 var(--poster); color:#e8bd74; }
.radio-poster-title em { display:block; font-size:45px; margin-left:10px; line-height:1; }
.poster-edition { background:#c9a266; color:#31241a; padding:10px; font-size:11px!important; margin-top:120px!important; }
.radio-console { background:#282a21; border:7px double #c1a76e; outline:1px solid #362c20; box-shadow:7px 9px 0 #0004; padding:28px 34px; color:#e4cf9e; }
.radio-console .muted,.radio-console .fineprint { color:#bdb48f; }
.radio-console .eyebrow { color:#df9c62; }
.radio-console .console-top { color:#baa576; border-color:#796b4a; margin-bottom:23px; }
.console-onair { font:13px var(--typewriter); color:#cc7b5d; display:flex; align-items:center; gap:8px; }
.console-onair>b { width:8px; height:8px; border-radius:50%; background:#674134; }
.audio-playing .console-onair { color:#ff765f; text-shadow:0 0 12px #ff463077; }
.audio-playing .console-onair>b { background:#ff6650; box-shadow:0 0 12px #ff4c3c; animation:signal-pulse 2s ease-in-out infinite; }
.radio-console h2 { font:400 37px/1.13 var(--serif); min-height:44px; }
.dial-ruler { color:#d2b67b; border:1px solid #8d7b53; border-radius:35px 35px 0 0; padding:9px 13px; height:74px; background-color:#181d18; margin:24px 0 12px; }
.dial-ruler b { height:60px; top:5px; background:#e36c46; box-shadow:0 0 7px #e36c4644; transition:left .8s cubic-bezier(.2,.8,.2,1); }
.tuner { display:flex; align-items:center; gap:22px; padding:15px 0 22px; }
.tuning-wheel { position:relative; width:80px; height:80px; flex-shrink:0; border:6px double #cbb47f; border-radius:50%; background:#171a15; box-shadow:0 4px 0 #090c0a; }
.tuning-wheel:focus-within { outline:2px solid #f2d8a4; outline-offset:5px; }
.tuning-wheel input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; z-index:2; }
.tuning-needle { position:absolute; inset:0; border-radius:50%; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.tuning-needle::after { content:''; position:absolute; width:3px; height:16px; background:#e4c88b; left:calc(50% - 1px); top:5px; }
.knob-label { display:block; text-align:center; padding-top:27px; font-size:10px; color:#b6995c; }
.tuner-readout { min-width:110px; }
.tuner-readout>.mono { font-size:9px; color:#baa979; display:block; }
.tuner-readout output { font:32px/1.4 var(--typewriter); color:#eac174; }
.tuner-readout small { font:12px var(--mono); }
.live-spectrum { flex:1; height:58px; display:flex; align-items:center; gap:3px; padding:4px; min-width:45px; }
.live-spectrum span { height:100%; flex:1; min-width:1px; background:#cbbe7b; transform:scaleY(.08); transform-origin:center; transition:transform 70ms linear; }
.radio-controls { border-top:1px solid #776b4e; padding-top:18px; }
.radio-console .play-large { border:3px double #a74532; background:#b74933; color:#f5d3a0; box-shadow:0 4px 0 #642d22; }
.radio-console .icon-button:hover { background:#3a3b2a; }
.playlist-heading { display:flex; justify-content:space-between; gap:25px; margin-top:48px; padding-bottom:14px; border-bottom:3px double var(--line); }
.playlist-heading .mono { font-family:var(--typewriter); }
.track-list { margin-top:0; }
.track-row { min-height:96px; border-bottom-style:dashed; transition:background .3s,padding .3s; }
.track-row.selected { padding-left:22px; border-left:3px solid var(--accent); }
.track-row strong { font:26px var(--serif); }
[data-theme=matine] .radio-console { background:#d6c59a; color:#342e20; border-color:#6c6140; box-shadow:7px 9px 0 #756c4455; }
[data-theme=matine] .radio-console .console-top,[data-theme=matine] .radio-console .muted,[data-theme=matine] .radio-console .fineprint { color:#625637; }
[data-theme=matine] .radio-console h2 { color:#342e20; }
[data-theme=matine] .radio-console .eyebrow { color:#994530; }
[data-theme=matine] .tuner-readout>.mono { color:#665532; }
[data-theme=matine] .tuner-readout output { color:#753f28; }
[data-theme=matine] .live-spectrum span { background:#59633c; }
[data-theme=matine] .record-label { background:#1b100f; }

/* Library: a shelf of books and catalog cards. */
[data-area=biblioteca] .room-heading { min-height:268px; padding-right:38%; }
[data-area=biblioteca] .room-title h1 { font-family:var(--serif); font-size:105px; }
[data-area=biblioteca] .room-title>svg { display:none; }
[data-area=biblioteca] .room-sub { flex-direction:column; align-items:flex-start; gap:14px; }
.library-heading-art { position:absolute; right:0; top:0; width:35%; height:100%; object-fit:cover; object-position:75% center; opacity:.85; clip-path:polygon(7% 0,100% 0,100% 100%,0 100%,4% 76%,0 50%,7% 20%); }
[data-area=biblioteca] .scene-serial { z-index:2; color:#dfc38d; right:22px; background:#252d21; padding:7px 11px; transform:rotate(3deg); }
.catalog-label { display:flex; align-items:center; gap:30px; justify-content:space-between; border-block:3px double var(--line); padding:15px 0; font:14px var(--typewriter); margin-bottom:25px; color:var(--muted); }
.filters button { font-family:var(--typewriter); font-size:15px; }
[data-area=biblioteca] .filters button { border:1px solid var(--line); border-radius:5px 5px 0 0; background:var(--panel); }
[data-area=biblioteca] .filters button.active { background:var(--paper-surface); color:var(--paper-ink); transform:translateY(-4px); border-bottom-color:transparent; box-shadow:3px -3px 0 #0002; }
.book-grid.shelf { gap:52px; padding:20px 20px 30px; border-bottom:12px double var(--line); }
.book-item { position:relative; padding:0 0 17px; }
.book-cover { aspect-ratio:3/4; padding:30px; background:#7a3028; color:#efd5a2; border-left:11px double #522923; border-radius:2px 6px 5px 2px; box-shadow:7px 6px 0 #8b7751,11px 10px 0 #0004; transform:rotate(var(--paper-tilt)); overflow:hidden; }
.book-cover::after { content:''; position:absolute; inset:12px 10px 12px 16px; border:1px solid currentColor; pointer-events:none; opacity:.6; }
.book-cover.book-cover-image { padding:0; aspect-ratio:auto; gap:0; background:#120d0b; border-left:7px solid #301714; }
.book-cover.book-cover-image::after { display:none; }
.book-cover-image img { display:block; width:100%; height:auto; object-fit:contain; }
.book-cover.olive { background:#303e32; color:#d6c994; border-color:#1f3025; }
.book-cover.lavender { background:#273642; color:#d5c6a0; border-color:#1c242e; }
.cover-button:hover .book-cover { transform:rotateY(-12deg) rotateZ(0) translateY(-10px); }
.book-engraving { position:absolute; inset:0; background:url('/paper-workshop.webp') center/cover; mix-blend-mode:screen; opacity:.09; pointer-events:none; }
.catalog-number { align-self:flex-end; position:absolute; bottom:52px; right:25px; transform:rotate(-90deg); transform-origin:right; font-size:10px!important; opacity:.6; }
.cover-title { font-family:var(--serif); font-weight:400; font-size:57px; }
.cover-rule { width:35%; height:3px; border-block:1px solid currentColor; background:none; }
.book-meta,.book-item>h2,.book-item>.text-link,.catalog-foot { background:var(--paper-surface); color:var(--paper-ink); }
.book-meta { margin:30px 0 0; padding:5px 16px 0; border-top:2px solid #b7a176; }
.book-item>h2 { font:20px/1.35 var(--typewriter); padding:8px 16px; margin:0; }
.book-item>.text-link { width:100%; padding:8px 16px 16px; font-size:14px; }
.catalog-foot { display:block; font:11px var(--typewriter); margin-top:0; padding:12px 16px; border-top:1px dashed #9b865f; }
.book-item.reveal { transform:translateY(24px) rotate(var(--paper-tilt)); }
.book-item.reveal.in-view { transform:none; }
.reader-modal { background:#eee0bf; color:#342c23; border:10px double #927b55; box-shadow:10px 10px 0 #bfae88,18px 18px 0 #0005; }
.reader-modal .eyebrow { color:#884733; }
.reader-modal .chapter-select,.reader-modal .reader-bottom { border-color:#aa9672; color:#64593f; }
.reader-modal select { color:#342c23; background:#eee0bf; }
.reader-modal .reader-text { transform-origin:left center; }
.reader-modal .reader-text p:first-child:first-letter { color:#954436; }
.reader-modal #dialog-title { font:43px/1.15 var(--serif); }
[data-theme=noir] .reader-modal { background:#d3c29e; color:#30281f; }
[data-theme=noir] .reader-modal select { background:#d3c29e; }
.search-modal { background:var(--paper-surface); color:var(--paper-ink); border:9px double #8d714a; box-shadow:0 14px 0 #7c603c,0 21px 0 #362c20; animation:drawer-open .55s cubic-bezier(.15,.7,.2,1); }
.search-modal .eyebrow,.search-modal .muted,.search-result .mono { color:#6f5333; }
.search-modal h2 { font-family:var(--typewriter); font-size:35px; }
.search-box { border-color:#9f8860; background:#ffffff22; }
.search-box input { color:#34291e; }
.search-result { border-color:#a48b61; font-family:var(--typewriter); transition:transform .25s,background .25s; padding-inline:8px; }
.search-result:hover { transform:translateX(5px); background:#fff3; color:#873b2c; }
.search-result strong { font-weight:400; }

/* Cine: a marquee, physical curtain opening and film stock. */
[data-area=cine] .room-heading { text-align:center; padding-bottom:20px; }
[data-area=cine] .room-title { justify-content:center; }
[data-area=cine] .room-title h1 { font:400 95px var(--poster); margin:0; }
[data-area=cine] .room-title>svg { display:none; }
[data-area=cine] .room-sub { justify-content:center; margin-top:18px; }
[data-area=cine] .room-sub>.mono { display:none; }
.cinema-marquee { display:flex; align-items:center; justify-content:center; gap:35px; padding:12px; margin-top:6px; border-block:4px double #a67449; color:#d8ad73; text-shadow:0 0 18px #b9663040; }
.cinema-marquee b { font-family:var(--typewriter); font-size:17px; font-weight:400; }
.cinema-marquee>span { font-size:10px; }
[data-theme=matine] .cinema-marquee { color:#783629; }
.cine-section { padding-top:32px; }
.cinema-label { align-items:center; }
.projector-switch { display:flex; align-items:center; gap:10px; font:12px var(--typewriter); }
.projector-switch svg { width:27px; height:27px; }
.projector-switch.running svg { animation:reel-turn 5s linear infinite; }
.projector-switch.running { color:var(--accent); }
.cinema-player { border:6px double #9d764d; box-shadow:0 0 0 8px #26141c,0 0 0 9px var(--line); margin:12px 8px; }
.film-stage { aspect-ratio:16/8; background:#161114; }
.film-stage>img { opacity:.65; object-position:center; }
.film-stage #film-words { z-index:3; left:10%; top:23%; }
.film-stage h2 { font:400 82px/.96 var(--poster); }
.film-stage h2 em { font:italic 93px/1 var(--serif); }
.film-start { z-index:7; background:#ad422f; border:3px double #ebc68e; box-shadow:0 0 0 6px #3d1e20; right:10%; }
.film-corner,.film-bottom { z-index:6; }
.cinema-curtain { position:absolute; top:0; bottom:0; width:51%; z-index:4; background-image:url('/midnight-cinema.webp'); background-size:202% 100%; background-repeat:no-repeat; transition:transform 1.35s cubic-bezier(.25,.65,.18,1); filter:brightness(.62) saturate(.9); pointer-events:none; }
.curtain-left { left:0; background-position:left; border-right:1px solid #d09c5c88; }
.curtain-right { right:0; background-position:right; border-left:1px solid #d09c5c88; }
.curtains-open .curtain-left { transform:translateX(-102%); }
.curtains-open .curtain-right { transform:translateX(102%); }
.cinema-player:not(.curtains-open) #film-words { z-index:5; opacity:1!important; text-shadow:0 2px 12px #100910; }
.projection-beam { position:absolute; inset:0; background:#ffe8b2; opacity:0; clip-path:polygon(0 80%,90% 4%,90% 96%); z-index:2; pointer-events:none; transition:opacity .8s; mix-blend-mode:screen; }
.projector-running .projection-beam { opacity:.04; animation:projector-breathe 1.8s ease-in-out infinite; }
.projector-running .film-scan { animation:film-drift 2.5s linear infinite; }
.film-controls { background:#20141a; padding:13px 18px; }
.session-posters { display:grid; grid-template-columns:.85fr repeat(3,1fr); align-items:stretch; gap:30px; padding-top:55px; }
.session-title h3 { font:44px/1 var(--serif); margin:25px 0; }
.session-poster { position:relative; min-height:290px; display:flex; flex-direction:column; justify-content:space-between; padding:23px; border:6px solid #d8bd8b; background:#6f282b url('/midnight-cinema.webp') 15% center/cover; color:#f3d5a3; transform:rotate(-2deg); box-shadow:5px 7px 0 #0004; transition:transform .4s; }
.session-poster::before { content:''; position:absolute; inset:0; background:#1e0b1488; }
.session-poster>* { position:relative; }
.session-poster.scene-1 { transform:rotate(2deg); background-position:45% center; }
.session-poster.scene-2 { background-position:right; transform:rotate(-1deg); }
.session-poster:hover { transform:rotate(0) translateY(-8px); }
.session-poster strong { font:36px/1 var(--display); font-weight:600; }
.session-poster strong em { font-size:40px; }
.session-poster>.mono { font-size:10px; }
.poster-play { font:12px var(--typewriter); border-top:1px solid #d1af7955; padding-top:14px; display:flex; align-items:center; gap:8px; }

/* Game: CRT, arcade controls and a cartridge on the counter. */
[data-area=game] .room-title h1 { font:52px/1.7 var(--pixel); color:var(--accent); text-shadow:3px 3px 0 #b65337; margin:4px 0; }
[data-area=game] .room-title>svg { color:var(--accent); }
[data-area=game] .room-sub p { font-family:var(--typewriter); font-size:20px; }
.game-section { position:relative; isolation:isolate; overflow:hidden; grid-template-columns:.9fr 1.1fr; gap:75px; padding-top:45px; padding-bottom:65px; }
.arcade-scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center; opacity:.14; z-index:-1; filter:saturate(.7); pointer-events:none; }
.game-intro { align-self:center; padding:28px; border:2px solid var(--line); border-radius:0 14px 0 0; background:var(--panel); box-shadow:-8px 8px 0 #0003; transform:rotate(-2deg); }
.cartridge-label { display:block; border-bottom:5px double var(--line); padding-bottom:12px; margin-bottom:25px; color:var(--muted); font-size:10px; }
.game-intro h2 { font:35px/1.65 var(--pixel); margin:18px 0; }
.game-intro h2 em { font:italic 77px/.9 var(--serif); color:var(--accent); }
.game-intro>.eyebrow { font-size:10px; }
.game-intro>p:not(.eyebrow) { font-size:15px; }
.ranking-label { border-top:1px solid var(--line); padding-top:22px; margin-top:24px; color:var(--accent); font-size:10px; }
.game-stats { border:0; margin-top:12px; padding-top:0; }
.game-stats dd { font:18px/1.5 var(--pixel); }
.game-console { border:8px double #558a73; background:#132c29; color:#d8e9b7; padding:25px; border-radius:7px 7px 2px 2px; box-shadow:10px 12px 0 #070f0b; position:relative; }
.arcade-marquee { display:flex; flex-direction:column; gap:8px; align-items:center; border:2px solid #bd663d; background:#432c24; padding:14px 5px; color:#f0bd77; text-shadow:0 0 14px #ed855360; margin:-4px -4px 20px; box-shadow:inset 0 0 0 4px #271a17; }
.arcade-marquee strong { font:27px/1.2 var(--pixel); }
.arcade-marquee>span { font:10px var(--mono); }
.game-console .console-top { font-family:var(--pixel); font-size:9px; color:#87b899; padding-bottom:14px; margin-bottom:17px; }
.signal-screen { position:relative; overflow:hidden; border:10px solid #0c1410; outline:2px solid #44664b; background:#172719; border-radius:16px; color:#c5e8a4; padding:22px 16px; box-shadow:inset 0 0 32px #0005; }
.signal-screen output { font:45px/1.8 var(--pixel); text-shadow:2px 0 #dc866960,-2px 0 #62cbb54d; }
.crt-scan { position:absolute; inset:0; z-index:2; background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#0003 3px,#0003 4px); pointer-events:none; }
.signal-screen>p { min-height:40px; font:12px/1.6 var(--mono); }
.signal-screen .strength-meter { background:#30432a; height:7px; }
.strength-meter span { background:#bbeb90; box-shadow:0 0 10px #b3ff6266; }
.game-console .dial-label { color:#a7c0a2; font-size:10px; }
.game-actions .primary { border-radius:4px; min-height:54px; background:#d96640; color:#1a241b; box-shadow:0 6px 0 #743821; font:12px/1.5 var(--pixel); padding:12px 16px; }
.game-actions .primary:active { box-shadow:0 1px 0 #743821; transform:translateY(5px); }
.game-actions .primary:hover { background:#eb8755; box-shadow:0 6px 0 #743821,0 0 16px #e26d4144; }
.game-actions .icon-button { border:2px solid #6c8b64; border-radius:50%; box-shadow:0 4px 0 #070f0b; color:#bad394; width:50px; height:50px; }
.arcade-caption { display:block; text-align:center; color:#769277; font-size:8px; margin-top:25px; }
.game-console .message-slots { margin-top:12px; }
.game-console .message-slots span { color:#90ab83; border-color:#546e49; }
.game-console .message-slots .revealed { color:#d5ee8b; }
.game-console.signal-hit .signal-screen { animation:signal-lock .45s ease-out; }
[data-theme=matine] .game-console { background:#cad9b0; color:#203e31; border-color:#486d54; box-shadow:10px 12px 0 #577054; }
[data-theme=matine] .game-console .console-top,[data-theme=matine] .game-console .dial-label,[data-theme=matine] .game-console .arcade-caption { color:#38593f; }
[data-theme=matine] .arcade-scene { opacity:.12; mix-blend-mode:multiply; }

/* Studio: pinned papers, a working desk and an ink/color reveal. */
[data-area=estudio] .room-heading { min-height:265px; padding-right:37%; }
[data-area=estudio] .room-title h1 { font:86px/1.15 var(--typewriter); margin:20px 0; }
[data-area=estudio] .room-title>svg { display:none; }
[data-area=estudio] .room-sub { flex-direction:column; align-items:flex-start; gap:14px; }
.studio-heading-art { position:absolute; z-index:0; inset:0 0 0 auto; height:100%; width:34%; object-fit:cover; object-position:10% center; opacity:.8; border-left:8px solid var(--line); transform:rotate(4deg) scale(1.2); }
[data-area=estudio] .scene-serial { color:#e5d1ab; right:22px; background:#34443a; padding:7px 11px; z-index:2; }
.studio-section { position:relative; background-image:linear-gradient(#8193820d 1px,transparent 1px),linear-gradient(90deg,#8193820d 1px,transparent 1px); background-size:26px 26px; padding-bottom:70px; }
.desk-note { display:block; text-align:right; font:italic 28px var(--serif); color:var(--accent); margin-bottom:25px; transform:rotate(-2deg); }
.studio-projects { gap:42px; padding:22px 5px 15px; }
.studio-projects .project-card { padding:18px; background:var(--paper-surface); color:var(--paper-ink); position:relative; transform:rotate(var(--paper-tilt)); border:1px solid #c0ab82; box-shadow:6px 7px 0 #0004; transition:transform .45s,box-shadow .45s; }
.studio-projects .project-card.reveal.in-view { transform:rotate(var(--paper-tilt)); }
.studio-projects .project-card:hover,.studio-projects .project-card.reveal.in-view:hover { transform:rotate(0) translateY(-9px); box-shadow:8px 15px 0 #0004; }
.studio-projects .project-art { height:270px; border:1px solid #8c7655; }
.studio-projects .project-meta .mono { color:#756243; font:12px var(--typewriter); }
.studio-projects .status-tag { border-color:#ae9065; color:#74462f; font-family:var(--typewriter); }
.studio-projects .project-card h3 { font:24px/1.15 var(--typewriter); padding:8px 0; }
.paper-clip { position:absolute; top:-22px; right:28px; z-index:3; color:#d0b587; filter:drop-shadow(2px 3px 1px #0007); }
.paper-clip svg { width:48px; height:48px; stroke-width:2; transform:rotate(8deg); }
.studio-projects .project-image { opacity:.4; }
.drawing-table { padding:50px 5%; border-block:3px double var(--line); display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; align-items:center; background:var(--panel); }
.drawing-caption h2 { font:50px/1.05 var(--typewriter); margin:20px 0; }
.drawing-caption h2 em { font:italic 63px/1 var(--serif); color:var(--accent); }
.drawing-caption>p:not(.eyebrow) { color:var(--muted); line-height:1.8; }
.drawing-caption label { display:flex; justify-content:space-between; gap:20px; font-size:11px; margin:25px 0 8px; }
.drawing-caption input { width:100%; }
.sketch-comparison { --reveal:48%; position:relative; aspect-ratio:1.5; border:10px solid #cfbc94; box-shadow:8px 8px 0 #0004; transform:rotate(2deg) translate(var(--pointer-x,0),var(--pointer-y,0)); }
.sketch-comparison img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sketch-ink { filter:grayscale(1) contrast(1.35) brightness(1.2); }
.sketch-color { clip-path:inset(0 0 0 var(--reveal)); }
.sketch-divider { position:absolute; left:var(--reveal); top:0; bottom:0; width:2px; background:#e65c42; pointer-events:none; }
.process-steps h3 { font-family:var(--typewriter); font-size:30px; }
.process-steps>div>span { display:inline-block; border:2px solid var(--accent); padding:8px; transform:rotate(-8deg); }
.process-steps>div { border-top-style:dashed; }

/* Doors, sound, projection and paper transitions have independent rhythms. */
.scene-transition { position:fixed; inset:0; z-index:65; pointer-events:none; visibility:hidden; overflow:hidden; display:grid; place-items:center; color:#efd2a1; background:#38151be8; clip-path:inset(0 100% 0 0); }
.scene-transition>span { font:68px/1.2 var(--poster); position:relative; z-index:2; }
.scene-transition.crossing { visibility:visible; animation:room-wipe .85s cubic-bezier(.6,.05,.35,1) both; }
.scene-transition[data-to=radio] { background:#2b2b21e8; }
.scene-transition[data-to=biblioteca],.scene-transition[data-to=estudio] { background:#d1bd97f5; color:#342c22; }
.scene-transition[data-to=biblioteca]>span,.scene-transition[data-to=estudio]>span { font-family:var(--typewriter); }
.scene-transition[data-to=game] { background:#142f28f0; color:#c4ef96; }
.scene-transition[data-to=game]>span { font:45px var(--pixel); }
.transition-lines { position:absolute; inset:-10%; background:repeating-linear-gradient(0deg,transparent 0,transparent 4px,#ecc48912 4px,#ecc48912 5px); transform:rotate(-3deg); }
.scene-transition[data-to=biblioteca] .transition-lines,.scene-transition[data-to=estudio] .transition-lines { background:repeating-linear-gradient(0deg,transparent 0,transparent 42px,#4e482a22 42px,#4e482a22 43px); }
.entrance { background:#150e0d; color:#efd7a7; padding:34px 5%; }
.entrance-art { opacity:1; object-position:center; }
.entrance::after { content:''; position:absolute; inset:15px; border:1px solid #c5a76988; pointer-events:none; }
.entrance-content h1 { font:400 125px/.96 var(--poster); margin:22px 0; text-shadow:5px 5px 0 #4e1b18; }
.entrance-content h1 span { color:#d94934; }
.entrance-content .eyebrow { color:#dfc28d; font-family:var(--typewriter); }
.entrance-content>p:not(.eyebrow) { font-family:var(--typewriter); }
.entrance-content .primary { background:#ac3928; color:#f4d8a1; padding:17px 24px; box-shadow:5px 5px 0 #110c08; border:1px solid #dd8655; }
.entrance-top,.entrance-bottom,.entrance-foot { font-family:var(--typewriter); color:#d0b789; }
.neon-welcome { position:absolute; right:6%; top:90px; font:italic 39px var(--serif); color:#fa9375; text-shadow:0 0 11px #d6252488,0 0 2px #fff5b3; transform:rotate(-5deg); }
.entrance-stamp { position:absolute; right:8%; bottom:10%; padding:17px; border:4px double #cead6b; font:18px/1.4 var(--typewriter); transform:rotate(9deg); color:#d5bb83; }
.entrance.leaving { transform:none; animation:iris-out .75s ease-in both; }
footer { border-top:3px double var(--line); }
footer .wordmark { font:25px var(--poster); }
.persistent-player { background:var(--bg); border-top:3px double var(--gold); box-shadow:0 -4px 15px #0003; }
.persistent-player .player-track strong { font-family:var(--typewriter); }
.signal-lamp { transition:box-shadow .4s; }
.audio-playing .signal-lamp { animation:signal-pulse 2s ease-in-out infinite; }
@keyframes signal-pulse { 50%{box-shadow:0 0 16px #ff5a4090;opacity:.72} }
@keyframes reel-turn { to{transform:rotate(360deg)} }
@keyframes projector-breathe { 50%{opacity:.075} }
@keyframes film-drift { to{transform:translateY(4px)} }
@keyframes signal-lock { 40%{box-shadow:inset 0 0 40px #a3ce7133} }
@keyframes drawer-open { from{opacity:0;transform:perspective(900px) rotateX(7deg) translateY(45px)}to{opacity:1;transform:none} }
@keyframes room-wipe { 0%{clip-path:inset(0 100% 0 0)}35%,52%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)} }
@keyframes iris-out { 0%{opacity:1;clip-path:inset(0)}55%{opacity:1;clip-path:inset(48% 0)}100%{opacity:0;clip-path:inset(50% 50%)} }

@media(min-width:1700px){
 .hero-copy h1{font-size:132px}.central-hero{min-height:670px}.hero-ticket{right:10%;bottom:110px}.tile-symbol{height:180px}
}
@media(max-width:1150px){
 .room-tile h3{font-size:23px}.room-grid{gap:12px}.room-tile{padding:9px 9px 16px}.tile-symbol{height:125px}.door-label{display:none}.hero-copy h1{font-size:93px}.hero-ticket{right:5%;width:165px}.hero-ticket strong{font-size:24px}.radio-feature{gap:25px;grid-template-columns:.8fr 1.2fr}.radio-console{padding:25px}.record-label{padding:20px}.radio-poster-title strong{font-size:65px}.tuner{gap:15px}.tuning-wheel{width:70px;height:70px}.knob-label{padding-top:22px}.tuner-readout output{font-size:29px}.session-posters{gap:20px}.session-poster{padding:18px;min-height:270px}.session-poster strong{font-size:32px}.studio-projects{gap:27px}.game-section{gap:40px}.game-intro{padding:22px}.game-intro h2{font-size:28px}.game-intro h2 em{font-size:68px}.game-stats{gap:20px;flex-wrap:wrap}.drawing-table{gap:40px}
}
@media(max-width:800px){
 .masthead{height:76px}.masthead .wordmark{font-size:23px}.main-nav{height:54px}.main-nav a{font-size:14px}.central-hero{min-height:540px;height:calc(100svh - 235px);padding-inline:26px}.hero-copy{width:58%;margin:25px 0}.hero-copy h1{font-size:87px}.hero-art{opacity:.8;object-position:60% center}.hero-ticket{width:150px;right:6%;bottom:100px}.hero-ticket strong{font-size:21px}.hero-seal{width:82px;height:82px;font-size:8px;top:70px;right:4%}.hero-seal b{font-size:22px}.hero-top{font-size:10px}.hero-tagline{font-size:16px}.hero-tagline em{font-size:28px}.hand-note{font-size:24px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.room-tile:nth-child(4){border:1px solid var(--line)}.room-tile{padding:12px}.room-tile h3{font-size:26px}.tile-symbol{height:145px}.room-title h1{font-size:66px}.room-heading{padding:24px 22px}.scene-serial{right:22px;top:27px;font-size:10px}.room-sub p{font-size:25px}.room-meta{font-size:10px}.radio-feature{grid-template-columns:1fr}.record-label{order:2;min-height:340px;transform:rotate(-1deg);display:block}.radio-poster-title{margin:20px 0}.radio-poster-title strong{font-size:76px}.poster-edition{display:inline-block;margin-top:25px!important}.radio-poster-art{object-position:80% center}.radio-console{order:1;padding:28px}.radio-console h2{font-size:40px}.live-spectrum{height:60px}.tuner{gap:24px}.tuning-wheel{width:84px;height:84px}.knob-label{padding-top:30px}.tuner-readout output{font-size:33px}.playlist-heading{margin-top:35px}.playlist-heading .mono{font-size:11px}.track-row strong{font-size:24px}.book-grid.shelf{padding:18px 0 25px;gap:25px}.book-cover{padding:24px}.cover-title{font-size:40px}.book-cover.lavender .cover-title{font-size:45px}.book-cover em{font-size:23px}.book-cover .mono{font-size:10px}.book-item>h2{font-size:17px}.book-meta{padding-inline:10px}.book-meta .mono{font-size:10px}.catalog-foot{font-size:10px;padding-inline:10px}.book-item>.text-link{font-size:12px;padding-inline:10px}.catalog-number{display:none}[data-area=biblioteca] .room-title h1{font-size:77px}[data-area=biblioteca] .room-heading{min-height:240px;padding-right:33%}.library-heading-art{width:29%;opacity:.6}.catalog-label{font-size:12px;gap:20px}.cinema-marquee{gap:18px}.cinema-marquee b{font-size:14px}.cinema-marquee>span{font-size:8px}[data-area=cine] .room-title h1{font-size:75px}.film-stage h2{font-size:58px}.film-stage h2 em{font-size:67px}.session-posters{grid-template-columns:repeat(3,1fr);gap:20px}.session-title{grid-column:1/-1;display:flex;align-items:center;gap:25px}.session-title h3{font-size:36px;margin:0}.session-title h3 br{display:none}.session-title .eyebrow{margin:0}.session-poster{min-height:250px;padding:16px}.session-poster strong{font-size:30px}.session-poster strong em{font-size:35px}[data-area=game] .room-title h1{font-size:40px}.game-section{gap:28px;padding-top:32px;grid-template-columns:1fr 1.2fr}.game-intro{padding:18px}.game-intro h2{font-size:24px}.game-intro h2 em{font-size:58px}.game-intro>p:not(.eyebrow){font-size:14px}.game-console{padding:18px}.arcade-marquee strong{font-size:23px}.signal-screen{padding:15px 10px;border-width:7px}.signal-screen output{font-size:30px}.game-actions .primary{font-size:10px;padding:12px;gap:12px}.game-actions .icon-button{width:43px;height:43px}.game-stats dd{font-size:15px}.arcade-caption{font-size:8px}.cartridge-label{font-size:9px}[data-area=estudio] .room-title h1{font-size:68px}[data-area=estudio] .room-heading{padding-right:31%;min-height:245px}.studio-heading-art{width:26%;opacity:.6}.studio-projects{gap:22px}.studio-projects .project-card{padding:12px}.studio-projects .project-art{height:240px}.studio-projects .project-art strong{font-size:60px}.studio-projects .project-card h3{font-size:20px}.studio-projects .project-meta{flex-direction:column}.desk-note{font-size:26px}.drawing-table{padding:40px 22px;gap:28px}.drawing-caption h2{font-size:35px}.drawing-caption h2 em{font-size:48px}.drawing-caption label{font-size:9px}.entrance-content h1{font-size:110px}.neon-welcome{font-size:30px;top:85px;right:5%}.entrance-stamp{right:5%;font-size:14px;padding:12px}.entrance-art{opacity:.8;object-position:58% center}.scene-transition>span{font-size:51px}
}
@media(max-width:570px){
 .masthead{height:76px;padding-inline:18px}.masthead .wordmark{font-size:20px;left:46%}.masthead .brand-dot{font-size:8px}.theme-toggle{font-size:9px;gap:5px;padding:7px 6px}.theme-toggle>span:last-child{font-size:9px}.sound-button>svg{width:19px}.main-nav a{font-size:14px}.main-nav{gap:25px}.main-nav button{border-color:var(--line)}.central-hero{min-height:610px;height:auto;padding:23px 23px 18px}.central-hero::after{inset:9px}.hero-copy{width:100%;margin:38px 0 45px;max-width:325px}.hero-copy h1{font-size:77px;line-height:1;margin:22px 0}.hero-copy .eyebrow{font-size:11px}.hero-art{object-position:67% center;opacity:.44}.hero-tagline{font-size:17px;line-height:1.4}.hero-tagline em{font-size:29px}.hero-top{font-size:9px;max-width:100%}.hero-top>span:first-child{max-width:175px}.hero-top>span:last-child{max-width:96px}.hero-bottom{font-size:9px;max-width:100%;padding-top:16px}.hero-ticket{right:25px;bottom:75px;width:117px;padding:10px;transform:rotate(5deg)}.hero-ticket strong{font-size:17px;margin:8px 0}.hero-ticket .mono{font-size:8px}.hero-ticket>span:last-child{font-size:8px;gap:5px}.hero-ticket svg{width:13px}.hero-seal{display:none}.hand-note{font-size:24px;max-width:190px;line-height:1.1;margin-top:26px}.hero-copy>.primary{font-size:13px;padding:14px 15px;gap:16px}.hero-ticket{bottom:78px}.ticker span{font-size:13px}.ticker{padding:10px 0}.frequency-section{padding:43px 23px}.section-heading h2{font-size:36px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 17px}.room-tile,.room-tile:first-child,.room-tile:nth-child(odd),.room-tile:nth-child(4){border:1px solid #ad956b;padding:9px 9px 17px}.room-tile h3{font-size:22px;line-height:1.2}.room-tile p{font-size:11px;line-height:1.4}.tile-symbol{height:125px;margin-bottom:12px}.tile-top{font-size:10px;padding:5px 0 8px}.room-tile:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.room-tile:last-child .tile-symbol{height:125px;grid-column:2;grid-row:1/5;margin:0}.room-tile:last-child .tile-top{grid-column:1;grid-row:1}.room-tile:last-child h3{grid-column:1;grid-row:2;align-self:end;font-size:29px}.room-tile:last-child p{grid-column:1;grid-row:3}.room-tile:nth-child(even){margin-top:12px}.door-label{display:none}.story-picture{height:220px;border-width:6px}.stamp{font-size:21px;left:15px;top:15px}.lead-story h3{font-size:37px}.bulletin-side{border:0;border-top:1px dashed var(--line)}.collective-section h2{font-size:58px}.room-heading{padding:22px 23px}.room-title h1{font-size:60px;margin:18px 0}.room-title>svg{width:40px;height:40px}.scene-serial{position:static;display:block;font-size:10px;margin-bottom:14px}.room-meta{font-size:11px}.room-sub p{font-size:24px}.room-sub>.mono{font-size:10px}.radio-section{padding-inline:23px}.radio-console{padding:19px;border-width:6px;box-shadow:5px 7px 0 #0004}.radio-console h2{font-size:34px;min-height:70px}.radio-console .console-top{font-size:9px;gap:12px}.console-onair{font-size:11px;white-space:nowrap}.radio-console .muted{font-size:10px}.tuner{gap:13px;flex-wrap:wrap;padding:10px 0 16px}.tuning-wheel{width:75px;height:75px}.knob-label{padding-top:25px}.tuner-readout{flex:1;min-width:115px}.tuner-readout output{font-size:32px}.tuner-readout>.mono{font-size:9px}.live-spectrum{flex-basis:100%;height:44px}.radio-console .radio-controls{gap:13px}.radio-console .play-large{width:59px;height:59px}.radio-controls>.mono{font-size:12px}.record-label{min-height:345px;border-width:6px;padding:20px}.radio-poster-title strong{font-size:70px}.radio-poster-title em{font-size:38px}.poster-edition{font-size:10px!important}.playlist-heading{flex-direction:column;gap:5px}.track-row strong{font-size:22px}.track-row small{font-size:9px}.track-row{gap:13px}.track-row.selected{padding-left:12px}.track-row>.mono{font-size:11px}.radio-feature{gap:35px}[data-area=biblioteca] .room-heading{padding-right:23px;min-height:280px}[data-area=biblioteca] .room-title h1{font-size:66px;position:relative;z-index:2}[data-area=biblioteca] .room-sub p{max-width:240px}.library-heading-art{width:48%;opacity:.23;clip-path:none}.catalog-label{font-size:10px;gap:15px}.catalog-label>svg{display:none}[data-area=biblioteca] .scene-serial,[data-area=estudio] .scene-serial{display:inline-block;font-size:10px;transform:rotate(-2deg);padding:6px 9px}.filters{gap:6px}.filters button{font-size:13px;padding:10px}.book-grid.shelf{grid-template-columns:1fr;max-width:320px;margin:auto;padding:20px 6px 30px;gap:48px;border-bottom-width:8px}.book-cover{padding:29px;aspect-ratio:3/3.9}.cover-title{font-size:52px}.book-cover.lavender .cover-title{font-size:60px}.book-cover .mono{font-size:11px}.book-cover em{font-size:24px}.book-meta{padding-inline:16px}.book-meta .mono{font-size:11px}.book-item>h2{font-size:21px;padding:10px 16px}.book-item>.text-link{font-size:14px;padding:8px 16px 16px}.catalog-foot{font-size:11px;padding:12px 16px}.reader-modal{border-width:6px;box-shadow:4px 5px 0 #bfae88,9px 10px 0 #0005}.reader-modal #dialog-title{font-size:38px}.search-modal{border-width:6px}.search-modal h2{font-size:28px}.search-result{padding-inline:3px;gap:10px}.search-result .mono{font-size:9px;width:66px}.search-result strong{font-size:14px}[data-area=cine] .room-heading{padding:20px 23px}[data-area=cine] .scene-serial{display:none}[data-area=cine] .room-title h1{font-size:78px;margin:12px 0}.cinema-marquee{padding:10px 5px;gap:0}.cinema-marquee>span{display:none}.cinema-marquee b{font-size:15px}[data-area=cine] .room-sub{margin-top:18px}[data-area=cine] .room-sub p{font-size:24px}.cinema-label{flex-wrap:wrap;gap:12px;font-size:10px}.cinema-label>span:last-child{max-width:100%;margin-left:auto}.projector-switch{font-size:10px}.projector-switch svg{width:23px;height:23px}.cinema-player{border-width:4px;margin:8px 4px;box-shadow:0 0 0 4px #26141c,0 0 0 5px var(--line)}.film-stage{aspect-ratio:4/3}.film-stage #film-words{left:8%;top:24%;max-width:85%}.film-stage h2{font-size:34px}.film-stage h2 em{font-size:48px}.film-stage .eyebrow{font-size:8px}.film-start{width:45px;height:45px;right:7%;bottom:23px;top:auto}.film-controls{padding:8px 6px;gap:7px}.film-controls>.mono{font-size:10px}.session-posters{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px;padding-top:35px}.session-title{display:block;grid-column:auto;align-self:center}.session-title h3{font-size:37px;margin-top:15px;line-height:1.1}.session-title h3 br{display:block}.session-title>.eyebrow{font-size:10px}.session-poster{min-height:245px;border-width:4px;padding:12px}.session-poster strong{font-size:31px}.session-poster strong em{font-size:34px}.session-poster>.mono{font-size:9px}.poster-play{font-size:10px}.film-info .eyebrow{font-size:10px}[data-area=game] .room-title h1{font-size:35px;margin:0;line-height:1.8}[data-area=game] .room-sub p{font-size:18px}[data-area=game] .room-heading{padding-block:22px}.game-section{grid-template-columns:1fr;gap:45px;padding:30px 23px 45px}.game-console{order:-1;padding:18px;border-width:7px;box-shadow:7px 8px 0 #070f0b}.arcade-marquee strong{font-size:25px}.arcade-marquee{padding:14px 5px}.game-console .console-top{font-size:9px}.signal-screen output{font-size:36px}.signal-screen{padding:18px 12px}.signal-screen p{font-size:11px;min-height:38px}.game-actions{gap:14px}.game-actions .primary{font-size:10px;line-height:1.6;padding:12px;min-width:0}.game-actions .primary svg{width:18px}.game-actions .icon-button{width:44px;height:44px}.game-intro{padding:23px;transform:rotate(-1deg)}.game-intro h2{font-size:32px}.game-intro h2 em{font-size:75px}.game-intro>p:not(.eyebrow){font-size:15px}.game-stats{gap:22px}.game-stats dd{font-size:17px}.arcade-caption{font-size:8px}.arcade-scene{opacity:.1}[data-area=estudio] .room-heading{padding-right:23px;min-height:270px}[data-area=estudio] .room-title h1{font-size:70px;margin:18px 0}.studio-heading-art{width:45%;opacity:.22;transform:rotate(3deg) scale(1.15);border:0}[data-area=estudio] .room-sub p{max-width:260px}.studio-section{padding:30px 23px 50px}.desk-note{font-size:25px;line-height:1.3}.studio-projects{gap:45px;padding:20px 4px}.studio-projects .project-card{padding:16px}.studio-projects .project-art{height:270px}.studio-projects .project-art strong{font-size:78px}.studio-projects .project-card h3{font-size:25px;line-height:1.25}.studio-projects .project-meta{flex-direction:row;align-items:center}.studio-projects .project-meta .mono{font-size:11px}.paper-clip svg{width:43px;height:43px}.drawing-table{grid-template-columns:1fr;padding:40px 23px;gap:28px}.drawing-caption h2{font-size:43px}.drawing-caption h2 em{font-size:59px}.drawing-caption label{font-size:10px}.sketch-comparison{border-width:7px;box-shadow:5px 7px 0 #0004}.scene-transition>span{font-size:32px}.scene-transition[data-to=game]>span{font-size:29px}.entrance{padding:27px 26px}.entrance::after{inset:10px}.entrance-content h1{font-size:79px;margin:26px 0}.entrance-art{opacity:.45;object-position:66% center}.entrance-content .eyebrow{font-size:11px;max-width:280px}.entrance-content>p:not(.eyebrow){font-size:16px;max-width:295px;line-height:1.5}.entrance-content>p>em{font-size:28px}.entrance-top{font-size:10px}.entrance-top>span:first-child{max-width:170px}.entrance-top>span:last-child{max-width:85px;white-space:normal;text-align:right}.entrance-foot{font-size:10px;line-height:1.8;max-width:290px}.neon-welcome{top:95px;right:26px;font-size:29px}.entrance-stamp{display:none}.entrance-content{padding:50px 0 32px}.entrance-bottom{font-size:10px}.entrance-content .primary{font-size:14px;padding:15px 21px}footer .wordmark{font-size:21px}.persistent-player .player-track strong{font-size:12px;line-height:1.5}[data-theme=matine] .hero-copy{padding:18px;margin-left:-7px;width:calc(100% - 6px);max-width:315px;margin-top:28px;margin-bottom:25px}[data-theme=matine] .hero-ticket{right:24px;bottom:72px}[data-theme=matine] .hero-art{opacity:.8}[data-theme=matine] .hero-copy .hand-note{max-width:175px}
}
@media(max-width:370px){
 .masthead .wordmark{font-size:18px;left:48%}.theme-toggle>span:last-child{display:none}.hero-copy h1{font-size:66px}.entrance-content h1{font-size:69px}.hero-ticket{width:104px;right:18px;bottom:78px}.hero-ticket strong{font-size:15px}.hero-ticket .mono{font-size:7px}.hero-ticket>span:last-child{font-size:7px}.hero-copy>.primary{font-size:12px;padding:12px;gap:12px}.hero-copy>.primary svg{width:17px}.room-tile h3{font-size:18px}.room-tile p{font-size:10px}.tile-symbol{height:110px}.room-title h1{font-size:51px}.room-title>svg{width:32px;height:32px}.radio-console{padding:15px}.tuner{gap:10px}.tuning-wheel{width:65px;height:65px}.knob-label{padding-top:20px}.tuner-readout output{font-size:28px}.radio-controls{gap:8px!important}.radio-console .play-large{width:52px;height:52px}.radio-controls>.icon-button{width:35px}.radio-poster-title strong{font-size:59px}[data-area=biblioteca] .room-title h1{font-size:58px}.catalog-label{font-size:9px}.book-cover{padding:25px}.cover-title{font-size:49px}.book-cover.lavender .cover-title{font-size:53px}.session-poster strong{font-size:27px}.session-poster strong em{font-size:30px}.session-poster{padding:10px}.session-title h3{font-size:32px}.signal-screen output{font-size:30px}.arcade-marquee strong{font-size:22px}.game-console{padding:14px}.game-actions{gap:9px}.game-actions .primary{font-size:9px}.game-actions .primary svg{display:none}.game-actions .icon-button{width:39px;height:39px}.message-slots span{font-size:10px}.game-intro h2{font-size:27px}.game-intro h2 em{font-size:65px}.game-stats{gap:16px}.game-stats dd{font-size:15px}.studio-projects .project-meta{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
 .scene-transition { display:none!important; }.hero-art { transform:none; }.entrance.leaving { opacity:0; }.reveal { opacity:1; transform:none; }
 .live-spectrum span { transition:none; }.projection-beam { display:none; }
}

/* Matine prints the illustration into the whole sheet, without framing the title. */
[data-theme=matine] .central-hero { background:#f0dfb7; color:#2d241d; }
[data-theme=matine] .hero-art { opacity:.32; mix-blend-mode:multiply; filter:sepia(.45) saturate(.7); }
[data-theme=matine] .hero-copy { background:none; clip-path:none; padding:0; margin-left:0; }
[data-theme=matine] .hero-copy h1 { text-shadow:none; }
[data-theme=matine] .hero-top,[data-theme=matine] .hero-bottom,[data-theme=matine] .vertical-note { color:#4d3025; }
[data-theme=matine] .hero-copy .eyebrow { color:#582f28; }
[data-theme=matine] .hero-seal { color:#713c2a; border-color:#713c2a; }
[data-theme=matine] .hero-bottom { border-color:#86683f; }
.track-row { width:100%; display:grid; grid-template-columns:22px 20px minmax(0,1fr) auto; text-align:left; }
.track-row>span { min-width:0; }
.track-row strong,.track-row small { white-space:normal; overflow-wrap:break-word; }
@media(max-width:570px){
 .track-row { gap:10px; padding-inline:10px; }
 .track-row.selected { padding-left:12px; }
 .track-row strong { font-size:23px; line-height:1.15; }
 .track-row small { font-size:10px; }
}
