/*
Theme Name: Nocturnal Transmissions
Theme URI: https://nocturnaltransmissions.com
Author: Good One Wah
Description: A brutalist radio and editorial theme for Nocturnal Transmissions.
Version: 1.2.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: nocturnal-transmissions
*/
:root{color-scheme:dark;--signal:#d90000;--x-yellow:#ffbb00;--bone:#e7e1d4;--black:#050707;--panel:#070909}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--bone);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button{font:inherit}.nt-shell{min-height:100vh}.nt-radio{position:relative;height:60svh;min-height:520px;overflow:hidden;isolation:isolate}.nt-scene,.nt-veil,.nt-grain{position:absolute;inset:0}.nt-scene{z-index:-4;background-position:50%;background-size:cover;transform:scale(1.015);animation:nt-breathe 18s ease-in-out infinite alternate}.nt-scene.day{background-image:url('assets/bunker-day.webp')}.nt-scene.night{background-image:url('assets/bunker-night.jpeg')}.nt-veil{z-index:-3;background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 28%,transparent 65%,rgba(0,0,0,.72)),linear-gradient(90deg,rgba(0,0,0,.26),transparent 45%,rgba(0,0,0,.12))}.nt-grain{z-index:-2;opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.nt-masthead{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:36px 42px}.nt-logo{display:block;width:clamp(118px,11vw,168px)}.nt-logo img{display:block;width:100%;height:auto}.nt-broadcast{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.nt-status{display:flex;align-items:center;gap:9px;color:rgba(231,225,212,.55);font:700 11px/1 monospace;letter-spacing:.2em}.nt-status i{width:7px;height:7px;border-radius:50%;background:currentColor}.nt-status.live{color:#ff3026}.nt-status.live i{box-shadow:0 0 14px currentColor;animation:nt-pulse 1.8s infinite}.nt-schedule{margin:0;display:grid;justify-items:end;text-transform:uppercase;text-shadow:0 3px 20px #000}.nt-schedule span{font:600 clamp(13px,1.25vw,18px)/1 monospace;letter-spacing:.22em;color:rgba(231,225,212,.72)}.nt-schedule strong{margin-top:6px;font:800 clamp(25px,3.2vw,50px)/.88 Arial,sans-serif;letter-spacing:-.055em;white-space:nowrap}.nt-schedule small{margin-top:8px;color:var(--x-yellow);font:600 9px/1 monospace;letter-spacing:.32em}.nt-player{position:absolute;left:clamp(28px,7vw,110px);bottom:clamp(80px,12vh,125px);width:min(500px,calc(100vw - 56px))}.nt-frequency{margin:0 0 17px;color:rgba(231,225,212,.58);font:500 10px/1 monospace;letter-spacing:.25em}.nt-listen{display:flex;align-items:center;gap:18px;border:0;padding:0;background:none;color:var(--bone);cursor:pointer;font:800 clamp(39px,5.4vw,76px)/.9 Arial,sans-serif;letter-spacing:-.055em}.nt-play-icon{position:relative;display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid rgba(231,225,212,.62);border-radius:50%}.nt-play-icon:before{content:"";margin-left:3px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}.nt-listen.playing .nt-play-icon:before{width:4px;height:13px;margin:0;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor}.nt-listen:hover .nt-play-icon,.nt-listen.playing .nt-play-icon{color:#fff;background:var(--signal);border-color:var(--signal);box-shadow:0 0 24px rgba(217,0,0,.3)}.nt-wave{height:30px;margin:23px 0 0 60px;display:flex;align-items:center;gap:5px;opacity:.3}.nt-wave b{width:1px;height:9px;background:var(--signal)}.nt-wave b:nth-child(3n){height:18px}.nt-wave b:nth-child(4n){height:26px}.nt-wave.playing{opacity:.9}.nt-wave.playing b{animation:nt-meter .65s ease-in-out infinite alternate}.nt-radio-footer{position:absolute;left:42px;right:42px;bottom:25px;display:grid;grid-template-columns:1fr 1fr;color:rgba(231,225,212,.46);font:500 9px/1 monospace;letter-spacing:.18em}.nt-radio-footer time{justify-self:end}.nt-archive-link{justify-self:center;text-decoration:none;border-bottom:1px solid rgba(231,225,212,.35);padding-bottom:4px}.nt-archive-link:hover{color:var(--signal);border-color:var(--signal)}.nt-latest{padding:0 42px 30px;background:var(--panel)}.nt-section-head{display:grid;grid-template-columns:minmax(190px,.55fr) 1.45fr;align-items:start;border-top:1px solid rgba(231,225,212,.28);padding-top:18px}.nt-kicker{margin:4px 0 0;color:var(--signal);font:700 9px/1.2 monospace;letter-spacing:.24em}.nt-section-head h1,.nt-section-head h2{margin:0;font:800 clamp(55px,8.4vw,132px)/.76 Arial,sans-serif;letter-spacing:-.075em}.nt-post-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(65px,9vw,120px);border-block:1px solid rgba(231,225,212,.2)}.nt-card{position:relative;min-height:515px;padding:22px 28px 28px;border-left:1px solid rgba(231,225,212,.2)}.nt-card:first-child{border-left:0}.nt-card-meta{display:flex;justify-content:space-between;color:rgba(231,225,212,.42);font:600 8px/1 monospace;letter-spacing:.18em}.nt-card-meta span{color:var(--signal)}.nt-swatch{display:block;width:100%;aspect-ratio:4.8/1;margin:28px 0 32px;overflow:hidden;background-size:cover;background-position:center;filter:saturate(.82) contrast(1.08)}.nt-swatch img{display:block;width:100%;height:100%;object-fit:cover}.nt-swatch-1{background-image:linear-gradient(90deg,rgba(217,0,0,.24),transparent 60%),url("assets/bunker-night.jpeg");background-position:50% 68%}.nt-swatch-2{background-image:linear-gradient(90deg,rgba(255,187,0,.18),transparent 58%),url("assets/bunker-day.webp");background-position:50% 58%}.nt-swatch-3{background-image:linear-gradient(90deg,rgba(217,0,0,.25),rgba(0,0,0,.1)),url("assets/bunker-night.jpeg");background-position:74% 42%}.nt-card-index{margin:0 0 16px;color:rgba(231,225,212,.16);font:800 74px/.8 Arial,sans-serif;letter-spacing:-.08em}.nt-card h3{margin:0;font:700 clamp(27px,2.8vw,45px)/.93 Arial,sans-serif;letter-spacing:-.045em}.nt-card h3 a{text-decoration:none}.nt-card h3 a:hover{color:var(--signal)}.nt-excerpt{margin:21px 0 70px;color:rgba(231,225,212,.57);font-size:14px;line-height:1.55}.nt-read{position:absolute;left:28px;right:28px;bottom:28px;display:flex;justify-content:space-between;text-decoration:none;font:700 8px/1 monospace;letter-spacing:.2em}.nt-read span{color:var(--signal);font-size:15px}.nt-site-footer{display:flex;justify-content:space-between;padding-top:24px;color:rgba(231,225,212,.28);font:500 8px/1 monospace;letter-spacing:.2em}.nt-interior-head{padding:36px 42px 0;background:var(--panel)}.nt-interior-bar{display:flex;justify-content:space-between;align-items:flex-start}.nt-interior-bar .nt-logo{width:110px}.nt-back{text-decoration:none;font:700 9px/1 monospace;letter-spacing:.2em}.nt-back:hover{color:var(--signal)}.nt-article{background:var(--panel);padding:clamp(70px,10vw,150px) max(24px,calc((100vw - 1180px)/2)) 120px}.nt-article-header{border-top:1px solid rgba(231,225,212,.28);padding-top:18px}.nt-article-header h1{max-width:1050px;margin:40px 0 25px;font:800 clamp(58px,9vw,138px)/.82 Arial,sans-serif;letter-spacing:-.075em}.nt-article-meta{color:var(--signal);font:700 9px/1 monospace;letter-spacing:.22em}.nt-featured{width:100%;max-height:680px;object-fit:cover;margin:55px 0}.nt-content{max-width:760px;margin:0 auto;font:18px/1.75 Georgia,serif;color:#d8d2c6}.nt-content h2,.nt-content h3{margin:2em 0 .6em;color:var(--bone);font-family:Arial,sans-serif;line-height:1;letter-spacing:-.04em}.nt-content h2{font-size:clamp(35px,5vw,65px)}.nt-content a{color:var(--signal)}.nt-content blockquote{margin:2.5em 0;padding-left:25px;border-left:4px solid var(--signal);font-size:1.35em;line-height:1.45}.nav-links{display:flex;justify-content:space-between;gap:30px;max-width:760px;margin:80px auto 0;border-top:1px solid rgba(231,225,212,.2);padding-top:25px}.nav-links a{text-decoration:none;font:700 10px/1.3 monospace;letter-spacing:.15em}.nav-links a:hover{color:var(--signal)}@keyframes nt-pulse{50%{opacity:.35}}@keyframes nt-breathe{to{transform:scale(1.045)}}@keyframes nt-meter{from{transform:scaleY(.22)}to{transform:scaleY(1)}}@media(max-width:700px){.nt-radio{height:72svh;min-height:560px}.nt-masthead{padding:24px}.nt-logo{width:min(150px,39vw)}.nt-schedule span{font-size:9px}.nt-schedule strong{font-size:clamp(20px,5.6vw,28px)}.nt-player{left:24px;bottom:105px;width:calc(100vw - 48px)}.nt-listen{font-size:clamp(36px,13vw,58px);gap:13px}.nt-radio-footer{left:24px;right:24px;grid-template-columns:1fr}.nt-radio-footer>span{display:none}.nt-archive-link{justify-self:start}.nt-latest{padding:0 24px 24px}.nt-section-head{grid-template-columns:1fr;gap:34px}.nt-section-head h1,.nt-section-head h2{max-width:100%;font-size:clamp(37px,11.2vw,58px);letter-spacing:-.085em}.nt-post-grid{grid-template-columns:1fr;margin-top:62px}.nt-card,.nt-card:first-child{min-height:475px;border-left:0;border-top:1px solid rgba(231,225,212,.2);padding-inline:0}.nt-card:first-child{border-top:0}.nt-read{left:0;right:0}.nt-site-footer span:first-child{display:none}.nt-site-footer{justify-content:flex-end}.nt-interior-head{padding:24px 24px 0}.nt-article{padding:70px 24px}.nt-article-header h1{font-size:clamp(50px,16vw,82px)}.nt-content{font-size:17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.nt-scene,.nt-status i,.nt-wave b{animation:none!important}}


/* The homepage is a single viewport-filling radio player. */
.home .nt-radio{height:100svh;min-height:0}
.home .nt-shell{min-height:100svh}
.home .nt-player{bottom:clamp(95px,18svh,200px)}
body.home{overflow-x:hidden}
body.home.admin-bar .nt-radio{height:calc(100svh - 32px)}
@media(max-width:782px){body.home.admin-bar .nt-radio{height:calc(100svh - 46px)}}
@media(max-height:480px) and (orientation:landscape){
.home .nt-masthead{padding:18px 24px}
.home .nt-logo{width:95px}
.home .nt-player{bottom:65px}
.home .nt-wave{display:none}
.home .nt-radio-footer{bottom:18px}
}
