/* Mission 039 — cyberpunk observation station; an independent artist universe. */
:root{--signal:#ffbb71;--cyan:#a1e9ff;--line:#8dc9ff30}
body{background:#030711}
.hud-top{background:#050b15ed;border-bottom:1px solid #83d8ff40}
.identity-glyph{border-radius:5px;clip-path:polygon(0 0,75% 0,100% 25%,100% 100%,25% 100%,0 75%);color:var(--signal)}
.identity small{letter-spacing:.22em}.hud-settings button{border-color:#83b5db38}
.kicker,.overline,.gateway-caption,.hud-bottom,.section-code,.transmission-note,.book-entry>span,.sound-tools label,.sound-row small,.deck-time,.seek-label{font-family:'SFMono-Regular',Consolas,monospace}
.kicker i{background:var(--signal);box-shadow:0 0 12px #ffbb7160}
.space-haze{background:linear-gradient(90deg,#02060dcd,transparent 65%),radial-gradient(ellipse at 85% 65%,#1a123f22,transparent 60%)}
.scanlines{opacity:.045}
.intro-screen{padding-top:45px;padding-bottom:45px}
.intro-copy h1{font-size:clamp(60px,7vw,120px)}
.intro-copy h1 span{background:linear-gradient(180deg,#edfaff 10%,#86a8c7 42%,#fff 49%,#8aa7c8 71%,#edfaff);background-clip:text;-webkit-background-clip:text}
.overline{color:var(--signal);font-size:9px}
.intro-description{font-size:11px;max-width:440px}
.cta{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.cta-primary{background:#d7f4ff;border-color:#d7f4ff;box-shadow:0 0 25px #b0e4ff10}
.transmission-note{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 15px;border-left:2px solid var(--signal);padding-left:13px;margin-top:28px;font-size:8px;letter-spacing:.08em;color:#adc6da}
.transmission-note>span{color:var(--signal)}
.transmission-note p{margin:0}
#ambience{grid-column:1/-1;justify-self:start;background:transparent;border:0;color:#a5bad0;font-size:9px;padding:8px 0;letter-spacing:.12em}
#ambience b{color:var(--signal);margin-left:12px}
.intro-stats{margin-top:24px}
.planet-callouts{position:absolute;inset:0;pointer-events:none;z-index:12}
.beacon{position:absolute;pointer-events:auto;text-align:left;background:#071324cc;border:1px solid #8dd9ff45;border-left:2px solid var(--signal);padding:10px 13px;color:#e2f5ff;font:700 10px/1.6 Consolas,monospace;letter-spacing:.06em;transition:background .2s}
.beacon:hover{background:#18364a}
.beacon span{display:block;color:#96acc2;font-size:7px;font-weight:400}
.beacon-a{top:12%;left:2%}.beacon-b{top:27%;right:-2%}.beacon-c{bottom:15%;right:0}
.edge-right{display:none}
.orbit-card img,.detail-art img{object-fit:contain}
.orbit-card{background:#030914}
.room-screen{padding:60px clamp(20px,6vw,100px) 110px}
.room-header{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:32px}
.room-header h1{font-size:clamp(48px,7vw,100px);line-height:.9;letter-spacing:-.065em;margin:22px 0}
.room-header h1>span{color:#a2ddf2}
.room-header>p:last-child{color:#a3b9cf;font-size:13px}
.sound-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:48px;align-items:start}
.sound-tools{display:flex;gap:12px;align-items:end}
.sound-tools label{display:block;flex:1;color:#95b3c9;font-size:8px;letter-spacing:.12em}
.sound-tools input{display:block;width:100%;margin-top:9px;border:1px solid var(--line);background:#0a1726;color:#edf9ff;padding:13px;font:14px inherit;min-height:45px}
.sound-tools button,.sound-row>button,.deck-buttons button,.queue-head button,.queue-box li button,.lyric-tabs button{border:1px solid var(--line);background:#0b1c2c;color:#d9f3ff;min-width:42px;min-height:44px;font-size:11px;padding:9px}
#sound-count{font:9px Consolas,monospace;letter-spacing:.12em;color:#8dabc3;margin:23px 0 14px}
.sound-row{display:flex;align-items:center;gap:7px;padding:10px 8px;border-bottom:1px solid #8dc9ff20}
.sound-row.selected{background:#142839;border-left:2px solid var(--signal)}
.sound-row-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;background:none;border:0;color:#e8f8ff;text-align:left;padding:0;cursor:pointer}
.sound-row-main img{width:48px;height:48px;object-fit:contain;background:#030711}
.sound-row-main>span{min-width:0}.sound-row strong{font-size:13px;display:block;overflow-wrap:anywhere}
.sound-row small{display:block;color:#90a9bf;font-size:8px;letter-spacing:.1em;margin-top:6px}
.sound-row>button[aria-pressed=true],#sound-favorites[aria-pressed=true]{border-color:var(--signal);color:var(--signal)}
.sound-deck{position:sticky;top:24px;border:1px solid var(--line);padding:24px;background:linear-gradient(135deg,#102437bb,#050c17ed)}
.deck-art{position:relative;max-width:290px;margin:0 auto 25px;padding:10px;border:1px solid #8dc9ff38}
.deck-art:before,.deck-art:after{content:'';position:absolute;width:18px;height:18px;border:2px solid var(--signal);pointer-events:none}
.deck-art:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.deck-art:after{bottom:-1px;right:-1px;border-top:0;border-left:0}
.deck-art img{display:block;width:100%;aspect-ratio:1;object-fit:contain}
.deck-art>span{display:block;text-align:center;margin:10px 0 0;font:6px Consolas,monospace;letter-spacing:.15em;color:#92b1c9}
.sound-deck h2{font-size:36px;line-height:1;letter-spacing:-.05em;margin:14px 0;overflow-wrap:anywhere}
#deck-status{font-size:11px;color:#a3bfd1}
.deck-buttons{display:flex;gap:9px;margin:23px 0 15px}
#deck-play{flex:1;background:#cbefff;color:#061323;font-weight:850}
.seek-label{display:block;font-size:8px;color:#a1bdd0}
.seek-label input{display:block;width:100%;accent-color:var(--signal);margin:14px 0}
.deck-time{display:flex;justify-content:space-between;font-size:10px;color:#b8cedd}
.autonext{display:flex;gap:9px;align-items:center;margin:20px 0;font-size:11px;color:#b2c5d6}
#deck-world{width:100%;font-size:9px}
.lyrics-box{border-top:1px solid var(--line);margin-top:22px;padding-top:17px}
.lyrics-box summary{font-size:10px;letter-spacing:.15em;cursor:pointer;padding:8px 0}
#deck-lyrics{white-space:pre-line;line-height:1.8;font-size:13px;color:#b9d1e0;max-height:350px;overflow:auto;margin-top:15px}
.lyric-tabs{display:flex;gap:8px;margin-top:12px}
.lyric-tabs button[aria-pressed=true]{border-color:var(--signal)}
.queue-head{display:flex;align-items:center;justify-content:space-between;margin-top:24px}
.queue-head h3{font-size:10px;letter-spacing:.1em}
.queue-head button{font-size:8px}
.queue-box ol{font-size:11px;color:#a9c6d9;padding-left:18px}
.queue-box li{margin-bottom:9px;display:flex;gap:8px;align-items:center}
.queue-box li>span{flex:1}
.artist-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.section-code{font-size:9px;color:var(--signal);letter-spacing:.1em}
.artist-manifest h2{font-size:clamp(35px,4vw,60px);line-height:1.05;letter-spacing:-.05em;margin:25px 0}
.artist-manifest p{font-size:15px;line-height:1.9;color:#a8bfd1;max-width:490px}
.artist-manifest .cta{margin-top:20px}
.book-entry{position:relative;padding:28px 22px;border:1px solid var(--line);margin-top:16px;overflow:hidden;background:#07121fcc;min-height:130px}
.book-entry>span{position:relative;z-index:1;font-size:8px;letter-spacing:.13em;color:var(--signal)}
.book-entry h3{position:relative;z-index:1;font-size:clamp(24px,3vw,36px);letter-spacing:-.04em;font-weight:600;margin:14px 0}
.book-lines{position:absolute;right:-15%;bottom:-90px;width:250px;height:250px;opacity:.3;border:1px solid #b9f2ff;border-radius:50%;box-shadow:0 0 0 15px #94d8ff10,0 0 0 35px #94d8ff17,0 0 0 55px #94d8ff10,0 0 0 75px #94d8ff17}
.garden-lines{border-radius:35% 65% 45% 55%;transform:rotate(45deg)}
.error-lines{border-radius:0;transform:rotate(30deg);border-color:var(--signal)}
body[data-page=listen] .music-chip,body[data-page=listen] .music-panel{display:none!important}
.empty-state{padding:30px 10px;color:#afc5d5;line-height:1.7}
@media(max-width:1050px){.beacon-b{right:0}.beacon{padding:7px 9px;font-size:8px}.sound-layout{gap:24px}.artist-layout{gap:30px}}
@media(max-width:760px){
 .intro-screen{padding-top:18px}.intro-copy h1{font-size:clamp(44px,11.5vw,80px)}
 .beacon-a{top:5%;left:0}.beacon-b{top:21%;right:0}.beacon-c{bottom:12%;right:0}.beacon{font-size:7px;padding:6px 8px}.beacon span{font-size:6px}
 .transmission-note{margin-top:20px;font-size:7px}
 .room-screen{padding:28px 16px 100px}.room-header h1{font-size:clamp(40px,11vw,68px)}
 .sound-layout,.artist-layout{grid-template-columns:1fr;gap:25px}
 .sound-deck{position:relative;top:0;order:-1;padding:18px}.deck-art{max-width:180px}
 .sound-deck h2{font-size:29px}.sound-tools{align-items:stretch}.sound-tools button{align-self:end;font-size:9px}
 .sound-row-main{gap:9px}.sound-row strong{font-size:11px}
 .artist-manifest h2{font-size:37px}.artist-manifest p{font-size:13px}
 .room-header>p:last-child{font-size:11px}.hud-bottom{font-size:7px}
}

.book-status{position:relative;z-index:1;font:9px/1.5 Consolas,monospace;letter-spacing:.12em;color:#abc2d5;margin:12px 0 0}.book-complete{color:#e4faff;font-weight:700}

/* V40: keep compact playback reachable inside a world opened from Soundstation. */
body[data-page="listen"][data-world="open"] .music-chip:not([hidden]),body[data-page="listen"][data-world="open"] .music-panel:not([hidden]){display:flex!important}
