/* NIGHT SIGNAL — dark by design, light only where it matters. */
:root{color-scheme:dark;--paper:#090b10;--ink:#f1f2f6;--muted:#a0a5b3;--line:#262a35;--dark:#06080c;--lime:#c3ff63;--violet:#a18aff;--coral:#ff967c}
body{background:#090b10;color:var(--ink);overflow-x:clip}::selection{background:#c3ff63;color:#090b10}
.site-header{background:#10131ad9;border-color:#ffffff1c;box-shadow:none;backdrop-filter:blur(24px);border-radius:18px;top:25px;padding:17px 21px}
.brand{font-size:16px;letter-spacing:-.035em}.brand small{color:#b9bcca;font-size:9px;letter-spacing:.23em}
.site-header nav a{color:#adb1bf;position:relative}.site-header nav a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover::after,.site-header nav a[aria-current=page]::after{transform:scaleX(1)}
.header-play{border-radius:10px;background:var(--lime);color:#12180c}.button{border-radius:12px;background:var(--lime);color:#13190c;position:relative;overflow:hidden}.button.dark{background:var(--lime);color:#13190c}.button.dark:hover{background:#d8ff9b;color:#13190c}.button.secondary{background:#242936;color:#e7e9f0}.button.danger{background:#b62c48;color:#fff}.button:not(.secondary):not(.danger)::after{content:"";position:absolute;inset:-100% -40%;background:linear-gradient(110deg,transparent 44%,#ffffff30 50%,transparent 56%);transform:translateX(-80%);transition:transform .6s}.button:hover::after{transform:translateX(80%)}
.hero{height:92svh;min-height:780px;max-height:1000px;background:#090b10;clip-path:polygon(0 0,100% 0,100% 94%,0 100%);align-items:center;justify-content:flex-start;padding-bottom:70px}
.hero-art{width:78%;left:auto;right:0;object-position:66% 50%;opacity:.76;filter:saturate(.82)}
.hero::before{background:linear-gradient(90deg,#090b10 2%,#090b10ee 20%,#090b10a8 42%,#090b1022 80%),linear-gradient(0deg,#090b10f0,transparent 50%,#090b1050);z-index:-2}
.hero::after{inset:-20%;background:radial-gradient(ellipse at 20% 65%,#6945c924,transparent 40%);animation:ambient-shift 13s ease-in-out infinite alternate;z-index:-1}
.hero-content{text-align:left;padding:170px 40px 95px;margin:0 auto;max-width:1230px;width:100%}
.hero-content>.eyebrow{justify-content:flex-start;color:#c5c9d3;font-size:9px;letter-spacing:.18em}
.hero h1{font-size:clamp(65px,7.8vw,114px);letter-spacing:-.075em;line-height:.96;margin:33px 0 28px;text-shadow:none;max-width:900px}
.hero h1 span{color:var(--lime);background:linear-gradient(100deg,#c3ff63 20%,#ecffcf 45%,#a5e840 70%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:arrive .85s .2s both,signal-colour 10s ease-in-out infinite alternate}
.hero-description{margin:0;color:#c8cbd3;font-size:15px;line-height:1.85;text-shadow:none;max-width:470px}
.hero-actions{justify-content:flex-start;gap:29px}.hero-actions .button{padding:18px 27px;box-shadow:0 0 35px #c3ff6314}.text-link{color:#d2d4de;border-color:#606471;font-size:12px}.hero-sticker{background:#12171bcc;backdrop-filter:blur(15px);border:1px solid #c3ff6370;color:var(--lime);box-shadow:0 0 50px #a4f4590a;width:120px;height:120px;right:8%;bottom:170px;border-radius:22px}.hero-sticker::before,.hero-sticker::after{border-color:#c3ff6325;border-radius:30px}.hero-coordinate{left:auto;right:40px;bottom:80px;writing-mode:horizontal-tb;color:#949aa9;font-size:8px;letter-spacing:.24em}
.signal-wave{height:38px;display:flex;align-items:center;gap:4px;margin-top:40px;opacity:.6;max-width:300px;mask-image:linear-gradient(90deg,#000,transparent)}.signal-wave i{width:3px;height:15px;background:var(--lime);border-radius:2px;animation:signal-wave 1.8s ease-in-out infinite alternate;transform-origin:center}.signal-wave i:nth-child(3n){height:32px;animation-delay:-.6s}.signal-wave i:nth-child(3n + 1){height:22px;animation-delay:-1.2s}.signal-wave i:nth-child(5n){height:36px;animation-duration:2.4s}
.city-ticker{background:#101319;border-color:#252a32;transform:rotate(-1.8deg);margin:0 -1px 30px;padding:23px 0}.ticker-track span{color:#aab0bd;font-size:10px;letter-spacing:.2em}.ticker-track b{color:var(--lime)}
.section-heading h2,.local-intro h2{letter-spacing:-.055em}.section-heading h2 span,.local-intro h2 em{color:#aab1bf}.section-heading .eyebrow,.local-intro>.eyebrow{color:var(--lime);font-size:9px}.section-dot{background:var(--lime)}.section-link{border-color:#4b5361;color:#d9dce6}.section-link:hover{color:var(--lime);border-color:var(--lime)}
.news-section{padding-top:70px}.news-grid{gap:24px}.news-card{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.news-card:hover{box-shadow:none;transform:translateY(-6px)}.news-art{border-radius:16px;background:#181d23;overflow:hidden}.news-copy{padding:23px 0 0}.news-copy time{font-family:monospace;font-size:10px;color:#959cac}.news-copy h3{font-size:28px;font-weight:750;letter-spacing:-.045em;margin:15px 0 12px}.news-copy p{color:#9da5b5}.news-read{color:var(--lime);border-bottom:1px solid var(--line);padding-bottom:20px}.news-open{background:#0b0e16d9;color:var(--lime);border:1px solid #ffffff20}.news-card:hover .news-open{color:#10170a}.news-category{background:#0c1017df;color:#e0e6ee;border-color:#ffffff1c;backdrop-filter:blur(16px);border-radius:7px;font-size:9px;font-weight:600}
.news-poster{background:#1c2924;color:#c3ff63}.news-theme-purple .news-poster{background:#241c38;color:#c7b8ff}.news-poster>b{color:#73a747}.news-theme-purple .news-poster>b{color:#6f4c9b}.news-poster::before,.news-poster::after{opacity:.27}.news-poster>strong{font-weight:800}.news-poster>small{color:#b1bdb4}
.city-gallery-grid{gap:22px}.city-frame{border-radius:16px;border:1px solid #303541}.city-frame>img{filter:saturate(.75) brightness(.85);transition:transform .9s,filter .8s}.city-frame:hover>img{filter:saturate(1) brightness(1);transform:scale(1.06)}.city-frame::after{background:linear-gradient(transparent 30%,#090b10e6)}.city-frame figcaption strong{font-size:32px;font-weight:700}.gallery-credit{color:#8d95a5}.gallery-credit:hover{color:var(--lime)}
.local-section{border-color:var(--line)}.local-experience{background:#11151d;border:1px solid #2c3240;border-radius:16px;box-shadow:none}.spree-poster{background:radial-gradient(ellipse at 30% 90%,#273625,transparent 80%),#11171c}.poster-postcode{color:#e2ebdc}.poster-top{color:#899c92}.local-details{background:#11151d}.local-tabs button{background:#202632;color:#b7becb;border:1px solid #303746;border-radius:8px}.local-tabs button[aria-selected=true]{background:var(--lime);color:#141b0e;border-color:var(--lime)}#spot-panel h3{color:#f2f5f8}#spot-panel p{color:#a0a9b8}#spot-panel .text-link{color:var(--lime);border-color:#56624c}.local-pin span{color:#152113}.local-details .eyebrow{color:#9aaf8b}
.station-band{background:#101711;border-color:#34472d;position:relative;overflow:hidden}.station-band::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#c3ff630b 50%,transparent 80%);animation:ambient-shift 9s ease-in-out infinite alternate}.station-inner{position:relative;z-index:1}.station-inner h2{color:var(--lime);font-size:45px}.station-inner p{color:#aeb9a9}.station-icon{border-color:#597b41;background:#23351b}.station-inner .button{background:var(--lime);color:#111b09}
.team-art{border:1px solid #343047;background:radial-gradient(ellipse at center,#292039,#13131c)}.team-art .huge-type{color:#756293;opacity:.5}.team-intro h2{font-weight:750}.member-card{border-bottom:1px solid var(--line);padding-bottom:25px}.member-role{color:var(--lime)}.member-card p{color:var(--muted)}.member-avatar{color:#1b2220}.join-panel{border-color:var(--line)}.empty-state{background:#12161e;border-color:var(--line)}
.page-top{background:radial-gradient(ellipse at 80% 20%,#2c1e403d,transparent 70%),#10131a;border-bottom:1px solid var(--line)}.page-top h1{font-weight:750}.page-top p{color:#9ea7b6}.page-top::after{color:#c3ff6307}.page-top h1 span{color:var(--lime)}
.site-footer{background:#06080c;border-top:1px solid #242a34}.site-footer p,.footer-bottom{color:#838d9d}.footer-links{color:#b9c1cf}.footer-bottom{border-color:#222832}.footer-brand .footer-wordmark{font-size:24px}.player{background:#11151dee;border:1px solid #414a3c;border-radius:17px;box-shadow:0 10px 55px #0009;backdrop-filter:blur(24px)}.player-station strong{color:#e7eaf2}.player .eyebrow{color:#a9b19c}.player-station #track-artist{color:#8b95a5}.main-play{background:var(--lime);color:#10170b;border-radius:14px}.main-play:hover{box-shadow:0 0 30px #c3ff6333}.is-playing .main-play{animation:play-glow 3s ease-in-out infinite}.player-state{color:#a2abba}.bars i{background:var(--lime)}.motion-control{background:#171c25e8;color:#bfc6d3;border-color:#343d4c;box-shadow:none}.motion-control:hover{background:#283325;color:#d5f3b7}
.panel,.branding-panel,.admin-row,.news-admin-row{background:#141922;border-color:#2d3544;color:#eff2f8}.subtext,.branding-heading>p,.logo-status,.brand-previews>p{color:#a1aaba}.field{color:#d8dfeb}.field small{color:#929daf}.field input,.field textarea,.field select{background:#0c1119;color:#e1e8f3;border-color:#354052;border-radius:10px}.field input::placeholder,.field textarea::placeholder{color:#69778c}.field input:focus,.field textarea:focus,.field select:focus{border-color:#a0c96d}.field input[type=file]::file-selector-button{background:#263226;color:#d4e5c4;border:0;border-radius:6px;padding:8px;margin-right:10px}.small-button{background:#283143;color:#d5e0f1}.small-button.delete{background:#402431;color:#ffb5c6}.form-error{color:#ff9aad}.notice{background:#282418;color:#e7d8ab;border-color:#605234}.notice a{color:#e7d8ab}.admin-jump a{background:#151b25;border-color:#303a4b;color:#c1cbdb}.admin-jump a:hover{color:#111b0c}.admin-section-heading .eyebrow,.branding-heading>.eyebrow,#news-form>.eyebrow{color:var(--lime)}.new-news{background:#162019;color:#c9eab6;border-color:#506848}.new-news:hover{background:#20301d}.news-status{background:#362c1b;color:#e1c58f}.news-status.is-published{background:#213723;color:#b5e59c}.news-admin-row small{color:#a3adba}.mini-avatar{background:#333b4b;color:#c9d9ed}.logo-preview-light{color:#251a33}.brand-previews{border-color:#354052}.news-image-preview{background:#0b1017}
.article-meta>span{background:#24351e;color:#bde79b}.article-meta{color:#9faabd}.article-lead{color:#adb7c7}.article-visual{background:#131922;border-radius:16px}.article-text{color:#c3ccdb}.article-back:hover,.article-end>span{color:var(--lime)}.article-end{border-color:var(--line)}.article-end a{color:#d8e6c8}.text-content{color:#bac4d5}.text-content h2{color:#f0f3f7}.text-content a{color:#c3ff63}.text-content code{background:#212a38;color:#d1dcec}.legal-copy{background:#141a24;border-color:#313b4a;color:#d3dce9}.source-list li{border-color:#323a49}.source-list small{color:#96a3b6}
dialog{background:#151b25;color:#e8edf6;border:1px solid #3c485b;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#03050bd4;backdrop-filter:blur(8px)}dialog p{color:#b1bdce}dialog a{color:var(--lime)}.news-preview-dialog,.preview-bar{background:#121821;color:#c5cede}.preview-bar{border-color:#313b4a}#toast{background:#d4f5b5;color:#182113;border:1px solid #9cb980}.noscript{background:#171e29;color:#c7d3e5}.noscript a{color:var(--lime)}
@keyframes signal-wave{from{transform:scaleY(.3);opacity:.5}to{transform:scaleY(1);opacity:1}}@keyframes signal-colour{from{background-position:0% 50%}to{background-position:100% 50%}}@keyframes ambient-shift{from{transform:translateX(-4%) rotate(-4deg)}to{transform:translateX(4%) rotate(4deg)}}@keyframes play-glow{0%,100%{box-shadow:0 0 0 0 #c3ff6320}50%{box-shadow:0 0 0 9px #c3ff6300}}
.city-frame.reveal{transition:opacity .8s,transform .8s}.city-frame.reveal:nth-child(2){transition-delay:.15s}.news-card:hover .news-read>span{transform:translateX(5px)}.news-read>span{transition:transform .25s}
@media(max-width:1000px){.hero h1{font-size:clamp(65px,9.3vw,96px)}.hero-content{padding-left:30px;padding-right:30px}.hero-sticker{bottom:130px}.news-copy h3{font-size:24px}.station-inner h2{font-size:35px}}
@media(max-width:700px){.site-header{top:14px;border-radius:16px;padding:13px 16px}.site-header nav{gap:clamp(16px,5vw,28px)}.hero{min-height:760px;height:94svh;max-height:900px;clip-path:polygon(0 0,100% 0,100% 96%,0 100%)}.hero-art{width:100%;object-position:70% center;opacity:.55}.hero::before{background:linear-gradient(90deg,#090b10e6,#090b1073 70%),linear-gradient(0deg,#090b10,transparent 60%,#090b1077)}.hero-content{padding:190px 23px 85px}.hero-content>.eyebrow{font-size:7px;letter-spacing:.13em;max-width:290px}.hero h1{font-size:clamp(48px,12.1vw,81px);margin:32px 0 24px;line-height:1.02}.hero-description{font-size:13px;max-width:300px}.hero-actions{align-items:flex-start;gap:17px;margin-top:28px}.hero-actions .text-link{font-size:11px}.signal-wave{margin-top:28px;height:25px;max-width:160px}.hero-sticker{width:77px;height:77px;right:28px;bottom:75px;border-radius:17px}.hero-sticker strong{font-size:23px}.hero-sticker .spark{font-size:18px}.hero-sticker span{font-size:5px}.hero-coordinate{left:23px;right:auto;bottom:35px;font-size:6px;letter-spacing:.13em}.city-ticker{margin-bottom:12px}.ticker-track span{font-size:9px}.section-heading h2{font-size:38px}.news-copy h3{font-size:27px}.station-inner h2{font-size:34px}.city-frame figcaption strong{font-size:28px}.main-play{border-radius:12px}.page-top h1{font-size:46px}.page-top{padding-top:190px}.player{border-radius:15px}.admin-jump a{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero h1 span{-webkit-text-fill-color:var(--lime);background:none}.reveal{opacity:1;transform:none}.city-frame:hover>img{transform:none}}
/* Full-width Spremberg panorama, keeping the dark identity. */
.hero-art{width:100%;left:0;right:0;opacity:1;filter:saturate(.92);object-position:center 50%}
.hero::before{background:linear-gradient(180deg,#090b106b 0%,#090b1078 40%,#090b1038 70%,#090b10a8 100%)}
.hero::after{background:radial-gradient(ellipse at 50% 40%,#16102820,transparent 75%)}
.hero-content{text-align:center}.hero-content>.eyebrow,.hero-actions{justify-content:center}
.hero h1{margin-left:auto;margin-right:auto;text-shadow:0 5px 40px #090b1045}
.hero-description{margin-left:auto;margin-right:auto;color:#f2f1f5;text-shadow:0 2px 12px #090b10}
.main-play svg{width:24px;height:24px;fill:currentColor}
.motion-paused .hero h1 span{opacity:1!important;transform:none!important}
.signal-wave{margin-left:auto;margin-right:auto}.player-link{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--lime);white-space:nowrap;padding:12px 0}.player-link:hover{color:#e1ffba}
@media(max-width:700px){.hero-art{width:100%;opacity:1;object-position:65% center}.hero::before{background:linear-gradient(180deg,#090b1073,#090b1080 38%,#090b104f 72%,#090b10aa)}.hero-actions{align-items:center}.hero-description{max-width:320px}.player-link{display:none}.signal-wave{max-width:180px}}
