/* Kadabra's physical archive: carved display type, readable records, instrument
   lettering. Loaded last; game art and the games themselves retain their identity. */
@font-face{font-family:Kadabra Inscription;src:url('../fonts/cinzel-latin-variable.woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:Kadabra Text;src:url('../fonts/source-sans-3-latin-variable.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:Kadabra Instrument;src:url('../fonts/ibm-plex-mono-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Kadabra Instrument;src:url('../fonts/ibm-plex-mono-latin-500.woff2') format('woff2');font-weight:500 900;font-display:swap}
:root{
 --display:'Kadabra Inscription',Georgia,serif;--ui:'Kadabra Text',Arial,sans-serif;
 --studio-ui:var(--ui);--mono:'Kadabra Instrument',monospace;
 --archive-stone:url('../img/archive/stone-frame.webp');--archive-iron:url('../img/archive/iron-frame.webp');
 --archive-icons:url('../img/archive/icon-atlas.webp');
 --archive-void:#080b0d;--archive-face:#222b30;--archive-light:#d8dccf;
 --archive-brass:#c9ac73;--archive-ember:#a14e37;--archive-rule:#62716e;
}
body.room-primary-layout,body.collection-page{font-family:var(--ui);background-color:var(--archive-void);color:var(--archive-light)}
body.room-primary-layout::before{display:block!important;background:linear-gradient(#070b10b8,#080b0def 90%),url('../img/vhs/screening-chamber.webp') center top/1600px auto no-repeat!important;pointer-events:none}
body.room-primary-layout.premiere-room .archive-shell{width:min(1600px,calc(100% - 40px))!important}
body.room-primary-layout.premiere-room .site-header{
 border:7px solid #394347!important;border-image:var(--archive-stone) 15% / 17px / 0 stretch!important;
 background:linear-gradient(110deg,#293238,#121a1e 70%)!important;box-shadow:0 9px 22px #0009!important;
 padding:10px 16px!important;gap:18px!important;
}
body.room-primary-layout.premiere-room .archive-brand strong{font:600 clamp(19px,2vw,27px)/1.2 var(--display)!important;letter-spacing:.035em!important;text-shadow:0 2px #040708,0 -1px #dfe6dc30!important;color:#e3ddc8!important}
body.room-primary-layout.premiere-room .archive-brand em{font:500 10px/1.5 var(--mono)!important;letter-spacing:.1em!important;color:#aeb7b0!important}
body.room-primary-layout.premiere-room .utility-nav{gap:6px!important}
body.room-primary-layout.premiere-room .utility-nav :is(a,button),.collection-header nav a{
 font:600 14px/1.3 var(--ui)!important;min-height:44px!important;padding:10px 12px!important;
 border:1px solid!important;border-color:#66716f #11171b #090c0f #46534f!important;border-radius:1px!important;
 background:linear-gradient(125deg,#364146,#1d272c)!important;box-shadow:inset 0 1px #d0d9ce1a,0 2px 3px #0009!important;color:#ded9c9!important;
}
body.room-primary-layout.premiere-room .utility-nav .playable-demos-button{background:linear-gradient(120deg,#6f392b,#3b221e)!important;color:#f1d8a6!important;border-top-color:#b78359!important}
body.room-primary-layout.premiere-room .premiere-intro{padding:14px 4px 24px!important;gap:24px}
body.room-primary-layout.premiere-room .premiere-intro h1{font:500 clamp(30px,3.4vw,52px)/1.12 var(--display)!important;letter-spacing:-.015em!important;color:#e6dfcc;text-shadow:0 3px #000}
body.room-primary-layout.premiere-room .premiere-intro h1 em{font-style:normal;color:var(--archive-brass)}
.premiere-intro>div>p{font:500 10px/1.5 var(--mono);letter-spacing:.12em;color:#b6bcae}
.premiere-invitation{font:400 15px/1.55 var(--ui);color:#b8c3bb;max-width:33ch}
body.room-primary-layout.premiere-room .hero-zone{gap:20px!important;grid-template-columns:minmax(0,1fr) 290px!important}
body.room-primary-layout.premiere-room .tv-cabinet{
 border:7px solid #333d41!important;border-image:var(--archive-iron) 15% / 20px / 0 stretch!important;border-radius:2px!important;
 padding:9px!important;background:linear-gradient(110deg,#384247,#151c20 60%,#202a2e)!important;
 box-shadow:0 12px 26px #000c,inset 0 1px #a6afac!important;
}
body.room-primary-layout.premiere-room .hero-zone .tape-library{
 border:7px solid #343c3d!important;border-image:var(--archive-stone) 15% / 20px / 0 stretch!important;
 padding:0 5px 12px!important;background:#151d20!important;max-height:790px!important;
}
body.room-primary-layout.premiere-room .library-header{background:linear-gradient(115deg,#2c383a,#152025)!important;border-bottom:3px ridge #556460!important;box-shadow:0 5px 8px #0009!important;padding:15px 9px!important}
body.room-primary-layout.premiere-room .library-header h2{font:500 23px/1.2 var(--display)!important;letter-spacing:0!important;color:#e5d6b4!important;text-shadow:0 2px #000!important}
body.room-primary-layout.premiere-room .library-header>p{font:500 10px/1.5 var(--mono)!important;color:#afbaae!important}
body.room-primary-layout.premiere-room .library-header>span{font:400 12px/1.4 var(--ui)!important;color:#b9c2b6!important}
body.room-primary-layout .library-demo-summary{font-family:var(--ui)!important}
body.room-primary-layout.premiere-room .tape-stack{padding:18px 8px!important;gap:15px!important}
body.room-primary-layout.premiere-room .tape-stack .vhs-tape .tape-title{font:600 15px/1.13 var(--display)!important;letter-spacing:-.015em!important}
body.room-primary-layout.premiere-room .tape-stack .vhs-tape .shelf-vacancy{font:400 14px/1.5 var(--ui)!important}
body.room-primary-layout :is(.tape-code,.tape-topline,.vcr-display,.tv-maker,.slot-label,.tape-section-divider){font-family:var(--mono)!important}
body.room-primary-layout.premiere-room .hero-zone .vcr-unit{border:5px solid #30383c!important;border-image:var(--archive-iron) 15% / 13px / 0 stretch!important;background:linear-gradient(#303a3d,#11191d)!important}
body.room-primary-layout.premiere-room .screening-caption{background:#172126!important}
body.room-primary-layout.premiere-room .screening-caption>span{font:400 13px/1.4 var(--ui)!important;color:#bac9c0!important}
body.room-primary-layout.premiere-room .film-chapters button{font:600 14px/1.2 var(--ui)!important;border:1px solid!important;border-color:#6b7b71 #111b1c #0a1013 #445853!important;background:linear-gradient(#31423d,#182725)!important;color:#e7dfc9!important;box-shadow:inset 0 1px #d7ddc41a}
body.room-primary-layout.premiere-room .film-chapters button[aria-current=true]{background:linear-gradient(#8f7148,#51402e)!important;color:#fff0ce!important}
#film-chapters #main-focus-button{display:inline-flex!important;align-items:center;justify-content:center;color:#edcf8e!important}
body.room-primary-layout :is(.tape-film-recovery,.tape-film-ended button){font-family:var(--ui);border-radius:1px;border:2px ridge #b49a64;background:linear-gradient(#354036,#18231d);color:#f1deb0;box-shadow:0 3px 8px #0009}
body.room-primary-layout .game-folio.game-folio{--folio-display:var(--display);--folio-text:var(--ui);--folio-rule:#837b645e}
body.room-primary-layout :is(#screen-content,#game-detail-content) .game-folio.game-folio .program-title{font-family:var(--display)!important;font-size:clamp(28px,5.5cqw,58px)!important;line-height:1.15!important;letter-spacing:-.015em!important}
body.room-primary-layout .game-folio.game-folio :is(.folio-chapter-heading h3,.folio-release h3){font-family:var(--display)!important;letter-spacing:0!important}
body.room-primary-layout .game-folio.game-folio .folio-opening p{font-family:var(--ui)!important}
body.room-primary-layout .game-folio.game-folio :is(.folio-running-head,.folio-section-label,.program-topline,.folio-note-number){font-family:var(--mono)!important;letter-spacing:.03em!important}
body.room-primary-layout #game-detail-content .game-folio.game-folio .demo-download-controls :is(a,button){font-family:var(--ui)!important;font-size:14px!important}
body.room-primary-layout :is(.game-release-actions,.folio-quick-actions,.folio-related,.demo-download-controls) :is(a,button){transition:filter .12s,box-shadow .12s}
body.room-primary-layout :is(.game-release-actions,.folio-quick-actions,.folio-related,.demo-download-controls) :is(a,button):hover{filter:brightness(1.12);box-shadow:inset 0 -2px currentColor}
body.room-primary-layout :is(.game-demo-dialog-panel,.playable-demos-panel){background:linear-gradient(120deg,#263438,#101c21)!important;border-image:var(--archive-stone) 15% / 20px / 0 stretch!important}
body.room-primary-layout :is(.game-demo-dialog-panel,.playable-demos-panel) :is(h2,h3),body.room-primary-layout .device-focus-header b{font-family:var(--display)!important}
body.room-primary-layout :is(.game-demo-dialog-panel,.playable-demos-panel,.chatroom-header,.chatroom-message,.chatroom-footer,.archive-footer){font-family:var(--ui)!important}
body.room-primary-layout :is(.program-title,.program-heading h2,.game-feature h3,.chatroom-header h2,.archive-dialog h2){font-family:var(--display)!important}
body.room-primary-layout :is(.device-focus-header button,.game-demo-os-button,.playable-demo-actions a){font-family:var(--ui)!important}
body.room-primary-layout :is(.utility-nav,.film-chapters) :is(a,button):hover{filter:brightness(1.18)}
body.room-primary-layout :is(.utility-nav,.film-chapters) :is(a,button):active{box-shadow:inset 0 2px 5px #000!important;transform:translateY(1px)}
body.room-primary-layout :is(a,button,input,select,textarea):focus-visible,body.collection-page :is(a,button):focus-visible{outline:2px solid #e9c975!important;outline-offset:3px!important}
body.collection-page{--c-text:#dddccc;--c-muted:#b1bbae;--c-accent:#c9ac73}
.collection-page :is(h1,h2,h3,.collection-brand,.collection-count){font-family:var(--display)!important;letter-spacing:-.015em!important}
.collection-page :is(p,a,button,.collection-eyebrow){font-family:var(--ui)!important}
.collection-page .collection-header{border:6px solid #334044;border-image:var(--archive-stone) 15% / 17px / 0 stretch;padding:15px;background:#1a252b}
.collection-page .collection-header nav{gap:6px}
.collection-page .collection-art{border:5px solid #364044;border-image:var(--archive-iron) 15% / 13px / 0 stretch}
.collection-page .collection-actions a{font-size:15px!important;min-height:44px;background:linear-gradient(#33403c,#152321);color:#e0d7bd;border:1px solid #718071;box-shadow:inset 0 1px #ccd5bc24}
@media(max-width:1100px){body.room-primary-layout.premiere-room .hero-zone{grid-template-columns:minmax(0,1fr) 255px!important}.premiere-invitation{font-size:14px;max-width:25ch}}
@media(max-width:870px){
 body.room-primary-layout.premiere-room .archive-shell{width:calc(100% - 20px)!important}
 body.room-primary-layout.premiere-room .site-header{padding:10px!important;gap:12px!important}
 body.room-primary-layout.premiere-room .hero-zone{grid-template-columns:minmax(0,1fr)!important}
 body.room-primary-layout.premiere-room .premiere-intro{padding:12px 2px 20px!important}
 body.room-primary-layout.premiere-room .premiere-intro h1{font-size:clamp(28px,6.5vw,44px)!important}
 body.room-primary-layout.premiere-room .premiere-intro h1 em{display:block;margin-left:0}
 .premiere-invitation{max-width:none;font-size:15px}
 body.room-primary-layout.premiere-room .tv-cabinet{border-width:5px!important;padding:5px!important;border-image-width:15px!important}
 body.room-primary-layout.premiere-room .hero-zone .tape-library{max-height:none!important}
 body.room-primary-layout.premiere-room .utility-nav :is(a,button){padding:8px 9px!important;font-size:14px!important}
 .collection-header nav{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){body.room-primary-layout :is(button,a){transition:none!important}}
/* The room preview fits a desktop viewport; close-up removes that size ceiling. */
@media(min-width:871px){
 body.room-primary-layout.premiere-room #main-tv-console:not(.device-in-focus) #crt-screen{height:clamp(320px,calc(100svh - 335px),680px)!important;aspect-ratio:auto!important}
 body.room-primary-layout.premiere-room #main-tv-console:not(.device-in-focus) #screen-content .tape-film-stage{height:calc(var(--tape-viewport,100%) - var(--tape-controls,48px))!important;aspect-ratio:auto!important}
 body.room-primary-layout.premiere-room #screen-content > .screening-caption{height:auto!important;min-height:48px!important;padding:2px 6px!important;gap:6px!important;flex-wrap:wrap!important}
 body.room-primary-layout.premiere-room .screening-caption>span{flex:1 1 0!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.room-primary-layout.premiere-room .film-chapters{flex-shrink:1;gap:4px!important}
 body.room-primary-layout.premiere-room .film-chapters button{min-height:40px!important;padding:5px 9px!important}
}
@media(max-width:520px){
 body.room-primary-layout.premiere-room #main-tv-console.device-in-focus .film-chapters{flex-wrap:wrap;align-content:center;gap:4px!important}
 body.room-primary-layout.premiere-room #main-tv-console.device-in-focus #screen-content > .screening-caption{height:auto!important;min-height:48px!important}
 body.room-primary-layout.premiere-room #main-tv-console.device-in-focus #screen-content .tape-film-stage{height:calc(var(--tape-viewport,100%) - var(--tape-controls,92px))!important}
}
body.room-primary-layout :is(.game-demo-dialog-panel,.playable-demos-panel) header h2{font-family:var(--display)!important}
body.room-primary-layout #game-detail-content .game-folio.game-folio .folio-release .folio-section-label{font-family:var(--mono)!important}
body.room-primary-layout.premiere-room .screening-caption>#main-focus-button{display:inline-flex!important;flex-shrink:0;align-items:center;justify-content:center;min-height:40px;padding:5px 10px;border:1px solid #8d8969;background:linear-gradient(#414438,#252b24);color:#edcf8e;font:600 14px/1.2 var(--ui);cursor:pointer}
body.room-primary-layout.premiere-room #main-tv-console.device-in-focus #main-focus-button{display:none!important}
body.room-primary-layout :is(#screen-content,#game-detail-content) :is(.echoes-folio,.poot-program,.iron-litany-program){font-family:var(--ui)!important}
body.room-primary-layout :is(#screen-content,#game-detail-content) :is(.echoes-folio,.poot-program,.iron-litany-program) :is(p,a,button,li,figcaption,summary){font-family:var(--ui)!important}
body.room-primary-layout :is(#screen-content,#game-detail-content) :is(.echoes-folio,.poot-program,.iron-litany-program) :is(h1,h2,h3,h4){font-family:var(--display)!important}
body.room-primary-layout :is(#screen-content,#game-detail-content) :is(code,pre,.folio-section-label,.demo-state-strip){font-family:var(--mono)!important}
body:is(.echoes-standalone,.iron-litany-page,.archive-not-found){font-family:var(--ui)}
body:is(.echoes-standalone,.iron-litany-page,.archive-not-found) :is(h1,h2,h3,h4){font-family:var(--display)!important}
body:is(.echoes-standalone,.iron-litany-page,.archive-not-found) :is(p,a,button,li,summary,figcaption){font-family:var(--ui)!important}
/* Long cassette names need a full label face on narrow shelves. */
@media(max-width:520px){
 body.room-primary-layout.premiere-room .tape-stack{grid-template-columns:1fr!important}
 body.room-primary-layout.premiere-room .tape-stack .vhs-tape{min-height:160px!important;aspect-ratio:1.87!important}
 body.room-primary-layout.premiere-room .tape-stack .vhs-tape .tape-title{font-size:17px!important}
}
body.room-primary-layout.premiere-room .film-chapters{flex-wrap:wrap!important;min-width:0}
