@charset "UTF-8";
:root{color-scheme:dark;--bg:#0b0e0c;--text:#d8d9ce;--muted:#92998d;--amber:#d8b778;--line:#30352d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:7px}.skip{position:absolute;left:20px;top:-80px;z-index:10;background:var(--bg);padding:15px}.skip:focus{top:15px}header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:2}.label{font-size:15px;font-weight:700;letter-spacing:3px;line-height:1.2}.frequency{display:block;font:8px monospace;letter-spacing:2px;margin-top:9px;color:var(--muted)}.status,.archive-link,.eyebrow,.camera-tag,.hero-bottom,.section-top,.code,.number,.track small,.fragment>span,.archive-note,.residue button,#response,footer{font-family:monospace;font-size:10px;letter-spacing:1.8px}.status{color:var(--amber)}.status i{display:inline-block;width:5px;height:5px;background:var(--amber);border-radius:50%;margin-right:9px;box-shadow:0 0 9px #d8b77880}.archive-link{border-bottom:1px solid #747a6b;padding-bottom:7px}.hero{height:730px;min-height:650px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.scene{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 45%,#393b2a55,transparent 60%),#111713;overflow:hidden}.wall{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 88px,#66705a14 89px 90px),repeating-linear-gradient(90deg,transparent 0 180px,#66705a0c 181px 182px);transform:perspective(1000px) rotateY(-8deg);opacity:.7}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090d0bef 0%,#090d0b80 42%,transparent 70%),linear-gradient(0deg,#090d0b 0%,transparent 30%,#090d0b44);pointer-events:none}.conduit{position:absolute;left:90%;top:0;width:4px;height:80%;background:#2a3027;box-shadow:4px 0 3px #050705}.machine{position:absolute;width:235px;height:460px;right:17%;top:100px;background:linear-gradient(100deg,#3e4231,#222a20 12%,#1b211b 94%,#0b100d 95%);border:2px solid #454936;border-radius:5px;box-shadow:20px 25px 35px #0009,-10px 5px 55px #b9b3650b;transform:perspective(1100px) rotateY(-9deg) rotateZ(-.5deg)}.machine-sign{margin:12px 12px 0;padding:13px 0;text-align:center;background:#bdb778;color:#313728;font:bold 17px monospace;letter-spacing:2px;box-shadow:0 0 22px #c5c78225,inset 0 0 15px #3b422b}.glass{position:absolute;left:13px;top:76px;width:153px;height:278px;background:linear-gradient(100deg,#6b784429,#17251c 30%,#0b160f);border:5px solid #111911;box-shadow:inset 0 0 22px #000,0 0 9px #a4b9741c;overflow:hidden}.shelves{position:absolute;inset:10px;background:repeating-linear-gradient(0deg,transparent 0 48px,#858f5570 49px,#151c12 53px,transparent 55px),repeating-linear-gradient(90deg,#6f734d44 0 16px,#111d14 17px 28px);opacity:.5}.reflection{height:100%;background:linear-gradient(110deg,transparent 20%,#d7d4a00b 21% 40%,transparent 41%)}.panel{position:absolute;right:13px;top:86px;width:39px;font:9px monospace;color:#c5c68b}.panel>span{display:block;background:#0c170d;padding:5px 1px}.keys{line-height:2.3;text-align:center;color:#9a9e78;margin-top:25px}.panel b{display:block;margin:19px 0;padding:8px 0;text-align:center;background:#cfbd75;color:#343c24;box-shadow:0 0 20px #cfbd7544}.slot{height:5px;background:#050b07}.tray{position:absolute;bottom:32px;left:20px;width:145px;height:40px;background:#060d08;border:4px solid #303b2a}.floor{position:absolute;top:78%;height:40%;width:100%;background:linear-gradient(#141c14,#0a0e0b);transform:skewY(-4deg)}.light-spill{position:absolute;right:12%;top:77%;width:370px;height:90px;background:radial-gradient(ellipse,#a6a76b18,transparent 65%);transform:rotate(-12deg)}.camera-tag{position:absolute;right:5%;top:33px;color:#a5ad9466;line-height:1.9}.camera-tag span{color:#b8bba280}.hero-copy{position:absolute;left:8%;top:140px}.eyebrow{color:var(--amber);font-weight:400}h1{font-size:clamp(90px,13vw,180px);letter-spacing:-10px;font-weight:400;margin:32px 0 18px;line-height:.85}.origin{font-size:17px;line-height:1.8;color:#b6baaa;font-weight:300}.hero-bottom{position:absolute;bottom:40px;left:5%;right:5%;display:flex;justify-content:space-between;line-height:2;color:#c2c5b6}.hero-bottom small{font:9px monospace;letter-spacing:1.7px;color:var(--muted)}.hero-bottom a{align-self:end}.hero-bottom a span{padding-left:20px;color:var(--amber)}.archive{padding:65px 8% 70px}.section-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.archive-heading{display:flex;align-items:center;justify-content:space-between;margin:45px 0 60px}h2{font-size:clamp(38px,5vw,65px);font-weight:400;letter-spacing:-2px;line-height:1.06;margin:0}h2 em{font-family:Georgia,serif;color:var(--amber);font-weight:400}.archive-heading>p{font-size:13px;line-height:1.9;color:#a6ad9e}.archive-heading>p span{display:block;margin-top:14px;color:#d0d1c4}.logs{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:65px 1fr 120px 25px;align-items:center;min-height:100px;cursor:pointer;transition:background .2s}summary::-webkit-details-marker{display:none}summary:hover{background:#c4c99005}.number{color:#7c8575}.track{font-size:17px;letter-spacing:1.5px}.track small{display:block;color:var(--muted);font-size:8px;margin-top:10px}.code{color:var(--amber);font-size:9px;text-align:right;padding-right:20px}.expand{font-size:20px;font-weight:300;color:var(--muted);text-align:right}details[open] .expand{transform:rotate(45deg)}.fragment{padding:10px 25px 35px 65px;display:flex;gap:60px}.fragment>span{font-size:8px;color:var(--muted);padding-top:7px}.fragment p{margin:0;font-size:15px;line-height:1.9;color:#adb4a3}.fragment em{font-style:normal;color:var(--amber)}.archive-note{font-size:8px;margin-top:25px;color:var(--muted)}.archive-note span{padding:0 10px}.residue{text-align:center;padding:70px 20px 90px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 50% 100%,#292e191f,transparent 70%)}.residue>.eyebrow{font-size:8px;color:var(--muted)}.residue>p:not(#response){font-family:Georgia,serif;font-size:38px;line-height:1.3;color:#b6bcaa}.residue button{width:48px;height:48px;background:#171e14;color:var(--amber);border:1px solid #6e7042;cursor:pointer;box-shadow:0 0 25px #d8b7780a;transition:box-shadow .4s}.residue button:hover,.residue button.active{box-shadow:0 0 30px #d8b77833}#response{font-size:8px;color:var(--muted);margin-top:25px;min-height:12px}footer{padding:27px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:8px;color:var(--muted)}@media(max-width:700px){header{height:90px}.label{font-size:12px}.status{font-size:8px}.archive-link{display:none}.frequency{font-size:6px}.hero{height:710px;min-height:0}.hero-copy{left:7%;top:100px}h1{font-size:110px;letter-spacing:-7px}.origin{font-size:14px}.machine{right:7%;top:235px;transform:scale(.7);transform-origin:right top}.scene:after{background:linear-gradient(90deg,#090d0b99,transparent),linear-gradient(0deg,#090d0b,transparent 50%)}.camera-tag{font-size:8px}.hero-bottom{bottom:30px;display:block}.hero-bottom a{display:block;margin-top:25px;font-size:8px}.archive{padding:40px 6%}.section-top>span{display:none}.archive-heading{display:block;margin:25px 0 35px}.archive-heading>p{margin-top:25px;font-size:12px}summary{grid-template-columns:35px 1fr 78px 16px;min-height:95px}.track{font-size:12px;letter-spacing:.8px}.track small{font-size:7px;letter-spacing:.8px;line-height:1.6}.code{font-size:7px;padding-right:10px;letter-spacing:.5px}.fragment{padding-left:35px;display:block}.fragment p{font-size:13px;margin-top:15px}.residue>p:not(#response){font-size:30px}footer{flex-wrap:wrap;font-size:7px}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Worn print: typewriter ink, pasted labels and the original sleeve. */
:root{--text:#e0ddd0;--amber:#dcb578;--bg:#090e0d}
.ink-filter{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.scene{background:#081210 url('assets/jarce-night-signal.jpg') 62% center / cover no-repeat}
.scene .wall,.scene .conduit,.scene .machine,.scene .floor,.scene .light-spill{display:none}
.scene:after{background:linear-gradient(90deg,#050b0de8 0%,#050b0d95 38%,#050b0d12 72%),linear-gradient(0deg,#090e0d 0%,transparent 30%,#090e0d33)}
.hero-copy{top:165px}
h1,h2,.track,.label{font-family:'Courier New',Courier,monospace;font-weight:700;filter:url('#worn-ink')}
h1{font-size:clamp(90px,12vw,165px);letter-spacing:-9px;transform:rotate(-2deg);text-shadow:1px 0 currentColor,-1px 1px #e0ddd066}
h2{font-size:clamp(34px,4.7vw,60px);letter-spacing:-3px;line-height:1.04;transform:rotate(-.8deg);text-transform:uppercase}
h2 em{font-family:inherit;font-style:normal;color:var(--amber)}
.label{letter-spacing:-.4px;line-height:.95;font-size:18px;transform:rotate(-2deg)}
.frequency{filter:none;letter-spacing:1.4px;font-weight:400;line-height:1.5;font-size:7px}
.track{font-size:18px;letter-spacing:-.5px}.track small{font-weight:400;letter-spacing:1.3px}
.origin{font-family:'Courier New',Courier,monospace;font-size:16px}
.residue>p:not(#response){font-family:'Courier New',Courier,monospace;font-weight:700;letter-spacing:-1.5px;filter:url('#worn-ink');transform:rotate(-1deg)}
.residue button{font-weight:bold;border-radius:2px;transform:rotate(2deg);background:#c4ad72;color:#16201b;box-shadow:0 0 20px #d8b77822}
@media(max-width:700px){.scene{background-size:auto 100%;background-position:70% center}.scene:after{background:linear-gradient(90deg,#050b0dc9,#050b0d22),linear-gradient(0deg,#090e0d,transparent 45%)}.hero-copy{top:145px}h1{font-size:110px;letter-spacing:-8px}.track{font-size:13px}.label{font-size:15px}.origin{font-size:14px}h2{letter-spacing:-2px}}

/* Two recovered posters; original artwork remains uncropped. */
.poster-logs{display:flex;flex-direction:column;gap:0}
.transmission{min-width:0;border-top:1px solid var(--line);padding-top:18px}
.transmission:nth-child(2){margin-top:0}
.transmission-meta{display:flex;justify-content:space-between;gap:15px;font:9px monospace;letter-spacing:1.5px;color:var(--muted);margin-bottom:18px}
.transmission-meta span:last-child{color:var(--amber)}
.poster-link{display:block;transition:transform .3s ease}
.poster-link:hover{transform:translateY(-3px)}
.poster-link img{display:block;width:100%;height:auto;background:#101512}
.transmission-caption{padding:23px 0 32px}
.transmission-caption h3{margin:0 0 12px;line-height:1.3}
.transmission-caption>.eyebrow{font-size:8px;letter-spacing:1px;overflow-wrap:anywhere}
.transmission-caption p{font:14px/1.9 'Courier New',monospace;color:#adb4a3;margin:20px 0 0}
.transmission-caption em{color:var(--amber);font-style:normal}
@media(max-width:700px){.poster-logs{gap:0}.transmission:nth-child(2){margin-top:0}.transmission-caption h3{font-size:18px}.transmission-meta{font-size:8px}}

/* Street receiver: stamped metal, amber indicators, tactile transport. */
.signal-player{margin:0 0 30px;padding:18px;background:repeating-linear-gradient(172deg,transparent 0 30px,#e2d5b006 31px 32px),linear-gradient(130deg,#242a22,#101713);border:1px solid #565c49;box-shadow:inset 0 0 0 3px #0a100d,3px 4px 0 #0006}
.deck-label{display:flex;justify-content:space-between;gap:12px;font:9px 'Courier New',monospace;letter-spacing:1.5px;color:var(--amber);margin-bottom:16px}
.signal-player audio{width:100%}.signal-player.enhanced audio{display:none}
.transport{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center}
.transport button{min-width:56px;min-height:56px;border:1px solid #a99564;background:#c6af77;color:#101b16;box-shadow:inset 0 0 0 3px #b39c67,2px 3px 0 #0008;cursor:pointer;font:bold 19px monospace}
.transport button:active{transform:translateY(2px);box-shadow:inset 0 0 0 3px #b39c67}
.deck-readout{display:flex;justify-content:space-between;gap:8px;font:10px monospace;color:#cbd1bd;font-variant-numeric:tabular-nums}
.deck-state{color:var(--amber);font-size:9px;letter-spacing:1px}.deck-clock{white-space:nowrap}
.deck-seek{width:100%;margin:10px 0 0;min-height:28px;accent-color:var(--amber);cursor:pointer}
.deck-seek:disabled{opacity:.4;cursor:default}.deck-seek:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.deck-message{font:11px/1.6 monospace;color:#e7c9a0;margin:10px 0 0}.deck-message:empty{display:none}
.signal-player.is-playing{border-color:#b49b64}
@media(max-width:400px){.signal-player{padding:14px}.transport{grid-template-columns:50px minmax(0,1fr);gap:10px}.transport button{min-width:48px;min-height:48px}.deck-readout{font-size:9px}.deck-state{font-size:8px}}

/* Each transmission occupies its own chapter below the album introduction. */
.poster-logs{display:flex;flex-direction:column;gap:0}.poster-logs>.transmission{width:100%;flex:none}
.transmission,.transmission:nth-child(2){margin-top:0;padding-top:30px;padding-bottom:75px}
.transmission+.transmission{padding-top:55px}
.song-heading{margin:30px 0 35px}
.song-heading .track{font-size:clamp(25px,3.2vw,44px);line-height:1.12;letter-spacing:-1.5px;margin:0 0 16px;max-width:850px}
.song-heading>p{font:12px/1.8 'Courier New',monospace;color:var(--muted);margin:0}
.song-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:start}
.song-art{min-width:0}
.song-art .signal-player{margin-top:22px}
.song-text{min-width:0}
.lyrics>.eyebrow,.song-fragment>.eyebrow:first-child{margin:0 0 30px}
.stanza{margin:0 0 35px}
.stanza h4{font:10px 'Courier New',monospace;letter-spacing:1.5px;color:var(--amber);font-weight:400;margin:0 0 13px}
.stanza p,.song-fragment>p:not(.eyebrow){font:15px/1.9 'Courier New',monospace;color:#c3c8b9;margin:0;overflow-wrap:anywhere}
.song-fragment>p:not(.eyebrow){margin-bottom:30px}
@media(max-width:700px){.song-layout{grid-template-columns:1fr;gap:30px}.song-heading{margin:25px 0}.song-heading .track{font-size:29px}.song-heading>p{font-size:11px}.transmission,.transmission:nth-child(2){padding-bottom:40px}.transmission+.transmission{padding-top:40px}.stanza p{font-size:14px}.song-text{padding-top:8px}}

/* Feather the artwork perimeter into the page without blurring its lettering. */
.poster-link{position:relative;isolation:isolate;background:var(--bg)}
.poster-link::after{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(to right,var(--bg) 0%,transparent 7%,transparent 93%,var(--bg) 100%),linear-gradient(to bottom,var(--bg) 0%,transparent 5%,transparent 93%,var(--bg) 100%);border-radius:inherit}
.poster-link img{background:transparent}
.poster-link:hover{transform:none}
@media(max-width:700px){.poster-link::after{background:linear-gradient(to right,var(--bg),transparent 5%,transparent 95%,var(--bg)),linear-gradient(to bottom,var(--bg),transparent 4%,transparent 95%,var(--bg))}}

/* Permanent release pages share the street archive typography. */
.page-path,.record-link{font:10px/1.8 'Courier New',monospace;letter-spacing:1px;color:var(--amber)}
.page-path{margin:0 0 45px}.page-path a:hover,.record-link:hover{text-decoration:underline}
.record-link{display:inline-block;margin:12px 0 0;padding:12px 0;border-bottom:1px solid var(--line)}
.song-heading h1.track{margin:0 0 16px;transform:none;text-shadow:none}
.album-title{font:700 clamp(32px,6vw,80px)/1.05 'Courier New',monospace;letter-spacing:-2px;transform:none;filter:url('#worn-ink');margin:30px 0 50px}
.album-title em{font-style:normal;color:var(--amber)}
.album-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:start}
.album-copy>p{font:15px/1.9 'Courier New',monospace;color:#c3c8b9;margin:0 0 24px}
.album-copy>.eyebrow{color:var(--amber);font-size:11px}
.record-index-title{font:700 22px/1.3 'Courier New',monospace;letter-spacing:-1px;transform:none;margin:40px 0 20px}
.release-index{list-style:none;margin:0;padding:0}
.release-index li{border-top:1px solid var(--line)}
.release-index a{display:block;padding:20px 0;font:700 16px/1.5 'Courier New',monospace}
.release-index small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:8px}
@media(max-width:700px){.album-overview{grid-template-columns:1fr;gap:35px}.page-path{font-size:9px}.album-title{font-size:34px;letter-spacing:-1.5px}.song-heading h1.track{font-size:29px;letter-spacing:-1.5px}}

/* A failing fluorescent sign: two brief voltage dips, then a long steady hold. */
.hero #identity{
  animation:jarce-fluorescent 8.7s steps(1,end) infinite;
  transform-origin:48% 55%;
}
@keyframes jarce-fluorescent{
  0%,7%,100%{opacity:1;transform:rotate(-2deg) translate(0,0);text-shadow:1px 0 currentColor,-1px 1px #e0ddd066,0 0 10px #d5e8bd22}
  1%{opacity:.42;transform:rotate(-2deg) translate(-2px,1px) skewX(-1deg);text-shadow:-2px 0 #86b8ae77,2px 0 #d6b67966}
  1.5%{opacity:1;transform:rotate(-2deg) translate(2px,-1px);text-shadow:1px 0 currentColor,0 0 14px #d5e8bd44}
  1.9%{transform:rotate(-2deg) translate(-1px,0)}
  2.3%{transform:rotate(-2deg) translate(0,0)}
  6%{opacity:.55;transform:rotate(-2deg) translate(1px,1px) skewX(1deg);text-shadow:2px 0 #86b8ae66,-2px 0 #d6b67955}
  6.5%{opacity:1;transform:rotate(-2deg) translate(-2px,-1px);text-shadow:1px 0 currentColor,0 0 12px #d5e8bd33}
  6.8%{transform:rotate(-2deg) translate(1px,0)}
}
@media(prefers-reduced-motion:reduce){
  .hero #identity{animation:none;opacity:1;transform:rotate(-2deg)}
}

/* B5 is an unlit physical key until the visitor supplies the signal. */
.residue #b5{background:linear-gradient(145deg,#303128,#171e17);color:#ada88c;border:2px solid #6e7059;box-shadow:inset 0 1px 2px #d8d4ad22,0 3px 0 #020503;transition:background .18s,color .18s,box-shadow .18s,border-color .18s}
.residue #b5.active{background:radial-gradient(ellipse at 50% 40%,#ffe7a1,#f5b943 65%,#d68326);color:#30200b;border-color:#ffd986;box-shadow:inset 0 0 10px #fff0b8,0 0 16px #f7b33b99,0 0 42px #ef9e3255,0 3px 0 #4a3012}
@media(prefers-reduced-motion:reduce){.residue #b5{transition:none}}
