*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;color:#1b1b2f;background:#fafaf7;line-height:1.5}
header{background:linear-gradient(135deg,#00209f,#d21034);color:#fff;padding:3rem 1.5rem;text-align:center}
h1{margin:.2rem 0 1rem;font-size:2.2rem}main{max-width:960px;margin:auto;padding:1.5rem}
.btn{display:inline-block;background:#ffd23f;color:#111;padding:.8rem 1.3rem;border-radius:.6rem;font-weight:700;text-decoration:none;margin:.3rem;border:0;cursor:pointer;font-size:1rem}
.btn.alt{background:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.card{background:#fff;border-radius:.8rem;padding:1.2rem;box-shadow:0 1px 4px #0002}.langs button{background:#fff3;color:#fff;border:1px solid #fff8;border-radius:.4rem;padding:.3rem .7rem;margin:.1rem;cursor:pointer}
.langs button[aria-pressed=true]{background:#fff;color:#00209f}footer{text-align:center;padding:2rem;color:#555;font-size:.9rem}
.badge{display:inline-block;font-size:.8rem;background:#111;color:#ffd23f;padding:.3rem .6rem;border-radius:1rem;text-decoration:none}
.player{text-align:center}.player img{width:120px;height:120px;border-radius:1rem}#now{font-size:1.3rem;font-weight:700}
textarea,input,select{width:100%;padding:.5rem;font:inherit;margin:.2rem 0 .8rem}pre{white-space:pre-wrap;background:#111;color:#0f0;padding:1rem;border-radius:.5rem;font-size:.8rem}
.prog{height:6px;background:#ddd;border-radius:3px}.prog div{height:6px;background:#d21034;border-radius:3px}
.langs{display:flex;gap:.5rem;justify-content:center;padding:.6rem;background:#00209f}.langs a{color:#fff;padding:.3rem .8rem;border:1px solid #fff8;border-radius:.4rem;text-decoration:none}
.langs a[aria-current=page]{background:#fff;color:#00209f;font-weight:700}
.skip{position:absolute;left:-999px;top:0;background:#ffd23f;color:#111;padding:.6rem;z-index:9}.skip:focus{left:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffd23f;outline-offset:2px;box-shadow:0 0 0 5px #111}
.draft{background:#fff3cd;border:1px solid #c9a100;padding:.6rem;border-radius:.4rem;color:#4a3a00}.legal{max-width:760px;margin:1.5rem auto}
header a.btn{color:#111}details{background:#fff;border-radius:.5rem;padding:.6rem 1rem;margin:.4rem 0;box-shadow:0 1px 3px #0002}summary{cursor:pointer;font-weight:600}
footer a{color:#1b1b2f}footer a.badge{color:#ffd23f}main a{color:#00209f}label{display:block;font-weight:600}
[hidden]{display:none!important}pre:empty{display:none}
/* ---- station player (premium, light on data: no web fonts, no images except the logo) */
body.stp{background:linear-gradient(180deg,#00209f 0,#00209f 210px,#f4f5fb 210px)}
.st{max-width:560px;margin:1rem auto;padding:1.2rem 1.1rem 1.4rem;border-radius:1.1rem;box-shadow:0 6px 24px #0003}
.st h1{margin:.4rem 0 .2rem;font-size:1.5rem;line-height:1.2}.st h2{font-size:1.05rem;margin:.2rem 0 .6rem}
.st-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;min-height:1.6rem}
.lt{display:flex;gap:.3rem}.lt button{background:#fff;color:#00209f;border:1px solid #00209f;border-radius:1rem;padding:.25rem .7rem;font:inherit;font-size:.85rem;cursor:pointer;min-height:32px}
.lt button[aria-pressed=true]{background:#00209f;color:#fff;font-weight:700}
.clock{margin:0;font-size:.85rem;color:#3a3f55;font-variant-numeric:tabular-nums}
.onair{margin:.2rem 0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a00d29}
.dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#d21034;vertical-align:middle;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.dot{animation:none}}
#block{margin:.2rem 0;color:#3a3f55;font-weight:600}#now{margin:.4rem 0 .6rem;min-height:1.6em}#time{font-size:.8rem;color:#4a4f63;font-variant-numeric:tabular-nums;margin:.3rem 0}
.btn.play{font-size:1.15rem;padding:.9rem 1.8rem;border-radius:2rem;min-width:220px;box-shadow:0 3px 10px #0002}
.next{margin:.3rem 0;font-size:.92rem;color:#2b2f45}.next+.next{color:#4a4f63}
.tools{border-top:1px solid #e3e5ef;margin-top:.8rem;padding-top:.5rem}.tools p{margin:.45rem 0}
.chip{background:#eef1ff;color:#00209f;border:1px solid #00209f;border-radius:1rem;padding:.4rem .8rem;font:inherit;font-size:.9rem;cursor:pointer;min-height:36px}
.chip[aria-pressed=true]{background:#00209f;color:#fff}.small{font-size:.82rem;color:#4a4f63}
.st select{width:auto;display:inline-block;padding:.35rem;margin:0;min-height:36px}.sleep{display:inline;font-weight:600}
.ann{background:#fff8dc;border:1px solid #e0c200;border-radius:.7rem;padding:.6rem .8rem;margin:.9rem 0;text-align:left}
.ann h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .2rem;color:#5c4a00}
#anntext{margin:.1rem 0 .4rem;min-height:2.6em}
.annb{display:flex;gap:.4rem;justify-content:flex-end}.ib{background:#fff;border:1px solid #8a7400;border-radius:.4rem;min-width:40px;min-height:36px;font-size:1rem;cursor:pointer;color:#3d3300}
.sec{border-top:1px solid #e3e5ef;margin-top:.9rem;padding-top:.7rem}
.btn.wa{background:#0b7a3b;color:#fff}.st .btn.alt{background:#fff;border:1px solid #00209f;color:#00209f}
.days{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;margin-bottom:.5rem}
.day{position:relative;background:#fff;border:1px solid #c5c9dc;border-radius:.5rem;padding:.35rem .5rem;font:inherit;font-size:.85rem;cursor:pointer;min-height:36px;color:#1b1b2f}
.day[aria-pressed=true]{background:#00209f;color:#fff;border-color:#00209f;font-weight:700}.day .ds{display:none}.td{position:absolute;top:-.15rem;right:.15rem;color:#d21034;font-size:.9rem}
.gl{list-style:none;margin:0;padding:0;text-align:left}.gl li{display:flex;gap:.6rem;align-items:baseline;padding:.45rem .5rem;border-bottom:1px solid #eef0f6}
.gt{font-variant-numeric:tabular-nums;color:#4a4f63;min-width:6.8em;font-size:.88rem}.gn{flex:1}
.gl li.on{background:#fff0f2;border-left:4px solid #d21034;font-weight:700}.gl-on{font-size:.72rem;background:#a00d29;color:#fff;border-radius:.6rem;padding:.1rem .45rem;white-space:nowrap}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.st .badge{font-size:.7rem;padding:.2rem .5rem;opacity:.9}
.preview{max-width:560px;margin:.8rem auto 0;background:#fff3cd;border:2px dashed #8a6d00;color:#3d3000;border-radius:.8rem;padding:.6rem .9rem;font-size:.88rem;text-align:left}
.preview strong{display:block;font-size:.95rem}.preview p{margin:.25rem 0}
@media (max-width:480px){.st{margin:.5rem;padding:1rem .8rem}.day .dl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.day .ds{display:inline}.btn.play{width:100%;min-width:0}.preview{margin:.5rem}.st .btn{margin:.25rem 0;width:100%;box-sizing:border-box;text-align:center}}
.guide{max-width:760px;margin:1rem auto;text-align:left}.guide h2{margin-top:1.4rem}.guide table{border-collapse:collapse;width:100%;font-size:.92rem}.guide th,.guide td{border:1px solid #d5d8e5;padding:.4rem .5rem;text-align:left;vertical-align:top}
.guide code{background:#eef1ff;padding:.05rem .3rem;border-radius:.25rem}.tarifs{overflow-x:auto}
