:root{--flow-bg:#070707;--flow-panel:#101010;--flow-line:rgba(255,255,255,.14);--flow-hot:#ff2a2a;--flow-cold:#d7ebff;--flow-muted:#aaa}.flow-world{background:var(--flow-bg);color:#fff}.flow-world main{overflow:hidden}.flow-hero{position:relative;min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(430px,1.15fr);gap:clamp(28px,5vw,90px);align-items:center;padding:clamp(70px,9vw,140px) clamp(20px,6vw,90px);border-bottom:1px solid var(--flow-line);isolation:isolate}.flow-signal-grid{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.045) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%);background-size:68px 68px;mask-image:linear-gradient(to bottom,black,transparent 88%)}.flow-hero:after{content:"";position:absolute;left:-16vw;bottom:-22vw;width:55vw;height:55vw;border:1px solid rgba(255,42,42,.25);border-radius:50%;box-shadow:0 0 120px rgba(255,42,42,.12);z-index:-1}.flow-hero-copy h1{font-size:clamp(72px,11vw,168px);line-height:.78;letter-spacing:-.075em;margin:.16em 0 .28em;max-width:850px}.flow-hero-copy h1 span{font-weight:300;letter-spacing:-.09em}.flow-lead{font-size:clamp(18px,1.7vw,25px);line-height:1.55;max-width:720px;color:#d4d4d4}.flow-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}.flow-actions button,.flow-host button,.flow-controls button,.flow-submit button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:13px 17px;font:inherit;font-weight:800;letter-spacing:.04em;cursor:pointer}.flow-actions .flow-primary,.flow-play{background:#fff!important;color:#080808!important}.flow-status{font-size:13px;color:var(--flow-muted)}.flow-hosts{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.flow-host{position:relative;min-height:600px;background:#0c0c0c;border:1px solid var(--flow-line);overflow:hidden;display:flex;align-items:flex-end}.flow-host:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#060606 4%,rgba(6,6,6,.55) 35%,transparent 70%);z-index:1}.flow-host img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 16%;filter:saturate(.88) contrast(1.04)}.echo-host img{object-position:50% 12%}.flow-host>div{position:relative;z-index:2;padding:28px;width:100%}.flow-host h2{font-size:clamp(32px,4vw,58px);margin:4px 0 10px;line-height:.9}.flow-host p:not(.micro){color:#ccc;line-height:1.5;min-height:68px}.flow-deck{padding:clamp(70px,8vw,130px) clamp(20px,6vw,90px);border-bottom:1px solid var(--flow-line)}.flow-deck-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.flow-deck-top h2,.flow-rotation h2,.flow-programming h2,.flow-submit h2{font-size:clamp(46px,7vw,104px);letter-spacing:-.055em;line-height:.85;margin:.1em 0}.flow-live-pill{display:flex;gap:9px;align-items:center;border:1px solid var(--flow-line);padding:10px 14px;font-size:12px;letter-spacing:.12em}.flow-live-pill span{width:8px;height:8px;border-radius:50%;background:var(--flow-hot);box-shadow:0 0 16px var(--flow-hot)}.flow-player{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(28px,6vw,90px);align-items:center;background:linear-gradient(135deg,#101010,#090909);border:1px solid var(--flow-line);padding:clamp(22px,4vw,52px)}.flow-art{aspect-ratio:1;position:relative;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);background:radial-gradient(circle at 50% 50%,#202020 0 19%,#080808 20% 35%,#161616 36% 37%,#080808 38% 100%);box-shadow:0 30px 90px rgba(0,0,0,.5)}.flow-orbit{position:absolute;inset:6%;border:1px solid rgba(255,255,255,.12);border-radius:50%}.flow-orbit i{position:absolute;left:50%;top:50%;width:88%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,42,42,.7),transparent);transform-origin:center}.flow-orbit i:nth-child(2){transform:translate(-50%,-50%) rotate(60deg)}.flow-orbit i:nth-child(1){transform:translate(-50%,-50%) rotate(0deg)}.flow-orbit i:nth-child(3){transform:translate(-50%,-50%) rotate(120deg)}.flow-monogram{font-size:clamp(54px,7vw,100px);font-weight:950;letter-spacing:-.09em;z-index:2}.flow-world.is-playing .flow-art{animation:flow-spin 12s linear infinite}.flow-world.is-playing .flow-monogram{animation:flow-counter 12s linear infinite}@keyframes flow-spin{to{transform:rotate(360deg)}}@keyframes flow-counter{to{transform:rotate(-360deg)}}.flow-now h3{font-size:clamp(36px,5vw,72px);line-height:.92;margin:6px 0 12px;letter-spacing:-.04em}.flow-now>p{color:#bbb}.flow-mood{text-transform:uppercase;letter-spacing:.1em;font-size:12px}.flow-meter{height:74px;display:flex;gap:5px;align-items:end;margin:28px 0}.flow-meter i{flex:1;max-width:14px;height:18%;background:#fff;opacity:.28;transform-origin:bottom;transition:height .12s ease}.is-playing .flow-meter i{animation:flow-meter 1.1s ease-in-out infinite alternate}.is-playing .flow-meter i:nth-child(2n){animation-duration:.72s}.is-playing .flow-meter i:nth-child(3n){animation-duration:1.42s}@keyframes flow-meter{to{height:92%;opacity:.85}}.flow-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.flow-controls button{width:48px;height:48px;padding:0;border-radius:50%}.flow-controls .flow-play{width:62px;height:62px;font-size:19px}.flow-controls label{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.1em;margin-left:8px}.flow-controls input{accent-color:#fff;max-width:130px}.flow-rights{font-size:12px;margin-top:22px!important}.flow-rotation,.flow-programming,.flow-submit{padding:clamp(70px,8vw,130px) clamp(20px,6vw,90px);border-bottom:1px solid var(--flow-line)}.flow-rotation{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:clamp(34px,7vw,110px)}.flow-rotation>div:first-child>p:not(.micro){font-size:17px;line-height:1.65;color:#bbb;max-width:620px}.flow-track-list{display:grid;gap:1px;background:var(--flow-line);border:1px solid var(--flow-line)}.flow-track{appearance:none;text-align:left;background:#0c0c0c;color:#fff;border:0;padding:20px;display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;cursor:pointer}.flow-track:hover,.flow-track.active{background:#171717}.flow-track.active{box-shadow:inset 3px 0 0 #fff}.flow-track b{display:block;font-size:18px}.flow-track small{display:block;color:#888;margin-top:4px}.flow-track em{font-style:normal;font-size:11px;color:#aaa;letter-spacing:.1em}.flow-programming{text-align:left}.flow-program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--flow-line);border:1px solid var(--flow-line);margin-top:42px}.flow-program-grid article{background:#0b0b0b;padding:28px;min-height:270px}.flow-program-grid span{font-size:12px;color:#777}.flow-program-grid h3{font-size:24px;margin:50px 0 12px}.flow-program-grid p{color:#aaa;line-height:1.6}.flow-submit{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.flow-submit p{max-width:750px;color:#aaa;line-height:1.6}.flow-submit button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:980px){.flow-hero{grid-template-columns:1fr}.flow-hosts{max-width:760px}.flow-host{min-height:520px}.flow-rotation{grid-template-columns:1fr}.flow-program-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.flow-hero{padding-top:52px}.flow-hosts{grid-template-columns:1fr}.flow-host{min-height:500px}.flow-player{grid-template-columns:1fr}.flow-art{max-width:320px;margin:auto}.flow-deck-top{align-items:start;flex-direction:column}.flow-program-grid{grid-template-columns:1fr}.flow-submit{grid-template-columns:1fr}.flow-track{grid-template-columns:34px 1fr}.flow-track em{display:none}.flow-actions button{width:100%}}

/* V24.6 — The Voice emerald signal / Echo violet signal */
.flow-host.voice-host{border-color:#2e8e56;background:radial-gradient(circle at 25% 18%,rgba(58,238,133,.16),transparent 42%),linear-gradient(145deg,#08120c,#08090c 70%);box-shadow:inset 0 0 0 1px rgba(82,242,150,.08),0 18px 50px rgba(0,0,0,.28),0 0 36px rgba(31,201,103,.09)}
.flow-host.voice-host img{border-color:#53ee93!important;box-shadow:0 0 0 1px rgba(83,238,147,.18),0 0 30px rgba(37,219,116,.35)}
.flow-host.voice-host .micro,.flow-host.voice-host h2{color:#82f3ad}
.flow-host.voice-host button{border-color:#3bcf7b;color:#bafbd0;background:linear-gradient(135deg,rgba(32,141,78,.22),rgba(7,12,9,.9))}
.flow-host.echo-host{box-shadow:inset 0 0 0 1px rgba(166,91,255,.06),0 18px 50px rgba(0,0,0,.28),0 0 34px rgba(166,91,255,.08)}


/* V25.1 — official Spotify window. Spotify playback stays inside Spotify's embed. */
.flow-spotify{padding:clamp(70px,8vw,130px) clamp(20px,6vw,90px);border-bottom:1px solid var(--flow-line);display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(34px,7vw,110px);align-items:center;background:radial-gradient(circle at 78% 42%,rgba(29,185,84,.08),transparent 30%)}
.flow-spotify h2{font-size:clamp(46px,7vw,104px);letter-spacing:-.055em;line-height:.85;margin:.1em 0 .26em}
.flow-spotify-copy>p:not(.micro):not(.flow-status){font-size:17px;line-height:1.65;color:#bbb;max-width:700px}
.flow-spotify-form{margin-top:28px}.flow-spotify-form label{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;margin-bottom:9px;color:#b9b9b9}
.flow-spotify-form>div{display:grid;grid-template-columns:1fr auto;border:1px solid var(--flow-line);background:#090909}
.flow-spotify-form input{min-width:0;border:0;background:transparent;color:#fff;padding:15px 16px;font:inherit;outline:none}.flow-spotify-form input:focus{box-shadow:inset 0 0 0 1px rgba(29,185,84,.75)}
.flow-spotify-form button,.flow-spotify-actions button,.flow-spotify-actions a{border:0;border-left:1px solid var(--flow-line);background:#fff;color:#080808;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;min-height:50px;text-decoration:none;font:inherit;font-size:12px;font-weight:900;letter-spacing:.06em;cursor:pointer}
.flow-spotify-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.flow-spotify-actions a,.flow-spotify-actions button{border:1px solid var(--flow-line);background:transparent;color:#fff;min-height:42px}.flow-spotify-actions a:hover,.flow-spotify-actions button:hover{border-color:rgba(29,185,84,.7)}
.flow-spotify-help{font-size:12px!important;color:#858585!important;margin:12px 0 4px}.flow-spotify-player{position:relative;min-height:352px;border:1px solid var(--flow-line);background:linear-gradient(145deg,#101010,#070707);display:grid;place-items:center;overflow:hidden}.flow-spotify-player:before{content:"";position:absolute;inset:-45%;background:conic-gradient(from 0deg,transparent,rgba(29,185,84,.09),transparent 38%);animation:spotify-scan 13s linear infinite;pointer-events:none}@keyframes spotify-scan{to{transform:rotate(360deg)}}
.flow-spotify-placeholder{position:relative;z-index:1;text-align:center;display:grid;gap:8px}.flow-spotify-placeholder span{font-size:11px;letter-spacing:.18em;color:#1db954;font-weight:900}.flow-spotify-placeholder b{font-size:clamp(28px,4vw,54px);letter-spacing:-.04em}.flow-spotify-placeholder small{color:#888}.flow-spotify-player #spotifyFlowEmbed{width:100%;position:relative;z-index:2}.flow-spotify-player.is-loaded{display:block;min-height:352px;padding:0}.flow-spotify-player.is-loaded .flow-spotify-placeholder{display:none}.flow-spotify-player.is-loaded:before{display:none}.flow-spotify-player iframe{display:block;width:100%!important;min-height:352px;border:0}
@media(max-width:980px){.flow-spotify{grid-template-columns:1fr}.flow-spotify-player{min-height:352px}}
@media(max-width:620px){.flow-spotify-form>div{grid-template-columns:1fr}.flow-spotify-form button{border-left:0;border-top:1px solid var(--flow-line);min-height:48px}.flow-spotify-actions>*{flex:1 1 150px}}
