/* The Sentinel Sound Lab v3.7.0z · SONG STREAM. Fully scoped to its own page. */
html:has(.song-stream-page),body.song-stream-page{height:100%;overflow:hidden}
body.song-stream-page{background:#04111e;color:#eef5f9}
.song-stream-page .site-nav{z-index:100}
.song-stream-page .site-nav nav a[aria-current="page"]{color:#f5c976}
.stream-app{--stream-header:82px;position:relative;height:100dvh;height:100svh;min-height:370px;overflow:hidden;padding-top:var(--stream-header);background:#061321;isolation:isolate}
.stream-ambient{position:absolute;inset:-7%;z-index:-3;background-color:#132640;background-repeat:no-repeat;background-size:cover;background-position:center;filter:blur(44px) brightness(.36) saturate(1.06);opacity:.75;transform:scale(1.06);transition:opacity .35s ease;pointer-events:none}
.stream-veil{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 76% 50%,rgba(6,18,33,.2),rgba(3,11,22,.75) 85%),linear-gradient(90deg,rgba(3,11,21,.94),rgba(3,10,20,.55) 68%,rgba(3,10,20,.67))}
.stream-toolbar{position:absolute;z-index:7;top:calc(var(--stream-header) + 12px);left:clamp(16px,4vw,70px);right:clamp(16px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none}
.stream-toolbar>*{pointer-events:auto}
.stream-toolbar-title{display:grid;gap:3px}.stream-gold-rule{height:2px;width:65px;background:#edbb5e;margin-bottom:4px}
.stream-overline{color:#e9bd71;letter-spacing:.22em;font-size:11.5px;font-weight:800}
.stream-toolbar-title h1{font:800 clamp(20px,2.7vw,34px)/1.05 'Space Grotesk',Inter,sans-serif;letter-spacing:-.065em;margin:0;color:#f2f6fa}
.stream-toolbar-title h1 span{color:#edbd66}.stream-toolbar-actions{display:flex;align-items:center;gap:10px}.stream-counter{min-width:72px;white-space:nowrap;color:#f4d39b;letter-spacing:.15em;font-size:12px;font-weight:700}
.stream-close,.stream-icon-button{min-height:42px;border:1px solid rgba(232,206,166,.38);border-radius:999px;background:rgba(6,19,34,.82);color:#f9e0b0;padding:10px 16px;font-size:11px;font-weight:800;letter-spacing:.02em;cursor:pointer}
.stream-icon-button:hover,.stream-close:hover,.stream-icon-button:focus-visible,.stream-close:focus-visible{border-color:#efc371;background:#142940;color:white}
.stream-viewport{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-color:rgba(239,194,112,.52) transparent;scrollbar-width:thin;outline-offset:-4px}
.stream-slide{height:100%;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:clamp(96px,14svh,142px) 5vw clamp(104px,15svh,132px);position:relative;overflow:hidden}
.stream-slide-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,6vw,96px);max-width:1200px;width:100%;margin:auto}
.stream-art-column{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.stream-art-shell{position:relative;width:min(100%,min(50svh,500px));aspect-ratio:1/1;max-height:100%;border-radius:12px;box-shadow:0 34px 95px rgba(0,0,0,.55),0 0 0 1px rgba(248,215,151,.32);isolation:isolate;overflow:hidden;background:#0e2034}
.stream-cover{width:100%;height:100%;object-fit:cover;display:block}.stream-cover-glass{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),inset 0 0 35px rgba(0,0,0,.15)}
.stream-art-mark{position:absolute;left:14px;top:14px;color:#f8e3b7;text-shadow:0 1px 5px #000;font-size:8px;letter-spacing:.18em;line-height:1.3;font-weight:700;opacity:.72;pointer-events:none}
.stream-cover-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;display:grid;place-items:center;padding:0 0 0 3px;border:1px solid rgba(255,230,170,.65);border-radius:50%;color:#fff;font-size:23px;background:rgba(1,10,18,.64);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.35);cursor:pointer;transition:background .2s,scale .2s}
.stream-slide.is-playing .stream-cover-play{opacity:0;transition:opacity .2s}.stream-art-shell:hover .stream-cover-play,.stream-art-shell:focus-within .stream-cover-play{opacity:1}
.stream-cover-play:hover,.stream-cover-play:focus-visible{background:rgba(9,29,50,.96);outline:2px solid #f4d08a;outline-offset:3px}
.stream-art-hint{font-size:11.5px;letter-spacing:.24em;color:#e5c187;margin:0;text-align:center;white-space:nowrap}.stream-art-hint>span:not(.stream-track-type){color:#8ca5b9;margin-inline:5px}.stream-track-type{margin-left:12px;color:#aebfcb;letter-spacing:.10em}
.stream-copy{min-width:0;max-width:520px;align-self:center}.stream-kicker{font-size:11px;letter-spacing:.2em;font-weight:800;text-transform:uppercase;color:#eabc6a;margin:0 0 10px}
.stream-copy h2{font:800 clamp(30px,4.2vw,65px)/1.06 'Space Grotesk',Inter,sans-serif;letter-spacing:-.045em;margin:0 0 12px;text-wrap:balance;text-shadow:0 4px 23px rgba(0,0,0,.45)}
.stream-byline{font-size:11px;letter-spacing:.15em;font-weight:800;color:#e6bd78;margin:0 0 23px}.stream-description{color:#e0e7f0;font-size:clamp(13px,1.14vw,16px);line-height:1.65;margin:0;max-width:46ch;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.stream-track-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.stream-link{border:1px solid rgba(255,221,169,.35);border-radius:999px;background:rgba(3,15,26,.65);color:#f8dfb0;min-height:39px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;font-size:11px;font-weight:700;letter-spacing:.02em}
.stream-link:hover,.stream-link:focus-visible{border-color:#f3c77c;color:white;background:#152e47}
.stream-player{position:absolute;z-index:10;bottom:calc(27px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(850px,calc(100% - 36px));min-height:68px;border:1px solid rgba(238,201,132,.32);border-radius:20px;padding:13px 19px;background:rgba(5,17,30,.92);backdrop-filter:blur(17px);box-shadow:0 15px 48px rgba(0,0,0,.45);display:flex;gap:22px;align-items:center}
.stream-player-main{display:flex;align-items:center;gap:10px;flex:none}.stream-round-button{border:1px solid rgba(245,213,158,.22);background:rgba(26,50,70,.9);width:43px;height:43px;border-radius:50%;font-size:15px;display:grid;place-items:center;color:#f5e1bf;cursor:pointer}
.stream-main-play{background:#f0bd68;color:#071321;width:55px;height:55px;font-size:22px;box-shadow:0 5px 22px rgba(255,188,88,.2)}.stream-round-button:hover,.stream-round-button:focus-visible{outline:2px solid #efd39b;outline-offset:2px}
.stream-player-progress{min-width:0;flex:1;display:flex;align-items:center;gap:12px;color:#b7c6d1;font-size:12px;font-variant-numeric:tabular-nums}.stream-player-progress input{min-width:0;flex:1;accent-color:#f0bc61;cursor:pointer;height:20px;background:none}
.stream-player-progress input:disabled{opacity:.35;cursor:not-allowed}.stream-volume{border:1px solid rgba(235,205,147,.25);color:#e6d1b0;background:transparent;border-radius:50%;width:43px;height:43px;font-size:20px;cursor:pointer}
.stream-status{position:absolute;z-index:9;bottom:calc(112px + env(safe-area-inset-bottom));left:50%;width:min(760px,90vw);transform:translateX(-50%);margin:0;text-align:center;font-size:11px;color:#d3dddf;text-shadow:0 1px 10px black;pointer-events:none}
.stream-edge-hint{position:absolute;z-index:8;right:18px;top:50%;writing-mode:vertical-rl;letter-spacing:.14em;font-size:11.5px;font-weight:700;color:#b6cad7;display:flex;gap:9px;align-items:center;pointer-events:none}.stream-edge-hint span{color:#f6ce7e;font-size:21px}
.stream-cover-play:focus-visible,.stream-icon-button:focus-visible,.stream-round-button:focus-visible,.stream-link:focus-visible,.stream-viewport:focus-visible{outline-color:#ffdb96}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Add nav link without overflow in medium desktop widths. Tablet/mobile nav remains under the existing hamburger breakpoint. */
@media(min-width:1021px) and (max-width:1350px){.site-nav nav{gap:clamp(8px,1.1vw,16px)}.site-nav nav a{font-size:10.35px;letter-spacing:1px}}
@media(max-width:1020px){.stream-app{--stream-header:76px}.stream-toolbar{top:calc(var(--stream-header) + 8px)}.stream-slide{padding:96px 5vw 108px}.stream-slide-inner{gap:clamp(16px,4vw,44px)}.stream-art-shell{width:min(100%,min(42svh,420px))}.stream-description{-webkit-line-clamp:4}}
@media(max-width:720px){
 .stream-app{--stream-header:72px}
 .stream-toolbar{top:calc(var(--stream-header) + 6px);left:5vw;right:5vw;gap:8px}.stream-toolbar-title h1{font-size:clamp(20px,5vw,28px)}.stream-overline{font-size:8px}.stream-gold-rule{width:40px}
 .stream-toolbar-actions{gap:7px}.stream-counter{font-size:11.5px;min-width:52px}.stream-icon-button,.stream-close{min-height:34px;padding:8px 9px;font-size:11.5px}.toolbar-button-word{display:none}
 .stream-slide{padding:clamp(85px,13svh,105px) 6vw calc(121px + env(safe-area-inset-bottom));align-items:center}
 .stream-slide-inner{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,2svh,18px);margin:0 auto}
 .stream-art-column{gap:7px}.stream-art-shell{width:min(78vw,43svh,420px)}.stream-cover-play{width:55px;height:55px;font-size:18px}
 .stream-art-hint{font-size:10.35px}.stream-track-type{font-size:8px}
 .stream-copy{text-align:center;display:flex;flex-direction:column;align-items:center;max-width:90vw}
 .stream-kicker{font-size:10.35px;margin:0 0 4px}.stream-copy h2{font-size:clamp(24px,7vw,39px);line-height:1.06;margin:0 0 5px}
 .stream-byline{font-size:10.35px;margin:0 0 9px}.stream-description{font-size:12px;line-height:1.4;-webkit-line-clamp:2;max-width:43ch}
 .stream-track-actions{gap:7px;justify-content:center;margin-top:13px}.stream-link{font-size:10.35px;padding:8px 10px;min-height:34px}
 .stream-player{bottom:calc(17px + env(safe-area-inset-bottom));width:calc(100% - 24px);gap:9px;min-height:56px;padding:9px 12px;border-radius:15px}
 .stream-player-main{gap:4px}.stream-round-button{width:33px;height:33px;font-size:11px}.stream-main-play{width:43px;height:43px;font-size:18px}
 .stream-player-progress{gap:6px;font-size:11.5px}.stream-volume{width:31px;height:31px;font-size:16px}
 .stream-status{bottom:calc(84px + env(safe-area-inset-bottom));font-size:11.5px}.stream-edge-hint{display:none}
}
@media(max-width:390px) and (max-height:740px){
 .stream-slide{padding-top:83px;padding-bottom:101px}.stream-art-shell{width:min(72vw,37svh)}.stream-slide-inner{gap:8px}.stream-description{-webkit-line-clamp:1}.stream-byline{margin-bottom:5px}.stream-track-actions{margin-top:7px}.stream-copy h2{font-size:clamp(21px,6vw,29px)}
}
@media(max-height:650px) and (min-width:721px){.stream-slide{padding-top:82px;padding-bottom:92px}.stream-art-shell{width:min(100%,min(53svh,370px))}.stream-description{-webkit-line-clamp:3}.stream-toolbar{top:calc(var(--stream-header) + 2px)}.stream-player{bottom:10px;padding:7px}.stream-status{bottom:87px}}
@media(prefers-reduced-motion:reduce){.stream-viewport{scroll-behavior:auto}.stream-cover-play,.stream-ambient{transition:none!important}}

/* v3.7.1y — clear, persistent auto-play explanation on every viewport. */
.stream-toolbar-title h1{display:flex;align-items:baseline;gap:clamp(7px,1vw,14px);flex-wrap:wrap;letter-spacing:-.055em}
.stream-toolbar-title h1 .stream-autoplay-label{color:#e9bd71;font:800 .46em/1.2 'Space Grotesk',Inter,sans-serif;letter-spacing:.075em;white-space:nowrap}
.stream-autoplay-note{max-width:min(56vw,630px);margin:3px 0 0;color:#d7e0e9;font-size:clamp(11.5px,.943vw,13.8px);line-height:1.42;letter-spacing:.008em;text-wrap:pretty}
.stream-autoplay-note strong{color:#f5d59b;font-weight:800}
.stream-autoplay-note .stream-welcome{color:#f2d2a0}
@media(max-width:1020px) and (min-width:721px){
 .stream-toolbar-title{min-width:0}
 .stream-autoplay-note{max-width:min(55vw,540px);font-size:11.5px}
 .stream-toolbar-title h1{gap:8px}
}
@media(max-width:720px){
 /* Reserve full-width lines for the long title and welcome, keeping controls legible. */
 .stream-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:3px;align-items:start}
 .stream-toolbar-title{display:contents}
 .stream-toolbar-title .stream-gold-rule{grid-row:1;grid-column:1;margin-bottom:1px}
 .stream-toolbar-title .stream-overline{grid-row:2;grid-column:1;white-space:nowrap}
 .stream-toolbar-title h1{grid-row:3;grid-column:1 / -1;font-size:clamp(19px,5vw,27px);gap:9px;line-height:1.07}
 .stream-autoplay-note{grid-row:4;grid-column:1 / -1;max-width:none;margin-top:0;font-size:11.5px;line-height:1.35}
 .stream-toolbar-actions{grid-row:5;grid-column:1 / -1;justify-self:end;gap:7px}
}
@media(max-width:720px) and (orientation:landscape) and (max-height:450px){
 .stream-toolbar{row-gap:1px}
 .stream-toolbar-title h1{font-size:19px}
 .stream-autoplay-note{font-size:10.35px;line-height:1.2}
 .stream-toolbar-actions{grid-column:2;grid-row:1 / 3}
}

/* Compact handsets: title/note remain clear without putting controls on the cover. */
@media(max-width:390px) and (max-height:720px) and (orientation:portrait){
 .stream-toolbar-actions{grid-row:1 / 3;grid-column:2;align-self:start}
 .stream-toolbar-title .stream-overline{font-size:7px;letter-spacing:.05em}
 .stream-toolbar-title h1{gap:7px}
 .stream-autoplay-note{font-size:10.925px;line-height:1.27}
}
/* Short landscape screens need a compact horizontal song layout: artwork and controls
   stay below the welcome, and neither is hidden behind the bottom player. */
@media(orientation:landscape) and (max-height:450px) and (max-width:1020px){
 .stream-app{--stream-header:72px}
 .stream-toolbar{top:calc(var(--stream-header) + 4px);left:4vw;right:4vw}
 .stream-toolbar-title h1{font-size:clamp(19px,2.5vw,23px);gap:8px}
 .stream-autoplay-note{font-size:10.35px;line-height:1.25;max-width:calc(100vw - 8vw)}
 .stream-slide{padding:94px 5vw calc(80px + env(safe-area-inset-bottom));align-items:center}
 .stream-slide-inner{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(10px,3vw,30px);width:100%;max-width:850px}
 .stream-art-column{flex:0 0 auto;width:min(32vw,37svh,140px);gap:4px}
 .stream-art-shell{width:100%;max-width:140px}
 .stream-art-hint{font-size:7px;letter-spacing:.09em}
 .stream-track-type{margin-left:4px;font-size:7px;letter-spacing:0}
 .stream-copy{flex:1;min-width:0;max-width:520px;text-align:left;align-items:flex-start;gap:0}
 .stream-kicker{font-size:8px;margin-bottom:3px;letter-spacing:.1em}
 .stream-copy h2{font-size:clamp(17px,3vw,24px);margin-bottom:3px;line-height:1.07}
 .stream-byline{font-size:8px;margin-bottom:4px}
 .stream-description{font-size:10.35px;line-height:1.28;-webkit-line-clamp:2;max-width:100%}
 .stream-track-actions{margin-top:6px;gap:5px;justify-content:flex-start}
 .stream-link{font-size:8px;padding:5px 7px;min-height:27px}
 .stream-player{bottom:calc(7px + env(safe-area-inset-bottom));min-height:50px;padding:6px 10px}
 .stream-round-button{width:31px;height:31px}
 .stream-main-play{width:39px;height:39px}
 .stream-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
 .stream-edge-hint{display:none}
}
@media(orientation:landscape) and (max-height:450px) and (max-width:720px){
 .stream-toolbar{row-gap:1px}
 .stream-toolbar-actions{grid-row:1 / 3;grid-column:2}
 .stream-toolbar-title h1{font-size:19px}
 .stream-autoplay-note{font-size:10.35px}
}
@media(orientation:landscape) and (max-height:450px) and (min-width:721px) and (max-width:1020px){
 .stream-autoplay-note{max-width:min(59vw,590px)}
 .stream-art-column{width:min(31vw,36svh,140px)}
}
@media(orientation:landscape) and (max-height:650px) and (min-height:451px) and (min-width:721px) and (max-width:1020px){
 .stream-art-shell{width:min(100%,min(48svh,330px))}
}
@media(max-width:390px) and (max-height:720px) and (orientation:portrait){
 .stream-slide{padding-top:108px}
 .stream-art-shell{width:min(68vw,34svh)}
 .stream-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
}
@media(orientation:landscape) and (max-height:650px) and (min-height:451px) and (min-width:721px) and (max-width:1020px){
 .stream-art-column{transform:translateY(15px)}
}
