/* bp4.css · NUDY WORLD bp4 (Oct 19 2026). Revert = drop this <link> + bp4.js. */
/* key-track chips: wrap, never clip; playing state */
.ktrk{white-space:normal!important;height:auto!important;min-height:44px;line-height:1.2!important;text-align:left;overflow:visible!important;text-overflow:clip!important;word-break:normal;overflow-wrap:anywhere}
.ktrk.on{box-shadow:0 0 0 2px #39ff14,0 0 18px rgba(57,255,20,.55)!important}
.ktrk.on::after{content:"";display:inline-block;width:10px;height:10px;margin-left:8px;vertical-align:middle;background:linear-gradient(90deg,#39ff14 0 25%,transparent 25% 37%,#39ff14 37% 62%,transparent 62% 75%,#39ff14 75%);animation:bp4eq .7s steps(3) infinite}
@keyframes bp4eq{0%{transform:scaleY(.4)}50%{transform:scaleY(1)}100%{transform:scaleY(.6)}}
/* round icon in the world-icons row */
.nw3-emb a.emb-me img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 35%;border:3px solid #39ff14;box-shadow:0 0 0 2px #000,0 0 16px rgba(57,255,20,.7);background:#111}
/* pull-quotes: centred + balanced */
.snk-q,.snk-q p,.snk-q cite{text-align:center!important}
.snk-q p,blockquote p,.bp-q p{text-wrap:balance}
.snk-q p{max-width:16ch;margin-left:auto!important;margin-right:auto!important}
.snk-q cite{display:block;margin-top:10px}
/* ---------- NUDY RADIO station sign ---------- */
header.mban.rad{padding:22px 12px 18px;background:radial-gradient(120% 80% at 50% 0,#123a05 0,#041200 55%,#000 100%)}
.rad-box{position:relative;max-width:520px;margin:0 auto;padding:12px 12px 10px;border-radius:22px;background:linear-gradient(180deg,#1c1f1c,#0a0b0a 60%,#050505);border:2px solid #2f4a24;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -6px 18px rgba(0,0,0,.8),0 18px 40px -14px rgba(0,0,0,.95),0 0 34px -6px rgba(57,255,20,.35);transform:perspective(900px) rotateX(6deg);transform-origin:50% 100%}
.rad-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.rad-onair{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font:400 13px/1 Anton,Impact,sans-serif;letter-spacing:.16em;color:#5a1010;background:#1a0606;border:1px solid #3a0d0d}
.rad-onair i{width:9px;height:9px;border-radius:50%;background:#4a1010}
.rad.on .rad-onair{color:#fff;background:#c4121a;border-color:#ff4d4d;box-shadow:0 0 14px rgba(255,40,40,.75);animation:radpulse 1.4s ease-in-out infinite}
.rad.on .rad-onair i{background:#fff;box-shadow:0 0 8px #fff}
@keyframes radpulse{50%{box-shadow:0 0 4px rgba(255,40,40,.4);filter:brightness(.85)}}
.rad-freq{font:400 13px/1 Anton,Impact,sans-serif;letter-spacing:.12em;color:#9fdc86;padding:4px 8px;border-radius:6px;background:#020802;border:1px solid #1d3a12;text-shadow:0 0 8px rgba(57,255,20,.6)}
.rad-freq b{color:#39ff14;font-weight:400}
.rad-body{display:grid;grid-template-columns:62px 1fr 62px;align-items:center;gap:8px}
.rad-spk{display:block;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#222 0 18%,#0c0c0c 19% 24%,transparent 25%),radial-gradient(#3b3b3b 1.3px,transparent 1.6px) 0 0/6px 6px,radial-gradient(circle at 35% 30%,#2a2a2a,#050505 70%);border:3px solid #2d2d2d;box-shadow:inset 0 0 10px #000,0 0 0 2px #0a0a0a,0 0 14px -2px rgba(57,255,20,.35)}
.rad.on .rad-spk{animation:radthump .46s ease-in-out infinite alternate}
@keyframes radthump{to{transform:scale(1.045)}}
.rad-mid{text-align:center;min-width:0}
.rad-mon{display:block;width:74px;height:auto;margin:-4px auto 2px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.85)) drop-shadow(0 0 12px rgba(57,255,20,.55));transform:rotate(-6deg)}
header.mban.rad h1{font-size:clamp(40px,12.5vw,76px);line-height:.88;margin:0;white-space:nowrap}
.rad-dial{position:relative;display:flex;justify-content:space-between;margin:8px 2px 0;padding:6px 6px 4px;border-radius:6px;background:linear-gradient(180deg,#0d1a08,#020602);border:1px solid #234a16;font:400 9px/1 system-ui,sans-serif;color:#7fbf68;letter-spacing:.02em}
.rad-ndl{position:absolute;top:2px;bottom:2px;left:80%;width:2px;background:#ff3b30;box-shadow:0 0 6px #ff3b30;transition:left .6s}
.rad.on .rad-ndl{animation:radndl 6s ease-in-out infinite alternate}
@keyframes radndl{from{left:78%}to{left:83%}}
.rad-eq{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:26px;margin:10px 4px 6px}
.rad-eq i{flex:1;max-width:12px;height:22%;border-radius:2px 2px 0 0;background:linear-gradient(0deg,#1f8f0a,#39ff14 70%,#d8ff7a);box-shadow:0 0 6px rgba(57,255,20,.5);opacity:.55}
.rad.on .rad-eq i{opacity:1;animation:radeq .9s ease-in-out infinite alternate}
.rad-eq i:nth-child(3n){animation-delay:-.3s!important}.rad-eq i:nth-child(3n+1){animation-delay:-.55s!important;animation-duration:.7s!important}.rad-eq i:nth-child(4n){animation-delay:-.15s!important;animation-duration:1.1s!important}
@keyframes radeq{0%{height:18%}40%{height:85%}70%{height:45%}100%{height:100%}}
.rad-np{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:#010401;border:1px solid #1c3a11;min-width:0}
.rad-npk{flex:none;font:400 10px/1 Anton,Impact,sans-serif;letter-spacing:.14em;color:#000;background:#39ff14;padding:4px 6px;border-radius:4px}
.rad-mq{flex:1;min-width:0;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rad-mq b{display:inline-block;font:600 13px/1.2 system-ui,sans-serif;color:#d9ffcb;padding-left:4px}
.rad-mq.run b{padding-left:100%;animation:radmq 12s linear infinite}
@keyframes radmq{to{transform:translateX(-100%)}}
p.rad-sub{margin:14px auto 0!important;max-width:24ch;text-align:center;text-wrap:balance;line-height:1.35;font-size:14px!important;letter-spacing:.18em!important;color:#cfe9c0}
@media (prefers-reduced-motion:reduce){.rad *,.rad{animation:none!important}.rad-box{transform:none}}
/* ---------- TV room header: CRT set ---------- */
.nw3-h.bp4-tvh{position:relative;margin:26px auto 14px;max-width:560px;padding:22px 16px 18px;border-radius:26px;text-align:center;background:radial-gradient(120% 100% at 50% 40%,#13261a,#050b07 70%);border:10px solid #1b1b1b;outline:2px solid #39ff14;outline-offset:3px;box-shadow:inset 0 0 40px rgba(0,0,0,.9),inset 0 0 0 1px rgba(57,255,20,.25),0 0 30px -6px rgba(57,255,20,.45)}
.nw3-h.bp4-tvh::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);mix-blend-mode:screen}
.tvh-ant{position:absolute;left:50%;top:-34px;width:0;height:30px}
.tvh-ant i{position:absolute;bottom:0;width:3px;height:36px;background:linear-gradient(#ddd,#666);border-radius:2px;transform-origin:bottom}
.tvh-ant i:first-child{transform:rotate(-32deg)}.tvh-ant i:last-child{transform:rotate(32deg)}
.tvh-ant i::before{content:"";position:absolute;top:-5px;left:-3px;width:9px;height:9px;border-radius:50%;background:#39ff14;box-shadow:0 0 8px #39ff14}
.tvh-led{display:inline-flex;align-items:center;gap:6px;margin:6px auto 2px;font:400 12px/1 Anton,Impact,sans-serif;letter-spacing:.16em;color:#ff5a4f}
.tvh-led i{width:8px;height:8px;border-radius:50%;background:#ff2d20;box-shadow:0 0 8px #ff2d20;animation:radpulse 1.6s infinite}
.bp4-tvh .nw3-sub{text-wrap:balance}
/* ---------- arcade title: marquee lights ---------- */
h2.hart.bp4-mq{position:relative;padding:14px 10px;border-radius:18px;background:linear-gradient(180deg,#160a24,#05020a);box-shadow:inset 0 0 0 2px #5a1a8c,0 0 24px -4px rgba(140,60,255,.6)}
.mq-bulbs{position:absolute;inset:4px;border-radius:14px;pointer-events:none;background:radial-gradient(circle,#fff6b0 0 2px,transparent 2.6px) 0 0/16px 100% repeat-x,radial-gradient(circle,#fff6b0 0 2px,transparent 2.6px) 8px 100%/16px 6px repeat-x;filter:drop-shadow(0 0 3px #ffd84a);animation:mqb 1.2s steps(2) infinite}
@keyframes mqb{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.mq-bulbs,.tvh-led i{animation:none}}
/* ---------- search overlay header ---------- */
.nws .nws-top{border-radius:16px;border:2px solid #39ff14;box-shadow:0 0 22px -4px rgba(57,255,20,.6),inset 0 0 18px rgba(57,255,20,.12);background:linear-gradient(180deg,#0b1a07,#020502)}
.nws .nws-in::before{content:"SEARCH NUDY WORLD";display:block;text-align:center;font:400 clamp(26px,8vw,40px)/1 Creepster,Anton,sans-serif;letter-spacing:.06em;color:#39ff14;text-shadow:0 0 18px rgba(57,255,20,.6),0 3px 0 #0b3a00;margin:4px 0 12px}

/* radio layout v2: speakers flank the monster, title full width */
header.mban.rad h1::before,header.mban.rad h1::after{display:none!important;content:none!important}
.rad-body{grid-template-columns:1fr auto 1fr!important;row-gap:4px}
.rad-mid{display:contents}
.rad-spk{width:72px;justify-self:center;grid-row:1}
.rad-body>.rad-spk:first-child{grid-column:1}.rad-body>.rad-spk:last-child{grid-column:3}
.rad-mon{grid-column:2;grid-row:1;width:84px!important;margin:0 auto!important}
header.mban.rad h1{grid-column:1/-1;grid-row:2;font-size:clamp(46px,15vw,84px)!important;text-align:center;position:relative}
.rad-dial{grid-column:1/-1;grid-row:3}

/* #/pde: inline Source links get a 44px tap target */
.pde-facts a,.lt-h a{min-height:44px;display:inline-flex;align-items:center}

/* JDM (bandana) era: the white flower band behind the sections fades to a deep red-black once you scroll past the hero (Ki 12:48 AM "Fix them flowers"); chips get a solid backing */
.world.tex-bandana::before{transition:filter .6s ease,opacity .6s ease}
html.bp4-deep .world.tex-bandana::before{filter:brightness(.14) saturate(.5) blur(2px)}
.world.tex-bandana::after{transition:opacity .6s}
html.bp4-deep .world.tex-bandana .wrap{background:linear-gradient(180deg,rgba(40,0,4,0) 0,rgba(22,0,2,.55) 340px,rgba(8,0,0,.7) 100%)}
.world.tex-bandana .w-sec:not(.bp-pack){border-top:1px solid rgba(255,59,48,.28);box-shadow:0 -1px 0 rgba(57,255,20,.06)}
.world.tex-bandana .ktrk{background:rgba(0,0,0,.78)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;backdrop-filter:blur(3px)}
.world.tex-bandana .tracks+p,.world.tex-bandana .w-sec>p{text-shadow:0 1px 3px #000,0 0 10px rgba(0,0,0,.9)}
