/* SIXSEVEN RADIO V3.5 / Editorial boombox. No separate playback service. */
.radio-launch{display:flex;align-items:center;gap:9px;min-width:120px;padding:6px 10px;border:1px solid #7c4032;background:#201915;color:#f7eee4;transition:background .2s,border-color .2s}
.radio-launch:hover,.radio-launch[aria-expanded=true]{background:#352018;border-color:#f15a38}
.radio-launch-icon{font:30px/1 var(--display);color:#f15b38}
.radio-launch-text{display:flex;flex-direction:column;text-align:left;gap:1px;white-space:nowrap}.radio-launch-text b{font:900 15px/.95 var(--condensed)}.radio-launch-text small{font:8px var(--mono);color:#b8a7a0}
.radio-launch-led{width:7px;height:7px;border-radius:50%;background:#51423d;margin-left:auto}.radio-launch.is-playing .radio-launch-led{background:#eb5835;box-shadow:0 0 10px #f15b38}
.radio-panel{position:fixed;right:max(20px,calc((100vw - 1510px)/2 + 8px));top:calc(84px + env(safe-area-inset-top));width:min(410px,calc(100vw - 24px));height:min(830px,calc(100dvh - 100px));background:#171311;border:1px solid #5f3d32;color:#f3e9df;z-index:350;box-shadow:12px 14px 0 #e74828,0 20px 60px #000b;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .18s,transform .18s,visibility .18s;display:flex;flex-direction:column;overflow:hidden}
.radio-panel.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}
.radio-panel-header{display:flex;align-items:flex-start;justify-content:space-between;padding:19px 22px 0}.radio-micro,.radio-kicker{font:9px var(--mono);letter-spacing:.1em;color:#d3ab9c}
.radio-panel h2{margin:4px 0 0;font:58px/.95 var(--display);letter-spacing:-.03em}.radio-panel h2 em{font-style:normal;color:#ef5231}
.radio-close{background:transparent;border:1px solid #7b5144;color:#f4e7da;width:35px;height:35px;font:21px var(--condensed)}
.radio-cover{position:relative;height:137px;min-height:137px;overflow:hidden;margin:15px 22px 0;background:repeating-linear-gradient(135deg,#ef4b2b 0 3px,#cb351e 4px 13px);display:flex;align-items:center;justify-content:space-between;padding:16px}
.radio-vinyl{width:126px;height:126px;flex:none;border:8px solid #211713;background:repeating-radial-gradient(circle at 50%,#1b1412 0 2px,#342722 3px 4px,#1b1412 5px 8px);border-radius:50%;display:grid;place-items:center;box-shadow:7px 9px 0 #0005;transform:rotate(-10deg)}.radio-vinyl span{display:grid;place-items:center;border-radius:50%;width:62px;height:62px;background:#f1e9dc;color:#151110;font:50px var(--display)}
.radio-panel.is-playing .radio-vinyl{animation:radioSpin 5.5s linear infinite}.radio-signal{font:40px/.8 var(--display);text-align:right;letter-spacing:-.03em;color:#fff3e8;text-shadow:4px 4px 0 #1a110e}.radio-signal i{font:10px var(--mono);letter-spacing:.2em;font-style:normal}
.radio-bass-readout{position:absolute;bottom:8px;right:9px;background:#201411;color:#ffddc9;padding:4px 7px;font:9px var(--mono);display:flex;gap:8px;align-items:center}.radio-bass-readout b{font:19px var(--display);color:#ff693f}
.radio-now{padding:14px 22px 7px;display:flex;justify-content:space-between;align-items:center;gap:10px}.radio-now h3{font:30px/.95 var(--display);margin:5px 0 3px}.radio-now p{font:11px var(--mono);color:#bca79a;margin:0}.radio-state{font:9px var(--mono);color:#f6623c;border:1px solid #80513e;padding:6px}
.radio-spectrum{height:36px;min-height:36px;margin:6px 22px 0;display:flex;align-items:center;justify-content:center;gap:3px;border-bottom:1px solid #715144;overflow:hidden}
.radio-spectrum i{width:3px;flex:1;max-width:8px;height:86%;background:#ed5133;transform:scaleY(.15);transform-origin:center;transition:transform .08s linear}
.radio-scrub{padding:10px 22px 0}.radio-scrub input{width:100%;accent-color:#ef4d30;cursor:pointer}.radio-time{display:flex;justify-content:space-between;font:9px var(--mono);color:#bba99e}
.radio-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 22px 14px}.radio-controls>button{background:transparent;color:#f3e9dd;border:1px solid #654b43;min-width:38px;height:38px;font-size:16px}.radio-controls .radio-play{background:#ed4e2e;border-color:#ff6947;color:white;width:64px;height:49px;font-size:23px;box-shadow:4px 4px 0 #5b1d13}
.radio-volume{display:flex;align-items:center;gap:7px;color:#e96542}.radio-volume input{width:83px;accent-color:#ed4f32;cursor:pointer}
.radio-tracks{border-top:1px solid #49352f;display:grid;gap:0;overflow:auto}.radio-tracks button{text-align:left;display:grid;grid-template-columns:30px 1fr;gap:0 9px;align-items:center;background:#211a17;color:#eee2d7;border:0;border-bottom:1px solid #43332b;padding:9px 22px;min-height:49px}.radio-tracks button:hover,.radio-tracks button.is-selected{background:#e74a29;color:#fff}.radio-tracks button>span{grid-row:span 2;font:25px var(--display)}.radio-tracks button>b{font:800 16px/.98 var(--condensed)}.radio-tracks button>small{font:8px var(--mono);color:#c2ada0}.radio-tracks button.is-selected>small{color:#fff4ec}
.radio-source{padding:12px 22px;color:#c5b0a4;font:9px/1.4 var(--mono);background:#120f0e}.radio-source>span{display:block;min-height:26px}.radio-source-links{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:9px}.radio-source-links a,.radio-import{font:10px var(--mono);color:#ff8c65;border-bottom:1px solid #c15538;padding-bottom:4px;cursor:pointer;white-space:nowrap}
.radio-footer{display:flex;gap:8px;align-items:center;padding:9px 22px 12px;border-top:1px solid #61473e;font:9px var(--mono);color:#bda69c;margin-top:auto}.radio-footer button{margin-left:auto;background:none;border:1px solid #9b4735;color:#fc7654;font:9px var(--mono);padding:6px}.radio-dot{width:8px;height:8px;border-radius:50%;background:#4c3f3b}.radio-panel.is-playing .radio-dot{background:#ed5330}
.radio-culture-beat{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#bb8574;font:9px var(--mono);padding:0 0 13px}.radio-culture-beat small{font:10px var(--mono);text-transform:uppercase}.radio-culture-bars{display:flex;align-items:center;justify-content:center;gap:4px;height:26px;flex:1;max-width:450px}.radio-culture-bars i{height:18px;max-width:8px;flex:1;background:#ed5331;transform:scaleY(.10);transform-origin:center;opacity:.8}
body.radio-on .number-wrap{scale:calc(1 + var(--radio-bass,0) * .014);filter:drop-shadow(0 3px calc(var(--radio-bass,0) * 15px) rgba(240,82,45,.45))}
body.radio-in-culture .c672-card{filter:brightness(calc(1 + var(--radio-bass,0) * .08));border-color:rgba(255,90,48,calc(.2 + var(--radio-bass,0) * .8))}
body.radio-in-culture .c672-card .c672-photo img{scale:calc(1 + var(--radio-bass,0) * .022)}
body.radio-on .orbit-core{filter:drop-shadow(0 0 calc(var(--radio-bass,0) * 18px) rgba(231,76,43,.44))}
body.radio-beat .radio-cover{filter:contrast(1.12)}
@keyframes radioSpin{to{transform:rotate(350deg)}}
@media(max-width:1100px){.radio-launch-text small{display:none}.radio-launch{min-width:0}.radio-panel{right:15px}}
@media(max-width:650px){.header-inner{gap:8px}.header-cta{display:none}.radio-launch{order:2;margin-left:auto;padding:5px 8px;min-width:42px;height:39px;gap:5px}.radio-launch-icon{font-size:25px}.radio-launch-text{display:none}.radio-launch-led{margin-left:0}.radio-panel{right:12px;top:calc(70px + env(safe-area-inset-top));width:calc(100vw - 24px);height:min(720px,calc(100dvh - 82px));box-shadow:6px 7px 0 #e74828}.radio-panel-header{padding:14px 16px 0}.radio-panel h2{font-size:45px}.radio-cover{height:110px;min-height:110px;padding:10px;margin:9px 16px 0}.radio-vinyl{width:93px;height:93px}.radio-vinyl span{width:49px;height:49px;font-size:40px}.radio-signal{font-size:32px}.radio-now{padding:10px 16px 5px}.radio-now h3{font-size:26px}.radio-spectrum{margin:5px 16px 0;height:28px;min-height:28px}.radio-scrub{padding:7px 16px 0}.radio-controls{padding:9px 16px 12px}.radio-tracks button{padding:7px 16px;min-height:45px}.radio-source{padding:9px 16px}.radio-footer{padding:9px 16px}.radio-culture-beat{flex-wrap:wrap}.radio-culture-beat small{font-size:8px}}
@media(max-height:620px){.radio-cover{display:none}.radio-panel{height:calc(100dvh - 90px)}.radio-tracks button{min-height:40px;padding-block:4px}.radio-now{padding-top:9px}.radio-spectrum{height:22px;min-height:22px}}
@media(prefers-reduced-motion:reduce){.radio-panel.is-playing .radio-vinyl{animation:none}.radio-culture-bars i,.radio-spectrum i{transition:none}body.radio-on .number-wrap,body.radio-in-culture .c672-card .c672-photo img{scale:1}}
/* Keep the mobile visual viewport exact even when decorative offscreen layers extend. */
html{overflow-x:clip;max-width:100%}
body{max-width:100%}

/* SIXSEVEN V3.7: always-visible miniplayer — actual transport buttons */
.radio-mini{display:flex;align-items:center;gap:4px;min-width:0;height:44px;flex:none;background:#161110;border:1px solid #654236;padding:4px 5px;box-shadow:4px 4px 0 #0006}
.radio-mini button{cursor:pointer;flex:none}.radio-mini-step{width:29px;height:34px;border:0;background:#2b211d;color:#eadacf;font-size:14px}.radio-mini-step:hover,.radio-mini-step:focus-visible{background:#5d2b20;color:#fff}.radio-mini-play{width:36px;height:34px;background:#f04c2d;border:1px solid #ff7048;color:#fff;font:700 17px Arial,sans-serif}.radio-mini-play:hover{background:#ff6a43}
.radio-mini .radio-launch{flex:1;min-width:0;height:34px;padding:0 5px;gap:6px;border:0;background:transparent;box-shadow:none}.radio-mini .radio-launch:hover{background:#392018}.radio-mini .radio-launch-text{min-width:0;max-width:144px}.radio-mini .radio-launch-text b{font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.radio-mini .radio-launch-text small{display:block;font-size:8px}.radio-mini-number{font:22px/.8 var(--display);color:#f2603c;flex:none}.radio-mini-chevron{color:#c1a89b;font-size:13px}.radio-mini .radio-launch-led{flex:none;margin:0}.radio-mini.is-playing .radio-mini-play{background:#c5f247;color:#171711;border-color:#c5f247}
@media(max-width:1100px){.radio-mini .radio-launch-text{max-width:106px}.radio-mini .radio-launch-text small{display:none}}
@media(max-width:770px){.radio-mini{order:2;margin-left:auto}.radio-mini .radio-launch-text{max-width:90px}.radio-mini .radio-mini-number,.radio-mini .radio-launch-led,.radio-mini .radio-mini-chevron{display:none}.radio-mini .radio-launch{padding:0 3px}.radio-mini-step{width:27px}.radio-mini-play{width:33px}.radio-mini .radio-launch-text b{font-size:11px}}
@media(max-width:440px){.radio-mini{height:39px;padding:2px;gap:2px}.radio-mini-step{width:26px;height:31px;font-size:13px}.radio-mini-play{width:30px;height:31px;font-size:15px}.radio-mini .radio-launch{height:31px;min-width:0;width:70px;flex:0 1 70px}.radio-mini .radio-launch-text{max-width:70px}.radio-mini .radio-launch-text b{font-size:10px}.header-inner{gap:5px}.header .brand{font-size:23px}.header .menu-toggle{width:33px;padding:6px}}
@media(max-width:360px){.radio-mini .radio-launch{width:58px;flex-basis:58px}.radio-mini .radio-launch-text{max-width:58px}.header .brand{font-size:21px}}
/* Ensure current-song label is visible in the compact mobile transport. */
@media(max-width:770px){.radio-mini .radio-launch-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.radio-mini .radio-launch-text b{max-width:100%;font-size:10px;line-height:1.05}.radio-mini .radio-launch-text small{display:none}.radio-mini .radio-launch{align-items:center;justify-content:flex-start}}


/* SIXSEVEN V3.8 — explicit beat reactor visible across the site while music plays */
.brand-reactor{display:none;align-items:center;gap:10px;min-width:0;padding:5px 8px;border:1px solid rgba(215,255,62,.16);background:rgba(12,16,16,.58);backdrop-filter:blur(10px)}
.brand-reactor-label{font:9px var(--mono);letter-spacing:.18em;color:#c6cdaf;white-space:nowrap}
.brand-reactor-bars,.site-reactor-bars{display:flex;align-items:flex-end;gap:3px}
.brand-reactor-bars i,.site-reactor-bars i{display:block;width:4px;height:20px;border-radius:999px;background:linear-gradient(180deg,#dbff54 0%,#ef5a35 100%);transform-origin:50% 100%;transform:scaleY(.16);box-shadow:0 0 8px rgba(239,90,53,.18)}
.site-reactor{position:fixed;left:18px;bottom:18px;z-index:120;display:none;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(9,12,12,.82);box-shadow:0 12px 32px rgba(0,0,0,.32);backdrop-filter:blur(12px);min-width:170px;pointer-events:none}
.site-reactor-head{display:flex;align-items:center;gap:8px;color:#f4ecdf}.site-reactor-head b{font:900 13px/.95 var(--condensed);letter-spacing:.06em}.site-reactor-head small{font:9px var(--mono);color:#d7ff3e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.site-reactor-led{width:8px;height:8px;border-radius:50%;background:#4e5044}
.site-reactor-bars i{width:6px;height:34px}
body.radio-on .brand-reactor,body.radio-on .site-reactor{display:flex}
body.radio-on .site-reactor-led{background:#d7ff3e;box-shadow:0 0 calc(8px + var(--radio-bass,0) * 18px) rgba(215,255,62,.88)}
body.radio-on .brand{position:relative;text-shadow:0 0 calc(var(--radio-bass,0) * 16px) rgba(215,255,62,.22)}
body.radio-on .brand::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:linear-gradient(90deg,#d7ff3e,#ff654a);transform:scaleX(calc(.2 + var(--radio-bass,0) * .8));transform-origin:left center;opacity:.95}
body.radio-on .header{box-shadow:0 0 calc(var(--radio-bass,0) * 40px) rgba(215,255,62,.08)}
body.radio-on .page-progress{box-shadow:0 0 calc(var(--radio-bass,0) * 26px) rgba(255,101,74,.55)}
body.radio-on .hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 25%,rgba(215,255,62,calc(var(--radio-bass,0) * .12)) 0%,rgba(215,255,62,0) 32%),radial-gradient(circle at 50% 70%,rgba(255,101,74,calc(var(--radio-mid,0) * .10)) 0%,rgba(255,101,74,0) 40%);mix-blend-mode:screen;z-index:0}
body.radio-on .hero-content,body.radio-on .hero-bottom{position:relative;z-index:1}
body.radio-on .hero-title em,body.radio-on .display-xl em,body.radio-on .arcade-seal{filter:drop-shadow(0 0 calc(var(--radio-bass,0) * 12px) rgba(255,101,74,.55))}
body.radio-on .arcade-card{box-shadow:0 0 calc(var(--radio-bass,0) * 16px) rgba(215,255,62,.08)}
body.radio-beat .brand,body.radio-beat .header-cta,body.radio-beat .arcade-seal{transform:translateY(-1px)}
body.radio-beat .site-reactor,body.radio-beat .radio-mini{box-shadow:0 0 0 1px rgba(215,255,62,.28),0 14px 38px rgba(215,255,62,.12)}
@media(max-width:1100px){.brand-reactor{display:none!important}.site-reactor{left:12px;bottom:12px;min-width:154px}}
@media(max-width:770px){.site-reactor{bottom:12px;left:12px;right:auto;padding:8px 10px;gap:6px;min-width:142px}.site-reactor-head b{font-size:12px}.site-reactor-head small{max-width:74px}.site-reactor-bars i{width:5px;height:26px}}
@media(max-width:480px){.site-reactor{left:10px;bottom:10px;min-width:130px}.site-reactor-bars{gap:2px}.site-reactor-bars i{height:22px;width:4px}}

/* V3.9: amplified *real* frequency display — only while sound is playing. */
.brand-reactor-bars i{width:5px;height:32px;transition:transform .065s linear;box-shadow:0 0 7px #d7ff3e22}
.site-reactor{min-width:202px;padding:13px 15px;border-color:#c5f13e80;box-shadow:8px 8px 0 #07060680,0 0 24px #d7ff3e22}
.site-reactor-bars{gap:4px;height:58px;align-items:flex-end}
.site-reactor-bars i{width:8px;height:56px;min-height:10px;background:linear-gradient(180deg,#d7ff3e 0%,#f36543 88%);transition:transform .055s linear}
.site-reactor-head b{font-size:16px}.site-reactor-head small{max-width:100px}
body.radio-on .number-wrap{scale:calc(1 + var(--radio-bass,0) * .065);filter:drop-shadow(0 0 calc(var(--radio-bass,0) * 34px) rgba(215,255,62,.32))}
body.radio-on .hero-number{filter:drop-shadow(0 0 calc(var(--radio-bass,0) * 32px) rgba(240,82,45,.23))}
body.radio-on .hero .dash{transform:scaleX(calc(1 + var(--radio-bass,0) * .44));box-shadow:0 0 calc(var(--radio-bass,0) * 30px) #ef633b}
body.radio-on .orbit-core{scale:calc(1 + var(--radio-bass,0) * .085);filter:drop-shadow(0 0 calc(var(--radio-bass,0) * 35px) rgba(231,76,43,.38))}
@media(max-width:770px){.site-reactor{padding:10px 11px;min-width:144px;left:9px;bottom:max(9px,env(safe-area-inset-bottom))}.site-reactor-bars{height:33px;gap:2px}.site-reactor-bars i{height:33px;width:5px}.site-reactor-head b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.site-reactor,.brand-reactor{display:none!important}}

/* The header's navigation must never wrap when the visualizer is present. */
@media(min-width:1101px) and (max-width:1530px){
 .brand-reactor{padding:3px 0;gap:0;border:0;background:transparent;flex-shrink:0}
 .brand-reactor-label{display:none}
 .brand-reactor-bars{gap:2px}
 .brand-reactor-bars i{width:3px;height:25px}
 .main-nav{gap:clamp(10px,1.65vw,23px)}
 .main-nav a{font-size:clamp(13px,1.15vw,16px);white-space:nowrap}
 .header-inner{gap:clamp(9px,1.4vw,20px)}
 .radio-mini .radio-launch-text{max-width:112px}
 .header-cta{gap:8px}
}

/* V3.9.1 — only one renderer, attached to the top navigation.
   Mobile uses a narrow header sub-strip rather than a floating overlay. */
.site-reactor { display:none!important; }
@media (max-width:1100px) {
  body.radio-on .header .brand-reactor {
    display:flex!important;
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    height:23px;
    padding:2px 14px;
    gap:10px;
    justify-content:center;
    background:rgba(16,16,15,.94);
    border:0;
    border-top:1px solid rgba(215,255,62,.16);
    border-bottom:1px solid rgba(215,255,62,.23);
    box-shadow:none;
    backdrop-filter:blur(8px);
  }
  body.radio-on .header .brand-reactor-label { display:block; font-size:8px; }
  body.radio-on .header .brand-reactor-bars { gap:3px; align-items:flex-end; height:16px; }
  body.radio-on .header .brand-reactor-bars i { width:4px; height:15px; }
}
@media (prefers-reduced-motion:reduce) {
  body.radio-on .header .brand-reactor { display:none!important; }
}
