:root{--accent:#E344C2;--background:#121116;--program-accent:#E344C2}
body{background:#121116}
.header .brand{line-height:1;letter-spacing:normal;gap:0;width:220px;min-width:0}
.header .brand img{display:block;width:100%;height:auto}
.footer .wordmark{display:block;width:250px;max-width:100%;line-height:1}
.footer .wordmark img{width:100%;height:auto;display:block}
.header nav a.active:after{width:22px;transform:skewX(-14deg)}
.hero{grid-template-columns:1.16fr 1fr;align-items:stretch}
.hero-main{border-radius:24px;background:radial-gradient(ellipse at 95% 5%,#E344C210,transparent 62%);min-height:410px}
.hero-main h1{letter-spacing:-.06em;max-width:100%}
.hero:not(:has(.program-carousel)){grid-template-columns:1fr}
.program-carousel{position:relative;min-width:0;border-radius:24px;overflow:hidden;background:#24133F;aspect-ratio:1;isolation:isolate;touch-action:pan-y}
.carousel-slides,.carousel-slide,.carousel-link{position:absolute;inset:0}
.carousel-slide[hidden]{display:none!important}
.carousel-link{display:block;color:#fff}
.carousel-link>img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.carousel-caption{position:absolute;bottom:76px;left:6%;right:6%;display:flex;align-items:center;gap:10px;justify-content:space-between;color:#fff}
.carousel-caption>span:first-child:not(.carousel-open){background:#121116eb;padding:10px 15px;border-radius:50px;backdrop-filter:blur(8px);font-size:clamp(.7rem,1vw,.9rem);font-weight:650;border:1px solid #ffffff28}
.carousel-open{margin-left:auto;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#121116eb;font-size:24px}
.carousel-controls{position:absolute;left:5%;right:5%;bottom:18px;display:flex;justify-content:center;align-items:center;gap:6px;z-index:2;width:max-content;max-width:90%;margin:auto;background:#121116ee;padding:3px 7px;border:1px solid #ffffff25;border-radius:50px;color:#fff;box-shadow:0 6px 20px #0002}
.carousel-controls button{background:none;border:0;color:inherit;min-height:36px;cursor:pointer;border-radius:50%}
.carousel-arrow,.carousel-pause{width:36px;font-size:18px}
.carousel-pause{border-left:1px solid #ffffff28!important;border-radius:0!important;margin-left:2px;font-size:14px}
.carousel-dots{display:flex;align-items:center;max-width:190px;overflow-x:auto}
.carousel-dots button{width:26px;min-width:26px;padding:0;display:grid;place-items:center}
.carousel-dots span{display:block;width:6px;height:6px;background:#fff6;border-radius:10px;transition:width .2s,background .2s}
.carousel-dots button[aria-pressed=true] span{width:18px;background:#E344C2}
.program-carousel:focus-visible{outline:3px solid #E344C2;outline-offset:4px}
.carousel-controls button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.program-art{height:auto!important;aspect-ratio:16/9;padding:0;display:block;background:#24133F!important}
.program-art img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.program-card{border-radius:20px;overflow:hidden}
.schedule-card img{width:80px;height:80px;object-fit:cover;background:transparent;border-radius:12px;flex-shrink:0}
.detail-header.program-detail{grid-template-columns:minmax(270px,.9fr) minmax(0,1fr);gap:42px}
.detail-header.program-detail>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:24px}
.detail-header.program-detail h1{font-size:clamp(2rem,3.5vw,3.4rem)}
.episode-card img{object-fit:cover;background:transparent;border-radius:12px}
.program-banner{display:block;width:100%;height:auto;aspect-ratio:3;border-radius:24px;object-fit:cover;margin:0 0 28px}
.chart-program-heading{margin-bottom:30px}
.playing-art .player-logo{object-fit:contain;background:#121116;padding:4px}
.carousel-editor{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,1fr);gap:24px}
.carousel-edit-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}
.carousel-edit-item img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.carousel-edit-item small{display:block;color:var(--muted);margin-top:4px}
.carousel-edit-item .button-row{gap:5px;flex-wrap:wrap;justify-content:flex-end}
.carousel-edit-item .button-row button{padding:7px 10px;font-size:.75rem}
.carousel-settings{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.carousel-preview{width:100%;max-width:360px;aspect-ratio:1;object-fit:cover;border-radius:16px;display:block;margin:16px 0;background:#24133F}
.carousel-editor .track-choice{margin-bottom:14px;display:flex;align-items:center;gap:9px}
.carousel-editor textarea{min-height:90px}
.carousel-editor input[hidden]{display:none!important}
@media(min-width:1181px){.header{gap:30px}.header nav{gap:22px}}
@media(max-width:1180px){.header .brand{width:210px}.hero h1{font-size:clamp(3rem,5.6vw,4.5rem)}}
@media(max-width:760px){.header .brand{width:178px}.hero{grid-template-columns:1fr}.hero-main{min-height:310px}.program-carousel{width:100%;max-width:540px;margin:auto;border-radius:22px}.carousel-caption{bottom:74px}.carousel-caption>span:first-child:not(.carousel-open){font-size:.76rem}.detail-header.program-detail{grid-template-columns:1fr;gap:24px}.detail-header.program-detail>img{max-width:540px}.program-banner{aspect-ratio:3;border-radius:16px}.carousel-editor{grid-template-columns:1fr}.carousel-edit-item{grid-template-columns:50px minmax(0,1fr)}.carousel-edit-item img{width:50px;height:50px}.carousel-edit-item .button-row{grid-column:2;justify-content:flex-start}.footer .wordmark{width:220px}}
@media(max-width:400px){.header{gap:12px}.header .brand{width:150px}.live-header{font-size:.73rem;gap:6px;padding:10px}.hero-main{padding:24px}.hero h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.carousel-dots span{transition:none}}
