/* ICEMOON design port. Core Olivero templates remain inherited. */
:root{--font-sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--font-serif:var(--font-sans);--color-text-neutral-loud:var(--foreground);--color-text-neutral-medium:var(--muted-foreground);--color-text-neutral-soft:var(--muted-foreground);--color-text-primary-medium:var(--primary);--color-text-primary-loud:var(--primary);--color-background-primary-light:var(--card);--color-background-primary-medium:var(--primary);--color-background-neutral-light:var(--card);--color-background-neutral-medium:var(--secondary);--color-background-neutral-dark:var(--background);--color-border-neutral-soft:var(--border);--color--white:var(--foreground);--color--gray-100:var(--background);--color--gray-95:var(--card);--max-width:1480px;--max-bg-color:100%;--content-left:0px}
html{color-scheme:dark;scroll-behavior:smooth}body{background:#000 url('../assets/back1280-dk50.jpg') center fixed no-repeat;color:var(--foreground);font-family:var(--font-sans);overflow-x:hidden}.page-wrapper{max-width:none;background:transparent url('../assets/trans-dk85-60.png') repeat}.layout-main{display:block}.main-content{width:100%;margin:0}.main-content__container{max-width:1320px;margin:auto;padding:32px clamp(20px,5vw,64px) 70px;background:url('../assets/trans-dk50.png') repeat}.social-bar:empty{display:none}.container{margin-inline:auto}a{color:var(--primary);text-underline-offset:4px}a:hover{color:var(--foreground)}:focus-visible{outline:2px solid var(--primary);outline-offset:4px}::selection{background:var(--primary);color:var(--primary-foreground)}
h1,h2,h3,.font-display{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-weight:900;text-transform:uppercase;color:var(--foreground);letter-spacing:-.025em}h1.title,.page-title{font-size:clamp(2.5rem,6.4vw,6rem);line-height:.95;overflow-wrap:anywhere;margin-block:20px 36px}.ice-stroke{color:transparent;-webkit-text-stroke:1px #f5f7f7ad;text-shadow:0 0 42px var(--environment-glow)}.text-content{font-family:var(--font-sans);color:var(--foreground);font-size:1rem;line-height:1.8}.text-content h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.text-content img{height:auto;max-width:100%}.node__meta{font-family:Consolas,monospace;font-size:.72rem;color:var(--muted-foreground);letter-spacing:.04em}.node__content{overflow-wrap:anywhere}.field--name-body{max-width:100%}audio,video{max-width:100%}
.site-header{background:transparent;min-height:0}.site-header__initial{display:none}.site-header__fixable,.site-header__fixable.is-fixed{position:relative!important;top:auto!important;transform:none!important;width:100%!important;box-shadow:none}.site-header__inner{background:transparent;box-shadow:none;min-height:0}.site-header__inner__container{display:flex;justify-content:center;position:static;padding:24px 36px;min-height:0}.site-branding{background:transparent;min-height:0;margin:0;max-width:min(960px,85vw);width:100%;padding:0}.site-branding__inner{padding:0;width:100%}.site-branding__logo{padding:0;display:block;width:100%}.site-branding__logo img{display:block;width:100%;height:auto;max-width:960px;max-height:none}.icemoon-signal-logo{filter:drop-shadow(0 0 18px var(--environment-glow))}
/* Keep Olivero's menu, keyboard behaviour and focus trap, with CarrotNav styling. */
.mobile-buttons{display:flex!important;position:fixed;right:0;top:45%;z-index:105;min-height:0;padding:0}.mobile-nav-button{display:flex!important;min-width:42px;min-height:100px;flex-direction:column;gap:12px;justify-content:center;padding:12px 9px;border:1px solid var(--border);background:#030506ef;color:var(--primary);box-shadow:-12px 0 40px #0006}.mobile-nav-button__label{display:block!important;font-size:9px;font-weight:700;letter-spacing:.16em;writing-mode:vertical-rl;text-transform:uppercase}.mobile-nav-button__icon{background:transparent;width:16px;height:18px;border:0}.mobile-nav-button__icon::before{content:'Ã°Å¸Â¥â€¢';font-size:16px;position:static;background:transparent;height:auto;transform:none}.mobile-nav-button__icon::after{display:none}
.header-nav{display:block!important;position:fixed!important;inset:0 0 0 auto!important;z-index:104!important;width:min(430px,85vw)!important;max-width:85vw!important;height:100dvh!important;padding:65px 28px 40px!important;overflow-y:auto!important;background:#030506fa!important;border-left:1px solid var(--border);box-shadow:-25px 0 60px #0009;transform:translateX(105%)!important;visibility:hidden!important;transition:transform .25s,visibility .25s}.header-nav.is-active{transform:translateX(0)!important;visibility:visible!important}.header-nav .region--primary-menu{display:block!important;align-self:stretch!important}.primary-nav{margin:0;width:100%}.primary-nav__menu{display:block!important;padding:0;margin:0}.primary-nav__menu-item{margin:0!important;display:block!important;border-bottom:1px solid var(--border)}.primary-nav__menu-link{display:block!important;font-family:Impact,Haettenschweiler,sans-serif!important;font-size:1.6rem!important;text-transform:uppercase;letter-spacing:.02em;line-height:1.1!important;padding:20px 0!important;color:var(--foreground)!important;min-height:44px}.primary-nav__menu-link-inner{padding:0!important}.primary-nav__menu-link-inner::after{display:none!important}.primary-nav__menu-link:hover{color:var(--primary)!important}.ice-nav-description{display:block;font:9px/1.5 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);margin-top:6px}.header-nav .block-menu{margin:0}.header-nav .secondary-nav{padding-block:20px}.overlay{background:#000b!important}.ice-nav-intro{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--primary);margin-bottom:12px}.ice-nav-heading{font-size:2.5rem;margin:8px 0 25px}.ice-palette{margin-top:30px;border-top:1px solid var(--border);padding-top:20px}.ice-palette legend{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--muted-foreground)}.ice-palette__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ice-palette button{min-height:44px;background:var(--card);color:var(--foreground);border:1px solid var(--border);font-size:10px;cursor:pointer}.ice-palette button[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 -2px var(--primary)}
.site-footer{background:#030506b8!important;color:var(--muted-foreground);border-top:1px solid var(--border);margin-top:0}.site-footer__inner{display:block;text-align:center;padding:35px 20px;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.site-footer nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;list-style:none;padding:0}.site-footer a{color:var(--muted-foreground)}.site-footer .block{margin:0 0 16px}.site-footer .menu a{min-height:44px;display:inline-flex;align-items:center}.site-footer .text-content{font-size:10px;color:var(--muted-foreground)}
.breadcrumb{color:var(--muted-foreground);font-size:11px}.tabs{margin:1rem 0}.tabs__link{color:var(--foreground)!important;background:var(--card)!important}.tabs__link.is-active{box-shadow:inset 0 -3px var(--primary)}.button,input[type=submit]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);border-radius:0;min-height:44px}input,select,textarea{color:var(--foreground)!important;background:var(--card)!important;border-color:var(--border)!important;max-width:100%}label,.fieldset__label{color:var(--foreground)!important}.fieldset,.fieldset__legend{background:var(--card);color:var(--foreground)}.comment{padding:22px;border:1px solid var(--border);background:#0004;margin-block:20px}.comment__meta,.comment__text-content{background:transparent;color:var(--muted-foreground)}.comment__content{color:var(--foreground)}.comment h3{font-size:1.4rem}.node--unpublished{background:var(--card);outline:1px dashed var(--border)}.teaser{border-bottom:1px solid var(--border);padding-block:28px}.teaser__title{font-size:clamp(1.6rem,3vw,3rem)}.teaser__content{font-family:var(--font-sans);color:var(--muted-foreground)}.field--name-field-cover img,.field--name-field-image img{border:1px solid var(--border)}.pager__item a{color:var(--foreground)}
.ice-layout{display:grid;gap:clamp(20px,4vw,60px);padding-block:28px}.ice-layout--hero{grid-template-columns:1.05fr .95fr;align-items:center;min-height:520px}.ice-layout--hero h2{font-size:clamp(3rem,7vw,7rem);line-height:.86}.ice-layout--split,.ice-layout--journal{grid-template-columns:.85fr 1.15fr}.ice-layout--recording{grid-template-columns:1fr 1fr;align-items:start}.ice-layout__playlist{grid-column:1/-1}.ice-layout--cards{grid-template-columns:repeat(3,minmax(0,1fr))}.ice-layout--cards>div{border:1px solid var(--border);padding:28px;background:#0005}.ice-layout img{max-width:100%;height:auto}
@media(max-width:700px){body{background-position:center top}.site-header__inner__container{padding:20px}.main-content__container{padding:20px 24px 50px}.site-branding{max-width:95vw}.ice-layout{grid-template-columns:1fr;min-height:0}.ice-layout__playlist{grid-column:auto}.node__meta{font-size:10px}.header-nav{padding-inline:22px!important}.mobile-nav-button{min-width:32px;padding:10px 6px}.ice-palette__grid{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header-nav{transition:none}}
.header-nav{display:flex!important;flex-direction:column;border-block-start:0!important}.header-nav .region--primary-menu{display:flex!important;flex-direction:column}.ice-nav-intro{order:-2}.ice-nav-heading{order:-1}.header-nav .region--secondary-menu{background:transparent}.mobile-nav-button__icon::before{display:none}

/* Separate compact broadcast tab; existing player behavior is unchanged. */
.header-nav{justify-content:flex-start!important;align-items:stretch!important}
.header-nav>*{flex-shrink:0}
.mobile-buttons{margin:0!important}
.mobile-buttons .mobile-nav-button{box-sizing:border-box;width:48px;min-width:48px;max-width:48px;margin:0;padding-inline:7px}
.ice-stream-tab{position:fixed;right:0;top:max(calc(var(--drupal-displace-offset-top,0px) + 12px),calc(45dvh - 156px));z-index:103;width:48px;margin:0}
.ice-stream-tab .ice-live{--ice-accent:var(--primary);box-sizing:border-box;width:48px;min-width:0;margin:0;border:1px solid color-mix(in srgb,var(--primary) 42%,transparent);background:#030306f5;backdrop-filter:none}
.ice-stream-tab .ice-live__panel{--primary:inherit;overflow:visible}
.ice-stream-tab .broadcast-player__artwork-stack,.ice-stream-tab .ice-live__panel::after,.ice-stream-tab .ice-live__heading,.ice-stream-tab .ice-live__volume,.ice-stream-tab .ice-live__frequency,.ice-stream-tab .ice-live__settings{display:none}
.ice-stream-tab .ice-live .ice-live__status{position:absolute!important;width:1px;height:1px;min-width:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ice-stream-tab .ice-live .ice-stream-tab__broadcast{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:100%;height:46px;min-height:0;padding:5px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--primary) 30%,transparent);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--primary) 16%,transparent),transparent 75%);color:var(--primary)}
.ice-stream-tab__broadcast svg{width:16px;height:16px;filter:drop-shadow(0 0 5px var(--primary))}
.ice-stream-tab__broadcast span{font:8px/1 Consolas,monospace;letter-spacing:1px;color:var(--foreground)}
.ice-stream-tab .ice-live .ice-live__controls{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
.ice-stream-tab .ice-live .ice-live__play,.ice-stream-tab .ice-live .ice-live__stop{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:40px;min-height:0;padding:0;margin:0;border:0;background:transparent;color:var(--muted-foreground);font-size:0}
.ice-stream-tab [data-ice-play-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ice-stream-tab .ice-live .ice-live__play{border-right:1px solid var(--border)}
.ice-stream-tab .ice-live__play::before{content:'';width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid currentColor}
.ice-stream-tab [data-state=playing] .ice-live__play::before,.ice-stream-tab [data-state=connecting] .ice-live__play::before{width:7px;height:9px;border:0;border-left:2px solid currentColor;border-right:2px solid currentColor}
.ice-stream-tab .ice-live__stop::before{content:'';width:7px;height:7px;border:1px solid currentColor;border-radius:1px}
.ice-stream-tab .ice-live button:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 14%,#030306);color:var(--primary)}
.ice-stream-tab [data-state=playing] .ice-stream-tab__broadcast{box-shadow:inset 0 0 14px color-mix(in srgb,var(--primary) 18%,transparent)}
.ice-stream-tab [data-state=error]{border-color:#ff9292}

.mobile-buttons .mobile-nav-button__label{position:static;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;margin:0;font-size:9px;order:2}
.mobile-buttons .mobile-nav-button__icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid color-mix(in srgb,var(--primary) 38%,transparent);border-radius:50%;box-shadow:0 0 14px color-mix(in srgb,var(--primary) 12%,transparent);order:1}
.mobile-buttons .mobile-nav-button__icon svg{width:16px;height:16px}

/* Open drawer: outside tabs give way to a close control within the panel. */
.mobile-buttons .mobile-nav-button[aria-expanded=true]{position:fixed;right:16px;top:calc(var(--drupal-displace-offset-top,0px) + 12px);width:40px;min-width:40px;height:40px;min-height:40px;padding:0;gap:0;border:0;background:transparent;box-shadow:none}
.mobile-nav-button[aria-expanded=true] .mobile-nav-button__label,.mobile-nav-button[aria-expanded=true] .mobile-nav-button__icon{display:none!important}
.mobile-nav-button[aria-expanded=true]::after{content:'\00d7';display:block;font:32px/1 Arial,sans-serif;color:var(--primary)}
.header-nav{padding-top:calc(var(--drupal-displace-offset-top,0px) + 65px)!important}
.is-overlay-active .ice-stream-tab{visibility:hidden;pointer-events:none}

/* Stack the picture, membership label and account age together. */
.comment{min-height:144px}
.comment__picture-wrapper{position:absolute;inset-block-start:22px;inset-inline-start:calc(-1 * var(--sp5) - 21px);width:96px;text-align:center}
.comment__picture-wrapper .comment__picture{position:relative;inset:auto;margin-inline:auto}
.comment__member-for{display:block;margin:8px 0 0;color:var(--muted-foreground);font:11px/1.45 var(--font-sans);text-align:center}
.comment__member-for>span{display:block}
.comment__member-age{white-space:nowrap}
.indented .comment__picture-wrapper{inset-inline-start:calc(-1 * var(--sp4) - 30px)}
@media(max-width:699.98px){
  .comment__picture-wrapper,.indented .comment__picture-wrapper{position:static;float:inline-start;margin-inline-end:16px;margin-block-end:16px}
  .comment__meta{display:block;padding:0;min-height:0}
  .comment__content{clear:both}
}

/* Readable pagination on the Carrot dark surface. */
.pager .pager__items { gap: 4px; align-items: center; }
.pager .pager__item {
  background: var(--card);
  color: var(--muted-foreground);
  border: 1px solid var(--border);
}
.pager .pager__link { color: var(--foreground); }
.pager .pager__item--active {
  background: var(--primary);
  color: var(--primary-foreground);
  border-color: var(--primary);
}
.pager .pager__item--active .pager__link,
.pager .pager__link:hover,
.pager .pager__link:focus-visible {
  background: var(--primary);
  color: var(--primary-foreground);
}
.pager .pager__link:focus-visible {
  outline: 2px solid var(--foreground);
  outline-offset: -4px;
}
.pager .pager__item--ellipsis { background: transparent; border-color: transparent; }

/* Broadcast page: programme details and credit share the player's frame. */
.ice-broadcast-genres{color:var(--muted-foreground);font-size:13px;letter-spacing:.04em}
.ice-broadcast-frame{max-width:1100px}
.ice-broadcast-frame .ice-live{margin-bottom:0;border-bottom:0}
.ice-broadcast-footer{display:grid;justify-items:center;gap:12px;padding:22px 20px;background:#030506eb;border:1px solid #49616b;border-top:1px solid #29414a;color:var(--muted-foreground);text-align:center;font:11px/1.6 var(--font-sans);letter-spacing:.14em;text-transform:uppercase}
.ice-broadcast-footer p{margin:0}
.ice-broadcast-footer a{display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;min-height:32px;color:var(--primary);font-size:10px;text-decoration:none}
.ice-broadcast-footer a:hover{text-decoration:underline}
.ice-broadcast-footer svg{width:14px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.3}

/* The three original broadcast emblems and final continuity plus. */
.ice-broadcast-footer svg{stroke-linecap:round;stroke-linejoin:round}
.ice-broadcast-credit{display:flex;align-items:center;justify-content:center;gap:8px}
.ice-broadcast-credit>svg{width:12px;height:12px;color:var(--primary);stroke-width:1.1}
.ice-broadcast-footer .ice-broadcast-continuity{display:inline-block;min-height:0;max-width:none;padding-inline:1px;font:inherit;letter-spacing:inherit;vertical-align:baseline}
.ice-broadcast-footer .ice-broadcast-certification svg{width:12px;height:12px;stroke-width:2}
.ice-broadcast-footer .ice-broadcast-emblem{position:relative;display:grid;place-items:center;width:32px;min-height:32px;font-size:11px;letter-spacing:0}
.ice-broadcast-emblem svg{position:absolute;width:20px;height:22px;stroke-width:1.1}
.ice-broadcast-emblem span{position:relative;line-height:1;transform:translateY(-1px)}
.ice-broadcast-footer .ice-broadcast-emblem:hover{text-decoration:none;transform:scale(1.08)}

/* Broadcast title: lettering follows the actual C-Conductor frame width. */
.main-content:has(#block-icemoon-modern-broadcast-player) h1.page-title {
  font-size: var(--ice-broadcast-title-size, clamp(1.5rem, 4vw, 3.5rem));
  line-height: 1.08;
  overflow-wrap: normal;
}
.main-content:has(#block-icemoon-modern-broadcast-player) h1.page-title > span {
  display: inline-block;
  white-space: nowrap;
}

/* Lift the broadcast spectrum closer to the playback controls. */
.ice-broadcast-frame .ice-live__frequency > .frequency-signal {
  transform: translateY(-8px);
}

/* Public links: no underlines, including Olivero's inset-shadow underline. */
body a:any-link,
body a:any-link u {
  text-decoration: none !important;
}
body .text-content a:not(.button) {
  box-shadow: none !important;
}
body .text-content a:not(.button):hover,
body .text-content a:not(.button):focus-visible {
  color: var(--foreground);
}

/* Body headings: use the display font's normal weight, without synthetic bold. */
.text-content :is(h2,h3,h4,h5,h6) { font-weight:400; font-synthesis:none; letter-spacing:.01em; }
.text-content :is(h2,h3,h4,h5,h6) :is(strong,b) { font-weight:inherit; }
