:root{
  --wine:#9B3A4E; --wine-dk:#7E2C3D; --ink:#3A3A3C; --ink-dk:#26262A;
  --paper:#F1EFF0; --paper-2:#EDEAEB; --line:rgba(58,58,60,.16);
  --mut:rgba(58,58,60,.55); --port:#0B5B7A; --dones:#14261E; --live:#C4303C;
  --serif:Bitter,Georgia,serif; --sans:Archivo,system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink-dk);font-family:var(--sans);font-size:15px;line-height:1.5;padding-bottom:96px}
a{color:var(--wine);text-decoration:none}
a:hover{color:var(--ink)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);margin:0;text-wrap:pretty}
.wrap{max-width:1040px;margin:0 auto;padding:0 18px}

/* header: logo pinned to the left margin of every window */
.hdr{background:var(--ink);color:#fff;position:sticky;top:0;z-index:40}
.hdr-in{max-width:1040px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hdr-logo{height:52px;width:auto;border-radius:4px;flex:none}
.hdr-txt{flex:1;min-width:0}
.hdr-name{font:700 17px/1 var(--serif);letter-spacing:.01em}
.hdr-sub{font:500 9px/1 var(--sans);letter-spacing:.16em;color:#B9A7AC;margin-top:5px}
.hdr-acct{font:600 11px/1 var(--sans);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:9px 12px;flex:none;min-height:38px;display:inline-flex;align-items:center}
@media(max-width:560px){
  .hdr-logo{height:40px}
  .hdr-txt{flex:1 1 100px}
  .hdr-name{font-size:15px}
  .hdr-sub{display:none}
  .hdr-acct{font-size:10px;padding:9px 10px}
}
@media(max-width:400px){.hdr-txt{flex:1 1 100%;order:3}}
.nav{background:#2A2A2C;border-top:1px solid rgba(255,255,255,.08)}
.nav-in{max-width:1040px;margin:0 auto;padding:0 18px;display:flex;gap:20px;overflow:auto}
.nav a{font:600 10px/1 var(--sans);letter-spacing:.12em;color:#9A9296;padding:12px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{color:#fff}
.nav a.on{color:#fff;border-bottom-color:var(--wine)}

/* section tabs (diario) */
.secs{display:flex;gap:20px;overflow-x:auto;border-bottom:1px solid var(--line);margin-top:6px}
.secs a{font:600 11px/1 var(--sans);letter-spacing:.1em;color:rgba(58,58,60,.5);padding:14px 0;border-bottom:2px solid transparent;white-space:nowrap}
.secs a:hover{color:var(--ink)}
.secs a.on{color:var(--ink);border-bottom-color:var(--wine)}

/* ad slots */
.ad{background:#fff;border:1px solid var(--line);overflow:hidden}
.ad-lbl{font:600 8px/1 var(--sans);letter-spacing:.14em;color:rgba(58,58,60,.42);padding:8px 10px 0}
.ad-hdr{display:flex;align-items:center;gap:10px;padding:8px 10px}
.ad-hdr img{height:44px;width:auto;flex:none}
.ad-hdr .t{font:700 12px/1.2 var(--serif)}
.ad-hdr .s{font:500 8px/1 var(--sans);letter-spacing:.1em;color:var(--mut);margin-top:5px}
.ad-full{background:#fff}
.ad-full img{width:100%;height:auto;max-width:376px;margin:0 auto}
.ad-full.marea img{max-width:402px}
/* laterales vendibles: las columnas que sobran a los costados del contenido */
/* el ancho sale del hueco real: (ventana - 1040) / 2 por lado */
.rail{position:fixed;top:150px;bottom:96px;width:116px;z-index:5;display:none;flex-direction:column;gap:9px;overflow-y:auto;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail.l{left:8px}
.rail.r{right:8px}
.rail-lbl{font:600 8px/1 var(--sans);letter-spacing:.14em;color:rgba(58,58,60,.4);flex:none}
.rail-ad{display:block;background:#fff;border:1px solid var(--line);padding:10px;text-decoration:none;color:var(--ink);flex:none}
.rail-ad.libre{background:transparent;border-style:dashed;text-align:center;padding:16px 10px}
.rail-ad.libre .rail-t{font:600 9px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.rail-ad:hover{border-color:var(--wine)}
.rail-ad img{width:100%;height:auto;margin:0 auto 10px}
.rail-t{font:700 11px/1.25 var(--serif)}
.rail-s{font:500 8px/1.3 var(--sans);letter-spacing:.1em;color:var(--mut);margin-top:5px}
@media(min-width:1310px){.rail{display:flex}}
@media(min-width:1500px){.rail{width:168px;left:auto;right:auto}.rail.l{left:14px}.rail.r{right:14px}.rail-ad{padding:12px}.rail-t{font-size:12px}}

/* en pantallas angostas los laterales pasan a una franja horizontal */
.adstrip{display:block;background:var(--paper-2);border-bottom:1px solid var(--line)}
.adstrip-in{max-width:1040px;margin:0 auto;padding:10px 18px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.adstrip-in::-webkit-scrollbar{display:none}
.adstrip .rail-ad{min-width:184px;padding:10px;display:flex;align-items:center;gap:10px}
.adstrip .rail-ad img{width:auto;height:38px;margin:0;flex:none}
@media(min-width:1310px){.adstrip{display:none}}

/* franja del encabezado */
.hdr-ad{display:none;flex-direction:column;gap:5px;flex:1 1 auto;min-width:0;max-width:360px;margin-left:auto}
.hdr-ad-l{font:600 8px/1 var(--sans);letter-spacing:.14em;color:rgba(255,255,255,.38)}
.hdr-ad .rail-ad{background:#fff;border:0;color:#fff;padding:0;display:block;overflow:hidden;border-radius:3px;width:100%}
.hdr-ad .rail-ad:hover{filter:brightness(1.05)}
.hdr-ad .rail-ad img{width:100%;height:62px;margin:0;object-fit:cover;object-position:left center}
.hdr-ad .rail-t{font-size:11px;white-space:nowrap}
.hdr-ad .rail-s{color:#B9A7AC;margin-top:3px;white-space:nowrap}
@media(min-width:820px){.hdr-ad{display:flex}}
@media(min-width:1420px){.rail{display:block}}
.rail .box{background:#fff;border:1px dashed rgba(58,58,60,.3);height:600px;display:flex;align-items:center;justify-content:center;text-align:center;font:600 9px/1.5 var(--sans);letter-spacing:.14em;color:var(--mut);padding:12px}

/* cards, layout */
.grid{display:grid;gap:18px}
@media(min-width:820px){.cols{grid-template-columns:1.6fr 1fr}}
.card{background:#fff;border:1px solid var(--line);padding:16px}
.kick{font:600 9px/1 var(--sans);letter-spacing:.16em;color:var(--wine)}
.sec-t{font:700 18px/1.2 var(--serif);margin:0 0 4px}
.meta{font:400 11px/1 var(--sans);color:var(--mut)}
.ph{background:#DAD4D6;display:flex;align-items:center;justify-content:center;font:500 10px/1 var(--sans);letter-spacing:.14em;color:#8A8085}
.row{display:flex;gap:14px;align-items:flex-start}
.stack{display:flex;flex-direction:column;gap:14px}
.hr{height:1px;background:var(--line);border:0;margin:0}

/* buttons + forms */
.btn{font:700 11px/1 var(--sans);letter-spacing:.1em;background:var(--wine);color:#fff;border:0;padding:14px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.btn:hover{background:var(--wine-dk)}
.btn.gh{background:transparent;color:var(--ink);border:1px solid rgba(58,58,60,.28)}
.btn.gh:hover{background:rgba(58,58,60,.06);color:var(--ink)}
.btn.dk{background:var(--ink)}.btn.dk:hover{background:var(--ink-dk)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
label{display:block;font:600 9px/1 var(--sans);letter-spacing:.12em;color:var(--mut);margin:0 0 7px}
input,select,textarea{width:100%;font:400 14px/1.4 var(--sans);color:var(--ink-dk);background:#fff;border:1px solid rgba(58,58,60,.28);padding:12px;min-height:44px;font-family:var(--sans)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--wine);outline-offset:-2px}
.field{margin:0 0 14px}
.hint{font:400 11px/1.5 var(--sans);color:var(--mut);margin-top:6px}
.err{font:600 11px/1.4 var(--sans);color:var(--live);margin-top:6px}
.ok{background:#EDF3EE;border-left:3px solid #2F6B45;padding:12px;font:400 12px/1.5 var(--sans)}
.warn{background:#FBEEEF;border-left:3px solid var(--wine);padding:12px;font:400 12px/1.5 var(--sans)}
.tag{font:600 8px/1 var(--sans);letter-spacing:.1em;padding:5px 7px;border:1px solid rgba(58,58,60,.3);color:var(--ink)}
.tag.w{background:var(--wine);color:#fff;border-color:var(--wine)}
.tag.g{background:#2F6B45;color:#fff;border-color:#2F6B45}
.pill{display:inline-flex;align-items:center;gap:7px;font:600 9px/1 var(--sans);letter-spacing:.12em}
.dot{width:7px;height:7px;border-radius:50%;background:var(--live)}
table{width:100%;border-collapse:collapse}
th{font:600 9px/1 var(--sans);letter-spacing:.12em;color:var(--mut);text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
td{font:400 13px/1.4 var(--sans);padding:11px 8px;border-bottom:1px solid rgba(58,58,60,.09);vertical-align:top}
.num{font:700 20px/1 var(--serif)}

/* sticky player */
.player{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);border-top:2px solid var(--wine)}
.player-in{max-width:1040px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;gap:14px}
.play{width:48px;height:48px;border-radius:50%;background:var(--wine);color:#fff;border:0;font-size:15px;cursor:pointer;flex:none;min-height:48px}
.player .now{flex:1;min-width:0}
.player .now b{display:block;font:700 15px/1.2 var(--serif);color:var(--paper);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player .off{font:600 10px/1 var(--sans);letter-spacing:.12em;color:#A79A9E}
.vol{width:96px;flex:none;accent-color:var(--wine)}
@media(max-width:640px){.vol{display:none}}

/* footer signature */
.ftr{background:#1A1A1E;color:#8A8A92;margin-top:34px}
.ftr-in{max-width:1040px;margin:0 auto;padding:24px 18px 30px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ftr img{height:40px;width:auto;flex:none}
.ftr small{font:400 12px/1.5 var(--sans)}
.ftr .sign{font:600 12px/1.4 var(--sans);color:#D6D6DC}
.ftr .sep{flex:1}

/* password field with reveal */
.pw{display:flex;gap:8px;align-items:stretch}
.pw input{flex:1;min-width:0}
.pw button{font:600 9px/1 var(--sans);letter-spacing:.12em;background:#fff;color:var(--ink);border:1px solid var(--line);padding:0 12px;cursor:pointer;flex:none}
.pw button:hover{background:var(--paper-2)}

/* operator console */
.tabs{display:flex;gap:6px;overflow-x:auto;margin:18px 0 20px;padding-bottom:2px}
.tabs button{font:600 10px/1 var(--sans);letter-spacing:.12em;background:#fff;color:rgba(58,58,60,.6);border:1px solid var(--line);padding:12px 14px;white-space:nowrap;cursor:pointer;min-height:42px}
.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pane{display:none}
.pane.on{display:block}
.ftr-op{font:600 8px/1 var(--sans);letter-spacing:.14em;color:rgba(255,255,255,.42)}
.ftr-op:hover{color:#fff}

/* weather report */
.wx{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.wx-now{background:#fff;padding:18px;display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.wx-t{font:700 54px/1 var(--serif);letter-spacing:-.02em}
.wx-k{font:600 9px/1 var(--sans);letter-spacing:.14em;color:var(--mut)}
.wx-v{font:600 15px/1.2 var(--sans);margin-top:6px}
.wx-grid{background:#fff;padding:16px 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:16px}
.wx-days{background:#fff;padding:4px 18px 16px;display:grid;gap:1px}
.wx-day{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.wx-day .d{font:600 10px/1 var(--sans);letter-spacing:.1em;color:var(--mut)}
.wx-day .c{font:400 13px/1.3 var(--sans)}
.wx-day .r{font:600 14px/1 var(--sans);white-space:nowrap}
.wx-day .r span{color:var(--mut);font-weight:400}
.wx-bar{background:var(--ink);color:#fff;padding:12px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font:500 11px/1.4 var(--sans)}

/* selector de canal en el reproductor */
.chs{display:flex;gap:5px;flex:none}
.chs button{font:600 9px/1 var(--sans);letter-spacing:.11em;background:transparent;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 11px;cursor:pointer;min-height:34px}
.chs button.on{background:#fff;color:var(--ink);border-color:#fff}
@media(max-width:480px){.chs button{padding:8px 9px}}
