/* Shared by the public holding page and the protected WordPress theme. */
@font-face { font-family:'HW Radio Pixel'; src:url('assets/fonts/VT323-Regular.ttf') format('truetype'); font-style:normal; font-weight:400; font-display:swap; }
.hw-radio { position:fixed; inset:0 0 auto; z-index:10; margin:0; padding-top:env(safe-area-inset-top,0px); color:#eeeFe7; background:#202421; border-block:1px solid #50574d; font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.025em; }
.hw-radio-present body,body:has(.hw-radio) { padding-top:var(--hw-radio-height,34px); }
.hw-radio * { box-sizing:border-box; }
.hw-radio-inner { max-width:1320px; margin:auto; padding:0 clamp(20px,4.5vw,64px); display:flex; align-items:center; gap:10px; min-height:32px; }
/* Override the theme's global !important shop-button rules within the player. */
.hw-radio button.hw-radio-toggle,.hw-radio button.hw-radio-close { display:grid!important; place-items:center; flex:0 0 28px; width:28px; height:28px; min-height:28px!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; color:inherit!important; font:inherit!important; line-height:1!important; appearance:none; cursor:pointer; }
.hw-radio button.hw-radio-close { color:#c8cdbf!important; }
.hw-radio-toggle:hover { background:#343b32!important; }
.hw-radio button:focus-visible,.hw-radio input:focus-visible { outline:2px solid #e4e8d6; outline-offset:2px; }
.hw-radio svg { display:block; width:12px; height:12px; fill:currentColor; shape-rendering:crispEdges; flex-shrink:0; }
.hw-radio [hidden] { display:none!important; }
.hw-radio-name { font-weight:600; letter-spacing:.08em; white-space:nowrap; }
.hw-radio-live { display:flex; align-items:center; gap:5px; white-space:nowrap; font-size:9px; letter-spacing:.06em; color:#a9b19f; }
.hw-radio-light { width:5px; height:5px; flex:0 0 5px; background:#858b7e; }
.hw-radio[data-online="true"] .hw-radio-light { background:#cc7970; animation:hw-radio-live 2.4s steps(2,end) infinite; }
.hw-radio[data-online="true"] .hw-radio-live { color:#c4918a; }
.hw-radio-track { flex:0 1 360px; max-width:360px; min-width:0; height:20px; line-height:20px; padding-inline:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#c8cdbf; border-inline:1px solid #50574d; font-family:'HW Radio Pixel',ui-monospace,monospace; font-size:16px; font-weight:400; letter-spacing:0; }
.hw-radio-ticker { display:flex; width:max-content; animation:hw-radio-ticker var(--hw-radio-duration,20s) steps(var(--hw-radio-steps,100),end) infinite; }
.hw-radio-ticker > span { flex:0 0 auto; padding-right:24px; }
.hw-radio-volume { display:flex; align-items:center; gap:8px; flex:0 0 auto; margin:0 0 0 auto; min-height:28px; }
.hw-radio-volume input { width:66px; height:22px; padding:0; border:0; background:transparent; margin:0; accent-color:#d3dbc5; cursor:pointer; }
.hw-radio-sr { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.hw-radio-fallback { display:block; padding:0 20px 12px; }
.hw-radio-fallback a { color:inherit; }
/* Native documents stay inside one same-origin frame; audio stays outside it. */
html.hw-radio-shell,html.hw-radio-shell body { height:100%; margin:0; overflow:hidden; }
html.hw-radio-shell body { display:flex; flex-direction:column; box-sizing:border-box; height:100dvh; min-height:0; isolation:auto; }
html.hw-radio-shell body::before,html.hw-radio-shell body::after { display:none; }
.hw-radio-frame { display:block; width:100%; flex:1 1 0; min-height:0; border:0; background:#eeefed; }
.hw-radio-frame-pending { position:fixed; inset:var(--hw-radio-height,34px) 0 0; height:calc(100dvh - var(--hw-radio-height,34px)); visibility:hidden; pointer-events:none; }
.hw-radio-shell .hw-radio { z-index:10; }
@keyframes hw-radio-live { 50% { opacity:.45; } }
@keyframes hw-radio-ticker { to { transform:translateX(calc(-1 * var(--hw-radio-distance,0px))); } }
@media(prefers-reduced-motion:reduce) { .hw-radio[data-online="true"] .hw-radio-light,.hw-radio-ticker { animation:none; } .hw-radio-track { overflow:auto; text-overflow:clip; } .hw-radio-ticker > span[aria-hidden] { display:none; } .hw-radio-ticker > span { min-width:0; } }
@media(max-width:600px) { .hw-radio-inner { gap:4px; padding-inline:8px; flex-wrap:wrap; padding-block:2px; } .hw-radio-track { order:5; flex-basis:100%; max-width:280px; margin:0 4px 2px; } .hw-radio-volume { margin-left:auto; gap:4px; } .hw-radio-volume input { width:42px; } .hw-radio-live { font-size:9px; gap:4px; letter-spacing:0; } }
@media print { .hw-radio { display:none; } }
