@font-face {
  font-family: "SHOW Noto Sans KR";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url("/assets/fonts/noto-sans-kr/NotoSansKR-Regular-Hestia.woff2") format("woff2"),
    url("/assets/fonts/noto-sans-kr/NotoSansKR-Regular-Hestia.woff") format("woff");
}
@font-face {
  font-family: "SHOW Noto Sans KR";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:
    url("/assets/fonts/noto-sans-kr/NotoSansKR-Medium-Hestia.woff2") format("woff2"),
    url("/assets/fonts/noto-sans-kr/NotoSansKR-Medium-Hestia.woff") format("woff");
}
@font-face {
  font-family: "SHOW Noto Sans KR";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:
    url("/assets/fonts/noto-sans-kr/NotoSansKR-Bold-Hestia.woff2") format("woff2"),
    url("/assets/fonts/noto-sans-kr/NotoSansKR-Bold-Hestia.woff") format("woff");
}

@font-face {
  font-family: "Manrope LIVE";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/manrope/manrope-latin-300.woff2") format("woff2");
}

:root {
  color-scheme: dark;
  --bg: #07080c;
  --bg-elevated: #0c0e14;
  --surface: #11141c;
  --surface-2: #161a24;
  --surface-3: #1c2130;
  --ink: #f5f7ff;
  --muted: #8991a5;
  --muted-2: #5e6679;
  --line: #252a36;
  --line-strong: #343b4c;
  --brand: #7c8cff;
  --brand-bright: #9ba6ff;
  --cyan: #45d8ff;
  --mint: #20d7b5;
  --coral: #ff6f91;
  --live-type: "Manrope LIVE", "Avenir Next", "Helvetica Neue", sans-serif;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.44);
  --radius-lg: 30px;
  --radius-md: 18px;
  --content: 1440px;
}

* { box-sizing: border-box; }
html {
  width: 100%;
  overflow-x: clip;
  overscroll-behavior-y: none;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  width: 100%;
  min-width: 0;
  min-height: 100svh;
  background:
    radial-gradient(circle at 15% -10%, rgba(124, 140, 255, 0.13), transparent 31rem),
    radial-gradient(circle at 88% 12%, rgba(32, 215, 181, 0.08), transparent 28rem),
    linear-gradient(180deg, #08090e, #07080c 55%, #090a0f);
  color: var(--ink);
  font-family: Pretendard, "Noto Sans KR", Inter, system-ui, sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  overscroll-behavior-y: none;
  cursor: default;
}
#app {
  width: 100%;
  min-width: 0;
  overflow-x: clip;
}
body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
  content: "";
  pointer-events: none;
}
button, a, input { font: inherit; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, a, input, label, output,
.site-header, .live-toolbar, .time-navigator, .channel-filter, .onair-grid,
.view-switch, .channel-groups, .channel-grid, .flow-steps {
  -webkit-user-select: none;
  user-select: none;
  caret-color: transparent;
}
body :where(h1,h2,h3,h4,p,span,strong,small,time,em,img,svg,figure,figcaption) {
  -webkit-user-select: none;
  user-select: none;
  caret-color: transparent;
}
a[href], button:not(:disabled), [role="button"], [data-next-alert-open] { cursor: pointer; }
.brand-lockup, .brand-lockup *, .live-toolbar__clock, .live-toolbar__clock *,
.time-navigator__top, .time-navigator__top *, .filter-heading, .filter-heading *,
.collect-status, .onair-card__caption, .onair-card__caption * { cursor: default; }
.site-header a.brand, .site-header a.brand * { cursor: pointer; }
a.brand-lockup, a.brand-lockup * { cursor: default; }
.brand-lockup:focus-visible { outline: none; }
input:not([type="range"]), textarea, [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
  caret-color: auto;
}

/* 비조작 영역에는 손가락·텍스트 커서가 남지 않도록 전체 화면을 명시적으로 정리합니다. */
#app :where(div,main,section,article,header,footer,nav,aside,figure,figcaption,ul,ol,li,dl,dt,dd,table,thead,tbody,tr,th,td) {
  cursor: default;
  caret-color: transparent;
}
#app :where(a[href],button:not(:disabled),[role="button"],[data-next-alert-open]),
#app :where(a[href],button:not(:disabled),[role="button"],[data-next-alert-open]) * {
  cursor: pointer;
}
#app input[type="range"],
#app input[type="range"] * { cursor: grab; }
#app input[type="range"]:active,
#app .time-slider__bubble:active,
#app .time-slider__bubble.is-dragging { cursor: grabbing; }
#app :where(input:not([type="range"]),textarea,[contenteditable="true"]),
#app :where(input:not([type="range"]),textarea,[contenteditable="true"]) * { cursor: text; }
.journey,
.journey__step,
.journey__step * { cursor: default !important; caret-color: transparent; }
img, a { -webkit-user-drag: none; }

/* 채널 분류 버튼은 데스크톱에서 한 줄을 유지합니다. */
.show-home .channel-groups {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.show-home .channel-groups::-webkit-scrollbar { display: none; }
.show-home .channel-groups button {
  min-width: 92px;
  flex: 0 0 auto;
}
button:focus:not(:focus-visible), a:focus:not(:focus-visible), input:focus:not(:focus-visible) { outline: none; }
button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 3px solid rgba(69, 216, 255, 0.38);
  outline-offset: 3px;
}
em { color: var(--brand-bright); font-style: normal; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.boot-message {
  width: min(90%, 520px);
  margin: 18vh auto;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--muted);
  text-align: center;
}
.boot-message h1 { margin: 0 0 8px; color: var(--ink); font-size: clamp(1.3rem, 3vw, 1.8rem); line-height: 1.25; }
.boot-message p { margin: 0; }
.boot-message a { display: inline-block; margin-top: 14px; color: var(--brand-bright); }

.site-header {
  position: sticky;
  z-index: 40;
  top: 0;
  border-bottom: 1px solid rgba(37, 42, 54, 0.78);
  background: rgba(7, 8, 12, 0.82);
  backdrop-filter: blur(20px) saturate(1.25);
}
.site-header__inner {
  width: min(calc(100% - 36px), var(--content));
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  isolation: isolate;
  transition: color .18s ease,filter .18s ease,transform .18s ease;
}
.brand::before { position: absolute; z-index: -1; inset: -7px -10px; border: 1px solid rgba(69,216,255,.3); border-radius: 12px; background: radial-gradient(circle at 24% 50%,rgba(69,216,255,.14),transparent 62%); box-shadow: 0 0 22px rgba(69,216,255,.12); content: ""; opacity: 0; transform: scale(.96); transition: opacity .18s ease,transform .18s ease,box-shadow .18s ease; }
.brand:hover { color: #fff; filter: brightness(1.08); transform: translateY(-1px); }
.brand:hover::before { opacity: 1; transform: scale(1); box-shadow: 0 0 26px rgba(69,216,255,.2); }
.brand:hover .brand__mark { filter: drop-shadow(0 0 12px rgba(69,216,255,.58)); }
.brand:hover .brand__word { text-shadow: 0 0 12px rgba(255,255,255,.24); }
.brand:focus-visible { outline: 2px solid rgba(69,216,255,.82); outline-offset: 9px; border-radius: 7px; }
.brand__mark {
  position: relative;
  width: 37px;
  height: 34px;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 0 9px rgba(69,216,255,.36));
}
.brand__mark svg { width: 100%; height: 100%; overflow: visible; }
.brand-tv__antenna { fill: none; stroke: #93a2ff; stroke-width: 1.7; stroke-linecap: round; }
.brand-tv__body { fill: rgba(13,18,30,.9); stroke: #7c8cff; stroke-width: 1.7; }
.brand-tv__screen { fill: rgba(69,216,255,.08); stroke: #45d8ff; stroke-width: 1.5; }
.brand-tv__alarm { transform-box: fill-box; transform-origin: center; transform: translate(2px,-3px) rotate(15deg) scale(1.28); }
.brand-tv__bell { fill: #ffc928; stroke: #ffe681; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 5px rgba(255,201,40,.78)); }
.brand-tv__alert { fill: #ffd84a; filter: drop-shadow(0 0 5px rgba(255,216,74,.9)); }
.brand__word { font-size: 1.02rem; font-weight: 950; letter-spacing: .16em; }
.brand small { color: var(--muted-2); font-size: .68rem; letter-spacing: .08em; }
.site-nav { display: flex; align-items: center; gap: 24px; color: var(--muted); font-size: .83rem; font-weight: 750; }
.site-nav a { text-decoration: none; transition: color .16s ease; }
.site-nav a:hover { color: var(--ink); }
.live-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: #dfe4f4;
  font-variant-numeric: tabular-nums;
}
.live-pill::before { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(255,111,145,.12), 0 0 12px var(--coral); content: ""; animation: live-pulse 1.8s ease-in-out infinite; }

.main-shell { width: min(calc(100% - 36px), var(--content)); margin: 0 auto; padding: 64px 0 96px; }
.hero-heading { min-height: 390px; display: grid; grid-template-columns: minmax(0, 1fr) 210px; align-items: center; gap: 52px; }
.hero-heading__copy { max-width: 850px; }
.eyebrow { margin: 0 0 14px; color: var(--brand-bright); font-size: .72rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow > span { display: inline-block; width: 22px; height: 1px; margin: 0 9px 3px 0; background: currentColor; box-shadow: 0 0 8px currentColor; }
.hero-heading h1, .article-hero h1, .flow-hero h1, .error-page h1 { margin: 0; font-size: clamp(3rem, 7.5vw, 6.8rem); line-height: .96; letter-spacing: -.072em; }
.hero-heading__copy > p:last-child { max-width: 650px; margin: 25px 0 0; color: var(--muted); font-size: 1rem; }
.hero-status {
  position: relative;
  width: 190px;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,140,255,.13), rgba(17,20,28,.7) 54%, transparent 55%);
  text-align: center;
}
.hero-status::before, .hero-status::after { position: absolute; inset: 12px; border: 1px dashed #333a4a; border-radius: 50%; content: ""; animation: orbit-spin 18s linear infinite; }
.hero-status::after { inset: -10px; border-color: rgba(69,216,255,.15); animation-direction: reverse; animation-duration: 25s; }
.hero-status__live { color: var(--mint); font-size: .62rem; font-weight: 900; letter-spacing: .14em; }
.hero-status__live i { display: inline-block; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 8px var(--mint); }
.hero-status strong { display: block; margin: 5px 0 0; font-size: 3rem; line-height: 1; font-variant-numeric: tabular-nums; }
.hero-status small { color: var(--muted-2); font-size: .55rem; letter-spacing: .15em; }

.control-deck { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 0; border-top: 1px solid var(--line); }
.group-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.group-tabs button { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font-size: .75rem; font-weight: 800; }
.group-tabs button[aria-pressed="true"] { border-color: #5967c8; background: rgba(124,140,255,.12); color: #c9cfff; }
.data-note { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: .7rem; }
.data-note span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; font-weight: 850; }
.data-note.is-live span { border-color: rgba(32,215,181,.26); background: rgba(32,215,181,.08); color: var(--mint); }
.data-note.is-fallback span { color: #ffb454; }
.data-note strong { color: #b8bfce; font-variant-numeric: tabular-nums; }

.channel-tabs { display: flex; gap: 8px; margin: 8px 0 16px; padding: 8px 0 4px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #303746 transparent; }
.channel-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--muted); cursor: pointer; font-size: .76rem; font-weight: 800; transition: border-color .16s, background .16s, color .16s, transform .16s; }
.channel-chip > span { width: 6px; height: 6px; border-radius: 50%; background: var(--chip-accent); box-shadow: 0 0 8px var(--chip-accent); }
.channel-chip:hover { transform: translateY(-1px); color: var(--ink); }
.channel-chip[aria-pressed="true"] { border-color: color-mix(in srgb, var(--chip-accent), #fff 16%); background: color-mix(in srgb, var(--chip-accent) 14%, var(--surface)); color: #fff; box-shadow: inset 0 0 18px color-mix(in srgb, var(--chip-accent) 8%, transparent); }

.schedule-board { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(12,14,20,.92); box-shadow: var(--shadow); }
.schedule-board__bar { min-height: 58px; padding: 14px 22px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.012); }
.schedule-board__brand, .schedule-board__meta { display: flex; align-items: center; gap: 11px; }
.schedule-board__brand { font-size: .74rem; font-weight: 900; letter-spacing: .13em; }
.schedule-board__meta { color: var(--muted-2); font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(255,111,145,.09), 0 0 13px rgba(255,111,145,.72); }
.schedule-grid { display: grid; grid-template-columns: minmax(460px, 1.12fr) minmax(320px, .88fr); align-items: center; gap: clamp(28px, 5vw, 68px); padding: clamp(24px, 4.5vw, 56px); }
.wheel-column { min-width: 0; }
.schedule-wheel {
  --schedule-gradient: conic-gradient(from -90deg, #252a36 0 100%);
  position: relative;
  width: min(100%, 570px);
  aspect-ratio: 1;
  margin: 0 auto;
  border: 1px solid #2d3341;
  border-radius: 50%;
  background: var(--schedule-gradient);
  box-shadow: inset 0 0 0 2px #0c0e14, inset 0 0 50px rgba(0,0,0,.32), 0 28px 80px rgba(0,0,0,.45), 0 0 60px color-mix(in srgb, var(--channel-accent) 12%, transparent);
}
.schedule-wheel::before { position: absolute; z-index: 1; inset: 22%; border: 1px solid var(--line); border-radius: 50%; background: radial-gradient(circle at 50% 35%, #171b26, #0c0e14 72%); box-shadow: 0 0 42px rgba(0,0,0,.55); content: ""; }
.schedule-wheel::after { position: absolute; z-index: 3; inset: 48.6%; border: 2px solid #f2f5ff; border-radius: 50%; background: var(--channel-accent); box-shadow: 0 0 11px var(--channel-accent); content: ""; }
.wheel-ring { position: absolute; z-index: 2; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; pointer-events: none; }
.wheel-ring--outer { inset: 6.5%; border-style: dashed; animation: orbit-spin 60s linear infinite; }
.wheel-ring--inner { inset: 27.5%; border-color: rgba(124,140,255,.14); }
.wheel-hand { position: absolute; z-index: 2; left: calc(50% - 1px); bottom: 50%; width: 2px; height: 43%; background: linear-gradient(to top, var(--channel-accent), #fff); box-shadow: 0 0 10px var(--channel-accent); transform: rotate(var(--hand-angle)); transform-origin: 50% 100%; transition: transform .2s ease; }
.wheel-center { position: absolute; z-index: 4; inset: 31%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12px; text-align: center; pointer-events: none; }
.wheel-center__status { color: var(--coral); font-size: clamp(.57rem, 1.3vw, .7rem); font-weight: 950; letter-spacing: .17em; }
.wheel-center strong { width: 100%; margin: 9px 0 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(.95rem, 2vw, 1.4rem); line-height: 1.25; letter-spacing: -.025em; }
.wheel-center small { color: var(--muted); font-size: clamp(.57rem, 1.2vw, .7rem); font-variant-numeric: tabular-nums; }
.wheel-label { position: absolute; z-index: 5; width: clamp(70px, 17%, 99px); padding: 6px 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(12,14,20,.86); color: #c8cede; cursor: pointer; transform: translate(-50%,-50%); box-shadow: 0 6px 17px rgba(0,0,0,.26); backdrop-filter: blur(8px); }
.wheel-label time { display: block; color: var(--muted-2); font-size: clamp(.49rem, 1.1vw, .6rem); font-variant-numeric: tabular-nums; }
.wheel-label span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(.54rem, 1.3vw, .66rem); font-weight: 800; }
.wheel-label.is-current { border-color: var(--channel-accent); background: #f2f5ff; color: #0b0d13; box-shadow: 0 0 18px color-mix(in srgb, var(--channel-accent) 48%, transparent); }
.wheel-label.is-current time { color: #50576a; }
.time-explorer { width: min(100%, 540px); display: grid; gap: 10px; margin: 28px auto 0; }
.time-explorer__heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--muted-2); font-size: .65rem; font-weight: 850; letter-spacing: .12em; }
.time-explorer__heading > span:last-child { display: inline-flex; align-items: center; gap: 10px; }
.time-explorer__value { color: var(--ink); font-size: .79rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.time-range { width: 100%; accent-color: var(--brand); }
.reset-time { padding: 4px 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--brand-bright); cursor: pointer; font-size: .59rem; font-weight: 900; }

.now-column { min-width: 0; display: grid; gap: 14px; }
.panel-label { margin: 0 0 -4px; color: var(--muted-2); font-size: .62rem; font-weight: 900; letter-spacing: .16em; }
.now-card, .other-card { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.now-card { position: relative; overflow: hidden; padding: 27px; }
.now-card::before { position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, var(--channel-accent), transparent); content: ""; }
.now-card__kicker { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; color: var(--brand-bright); font-size: .68rem; font-weight: 900; letter-spacing: .06em; }
.now-card__kicker span:last-child { color: var(--muted); font-variant-numeric: tabular-nums; }
.now-card h2 { margin: 0; font-size: clamp(1.55rem, 3.5vw, 2.35rem); line-height: 1.19; letter-spacing: -.045em; }
.now-card__meta { margin: 9px 0 19px; color: var(--muted); font-size: .82rem; }
.progress { height: 5px; overflow: hidden; border-radius: 999px; background: #252a36; }
.progress span { display: block; width: var(--progress,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--channel-accent), #d8dcff); box-shadow: 0 0 11px var(--channel-accent); transition: width .2s; }
.flag-list { min-height: 25px; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; }
.flag-list span { padding: 4px 7px; border: 1px solid var(--line); border-radius: 6px; color: #aab2c4; font-size: .59rem; font-weight: 750; }
.now-card__action { margin-top: 21px; }
.program-link { min-height: 50px; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 11px 15px 11px 18px; border: 1px solid #4655aa; border-radius: 11px; background: linear-gradient(135deg, rgba(124,140,255,.22), rgba(69,216,255,.08)); color: #eef1ff; font-size: .77rem; font-weight: 900; text-decoration: none; transition: transform .16s, border-color .16s, box-shadow .16s; }
.program-link:hover { border-color: #7c8cff; box-shadow: 0 10px 24px rgba(56,70,172,.2); transform: translateY(-2px); }
.program-link i { color: var(--cyan); font-size: 1rem; font-style: normal; }
.unavailable-link { color: var(--muted-2); font-size: .72rem; }
.other-card { padding: 19px; }
.other-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.other-card h3 { margin: 0; font-size: .85rem; }
.other-card__heading span { color: var(--muted-2); font-size: .54rem; font-weight: 900; letter-spacing: .14em; }
.other-list { display: grid; gap: 5px; max-height: 288px; overflow: auto; scrollbar-width: thin; scrollbar-color: #303746 transparent; }
.other-row { display: grid; grid-template-columns: 63px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid transparent; border-radius: 9px; background: var(--bg-elevated); color: #bdc4d3; font-size: .69rem; text-decoration: none; }
a.other-row:hover { border-color: var(--line-strong); color: #fff; }
.other-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .65rem; }
.other-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.other-row time { color: var(--muted-2); font-variant-numeric: tabular-nums; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 95px 0 24px; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.06; letter-spacing: -.055em; }
.section-heading > p { max-width: 430px; margin: 0; color: var(--muted); font-size: .84rem; }
.live-program-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.live-program-card { position: relative; min-height: 185px; display: flex; flex-direction: column; padding: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, var(--surface), #0d0f15); text-decoration: none; transition: transform .18s, border-color .18s; }
.live-program-card::before { position: absolute; top: -40px; right: -30px; width: 110px; height: 110px; border-radius: 50%; background: var(--card-accent); filter: blur(55px); opacity: .18; content: ""; }
.live-program-card:hover { border-color: color-mix(in srgb,var(--card-accent),#fff 12%); transform: translateY(-3px); }
.live-program-card__top { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .63rem; font-weight: 800; }
.live-program-card__top span { color: var(--card-accent); }
.live-program-card h3 { margin: 28px 0 7px; font-size: 1.14rem; line-height: 1.25; letter-spacing: -.035em; }
.live-program-card p { margin: 0; color: var(--muted-2); font-size: .66rem; }
.live-program-card__arrow { position: absolute; right: 17px; bottom: 14px; color: var(--card-accent); }

.system-panel { margin-top: 96px; padding: clamp(26px,5vw,52px); display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 60px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, #10131c, #0b0d12); }
.system-panel h2 { margin: 0; font-size: clamp(1.8rem,4vw,3.15rem); line-height: 1.08; letter-spacing: -.05em; }
.system-flow { display: grid; gap: 9px; }
.system-flow > div { display: grid; grid-template-columns: 38px 1fr 1fr; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.015); }
.system-flow span { color: var(--brand-bright); font-size: .63rem; font-weight: 900; }
.system-flow strong { font-size: .8rem; }
.system-flow small { color: var(--muted); font-size: .66rem; }

.site-footer { border-top: 1px solid var(--line); background: #08090d; }
.site-footer__inner { width: min(calc(100% - 36px), var(--content)); margin: 0 auto; padding: 34px 0 44px; display: flex; align-items: end; justify-content: space-between; gap: 30px; color: var(--muted); }
.site-footer__inner > div { display: grid; gap: 3px; }
.site-footer strong { color: #fff; letter-spacing: .14em; }
.site-footer span { font-size: .68rem; }
.site-footer p { max-width: 590px; margin: 0; font-size: .65rem; text-align: right; }

/* Detail flow */
.article-shell, .flow-shell { width: min(calc(100% - 36px), 930px); margin: 0 auto; padding: 50px 0 100px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; color: var(--muted-2); font-size: .69rem; }
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.breadcrumbs span::before { margin-right: 8px; color: #3f4657; content: "/"; }
.journey { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 0 0 24px; }
.journey__step { min-height: 49px; display: flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--muted-2); font-size: .67rem; font-weight: 800; }
.journey__step > span { color: #555e74; font-size: .59rem; }
.journey__step.is-active { border-color: #5260b5; background: rgba(124,140,255,.1); color: #dfe3ff; }
.journey__step.is-active > span { color: var(--brand-bright); }
.journey__step.is-complete { color: var(--mint); }
.journey__step.is-complete > span { color: var(--mint); }
.article-hero, .flow-hero { position: relative; overflow: hidden; padding: clamp(30px,6vw,66px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, #151823, #0c0e14); box-shadow: var(--shadow); }
.article-hero::before, .flow-hero::before { position: absolute; top: -120px; right: -100px; width: 320px; height: 320px; border-radius: 50%; background: var(--article-accent,var(--brand)); filter: blur(125px); opacity: .17; content: ""; }
.article-hero::after, .flow-hero::after { position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg,var(--article-accent,var(--brand)),transparent 72%); content: ""; }
.article-hero h1 { position: relative; font-size: clamp(2.6rem,7vw,5.9rem); }
.article-hero__meta { position: relative; display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.article-hero__meta span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: rgba(0,0,0,.16); color: var(--muted); font-size: .65rem; }
.article-lead { position: relative; max-width: 670px; margin: 24px 0 0; color: #b7bece; font-size: 1rem; }
.article-content { padding: 10px clamp(4px,4vw,44px) 0; }
.article-section { margin-top: 64px; }
.article-index { margin: 0 0 9px !important; color: var(--brand-bright) !important; font-size: .61rem !important; font-weight: 900; letter-spacing: .16em; }
.article-section h2 { margin: 0 0 18px; font-size: clamp(1.5rem,3.5vw,2.2rem); letter-spacing: -.04em; }
.article-section p { margin: 0 0 17px; color: #a9b0c0; font-size: .92rem; line-height: 1.9; }
.fact-list { display: grid; gap: 7px; margin: 25px 0 0; padding: 0; list-style: none; }
.fact-list li { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.fact-list span { color: var(--muted); font-size: .7rem; }
.fact-list strong { font-size: .75rem; text-align: right; }
.source-link { display: inline-flex; gap: 7px; align-items: center; color: var(--cyan); font-size: .75rem; font-weight: 850; text-decoration: none; }
.article-cta, .flow-cta { margin-top: 74px; padding: clamp(28px,5vw,48px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg,#12151e,#0b0d12); text-align: center; }
.article-cta h2, .flow-cta h2 { margin: 0; font-size: clamp(1.6rem,4vw,2.65rem); letter-spacing: -.045em; }
.article-cta > p:not(.eyebrow), .flow-cta > p:not(.eyebrow) { max-width: 590px; margin: 10px auto 0; color: var(--muted); font-size: .81rem; }
.flow-hero { text-align: center; }
.flow-hero h1 { position: relative; font-size: clamp(2.4rem,6.5vw,5.2rem); }
.flow-hero > p:last-child { position: relative; max-width: 670px; margin: 22px auto 0; color: var(--muted); font-size: .9rem; }
.guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 20px; }
.guide-card { min-height: 205px; padding: 23px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.guide-card > span { color: var(--brand-bright); font-size: .62rem; font-weight: 900; }
.guide-card h2 { margin: 34px 0 8px; font-size: 1.12rem; }
.guide-card p { margin: 0; color: var(--muted); font-size: .72rem; }
.provider-panel { margin-top: 10px; padding: 21px 23px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.provider-panel p, .ready-card > p { margin: 0 0 4px; color: var(--muted-2); font-size: .57rem; font-weight: 900; letter-spacing: .15em; }
.provider-panel h2 { margin: 0; font-size: 1.15rem; }
.provider-badge { padding: 6px 9px; border: 1px solid rgba(32,215,181,.25); border-radius: 999px; background: rgba(32,215,181,.08); color: var(--mint); font-size: .62rem; font-weight: 900; }
.ready-summary { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 20px; }
.ready-card { padding: 25px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.ready-card h2 { min-height: 58px; margin: 0 0 20px; font-size: 1.25rem; line-height: 1.25; }
.ready-card dl { display: grid; gap: 7px; margin: 0; }
.ready-card dl > div { display: flex; justify-content: space-between; gap: 15px; padding-top: 9px; border-top: 1px solid var(--line); font-size: .68rem; }
.ready-card dt { color: var(--muted); }
.ready-card dd { margin: 0; font-weight: 800; text-align: right; }
.rocket-cta { overflow: visible; }
.download-ready-stage { position: relative; width: min(100%,420px); min-height: 118px; margin: 24px auto -8px; }
.error-page { width: min(calc(100% - 36px),780px); margin: 0 auto; padding: 110px 0; text-align: center; }
.error-page h1 { font-size: clamp(2.2rem,6vw,4.8rem); }
.error-page > p:not(.eyebrow) { margin: 20px auto 28px; color: var(--muted); }

/* SHOW image-first experience */
[hidden] { display: none !important; }
::selection { background: rgba(124,140,255,.34); color: #fff; }
img { max-width: 100%; }

.show-home {
  width: min(calc(100% - 48px), var(--content));
  margin: 0 auto;
  padding: clamp(42px,6vw,82px) 0 108px;
}
.live-intro {
  position: relative;
  padding: clamp(18px,3vw,34px) 0 clamp(30px,4vw,52px);
}
.live-intro::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(124,140,255,.55), var(--line) 45%, transparent);
  content: "";
}
.live-intro__row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
}
.live-intro h1 {
  margin: 0;
  font-size: clamp(3.2rem,7vw,7.3rem);
  line-height: .91;
  letter-spacing: -.075em;
}
.live-intro__row > div:first-child > p:last-child {
  max-width: 620px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: .96rem;
}
.live-clock {
  flex: 0 0 auto;
  min-width: 250px;
  display: grid;
  gap: 5px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(12,14,20,.74);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
  text-align: right;
  backdrop-filter: blur(16px);
}
.live-clock span { color: var(--muted-2); font-size: .67rem; font-weight: 800; }
.live-clock strong { font-size: 1.03rem; font-variant-numeric: tabular-nums; }

.view-switch {
  position: sticky;
  z-index: 24;
  top: 84px;
  width: fit-content;
  display: grid;
  grid-template-columns: repeat(2,minmax(140px,1fr));
  gap: 5px;
  margin: 20px 0;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(9,11,16,.9);
  box-shadow: 0 12px 34px rgba(0,0,0,.34);
  backdrop-filter: blur(18px);
}
.view-switch button {
  min-height: 42px;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: .76rem;
  font-weight: 900;
}
.view-switch button span { margin-right: 5px; color: var(--muted-2); }
.view-switch button[aria-selected="true"] {
  border-color: rgba(124,140,255,.42);
  background: linear-gradient(135deg,rgba(124,140,255,.22),rgba(69,216,255,.08));
  color: #f2f4ff;
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 0 18px rgba(83,99,222,.12);
}
.view-switch button[aria-selected="true"] span { color: var(--brand-bright); }

.channel-filter {
  padding: clamp(18px,2.4vw,30px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(145deg,rgba(17,20,28,.94),rgba(10,12,17,.94));
  box-shadow: 0 24px 66px rgba(0,0,0,.26);
}
.filter-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.filter-heading h2 { margin: 0; font-size: clamp(1.35rem,2.3vw,2rem); letter-spacing: -.045em; }
.filter-heading .eyebrow { margin-bottom: 6px; }
.collect-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--muted);
  font-size: .68rem;
  white-space: nowrap;
}
.collect-status i { width: 7px; height: 7px; border-radius: 50%; background: #ffb454; box-shadow: 0 0 10px rgba(255,180,84,.65); }
.collect-status.is-live i { background: var(--mint); box-shadow: 0 0 10px rgba(32,215,181,.72); animation: live-pulse 1.8s ease-in-out infinite; }
.collect-status strong { color: #b9c0d0; font-variant-numeric: tabular-nums; }
.channel-groups {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,112px));
  gap: 7px;
  margin-bottom: 14px;
}
.channel-groups button {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(7,8,12,.56);
  color: var(--muted);
  cursor: pointer;
  font-size: .7rem;
  font-weight: 850;
}
.channel-groups button:hover { border-color: var(--line-strong); color: var(--ink); }
.channel-groups button[aria-pressed="true"] {
  border-color: rgba(124,140,255,.65);
  background: rgba(124,140,255,.13);
  color: #dce0ff;
  box-shadow: 0 0 17px rgba(124,140,255,.1);
}
.channel-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(10,minmax(0,1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.channel-chip {
  min-width: 0;
  min-height: 44px;
  display: grid;
  grid-template-columns: 7px minmax(0,1fr);
  align-items: center;
  justify-content: initial;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(15,18,25,.92);
  color: var(--muted);
  cursor: pointer;
  font-size: clamp(.61rem,.75vw,.72rem);
  font-weight: 850;
  line-height: 1.15;
  text-align: left;
  transition: border-color .16s, background .16s, color .16s, transform .16s;
}
.channel-chip > i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--chip-accent);
  box-shadow: 0 0 8px var(--chip-accent);
}
.channel-chip > span {
  width: auto;
  height: auto;
  min-width: 0;
  overflow-wrap: anywhere;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.channel-chip:hover { border-color: color-mix(in srgb,var(--chip-accent),#fff 10%); color: #fff; transform: translateY(-1px); }
.channel-chip[aria-pressed="true"] {
  border-color: color-mix(in srgb,var(--chip-accent),#fff 20%);
  background: color-mix(in srgb,var(--chip-accent) 15%,#11141c);
  color: #fff;
  box-shadow: inset 0 0 18px color-mix(in srgb,var(--chip-accent) 9%,transparent), 0 0 14px color-mix(in srgb,var(--chip-accent) 9%,transparent);
}

.onair-view, .schedule-view { scroll-margin-top: 158px; }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin: clamp(62px,8vw,104px) 0 24px;
}
.section-heading h2 {
  margin: 0;
  font-size: clamp(2.15rem,4.6vw,4.35rem);
  line-height: 1.01;
  letter-spacing: -.062em;
}
.section-heading > p {
  max-width: 450px;
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}
.schedule-view .section-heading > p { display: grid; justify-items: end; gap: 5px; }
.schedule-view .section-heading > p strong { color: var(--ink); font-size: .85rem; }
.schedule-view .section-heading > p span { color: var(--muted-2); font-size: .7rem; font-variant-numeric: tabular-nums; }

.onair-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.onair-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(155deg,#11141c,#0c0e14);
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.onair-card:hover {
  border-color: color-mix(in srgb,var(--channel-accent,var(--brand)),#fff 14%);
  box-shadow: 0 24px 54px rgba(0,0,0,.34), 0 0 28px color-mix(in srgb,var(--channel-accent,var(--brand)) 10%,transparent);
  transform: translateY(-4px);
}
.onair-card > .onair-card__primary,
.onair-card > .onair-card__open { width: 100%; height: 100%; display: flex; flex-direction: column; padding: 0; border: 0; background: transparent; color: inherit; text-align: inherit; text-decoration: none; cursor: pointer; }
.onair-card.is-unlinked > .onair-card__primary { cursor: default; }
.schedule-program-card.is-unlinked > div { display: grid; grid-template-columns: minmax(92px,.38fr) minmax(0,1fr) auto; align-items: center; gap: 12px; height: 100%; padding: 15px; color: inherit; }
.onair-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  background: #080a0f;
}
.onair-card__media::after,
.program-hero__poster::after {
  display: none;
  background: none;
  content: none;
}
.onair-card__poster {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
}
.onair-card__poster-backdrop { display: none !important; }
.poster-placeholder {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 3px;
  background: radial-gradient(circle at 50% 20%,rgba(124,140,255,.25),transparent 36%),linear-gradient(145deg,#151a28,#090b11);
  text-align: center;
}
.poster-placeholder span { font-size: 1.3rem; font-weight: 950; letter-spacing: .18em; }
.poster-placeholder small { color: var(--muted-2); font-size: .52rem; font-weight: 850; letter-spacing: .14em; }
.onair-card__media.is-image-missing img,
.program-hero__poster.is-image-missing img { display: none; }
.onair-card__media.is-image-missing::before,
.program-hero__poster.is-image-missing::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 30%,rgba(124,140,255,.22),transparent 40%),#0a0c12;
  color: #e9ecff;
  content: "SHOW";
  font-size: 1.2rem;
  font-weight: 950;
  letter-spacing: .18em;
}
.live-badge, .channel-badge, .time-badge { position: absolute; z-index: 5; }
.live-badge {
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border: 1px solid rgba(255,111,145,.35);
  border-radius: 999px;
  background: rgba(38,8,18,.78);
  color: #ff9cb4;
  font-size: .55rem;
  font-weight: 950;
  letter-spacing: .08em;
  backdrop-filter: blur(9px);
}
.live-badge i { width: 5px; height: 5px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 7px var(--coral); animation: live-pulse 1.8s ease-in-out infinite; }
.channel-badge {
  right: 12px;
  top: 12px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb,var(--channel-accent),transparent 55%);
  border-radius: 999px;
  background: rgba(6,8,13,.76);
  color: color-mix(in srgb,var(--channel-accent),#fff 22%);
  font-size: .58rem;
  font-weight: 950;
  backdrop-filter: blur(9px);
}
.time-badge {
  right: 12px;
  bottom: 10px;
  color: #f2f4fb;
  font-size: .6rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 8px #000;
}
.onair-card__body { flex: 1; display: flex; flex-direction: column; padding: 18px 18px 16px; }
.onair-card__series { margin: 0 0 4px; color: var(--brand-bright); font-size: .62rem; font-weight: 800; }
.onair-card h3 {
  min-height: 2.6em;
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  font-size: clamp(1rem,1.35vw,1.25rem);
  line-height: 1.3;
  letter-spacing: -.035em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.onair-card__summary {
  min-height: 3.1em;
  display: -webkit-box;
  margin: 9px 0 16px;
  overflow: hidden;
  color: var(--muted);
  font-size: .69rem;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.live-progress { height: 4px; margin-top: auto; overflow: hidden; border-radius: 999px; background: #272c39; }
.live-progress span { display: block; width: var(--progress,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--channel-accent,var(--brand)),#dce1ff); box-shadow: 0 0 9px var(--channel-accent,var(--brand)); }
.onair-card__body > small { display: flex; justify-content: space-between; gap: 10px; margin-top: 9px; color: var(--muted-2); font-size: .59rem; font-variant-numeric: tabular-nums; }
.onair-card__body > small strong { color: #cbd2e3; }
.empty-board {
  grid-column: 1 / -1;
  min-height: 340px;
  display: grid;
  place-content: center;
  padding: 40px;
  border: 1px dashed var(--line-strong);
  border-radius: 20px;
  background: rgba(12,14,20,.58);
  text-align: center;
}
.empty-board > span { color: var(--brand-bright); font-size: .7rem; font-weight: 950; letter-spacing: .2em; }
.empty-board h3 { margin: 12px 0 5px; font-size: 1.25rem; }
.empty-board p { max-width: 520px; margin: 0; color: var(--muted); font-size: .76rem; }

.schedule-list { min-width: 0; }
.schedule-timeline { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.schedule-program-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(48,55,70,.9);
  border-radius: 12px;
  background: linear-gradient(145deg,rgba(24,28,39,.96),rgba(12,15,22,.96));
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
  transition: border-color .16s,box-shadow .16s,transform .16s;
}
.schedule-program-card::before { position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; width: 3px; background: linear-gradient(180deg,var(--schedule-accent,var(--brand)),transparent 92%); content: ""; }
.schedule-program-card:hover { border-color: color-mix(in srgb,var(--schedule-accent,var(--brand)),#fff 20%); box-shadow: 0 12px 24px rgba(0,0,0,.25),0 0 18px color-mix(in srgb,var(--schedule-accent,var(--brand)) 10%,transparent); transform: translateY(-1px); }
.schedule-program-card > a,
.schedule-program-card > div {
  min-height: 88px;
  display: grid;
  grid-template-columns: 104px minmax(0,1fr) 14px;
  align-items: center;
  gap: 12px;
  padding: 8px 11px 8px 8px;
  text-decoration: none;
  transition: color .15s;
}
.schedule-program-card__media { position: relative; width: 104px; aspect-ratio: 16 / 10; overflow: hidden; margin: 0; border: 1px solid rgba(255,255,255,.06); border-radius: 8px; background: #080a0f; }
.schedule-program-card__media img { width: 100%; height: 100%; display: block; object-fit: contain; background: #080a0f; }
.schedule-program-card__media .poster-placeholder { width: 100%; height: 100%; display: none; place-items: center; background: radial-gradient(circle at 50% 42%,rgba(124,140,255,.16),transparent 58%),#090b12; }
.schedule-program-card__media .poster-placeholder span { color: #eef1fa; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.schedule-program-card__media.is-image-missing img { display: none; }
.schedule-program-card__media.is-image-missing .poster-placeholder { display: grid; }
.schedule-program-card__copy { min-width: 0; display: grid; align-content: center; gap: 7px; }
.schedule-program-card time { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
.schedule-program-card time span { color: #f3f5fb; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.schedule-program-card time small { overflow: hidden; color: #8f99ac; font-size: .68rem; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.schedule-program-card strong { min-width: 0; overflow: hidden; color: #f2f4fa; font-size: .8rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.schedule-program-card i { color: var(--brand-bright); font-style: normal; }
.schedule-program-card.is-unlinked { opacity: .76; }
.period-empty { min-height: 120px; display: grid; place-items: center; margin: 0; padding: 20px; color: var(--muted-2); font-size: .69rem; text-align: center; }

.source-note {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: clamp(72px,9vw,112px);
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.source-note > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 3px 11px;
  padding: 16px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: rgba(255,255,255,.012);
}
.source-note span { grid-row: 1 / 3; color: var(--brand-bright); font-size: .61rem; font-weight: 950; }
.source-note strong { font-size: .76rem; }
.source-note small { color: var(--muted); font-size: .64rem; }

.site-footer { background: rgba(6,7,10,.92); }
.site-footer__inner { width: min(calc(100% - 48px),var(--content)); }

/* Program, review and destination flow */
.article-shell { width: min(calc(100% - 48px),1180px); padding: 46px 0 112px; }
.flow-shell { width: min(calc(100% - 48px),980px); padding: 46px 0 112px; }
.program-article { min-width: 0; }
.program-hero {
  --article-accent: var(--brand);
  position: relative;
  display: grid;
  grid-template-columns: minmax(330px,.9fr) minmax(0,1.1fr);
  align-items: center;
  gap: clamp(30px,5vw,68px);
  overflow: hidden;
  padding: clamp(26px,4vw,52px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: linear-gradient(145deg,#151823,#0b0d13);
  box-shadow: var(--shadow);
}
.program-hero::before {
  position: absolute;
  top: -150px;
  right: -100px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: var(--article-accent);
  filter: blur(150px);
  opacity: .16;
  content: "";
}
.program-hero::after { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg,var(--article-accent),transparent 76%); content: ""; }
.program-hero__poster {
  position: relative;
  aspect-ratio: 16 / 10;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: #080a0f;
  box-shadow: 0 24px 54px rgba(0,0,0,.36);
}
.program-hero__poster.has-native-poster .onair-card__poster {
  inset: 50% auto auto 50%;
  width: min(var(--poster-width,176px),100%);
  height: min(var(--poster-height,244px),100%);
  object-fit: contain;
  object-position: center;
  transform: translate(-50%,-50%);
}
.program-hero__poster.has-native-poster {
  width: min(var(--poster-width,176px),100%);
  aspect-ratio: var(--poster-aspect,3 / 4);
}
.program-hero__copy { position: relative; z-index: 4; min-width: 0; }
.program-hero h1 { margin: 0; font-size: clamp(2.5rem,5.5vw,5.55rem); line-height: .97; letter-spacing: -.065em; overflow-wrap: anywhere; }
.program-hero__series { margin: 15px 0 0; color: var(--brand-bright); font-size: .9rem; font-weight: 800; }
.program-hero__meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.program-hero__meta span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: rgba(0,0,0,.19); color: #aeb5c6; font-size: .63rem; }
.program-hero__next-airing{display:flex;width:max-content;max-width:100%;align-items:center;gap:7px;margin-top:9px;padding:7px 10px;border:1px solid rgba(100,120,255,.38);border-radius:7px;background:rgba(36,50,112,.25);color:#cbd3ff;font-size:.78rem;font-weight:760;line-height:1.2}
.program-hero__next-airing::before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#ff4c82;box-shadow:0 0 8px rgba(255,76,130,.72)}
.program-hero__next-airing[hidden]{display:none}
.program-hero .article-lead { max-width: 690px; margin: 22px 0 0; color: #b5bdce; font-size: .88rem; line-height: 1.85; }
.next-airing-card {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
}
.next-airing-card__heading { display: grid; gap: 4px; }
.next-airing-card__heading > span { color: var(--brand-bright); font-size: .82rem; font-weight: 900; letter-spacing: .08em; }
.next-airing-card__heading > strong { color: var(--muted); font-size: .72rem; font-weight: 700; }
.next-airing-card__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(205px,252px)); gap: 14px; }
.onair-card--next { border-color: color-mix(in srgb,var(--channel-accent,var(--brand)),transparent 55%); }
.onair-card__next-label { display: block; margin-bottom: 3px; color: color-mix(in srgb,var(--channel-accent,var(--brand)),#fff 35%); font-size: .55rem; font-weight: 900; letter-spacing: .14em; }
.tv-alert-cta { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 0 11px; width: fit-content; margin-top: 22px; padding: 12px 15px; border: 1px solid rgba(53,221,193,.42); border-radius: 12px; background: rgba(53,221,193,.1); color: #eafffb; text-decoration: none; box-shadow: 0 12px 30px rgba(0,0,0,.18); animation: alert-button-glow 5.2s ease-in-out infinite; }
.tv-alert-cta > span { grid-row: 1 / 3; display: inline-block; font-size: 1.25rem; transform-origin: 50% 12%; animation: alert-bell-ring 5.2s ease-in-out infinite; }
.tv-alert-cta strong { font-size: .84rem; }
.tv-alert-cta small { color: #6fe9d4; font-size: .75rem; }
.tv-alert-cta small time { color: #ffd84a; font-weight: 900; }
.tv-alert-cta:hover { border-color: rgba(53,221,193,.8); background: rgba(53,221,193,.16); transform: translateY(-1px); }
.onair-card__alert {
  position: absolute;
  z-index: 8;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 9px;
  border: 1px solid rgba(53,221,193,.52);
  border-radius: 999px;
  background: rgba(8,12,17,.9);
  color: #eafffb;
  font-size: .57rem;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,.32);
  backdrop-filter: blur(10px);
  animation: alert-button-glow 5.2s ease-in-out infinite;
}
.onair-card__alert > span { display: inline-block; transform-origin: 50% 12%; animation: alert-bell-ring 5.2s ease-in-out infinite; }
.onair-card > .onair-card__alert { width: auto; height: auto; }
.onair-card__alert:hover { border-color: #6fe9d4; background: rgba(23,62,57,.94); transform: translateY(-1px); }
.onair-card--next .time-badge { color: #ffd84a; font-size: .78rem; }
.article-content { width: min(100%,940px); margin: 0 auto; padding: 7px clamp(0px,3vw,34px) 0; }
.article-section, .review-body, .review-pending { margin-top: clamp(60px,8vw,92px); }
.article-section--source { padding-top: clamp(28px,4vw,42px); border-top: 1px solid var(--line); }
.article-section h2, .review-body h2, .review-pending h2 { margin: 0 0 18px; font-size: clamp(1.65rem,3.7vw,2.55rem); line-height: 1.15; letter-spacing: -.045em; }
.article-section p, .review-body p, .review-pending p { color: #a9b1c2; font-size: .9rem; line-height: 1.9; }
.review-intro { color: #c3cada !important; font-size: 1rem !important; }
.review-body > section { margin-top: 35px; padding-top: 30px; border-top: 1px solid var(--line); }
.review-body > section h3 { margin: 0 0 10px; font-size: 1.16rem; }
.review-body > section p { margin: 0; }
.review-pending {
  display: grid;
  grid-template-columns: minmax(180px,.44fr) minmax(0,1fr);
  gap: clamp(24px,5vw,56px);
  align-items: center;
  padding: clamp(28px,5vw,50px);
  border: 1px dashed #353c4d;
  border-radius: 22px;
  background: linear-gradient(140deg,rgba(124,140,255,.07),rgba(12,14,20,.7));
}
.review-pending__mark { aspect-ratio: 1; display: grid; place-content: center; gap: 5px; border: 1px solid rgba(124,140,255,.32); border-radius: 50%; background: radial-gradient(circle,rgba(124,140,255,.15),transparent 68%); text-align: center; }
.review-pending__mark span { color: var(--brand-bright); font-size: .58rem; font-weight: 950; letter-spacing: .17em; }
.review-pending__mark strong { font-size: .72rem; }
.review-pending p { margin: 0; }
.fact-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.fact-list li { min-width: 0; }
.fact-list strong { overflow-wrap: anywhere; }
.article-cta { width: min(100%,940px); margin-right: auto; margin-left: auto; }
.article-cta--live { width: min(100%,640px); margin-top: 54px; padding: 0; border: 0; background: transparent; }

.flow-hero { border-radius: 28px; }
.flow-hero h1 { overflow-wrap: anywhere; }
.guide-grid { gap: 12px; }
.guide-card { background: linear-gradient(155deg,#11141c,#0c0e14); }
.provider-panel { background: linear-gradient(145deg,#11141c,#0c0e14); }
.ready-summary { gap: 12px; }
.ready-card { min-width: 0; background: linear-gradient(155deg,#11141c,#0c0e14); }
.ready-card h2 { overflow-wrap: anywhere; }
.plain-action {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  padding: 11px 17px;
  border: 1px solid #4c59ac;
  border-radius: 10px;
  background: rgba(124,140,255,.12);
  color: #e8ebff;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none;
}

/* Webfile (2) electric button */
.blog-download-button {
  position: relative;
  display: grid;
  width: min(100%,420px);
  min-height: 76px;
  margin: 27px auto 0;
  grid-template-columns: 47px 1fr 25px;
  align-items: center;
  gap: 14px;
  padding: 12px 20px 12px 14px;
  color: #fff;
  border: 0;
  border-radius: 999px;
  background: #06122f;
  box-shadow: 0 0 12px rgba(48,110,255,.48),0 0 30px rgba(69,102,255,.34),0 14px 30px rgba(3,17,59,.28);
  cursor: pointer;
  overflow: visible;
  text-align: left;
  text-decoration: none;
  transition: box-shadow .2s,transform .2s,filter .2s;
  touch-action: manipulation;
  user-select: none;
}
.blog-download-button *, .download-final-layer__action, .download-final-layer__action * { user-select: none; -webkit-user-drag: none; }
.blog-download-button::after, .download-final-layer__action::after { position: absolute; inset: 2px; z-index: 0; border: 1px solid rgba(121,223,255,.12); border-radius: inherit; background: radial-gradient(circle at 18% 0%,rgba(48,119,255,.4),transparent 38%),linear-gradient(135deg,#102c73 0%,#091d51 54%,#101743 100%); content: ""; pointer-events: none; }
.blog-download-button:hover { filter: saturate(1.18) brightness(1.14); box-shadow: 0 0 15px rgba(59,220,255,.85),0 0 34px rgba(84,103,255,.68),0 18px 34px rgba(3,17,59,.34); transform: translateY(-2px); }
.blog-download-button > :not(.download-charged-electric), .download-final-layer__action > * { position: relative; z-index: 3; }
.blog-download-button__icon { display: grid; width: 47px; height: 47px; place-items: center; border: 1px solid rgba(255,255,255,.37); border-radius: 50%; background: radial-gradient(circle at 35% 28%,#d9fbff,#6ed9ff 36%,#2367db 72%); box-shadow: 0 0 14px rgba(140,239,255,.75); color: #04133f; font-size: 23px; line-height: 1; animation: download-icon-bounce 1.25s ease-in-out infinite; }
.blog-download-button strong, .blog-download-button small { display: block; }
.blog-download-button strong { font-size: 17px; letter-spacing: -.025em; }
.blog-download-button small { margin-top: 3px; color: rgba(255,255,255,.74); font-size: 11px; font-weight: 500; }
.blog-download-button__arrow { font-size: 24px; font-weight: 300; transition: transform .2s; }
.blog-download-button:hover .blog-download-button__arrow { transform: translateX(5px); }
.blog-download-button--charged { isolation: isolate; background: #07132f; box-shadow: 0 0 9px rgba(94,232,255,.68),0 0 22px rgba(114,119,255,.48),0 0 32px rgba(255,112,83,.16),0 16px 34px rgba(3,17,59,.34); }
.blog-download-button--charged::after { border-color: rgba(210,249,255,.34); background: radial-gradient(circle at 8% 58%,rgba(255,236,131,.28),transparent 20%),radial-gradient(circle at 87% 36%,rgba(255,80,123,.28),transparent 25%),linear-gradient(135deg,#102c73 0%,#132a79 52%,#271451 100%); }
.download-charged-electric { position: absolute; inset: -45px -48px; z-index: 2; display: block; width: calc(100% + 96px); height: calc(100% + 90px); overflow: visible; pointer-events: none; }
.download-charged-electric polyline { fill: none; stroke: #d9fbff; stroke-width: 4.4; stroke-linecap: butt; stroke-linejoin: miter; mix-blend-mode: screen; filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px currentColor) drop-shadow(0 0 9px currentColor); }
.download-charged-electric polyline:nth-child(2) { stroke:#70cfff; }.download-charged-electric polyline:nth-child(3){stroke:#ac8bff}.download-charged-electric polyline:nth-child(4){stroke:#58eeff}.download-charged-electric polyline:nth-child(5){stroke:#fff1a6}.download-charged-electric polyline:nth-child(6){stroke:#f27dff}.download-charged-electric polyline:nth-child(7){stroke:#79a5ff}.download-charged-electric polyline:nth-child(8){stroke:#c4f8ff}
.download-charged-electric [data-current-fork] { fill:none; stroke:#f7ffff; stroke-linecap:square; stroke-linejoin:miter; mix-blend-mode:screen; filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 8px #6cecff) drop-shadow(0 0 17px #9876ff); }

/* Webfile (2) final dialog and rocket */
.download-final-layer { width:min(520px,calc(100vw - 32px)); margin:auto; padding:0; overflow:visible; border:1px solid #303748; border-radius:16px; box-shadow:0 28px 90px rgba(0,0,0,.68); background:#0f121a; color:var(--ink); }
.download-final-layer::backdrop { background:rgba(5,8,18,.76); backdrop-filter:blur(7px); }
.download-final-layer__panel { position:relative; overflow:visible; padding:39px 36px 34px; text-align:center; }
.download-final-layer__close { position:absolute; top:13px; right:14px; z-index:20; display:grid; width:32px; height:32px; place-items:center; border:1px solid #303748; border-radius:50%; background:#171b26; color:#9ea7ba; cursor:pointer; font-size:24px; line-height:1; }
.destination-orb { width:72px; height:72px; display:grid; place-items:center; margin:0 auto 17px; border:1px solid #6673d7; border-radius:50%; background:radial-gradient(circle,rgba(124,140,255,.28),#101522 70%); box-shadow:0 0 28px rgba(124,140,255,.36); }
.destination-orb span { font-size:.65rem; font-weight:950; letter-spacing:.14em; }
.download-final-layer__eyebrow { margin:0; color:#6ea8ff; font-size:10px; font-weight:900; letter-spacing:.16em; }
.download-final-layer h2 { margin:7px 0 0; color:#f2f5ff; font-size:26px; letter-spacing:-.045em; }
.download-final-layer__copy { margin:12px 0 24px; color:#8f98aa; font-size:13px; }
.download-final-layer__ad { height:104px; display:grid; place-content:center; gap:5px; border:1px solid #272d3a; background:#0b0d13; color:#657086; }
.download-final-layer__ad span { font-size:9px; font-weight:900; letter-spacing:.16em; }.download-final-layer__ad strong{color:#aab2c4;font-size:12px}
.download-liquid-stage { position:relative; height:88px; margin-top:20px; overflow:visible; isolation:isolate; }
.download-shard-field { position:absolute; z-index:8; inset:0; display:block; overflow:visible; pointer-events:none; }
.download-button-shard { position:absolute; top:var(--shard-top); left:var(--shard-left); display:block; width:var(--shard-size); height:var(--shard-size); border:1px solid rgba(233,252,255,.88); border-radius:50%; background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.98) 0 8%,rgba(255,255,255,.35) 10% 20%,transparent 23%),radial-gradient(circle at 50% 62%,hsla(var(--bubble-hue),88%,70%,.48),rgba(83,198,255,.18) 56%,rgba(255,255,255,.06) 72%); box-shadow:inset -3px -4px 8px rgba(70,150,255,.14),inset 2px 2px 5px rgba(255,255,255,.78),0 0 9px rgba(151,227,255,.64),0 0 19px hsla(var(--bubble-hue),88%,74%,.42); opacity:0; transform:translate(-50%,-50%) scale(.35); }
.download-liquid-stage.is-shattering .download-button-shard { animation:button-shard-burst 2.35s cubic-bezier(.12,.58,.2,1) var(--shard-delay) forwards; }
.download-final-layer__action { position:absolute; top:0; left:50%; z-index:3; width:100%; height:68px; display:grid; grid-template-columns:40px 1fr 20px; align-items:center; gap:12px; padding:10px 18px 10px 12px; overflow:hidden; border-radius:14px; background:linear-gradient(135deg,#1686ff,#4169f5 58%,#2342c5); box-shadow:0 13px 27px rgba(40,91,232,.3); color:#fff; font-size:16px; text-align:left; text-decoration:none; transform:translateX(-50%); transition:transform .16s,filter .16s,box-shadow .16s; }
.download-final-layer__action:hover { filter:saturate(1.14) brightness(1.1); box-shadow:0 17px 32px rgba(40,91,232,.4); transform:translate(-50%,-1px); }
.download-final-layer__action::after { border:1px solid rgba(255,255,255,.18); background:linear-gradient(135deg,#1686ff,#4169f5 58%,#2342c5); }
.download-final-layer__action.is-launching { overflow:visible; color:transparent; pointer-events:none; transform-origin:center; animation:rocket-button-fold .58s cubic-bezier(.22,.7,.16,1) forwards; }
.download-final-layer__action.is-launching::after { animation:rocket-button-surface .58s ease-out forwards; }
.download-final-layer__action.is-launching > * { animation:rocket-content-fold .18s ease-out forwards; }
.download-final-layer__action > span { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:radial-gradient(circle at 35% 28%,#d9fbff,#6ed9ff 36%,#2367db 72%); box-shadow:0 0 12px rgba(140,239,255,.72); color:#04133f; font-size:22px; }
.download-final-layer__action i { font-size:23px; font-style:normal; transition:transform .2s; }.download-final-layer__action:hover i{transform:translateX(5px)}
.download-rocket-field { --rocket-flight-path:path("M 0 0 L 0 0"); --rocket-emerge-stop:4%; --rocket-approach-stop:8%; --rocket-orbit-stop:68%; position:fixed; inset:0; z-index:7; display:block; overflow:visible; pointer-events:none; }
.rocket-orbit { position:absolute; z-index:5; top:0; left:0; width:0; height:0; opacity:0; offset-anchor:50% 50%; offset-distance:0%; offset-path:var(--rocket-flight-path); offset-rotate:auto 90deg; }
.rocket-craft { position:absolute; top:50%; left:50%; display:block; width:46px; height:70px; border:2px solid rgba(30,51,92,.82); border-radius:48% 48% 35% 35% / 62% 62% 38% 38%; background:linear-gradient(90deg,rgba(18,34,69,.18),transparent 24% 68%,rgba(18,34,69,.22)),linear-gradient(180deg,#fff 0%,#f3f8ff 56%,#c8d6ea 100%); box-shadow:inset 6px 0 7px rgba(255,255,255,.72),inset -6px 0 7px rgba(49,72,112,.16),0 0 8px rgba(255,255,255,.95),0 0 18px rgba(79,211,255,.72); opacity:0; transform:translate(-50%,-50%) scale(.08); }
.rocket-craft::before { position:absolute; top:-20px; left:50%; width:34px; height:25px; background:linear-gradient(135deg,#ff6b7f,#f12f55 58%,#b51d4d); clip-path:polygon(50% 0,100% 100%,0 100%); content:""; filter:drop-shadow(0 -2px 3px rgba(255,89,126,.46)); transform:translateX(-50%); }
.rocket-craft::after { position:absolute; bottom:1px; left:50%; width:70px; height:25px; background:linear-gradient(180deg,#ff6c7d,#e72f53 65%,#a71a47); clip-path:polygon(0 100%,13% 22%,35% 45%,65% 45%,87% 22%,100% 100%,68% 75%,32% 75%); content:""; transform:translateX(-50%); }
.rocket-window { position:absolute; top:18px; left:50%; z-index:2; width:21px; height:21px; border:4px solid #ff6578; border-radius:50%; background:radial-gradient(circle at 34% 29%,#bff9ff 0 10%,#43b9e8 32%,#173461 68%,#09172e 100%); box-shadow:0 0 0 2px rgba(19,42,78,.88),inset 2px 2px 3px rgba(255,255,255,.5); transform:translateX(-50%); }
.rocket-flame { position:absolute; bottom:-31px; left:50%; z-index:-1; width:18px; height:34px; border-radius:50% 50% 56% 44% / 18% 18% 82% 82%; background:radial-gradient(ellipse at 50% 8%,#fff 0 8%,#fff36c 22%,#ff9c25 46%,#ff3e70 68%,#9350ff 82%,transparent 84%); filter:drop-shadow(0 0 7px #fff36c) drop-shadow(0 0 13px #ff4f92); transform:translateX(-50%); transform-origin:50% 0; }
.rocket-flight-trail { position:absolute; bottom:-153px; left:50%; z-index:-2; width:20px; height:112px; background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(212,248,255,.82) 18%,rgba(166,205,219,.48) 48%,rgba(130,145,163,.2) 72%,transparent); clip-path:polygon(28% 0,72% 0,100% 100%,58% 84%,39% 100%,0 87%); filter:blur(2px) drop-shadow(0 0 7px rgba(181,237,255,.58)); opacity:.64; transform:translateX(-50%); transform-origin:50% 0; }
.download-liquid-stage.is-launching .rocket-orbit { animation:rocket-smooth-loop-and-away 2.2s linear forwards; }
.download-liquid-stage.is-launching .rocket-craft { animation:rocket-craft-form 2.2s cubic-bezier(.18,.72,.22,1) forwards; }
.download-liquid-stage.is-launching .rocket-flame { animation:rocket-flame-pulse .12s ease-in-out infinite alternate; }
.download-liquid-stage.is-launching .rocket-flight-trail { animation:rocket-flight-trail-pulse .2s ease-in-out infinite alternate; }
.download-final-layer.is-rocketing::backdrop { animation:rocket-backdrop-sky 2.15s ease-in-out both; }

@keyframes live-pulse { 50%{opacity:.5;box-shadow:0 0 0 7px rgba(255,111,145,0),0 0 5px var(--coral)} }
@keyframes alert-button-glow {
  0%,68%,100% { filter: none; }
  72%,86% { border-color: rgba(255,216,74,.95); background-color: rgba(80,61,7,.92); color: #fff8c9; box-shadow: 0 8px 22px rgba(0,0,0,.34),0 0 16px rgba(255,216,74,.34); filter: brightness(1.08); }
}
@keyframes alert-bell-ring {
  0%,70%,88%,100% { transform: rotate(0deg) scale(1); }
  73% { transform: rotate(18deg) scale(1.12); }
  76% { transform: rotate(-16deg) scale(1.12); }
  79% { transform: rotate(13deg) scale(1.1); }
  82% { transform: rotate(-9deg) scale(1.06); }
  85% { transform: rotate(5deg) scale(1.03); }
}
@keyframes orbit-spin { to{transform:rotate(360deg)} }
@keyframes download-icon-bounce { 50%{transform:translateY(3px)} }
@keyframes rocket-content-fold { to{opacity:0;filter:blur(5px);transform:scale(.12,.8)} }
@keyframes button-shard-burst { 0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}10%{opacity:.94;transform:translate(-50%,-50%) scale(.76) rotate(18deg)}52%{opacity:.88;transform:translate(calc(-50% + var(--shard-x) * .52),calc(-50% + var(--shard-y) * .52)) scale(1.08) rotate(calc(var(--shard-rotate) * .52))}80%{opacity:.64;transform:translate(calc(-50% + var(--shard-x)),calc(-50% + var(--shard-y))) scale(.92) rotate(var(--shard-rotate))}100%{opacity:0;filter:blur(1.5px);transform:translate(calc(-50% + var(--shard-x) * 1.14),calc(-50% + var(--shard-y) * 1.14 - 34px)) scale(.48) rotate(calc(var(--shard-rotate) * 1.16))} }
@keyframes rocket-button-fold { 0%{border-radius:14px;opacity:1;transform:translateX(-50%) scale(1)}28%{border-radius:21px;opacity:1;filter:brightness(1.22);transform:translateX(-50%) scale(.8,.9)}58%{border-radius:29px;opacity:.98;filter:brightness(1.65);transform:translateX(-50%) scale(.36,.84)}100%{border-radius:50%;opacity:0;filter:blur(6px) brightness(2.25);transform:translateX(-50%) scale(.04,.68)} }
@keyframes rocket-button-surface { 58%{background:linear-gradient(135deg,#4fd8ff,#6b7aff 48%,#ff5cc7);filter:brightness(1.55)}100%{opacity:0;filter:blur(6px) brightness(2)} }
@keyframes rocket-smooth-loop-and-away { 0%{opacity:0;offset-distance:0%}8%{opacity:1;offset-distance:var(--rocket-emerge-stop)}12%{opacity:1;offset-distance:var(--rocket-approach-stop)}72%{opacity:1;offset-distance:var(--rocket-orbit-stop)}100%{opacity:0;offset-distance:100%} }
@keyframes rocket-craft-form { 0%{opacity:0;filter:blur(3px) brightness(1.8);transform:translate(-50%,-50%) scale(.08)}7%{opacity:1;filter:none;transform:translate(-50%,-50%) scale(.72)}12%,74%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:.86;filter:blur(.8px) brightness(1.32);transform:translate(-50%,-50%) scale(.84)} }
@keyframes rocket-flame-pulse { from{transform:translateX(-50%) scale(.82,.76) skewX(-2deg)}to{transform:translateX(-50%) scale(1.12,1.2) skewX(3deg)} }
@keyframes rocket-flight-trail-pulse { from{opacity:.54;transform:translateX(-50%) scale(.72,.86)}to{opacity:.76;transform:translateX(-50%) scale(1.08,1.13)} }
@keyframes rocket-backdrop-sky { 0%,100%{background:rgba(11,22,43,.68);backdrop-filter:blur(4px)}34%{background:rgba(17,27,68,.76);backdrop-filter:blur(5px) saturate(1.18)}72%{background:rgba(34,22,79,.74);backdrop-filter:blur(4px) saturate(1.26)} }

@media (max-width: 1199px) {
  .channel-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .onair-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .schedule-timeline { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .program-hero { grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); gap: 34px; }
  .source-note > div { grid-template-columns: 27px minmax(0,1fr); padding: 13px; }
}
@media (max-width: 767px) {
  .site-header__inner { width: calc(100% - 24px); min-height: 64px; }
  .brand small, .site-nav > a:not(.live-pill) { display: none; }
  .site-nav { gap: 9px; }
  .live-pill { padding: 6px 9px; font-size: .7rem; }
  .show-home { width: calc(100% - 24px); padding: 34px 0 74px; }
  .live-intro { padding-bottom: 30px; }
  .live-intro__row { display: grid; align-items: start; gap: 23px; }
  .live-intro h1 { font-size: clamp(3rem,15vw,5.2rem); }
  .live-intro__row > div:first-child > p:last-child { margin-top: 16px; font-size: .82rem; }
  .live-clock { width: 100%; min-width: 0; grid-template-columns: 1fr auto; align-items: center; padding: 13px 15px; text-align: left; }
  .view-switch { top: 72px; width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 14px 0; }
  .view-switch button { min-width: 0; padding-inline: 8px; }
  .channel-filter { padding: 15px; border-radius: 18px; }
  .filter-heading { align-items: start; flex-direction: column; gap: 12px; }
  .collect-status { width: 100%; white-space: normal; }
  .collect-status strong { margin-left: auto; }
  .channel-groups { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .channel-groups button { min-width: 0; padding-inline: 4px; }
  .channel-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
  .channel-chip { min-height: 42px; grid-template-columns: 6px minmax(0,1fr); gap: 5px; padding: 6px; font-size: clamp(.57rem,2.7vw,.68rem); }
  .channel-chip > i { width: 6px; height: 6px; }
  .section-heading { align-items: start; flex-direction: column; gap: 13px; margin: 62px 0 18px; }
  .section-heading h2 { font-size: clamp(2rem,10.5vw,3.4rem); }
  .section-heading > p { max-width: 100%; font-size: .75rem; }
  .schedule-view .section-heading > p { justify-items: start; }
  .onair-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .onair-card { border-radius: 13px; }
  .onair-card__body { padding: 11px 11px 10px; }
  .onair-card h3 { font-size: .85rem; }
  .onair-card__summary { display: none; }
  .onair-card__series { margin-bottom: 3px; font-size: .54rem; }
  .onair-card__body > small { font-size: .5rem; }
  .onair-card__body > small span { max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .live-badge, .channel-badge { top: 7px; padding: 4px 6px; font-size: .48rem; }
  .live-badge { left: 7px; }
  .channel-badge { right: 7px; max-width: 52%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .time-badge { right: 7px; bottom: 6px; font-size: .49rem; }
  .schedule-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .schedule-program-card > a, .schedule-program-card > div { min-height: 80px; grid-template-columns: 88px minmax(0,1fr) 10px; gap: 9px; padding: 7px 8px 7px 7px; }
  .schedule-program-card__media { width: 88px; }
  .schedule-program-card time { display: grid; gap: 2px; }
  .source-note { grid-template-columns: 1fr; gap: 2px; margin-top: 70px; }
  .site-footer__inner { width: calc(100% - 24px); align-items: start; flex-direction: column; }
  .site-footer p { text-align: left; }
  .article-shell, .flow-shell { width: calc(100% - 24px); padding: 30px 0 78px; }
  .breadcrumbs { margin-bottom: 20px; }
  .journey { gap: 5px; }
  .journey__step { min-width: 0; padding: 8px; font-size: .56rem; line-height: 1.25; }
  .journey__step > span { font-size: .52rem; }
  .program-hero { grid-template-columns: 1fr; gap: 26px; padding: 17px; border-radius: 20px; }
  .next-airing-card__grid { grid-template-columns: repeat(auto-fit,minmax(190px,220px)); }
  .program-hero h1 { font-size: clamp(1.85rem,9vw,2.8rem); line-height: 1.04; }
  .program-hero__series { font-size: .78rem; }
  .program-hero .article-lead { font-size: .8rem; }
  .article-content { padding-inline: 2px; }
  .article-section, .review-body, .review-pending { margin-top: 58px; }
  .review-pending { grid-template-columns: 1fr; padding: 25px 20px; }
  .review-pending__mark { width: min(170px,68%); margin: 0 auto; }
  .fact-list { grid-template-columns: 1fr; }
  .article-cta, .flow-cta { padding: 27px 17px; border-radius: 20px; }
  .flow-hero { padding: 34px 18px; border-radius: 20px; }
  .flow-hero h1 { font-size: clamp(2.25rem,11vw,3.9rem); }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-card { min-height: 170px; }
  .provider-panel { align-items: flex-start; flex-direction: column; }
  .ready-summary { grid-template-columns: 1fr; }
  .ready-card h2 { min-height: 0; }
  .error-page { width: calc(100% - 24px); padding: 80px 0; }
  .download-final-layer__panel { padding: 38px 20px 28px; }
}
@media (max-width: 389px) {
  .channel-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .channel-chip { font-size: .62rem; }
  .live-clock { grid-template-columns: 1fr; gap: 2px; }
  .journey__step { flex-direction: column; align-items: flex-start; gap: 3px; }
  .blog-download-button { grid-template-columns: 43px 1fr 20px; padding-right: 15px; }
  .download-charged-electric { inset-inline: -25px; width: calc(100% + 50px); }
}

/* 설명·날짜·상태처럼 읽어야 하는 보조 문자는 어느 화면에서도 12px 아래로 줄이지 않습니다. */
.brand small,
.site-nav,
.eyebrow,
.hero-status__live,
.hero-status small,
.group-tabs button,
.data-note,
.channel-chip,
.schedule-board__brand,
.schedule-board__meta,
.wheel-center__status,
.wheel-center small,
.wheel-label time,
.wheel-label span,
.time-explorer__heading,
.reset-time,
.panel-label,
.now-card__kicker,
.flag-list span,
.unavailable-link,
.other-card__heading span,
.other-row,
.other-row strong,
.live-program-card__top,
.live-program-card p,
.system-flow span,
.system-flow small,
.site-footer span,
.site-footer p,
.breadcrumbs,
.journey__step,
.journey__step > span,
.article-hero__meta span,
.article-index,
.fact-list span,
.fact-list strong,
.source-link,
.guide-card > span,
.guide-card p,
.provider-panel p,
.ready-card > p,
.provider-badge,
.ready-card dl > div,
.live-toolbar__clock,
.live-toolbar .view-switch button,
.time-navigator__top > p > span,
.time-slider__now-marker span,
.time-slider__marks,
.collect-status,
.channel-groups button,
.onair-card__series,
.onair-card__body > small,
.live-badge,
.channel-badge,
.time-badge,
.onair-card__caption > strong,
.schedule-program-card time small,
.period-empty,
.source-note span,
.source-note small,
.program-hero__meta span,
.onair-card__next-label,
.onair-card__alert,
.review-pending__mark span,
.review-pending__mark strong,
.live-player header span,
.live-player__actions a,
.live-player__panel > p,
.site-viewer__header > div span,
.site-viewer__header nav a,
.site-viewer__blocked > span,
.site-viewer footer {
  font-size: .75rem !important;
}
@media (max-width: 339px) {
  .onair-grid { grid-template-columns: 1fr; }
  .schedule-timeline { grid-template-columns: 1fr; }
  .onair-card h3 { font-size: .95rem; }
  .onair-card__summary { display: -webkit-box; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Compact image-first live board */
.show-home { padding-top: 18px; }
.live-toolbar {
  position: sticky;
  z-index: 24;
  top: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
  padding: 8px 10px 8px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(8,10,15,.91);
  box-shadow: 0 12px 34px rgba(0,0,0,.3);
  backdrop-filter: blur(18px);
}
.live-toolbar__clock { display: flex; align-items: center; gap: 7px; margin: 0; font-size: .75rem; font-variant-numeric: tabular-nums; }
.live-toolbar__clock i { width: 7px; height: 7px; border-radius: 50%; background: #ff3158; box-shadow: 0 0 9px rgba(255,49,88,.82); animation: live-pulse 1.6s infinite; }
.live-toolbar__clock strong {
  color: #ff617f;
  font-family: var(--live-type);
  font-size: .74rem;
  font-weight: 300;
  font-variation-settings: "wght" 300, "wdth" 96;
  letter-spacing: .15em;
  line-height: 1;
  text-shadow: 0 0 10px rgba(255,49,88,.28);
}
.live-toolbar__clock time { color: #f4f6ff; font-weight: 900; }
.live-toolbar__clock span { color: var(--muted-2); font-size: .68rem; }
.live-toolbar .view-switch { position: static; width: auto; grid-template-columns: repeat(2,minmax(112px,1fr)); margin: 0; padding: 3px; border: 0; background: rgba(255,255,255,.025); box-shadow: none; backdrop-filter: none; }
.live-toolbar .view-switch button { min-height: 34px; padding: 6px 12px; font-size: .67rem; }

.time-navigator {
  margin-top: 9px;
  padding: 8px 14px 7px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: radial-gradient(circle at 50% 0,rgba(124,140,255,.08),transparent 44%),rgba(8,10,15,.88);
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
}
.time-navigator__top { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 12px; }
.time-navigator__top > p { min-width: 0; display: flex; align-items: center; gap: 7px; margin: 0; }
.time-navigator__top > p > span { color: var(--muted-2); font-size: .65rem; font-weight: 800; letter-spacing: .06em; }
.time-navigator__top > p > strong { overflow: hidden; color: #f3f5fb; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.time-navigator__hint { justify-content: flex-end; text-align: right; }
.time-now-button {
  min-width: 124px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 15px;
  border: 1px solid #384052;
  border-radius: 999px;
  background: rgba(20,24,34,.92);
  color: #eef1f8;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.time-now-button i { width: 8px; height: 8px; border-radius: 50%; background: #7d8598; }
.time-now-button span { font-size: .78rem; font-weight: 900; }
.time-now-button[aria-pressed="true"] { border-color: rgba(255,49,88,.52); background: rgba(255,49,88,.1); }
.time-now-button[aria-pressed="true"] i { background: #ff3158; box-shadow: 0 0 8px #ff3158; animation: live-pulse 1.25s ease-in-out infinite; }
.time-slider { --time-position: 50%; --now-position: 50%; position: relative; height: 42px; margin: 32px 2px 0; }
.time-slider::before,
.time-slider::after { position: absolute; top: 20px; right: 0; left: 0; height: 6px; border-radius: 999px; pointer-events: none; content: ""; }
.time-slider::before { background: #202531; box-shadow: inset 0 1px 2px rgba(0,0,0,.58); }
.time-slider::after { right: auto; width: var(--time-position); background: linear-gradient(90deg,#6777f5,#a779ff 48%,#ff3158); box-shadow: 0 0 13px rgba(124,140,255,.28); }
.time-slider input { position: absolute; z-index: 3; inset: 10px 0 auto; width: 100%; height: 27px; margin: 0; appearance: none; background: transparent; cursor: grab; touch-action: none; }
.time-slider input:active { cursor: grabbing; }
.time-slider input::-webkit-slider-runnable-track { height: 7px; border-radius: 999px; background: transparent; }
.time-slider input::-webkit-slider-thumb { width: 20px; height: 20px; margin-top: -6px; appearance: none; border: 3px solid #f6f7fb; border-radius: 50%; background: #ff3158; box-shadow: 0 2px 9px rgba(0,0,0,.72),0 0 0 4px rgba(255,49,88,.14); }
.time-slider input::-moz-range-track { height: 7px; border: 0; border-radius: 999px; background: transparent; }
.time-slider input::-moz-range-thumb { width: 14px; height: 14px; border: 3px solid #f6f7fb; border-radius: 50%; background: #ff3158; box-shadow: 0 2px 9px rgba(0,0,0,.72),0 0 0 4px rgba(255,49,88,.14); }
.time-slider__now-marker { position: absolute; z-index: 4; top: -32px; left: var(--now-thumb-x,var(--now-position)); min-width: 76px; display: grid; justify-items: center; gap: 0; padding: 4px 8px 5px; border: 1px solid rgba(83,218,245,.72); border-radius: 9px; background: rgba(7,21,28,.97); color: #fff; box-shadow: 0 7px 22px rgba(0,0,0,.5),0 0 18px rgba(76,213,244,.22); cursor: pointer; transform: translateX(-50%); transition: opacity .15s,transform .15s,box-shadow .15s; }
.time-slider__now-marker::after { position: absolute; bottom: -5px; left: 50%; width: 9px; height: 9px; border-right: 1px solid rgba(83,218,245,.72); border-bottom: 1px solid rgba(83,218,245,.72); background: #07151c; content: ""; transform: translateX(-50%) rotate(45deg); }
.time-slider__now-marker::before { position: absolute; bottom: -21px; left: 50%; width: 10px; height: 10px; border: 2px solid #dffbff; border-radius: 50%; background: #43d4f2; box-shadow: 0 0 0 4px rgba(76,213,244,.15),0 0 12px rgba(76,213,244,.65); content: ""; transform: translateX(-50%); }
.time-slider__now-marker span { color: #8cecff; font-size: .65rem; font-weight: 850; white-space: nowrap; }
.time-slider__now-marker strong { font-size: .78rem; font-weight: 900; white-space: nowrap; }
.time-slider__now-marker:hover,
.time-slider__now-marker:focus-visible { border-color: #8cecff; background: rgba(10,34,43,.99); box-shadow: 0 8px 25px rgba(0,0,0,.55),0 0 22px rgba(76,213,244,.34); }
.time-slider:not(.has-selected-time) .time-slider__now-marker { opacity: 0; pointer-events: none; transform: translateX(-50%) scale(.92); }
.time-slider__bubble {
  position: absolute;
  z-index: 5;
  top: -55px;
  left: var(--time-thumb-x,var(--time-position));
  min-width: 74px;
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 4px 8px 5px;
  border: 1px solid rgba(255,77,111,.72);
  border-radius: 10px;
  background: rgba(23,12,22,.96);
  color: #fff;
  box-shadow: 0 7px 22px rgba(0,0,0,.5),0 0 18px rgba(255,49,88,.2);
  opacity: 1;
  cursor: grab;
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  transform: translateX(-50%) translateY(0) scale(1);
  transition: opacity .14s,transform .14s;
}
.time-slider__bubble:active,
.time-slider__bubble.is-dragging { cursor: grabbing; box-shadow: 0 9px 26px rgba(0,0,0,.56),0 0 22px rgba(255,49,88,.3); }
.time-slider__bubble::after { position: absolute; bottom: -5px; left: 50%; width: 9px; height: 9px; border-right: 1px solid rgba(255,77,111,.72); border-bottom: 1px solid rgba(255,77,111,.72); background: #170c16; content: ""; transform: translateX(-50%) rotate(45deg); }
.time-slider__bubble-value { display: grid; justify-items: center; gap: 1px; }
.time-slider__bubble .time-slider__bubble-hint {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 3px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,116,145,.34);
  color: #fff0f4;
  font-size: .68rem;
  font-weight: 720;
  letter-spacing: -.01em;
  line-height: 1;
  white-space: nowrap;
  text-shadow: 0 0 10px rgba(255,74,112,.42);
}
.time-slider__bubble-hint i { color: #ff7895; font-size: .78rem; font-style: normal; }
.time-slider__bubble span { color: #ff8ba1; font-size: .65rem; font-weight: 850; }
.time-slider__bubble strong { font-size: .84rem; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.time-slider__swipe-arrow { position: absolute; top: 50%; color: #ff92a8; font-size: 1.55rem; font-style: normal; font-weight: 400; line-height: 1; opacity: .95; pointer-events: none; text-shadow: 0 0 10px rgba(255,49,88,.58); transform: translateY(-50%); }
.time-slider__swipe-arrow.is-left { left: -23px; animation: time-slider-swipe-left 1.25s ease-in-out infinite; }
.time-slider__swipe-arrow.is-right { right: -23px; animation: time-slider-swipe-right 1.25s ease-in-out infinite; }
@keyframes time-slider-swipe-left { 0%,100% { transform: translate(-2px,-50%); opacity: .45; } 50% { transform: translate(-8px,-50%); opacity: 1; } }
@keyframes time-slider-swipe-right { 0%,100% { transform: translate(2px,-50%); opacity: .45; } 50% { transform: translate(8px,-50%); opacity: 1; } }
.time-slider.has-selected-time .time-slider__bubble,
.time-slider.is-scrubbing .time-slider__bubble,
.time-slider:focus-within .time-slider__bubble { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
.time-slider__marks { position: absolute; right: 0; bottom: -2px; left: 0; display: flex; justify-content: space-between; color: #8991a5; font-size: .62rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.time-navigator__status { display: none; }

.channel-filter { padding: 13px; border-radius: 16px; }
.filter-heading { align-items: center; margin-bottom: 9px; }
.filter-heading h2 { font-size: .84rem; letter-spacing: -.01em; }
.collect-status { font-size: .68rem; }
.channel-groups { grid-template-columns: repeat(4,minmax(0,92px)); gap: 5px; margin-bottom: 9px; }
.channel-groups button { min-height: 32px; padding: 5px 10px; font-size: .7rem; }
.channel-grid { grid-template-columns: repeat(10,minmax(0,1fr)); gap: 6px; }
.channel-chip {
  min-height: 58px;
  grid-template-columns: 1fr;
  grid-template-rows: 27px auto;
  justify-items: center;
  gap: 4px;
  padding: 6px 5px 5px;
  border-radius: 9px;
  font-size: .68rem;
  line-height: 1;
  text-align: center;
}
.channel-chip > .channel-chip__logo {
  width: min(92px,100%);
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  background: transparent;
  box-shadow: none;
  transform: scale(.7);
  transform-origin: center;
}
.channel-logo { display: block; width: 100%; max-width: none; height: 100%; object-fit: contain; filter: drop-shadow(0 0 4px rgba(255,255,255,.62)) drop-shadow(0 0 9px rgba(255,255,255,.3)) drop-shadow(0 1px 2px rgba(0,0,0,.72)); }
.channel-logo--compact { width: 100%; height: 100%; }
.channel-logo-fallback { color: #eef2ff; font-size: .7rem; font-weight: 950; text-shadow: 0 1px 3px #000; }
.channel-chip > .channel-chip__name { width: 100%; min-width: 0; overflow: hidden; color: #c7ccda; text-overflow: ellipsis; white-space: nowrap; }
.channel-chip[aria-pressed="true"] > .channel-chip__name { color: #fff; }

.onair-view { margin-top: 14px; }
.onair-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 11px; }
.onair-card { position: relative; border-radius: 13px; }
.onair-card > .onair-card__primary,
.onair-card > .onair-card__open { display: block; }
.onair-card__media { aspect-ratio: var(--poster-aspect,176 / 244); }
.onair-card__media::after { display: none; background: none; content: none; }
.onair-card__poster { object-fit: cover; object-position: center 30%; filter: none; }
.onair-card__media.has-native-poster .onair-card__poster {
  inset: 50% auto auto 50%;
  width: min(var(--poster-width,176px),100%);
  height: min(var(--poster-height,244px),100%);
  object-fit: contain;
  object-position: center;
  transform: translate(-50%,-50%);
}
.onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop),
.program-hero__poster.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) { object-fit: contain; object-position: center; filter: none; }
.onair-card__media.is-image-contained { background: linear-gradient(145deg,#121722,#06080d 72%); }
.onair-card__media.is-portrait { background: #080b11; }
.program-hero__poster.is-image-contained { background: #080b11; }
.onair-card.is-timeline .onair-card__media::after { display: none; }
.onair-card.is-timeline .onair-card__caption { background: none; }
.live-badge { top: 8px; left: 8px; gap: 5px; padding: 2px 1px; border: 0; border-radius: 0; background: transparent; color: #fff; box-shadow: none; font-size: .66rem; font-weight: 100; letter-spacing: .045em; text-shadow: none; text-rendering: geometricPrecision; backdrop-filter: none; }
.live-badge__text {
  display: inline-block;
  padding: 1px 4px 1px 5px;
  border: 1px solid rgba(255,105,132,.24);
  border-radius: 3px;
  background: linear-gradient(135deg,rgba(238,25,67,.96),rgba(157,7,39,.94));
  color: #fff5f7;
  box-shadow: inset 0 1px rgba(255,255,255,.18),0 2px 8px rgba(98,0,23,.34),0 0 10px rgba(255,42,82,.2);
  font-family: var(--live-type);
  font-size: .66rem;
  font-weight: 300;
  font-variation-settings: "wght" 300, "wdth" 96;
  letter-spacing: .15em;
  line-height: 1.08;
  text-shadow: 0 1px 2px rgba(0,0,0,.62);
}
.live-badge i { width: 6px; height: 6px; background: #ff4167; box-shadow: 0 0 8px rgba(255,65,103,.9); animation: live-pulse 1.6s infinite; }
.time-badge { position: absolute; z-index: 6; top: 8px; right: auto; bottom: auto; left: 8px; width: auto; height: auto; padding: 5px 8px; border-radius: 5px; background: rgba(31,37,53,.86); color: #fff; font-size: .7rem; font-weight: 900; backdrop-filter: none; }
.channel-logo-badge {
  position: absolute;
  z-index: 6;
  top: 8px;
  right: 8px;
  width: 78px;
  max-width: none;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.channel-logo-badge .channel-logo { position: relative; z-index: 1; width: 100%; max-width: none; height: 100%; }
.onair-card__caption { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 4px 10px; padding: 34px 11px 10px; }
.onair-card__caption h3 { min-height: 0; margin: 0; overflow: hidden; color: #fff; font-size: clamp(.82rem,1vw,.98rem); line-height: 1.22; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 7px #000; }
.onair-card__caption > strong { color: #fff; font-size: .7rem; font-variant-numeric: tabular-nums; white-space: nowrap; text-shadow: 0 1px 7px #000; }
.onair-card__caption .live-progress { grid-column: 1 / -1; width: 100%; height: 3px; margin: 2px 0 0; }
.onair-card__caption .live-progress i { display: block; width: var(--progress,0%); height: 100%; border-radius: inherit; background: #ff3158; box-shadow: 0 0 7px rgba(255,49,88,.8); }
.live-player { width: min(96vw,1500px); max-width: 1500px; height: min(92dvh,980px); max-height: 980px; padding: 0; overflow: visible; border: 1px solid #343a49; border-radius: 18px; background: #090b10; color: #fff; box-shadow: 0 36px 110px rgba(0,0,0,.78); }
.live-player::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(8px); }
.live-player__panel { height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border-radius: inherit; }
.live-player header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 16px 12px 20px; border-bottom: 1px solid var(--line); }
.live-player header > div { min-width: 0; display: grid; gap: 3px; }
.live-player header span { color: #ff617f; font-family: var(--live-type); font-size: .58rem; font-weight: 300; font-variation-settings: "wght" 300, "wdth" 96; letter-spacing: .15em; }
.live-player header span i { width: 6px; height: 6px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #ff3158; box-shadow: 0 0 8px #ff3158; }
.live-player header strong { overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.live-player header button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: #131722; color: #fff; cursor: pointer; font-size: 1.35rem; }
.live-player__actions { display: flex; align-items: center; gap: 8px; }
.live-player__actions a { padding: 9px 12px; border: 1px solid #394052; border-radius: 9px; background: #151a25; color: #e8ebf4; font-size: .63rem; font-weight: 800; white-space: nowrap; }
.live-player__actions a:hover { border-color: #ff3158; color: #fff; }
.live-player__frame { min-height: 0; background: #fff; }
.live-player__frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.live-player__panel > p { margin: 0; padding: 10px 18px 13px; color: var(--muted-2); font-size: .62rem; text-align: right; }
.live-player__panel > p span { color: #d9deea; font-weight: 850; }

@media (max-width: 1050px) {
  .channel-grid { grid-template-columns: repeat(7,minmax(0,1fr)); }
  .onair-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .show-home { width: calc(100% - 20px); padding-top: 10px; }
  .live-toolbar { top: 68px; gap: 8px; padding: 6px 7px 6px 10px; }
  .live-toolbar .view-switch { width: auto; grid-template-columns: repeat(2,minmax(90px,1fr)); }
  .live-toolbar .view-switch button { padding-inline: 7px; font-size: .68rem; }
  .time-navigator { padding: 7px 10px 6px; }
  .time-navigator__top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
  .time-navigator__top > p > strong { font-size: .72rem; }
  .time-navigator__top > p > span { font-size: .62rem; }
  .time-now-button { min-width: 104px; padding: 6px 9px; }
  .time-now-button span { font-size: .68rem; }
  .time-slider { margin: 32px 0 0; }
  .time-navigator__status { font-size: .64rem; }
  .channel-filter { padding: 10px; }
  .filter-heading { flex-direction: row; }
  .collect-status strong { margin-left: 0; }
  .channel-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .channel-chip { min-height: 54px; }
  .onair-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .onair-card__media { aspect-ratio: 3 / 4; }
  .channel-logo-badge { top: 6px; right: 5px; width: 68px; height: 25px; padding: 0; }
  .channel-logo-badge .channel-logo { width: 100%; max-width: none; height: 100%; }
  .live-badge { top: 6px; left: 6px; }
  .onair-card__caption { padding: 30px 8px 7px; gap: 3px 7px; }
  .onair-card__caption h3 { font-size: .82rem; }
  .onair-card__caption > strong { font-size: .68rem; }
  .live-player { width: 100vw; max-width: none; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
  .live-player header { min-height: 60px; padding: 9px 10px 9px 13px; }
  .live-player header strong { font-size: .86rem; }
  .live-player__actions a { padding: 8px; font-size: .55rem; }
  .live-player__panel > p { padding: 7px 10px 9px; }
}
@media (max-width: 390px) {
  .live-toolbar__clock span { display: none; }
  .time-navigator__hint > span { display: none; }
  .time-navigator__top { grid-template-columns: minmax(0,1fr) minmax(0,.72fr); }
  .time-now-button { min-width: 96px; }
  .channel-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .onair-card__caption { grid-template-columns: 1fr; }
  .onair-card__caption > strong { justify-self: start; }
}

/* Full official-site viewer, opened after the existing rocket confirmation. */
.site-viewer {
  width: min(96vw,1500px);
  max-width: 1500px;
  height: min(92dvh,980px);
  max-height: 980px;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #343b4d;
  border-radius: 18px;
  background: #07090e;
  color: #fff;
  box-shadow: 0 38px 120px rgba(0,0,0,.82);
}
.site-viewer::backdrop { background: rgba(1,3,7,.82); backdrop-filter: blur(8px); }
.site-viewer__panel { width: 100%; height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.site-viewer__header { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 13px 10px 20px; border-bottom: 1px solid var(--line); background: rgba(10,13,20,.97); }
.site-viewer__header > div { min-width: 0; display: grid; gap: 3px; }
.site-viewer__header > div span { color: #ff5573; font-size: .52rem; font-weight: 950; letter-spacing: .12em; }
.site-viewer__header > div span i { width: 6px; height: 6px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #ff3158; box-shadow: 0 0 8px #ff3158; }
.site-viewer__header strong { overflow: hidden; font-size: .93rem; text-overflow: ellipsis; white-space: nowrap; }
.site-viewer__header nav { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
.site-viewer__header nav a { min-height: 36px; display: inline-flex; align-items: center; padding: 7px 12px; border: 1px solid var(--line); border-radius: 8px; background: #121722; color: #d8deed; font-size: .65rem; font-weight: 850; text-decoration: none; }
.site-viewer__header button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #151a26; color: #fff; cursor: pointer; font-size: 1.35rem; }
.site-viewer__frame { width: 100%; height: 100%; display: block; border: 0; background: #fff; }
.site-viewer__blocked { display: grid; place-content: center; justify-items: center; padding: 42px; background: radial-gradient(circle at 50% 20%,rgba(124,140,255,.2),transparent 36%),#090c13; text-align: center; }
.site-viewer__blocked > span { color: #ff5573; font-size: .58rem; font-weight: 950; letter-spacing: .15em; }
.site-viewer__blocked h2 { max-width: 660px; margin: 13px 0 7px; font-size: clamp(1.35rem,3vw,2.5rem); letter-spacing: -.045em; }
.site-viewer__blocked p { margin: 0 0 22px; color: var(--muted); font-size: .78rem; }
.site-viewer__blocked a { padding: 11px 16px; border-radius: 9px; background: #586cff; color: #fff; font-size: .73rem; font-weight: 900; text-decoration: none; }
.site-viewer footer { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 16px; border-top: 1px solid var(--line); background: #0b0e15; color: var(--muted-2); font-size: .57rem; }
.site-viewer footer span { overflow: hidden; color: #cbd2df; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.site-viewer footer p { margin: 0; text-align: right; }
.site-viewer footer a { color: #aeb9ff; }

@media (max-width: 700px) {
  .site-viewer { width: 100vw; max-width: none; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
  .site-viewer__header { min-height: 58px; padding: 8px 9px 8px 13px; }
  .site-viewer__header > div span { font-size: .46rem; }
  .site-viewer__header strong { max-width: 48vw; font-size: .72rem; }
  .site-viewer__header nav a { min-height: 33px; padding: 6px 8px; font-size: .55rem; }
  .site-viewer__header button { width: 34px; height: 34px; }
  .site-viewer footer { align-items: flex-start; flex-direction: column; gap: 3px; padding: 7px 10px; }
  .site-viewer footer p { text-align: left; }
}

/* 다음 방송 날짜는 상대 날짜·시각·실제 날짜를 서로 다른 톤으로 구분합니다. */
.airing-relative { color: #b9a6ff; font-style: normal; font-weight: 950; }
.airing-clock { color: #f4f6ff; font-weight: 900; }
.airing-date { color: #d8bd7a; font-weight: 850; }
.time-badge .airing-relative,
.time-badge .airing-clock,
.time-badge .airing-date { font-size: inherit; }
.onair-card--next .time-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: calc(100% - 16px);
  color: #f4f6ff;
  white-space: nowrap;
}
.onair-card--next > .onair-card__alert {
  top: 8px;
  right: 88px;
  bottom: auto;
}
.onair-card--next .onair-card__caption { padding-right: 11px; }
.tv-alert-cta small { display: flex; flex-wrap: wrap; gap: 2px 4px; align-items: center; }

/* 다음 방송 날짜별 구분: 오늘·내일·모레·3일 후를 카드만 봐도 구별합니다. */
.onair-card--next--today { --next-day-accent: #ee6f98; }
.onair-card--next--tomorrow { --next-day-accent: #8776e8; }
.onair-card--next--day-after { --next-day-accent: #53a8d0; }
.onair-card--next--three-days { --next-day-accent: #caa25c; }
.onair-card--next { border-color: color-mix(in srgb,var(--next-day-accent,var(--channel-accent)) 62%,#303644); background: #090c12; box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--next-day-accent,var(--channel-accent)) 12%,transparent),0 16px 38px rgba(0,0,0,.34); }
.onair-card--next:hover { border-color: color-mix(in srgb,var(--next-day-accent,var(--channel-accent)) 82%,#d8deea); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--next-day-accent,var(--channel-accent)) 18%,transparent),0 20px 46px rgba(0,0,0,.42); }
.onair-card--next .time-badge { border: 1px solid color-mix(in srgb,var(--next-day-accent, var(--channel-accent)) 42%,transparent); background: rgba(17,21,30,.96); color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,.28); }
.onair-card--next .time-badge { gap: 5px; font-size: .78rem; font-weight: 500; }
.onair-card--next .time-badge .airing-relative { color: #fff; font-style: normal; font-weight: 600; }
.onair-card--next .time-badge .airing-date { color: color-mix(in srgb, var(--next-day-accent, var(--channel-accent)) 70%, #fff); font-size: .68rem; font-weight: 500; letter-spacing: -.01em; }
.onair-card--next .onair-card__next-label { color: var(--next-day-accent, var(--channel-accent)); }
.onair-card--next .onair-card__next-label.is-live { color: #ff476c; }
.next-card__live-status.live-badge { position: relative; top: auto; right: auto; bottom: auto; left: auto; z-index: 2; justify-self: end; }
.onair-card--next.is-current-airing { --next-day-accent: #ff476c; }
.onair-card--next .onair-card__next-label { font-size: .62rem; font-weight: 700; }
.onair-card--next .onair-card__caption h3 { font-size: clamp(.93rem,1.08vw,1.04rem); font-weight: 650; }
.onair-card--next .onair-card__caption > strong { font-size: .76rem; font-weight: 600; }
.onair-card--next > .onair-card__alert { border-color: rgba(255,255,255,.14); background: rgba(14,18,27,.96); color: #e9edf6; box-shadow: 0 5px 16px rgba(0,0,0,.3); }
.onair-card--next > .onair-card__alert:hover { border-color: rgba(255,255,255,.28); background: #171c27; }
.next-alert-layer { width: min(430px,calc(100vw - 28px)); margin: auto; padding: 0; overflow: hidden; border: 1px solid #30394c; border-radius: 18px; background: #11151e; color: #f6f8ff; box-shadow: 0 28px 85px rgba(0,0,0,.7); }
.next-alert-layer::backdrop { background: rgba(4,7,14,.7); backdrop-filter: blur(7px); }
.next-alert-layer__panel { position: relative; padding: 32px; }
.next-alert-layer__close { position: absolute; top: 12px; right: 12px; display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 0; border-radius: 50%; appearance: none; background: #202633; color: #aeb8cb; cursor: pointer; font-size: 0; line-height: 0; }
.next-alert-layer__close svg { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; pointer-events: none; }
.next-alert-layer__panel > p { margin: 0 0 8px; color: #9aa9cc; font-size: .75rem; font-weight: 600; letter-spacing: .08em; }
.next-alert-layer__panel h2 { margin: 0; padding-right: 28px; font-size: clamp(1.28rem,5vw,1.65rem); font-weight: 650; letter-spacing: -.04em; }
.next-alert-layer__panel dl { display: grid; gap: 8px; margin: 22px 0 15px; }
.next-alert-layer__panel dl div { display: grid; grid-template-columns: 56px 1fr; gap: 12px; padding: 13px 14px; border: 1px solid #252d3c; border-radius: 10px; background: #0b0f16; }
.next-alert-layer__panel dt { color: #8390a8; font-size: .84rem; font-weight: 500; }
.next-alert-layer__panel dd { margin: 0; color: #e4e9f5; font-size: .98rem; font-weight: 500; line-height: 1.35; }
.next-alert-relative { color: #ff4e69; font-weight: 650; }
.next-alert-layer__confirm { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 20px; padding: 15px; border: 1px solid #776de0; border-radius: 11px; background: linear-gradient(135deg,#7064dc,#4e70c8); color: #fff; font-size: 1rem; font-weight: 600; text-decoration: none; box-shadow: 0 10px 28px rgba(80,100,208,.28); }
.next-alert-layer__confirm:hover { filter: brightness(1.08); }
.next-alert-layer__confirm.is-request-locked { pointer-events: none; opacity: .62; filter: saturate(.7); cursor: default; }
.next-alert-leads { margin: 2px 0 0; padding: 0; border: 0; }
.next-alert-leads legend { margin-bottom: 10px; color: #aab4c9; font-size: .85rem; font-weight: 700; }
.next-alert-leads > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.next-alert-leads button { min-height: 40px; padding: 8px 5px; border: 1px solid #30394c; border-radius: 9px; background: #0b0f16; color: #cbd3e3; font-size: .82rem; font-weight: 700; white-space: nowrap; }
.next-alert-leads button:last-child { grid-column: 1 / -1; }
.next-alert-leads button:hover { border-color: #6876a8; background: #151b29; }
.next-alert-leads button.is-selected { border-color: #8076f2; background: linear-gradient(135deg,rgba(112,100,220,.32),rgba(78,112,200,.24)); color: #fff; box-shadow: 0 0 0 1px rgba(128,118,242,.18),0 8px 22px rgba(70,82,180,.18); }
.next-alert-leads label { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; padding: 9px 12px; border: 1px solid #30394c; border-radius: 9px; background: #0b0f16; color: #cbd3e3; font-size: .86rem; font-weight: 650; }
.next-alert-leads label[hidden] { display: none; }
.next-alert-leads input { width: 70px; min-height: 34px; border: 1px solid #46516a; border-radius: 7px; background: #151b27; color: #fff; font: inherit; text-align: center; }
@media (max-width:480px) {
  .next-alert-layer__panel { padding: 28px 20px 22px; }
  .next-alert-leads > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .next-alert-leads button:last-child { grid-column: 1 / -1; }
}

.current-airing-toast {
  position: fixed;
  z-index: 200;
  right: 50%;
  bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  max-width: calc(100vw - 28px);
  padding: 11px 14px 11px 16px;
  border: 1px solid rgba(255,70,106,.58);
  border-radius: 12px;
  background: rgba(20,10,17,.94);
  color: #fff;
  box-shadow: 0 14px 42px rgba(0,0,0,.58),0 0 24px rgba(255,49,88,.22);
  opacity: 0;
  pointer-events: none;
  transform: translate(50%,16px);
  transition: opacity .18s ease,transform .18s ease;
}
.current-airing-toast.is-visible { opacity: 1; transform: translate(50%,0); }
.current-airing-toast > .current-airing-toast__dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #ff3158; box-shadow: 0 0 9px rgba(255,49,88,.82); animation: live-pulse 1.4s ease-in-out infinite; }
.current-airing-toast__copy { display: grid; gap: 3px; text-align: left; }
.current-airing-toast__copy strong { font-size: .9rem; font-weight: 650; letter-spacing: -.02em; }
.current-airing-toast__copy small { color: #c8cedc; font-size: .72rem; font-weight: 560; letter-spacing: -.015em; }
.current-airing-toast__copy em { color: #ff6684; font-style: normal; font-weight: 700; }
.current-airing-toast__arrow { position: relative; width: 18px; height: 24px; flex: 0 0 18px; margin-left: 2px; }
.current-airing-toast__arrow::before,
.current-airing-toast__arrow::after { position: absolute; left: 50%; width: 7px; height: 7px; border-right: 1.5px solid #ff6f8d; border-bottom: 1.5px solid #ff6f8d; content: ""; transform: translateX(-50%) rotate(45deg); animation: current-toast-arrow 1.25s ease-in-out infinite; }
.current-airing-toast__arrow::before { top: 2px; opacity: .45; }
.current-airing-toast__arrow::after { top: 9px; animation-delay: .12s; }
@keyframes current-toast-arrow {
  0%,100% { transform: translate(-50%,-2px) rotate(45deg); opacity: .35; }
  55% { transform: translate(-50%,3px) rotate(45deg); opacity: 1; }
}
@media (max-width: 480px) {
  .current-airing-toast { bottom: 18px; max-width: calc(100vw - 20px); padding: 10px 12px; }
  .current-airing-toast__copy strong { font-size: .84rem; }
  .current-airing-toast__copy small { font-size: .68rem; }
}
.onair-card--next.is-current-airing,
.program-hero__poster[data-current-airing-toast] { cursor: pointer; }
.onair-card--next.is-current-airing:focus-visible,
.program-hero__poster[data-current-airing-toast]:focus-visible { outline: 2px solid rgba(255,80,114,.9); outline-offset: 3px; }

/* 알림 버튼은 날짜·채널 로고와 겹치지 않게 카드 상단에 둡니다. */
.onair-card--next .onair-card__caption { padding-right: 11px; padding-bottom: 16px; }
.onair-card--next > .onair-card__alert { top: 8px; right: 82px; bottom: auto; }

/* 방송 정보의 다음 방송 카드 상단은 날짜·알림·로고를 한 줄로 정렬합니다. */
.onair-card--next { display: flex; overflow: hidden; flex-direction: column; border-style: solid; border-width: 1px; }
.onair-card--next > .onair-card__primary { flex: 1 0 auto; height: auto; }
.onair-card--next .onair-card__media { overflow: hidden; border-radius: 0; }
.onair-card--next .onair-card__caption { position: absolute; right: 0; bottom: 0; left: 0; grid-template-columns: auto minmax(0,1fr); align-items: end; gap: 5px 9px; min-height: 0; padding: 48px 11px 11px; border-top: 0; background: linear-gradient(180deg,transparent,rgba(3,5,9,.86) 68%,#05070b); }
.onair-card--next .onair-card__caption .onair-card__next-label { margin: 0; }
.onair-card--next .onair-card__caption h3 { align-self: end; }
.onair-card--next .onair-card__caption > strong { grid-column: 1 / -1; align-self: end; }
.next-card__topbar { position: relative; z-index: 12; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; min-height: 42px; padding: 5px 9px 5px 0; border-bottom: 1px solid rgba(255,255,255,.065); background: #0b0e14; }
.next-card__topbar::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg,var(--next-day-accent),transparent 34%); opacity: .62; content: ""; }
.next-card__date { position: relative; z-index: 1; top: auto; right: auto; bottom: auto; left: auto; justify-self: start; display: inline-flex; align-items: center; gap: 5px; max-width: none; padding: 6px 9px; border-radius: 8px; white-space: nowrap; transform: translateX(-7px); }
.onair-card--next .next-card__date { border: 0; background: transparent; box-shadow: none; }
.next-card__topbar > .onair-card__alert { position: relative; top: auto; right: auto; bottom: auto; left: auto; z-index: 2; justify-self: end; gap: 5px; min-height: 28px; padding: 5px 9px; border-color: rgba(255,255,255,.15); border-radius: 8px; background: rgba(255,255,255,.045); color: #dce2ed; box-shadow: none; transform: none; animation: next-alert-float 3.2s ease-in-out infinite; }
.next-card__topbar > .onair-card__alert strong { font-size: .68rem; font-weight: 600; letter-spacing: -.01em; }
.next-card__topbar .alert-bell-icon { display: grid; width: 13px; height: 13px; place-items: center; color: var(--next-day-accent); transform-origin: 50% 12%; animation: alert-bell-ring 2.7s ease-in-out infinite; }
.next-card__topbar .alert-bell-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.next-card__topbar > .onair-card__alert:hover { transform: translateY(-1px); }
@keyframes next-alert-float { 0%,72%,100% { transform: translateY(0); } 78% { transform: translateY(-2px); } 84% { transform: translateY(0); } 90% { transform: translateY(-1px); } }
.onair-card--next .onair-card__media > .channel-logo-badge { top: 26px; right: auto; left: calc(50% + 88px); width: 68px; height: 25px; padding: 0; opacity: .94; transform: translateX(-100%); }
.onair-card--next .onair-card__media > .channel-logo-badge .channel-logo { filter: drop-shadow(0 1px 3px rgba(0,0,0,.82)); }
@media (max-width: 760px) {
  .next-card__topbar { min-height: 40px; padding-right: 5px; }
  .next-card__date { padding: 5px 8px; transform: translateX(-5px); }
  .next-card__topbar > .onair-card__alert { padding: 5px 8px; }
  .onair-card--next .onair-card__media > .channel-logo-badge { top: 24px; right: auto; left: calc(50% + 84px); width: 62px; height: 23px; }
}

/* 홈의 현재 방송: 시각 배지와 채널 로고 사이에 알림을 배치합니다. */
.onair-view .onair-card:not(.onair-card--next) > .onair-card__alert { top: 8px; right: 82px; bottom: auto; }
@media (max-width: 760px) {
  .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert { top: 6px; right: 77px; }
}

/* 다음 방송 카드는 포스터를 위에서 시작하고 네 면의 테두리를 완전히 닫습니다. */
.onair-card--next .onair-card__media {
  height: 300px;
  aspect-ratio: auto;
}
.onair-card--next .onair-card__poster,
.onair-card--next .onair-card__media.has-native-poster .onair-card__poster {
  inset: 16px auto auto 50%;
  transform: translateX(-50%);
}
@media (max-width: 760px) {
  .onair-card--next .onair-card__media { height: 290px; }
  .onair-card--next .onair-card__poster,
  .onair-card--next .onair-card__media.has-native-poster .onair-card__poster { inset: 14px auto auto 50%; }
}

/* 모든 방송 이미지를 네이버 포스터 비율(176×244) 안에 온전히 표시합니다. */
.show-home .onair-card:not(.onair-card--next) .onair-card__media,
.onair-card--next .onair-card__media {
  aspect-ratio: 176 / 244;
  background: #080b11;
}
.show-home .onair-card:not(.onair-card--next) .onair-card__poster,
.show-home .onair-card:not(.onair-card--next) .onair-card__media.has-native-poster .onair-card__poster,
.onair-card--next .onair-card__poster,
.onair-card--next .onair-card__media.has-native-poster .onair-card__poster {
  inset: 50% auto auto 50%;
  width: min(176px, calc(100% - 24px));
  height: min(244px, calc(100% - 24px));
  object-fit: contain;
  object-position: center;
  transform: translate(-50%, -50%);
  filter: none;
}
@media (max-width: 760px) {
  .show-home .onair-card:not(.onair-card--next) .onair-card__poster,
  .show-home .onair-card:not(.onair-card--next) .onair-card__media.has-native-poster .onair-card__poster,
  .onair-card--next .onair-card__poster,
  .onair-card--next .onair-card__media.has-native-poster .onair-card__poster {
    width: min(176px, calc(100% - 16px));
    height: min(244px, calc(100% - 16px));
  }
}

@media (min-width: 768px) {
  .article-shell { padding-top: 30px; }
  .breadcrumbs { margin-bottom: 20px; font-size: .78rem; }
  .journey { gap: 10px; margin-bottom: 18px; }
  .journey__step { min-height: 46px; padding: 10px 16px; font-size: .79rem; }
  .journey__step > span { font-size: .7rem; }
  .program-hero {
    grid-template-columns: minmax(260px,300px) minmax(0,1fr);
    gap: clamp(34px,4vw,54px);
    padding: clamp(30px,3vw,40px);
  }
  .program-hero__poster.has-native-poster {
    width: min(100%,280px);
    max-height: 390px;
    justify-self: center;
  }
  .program-hero h1 { font-size: clamp(2.1rem,3vw,3.2rem); line-height: 1.04; letter-spacing: -.05em; }
  .program-hero__meta span { padding: 7px 10px; font-size: .78rem !important; }
  .program-hero .article-lead { margin-top: 19px; font-size: 1rem; line-height: 1.72; }
  .tv-alert-cta { margin-top: 18px; padding: 13px 17px; }
  .tv-alert-cta strong { font-size: .92rem; }
  .tv-alert-cta small { font-size: .8rem; }
}

/* 메인 보드 가독성: 이미지 정보와 카드 가장자리에 충분한 숨 쉴 공간을 둡니다. */
.show-home .live-toolbar__clock { font-size: .82rem; }
.show-home .live-toolbar__clock strong { font-size: .8rem; }
.show-home .live-toolbar__clock span { font-size: .74rem; }
.show-home .live-toolbar .view-switch button { font-size: .74rem; }
.show-home .time-navigator__top > p > span { font-size: .71rem; }
.show-home .time-navigator__top > p > strong { font-size: .9rem; }
.show-home .time-now-button span { font-size: .84rem; }
.show-home .time-slider__now-marker span,
.show-home .time-slider__bubble span { font-size: .7rem; }
.show-home .time-slider__now-marker strong,
.show-home .time-slider__bubble strong { font-size: .9rem; }
.show-home .time-slider__marks { font-size: .68rem; }
.show-home .filter-heading h2 { font-size: .94rem; }
.show-home .collect-status { font-size: .74rem; }
.show-home .channel-groups button { min-height: 34px; font-size: .76rem; }
.show-home .channel-chip { font-size: .74rem; }
.show-home .onair-grid { gap: 14px; }
.show-home .onair-card:not(.onair-card--next) .onair-card__caption { gap: 6px 12px; padding: 40px 13px 14px; }
.show-home .onair-card:not(.onair-card--next) .onair-card__caption h3 { font-size: clamp(.94rem,1.06vw,1.06rem); line-height: 1.28; }
.show-home .onair-card:not(.onair-card--next) .onair-card__caption > strong { font-size: .78rem; }
.show-home .onair-card:not(.onair-card--next) .onair-card__caption .live-progress { margin-top: 5px; }
.show-home .live-badge__text { font-size: .7rem; }

/* 로고 캔버스가 아닌 실제 문양 면적을 기준으로 채널별 크기를 보정합니다. */
.onair-card,
.channel-chip { --logo-visual-scale: 1; }
.onair-card[data-channel-id="kbs1"], .channel-chip[data-channel="kbs1"] { --logo-visual-scale: .96; }
.onair-card[data-channel-id="kbs2"], .channel-chip[data-channel="kbs2"] { --logo-visual-scale: 1.05; }
.onair-card[data-channel-id="mbc"], .channel-chip[data-channel="mbc"] { --logo-visual-scale: 1.01; }
.onair-card[data-channel-id="sbs"], .channel-chip[data-channel="sbs"] { --logo-visual-scale: 1.09; }
.onair-card[data-channel-id="ebs1"], .channel-chip[data-channel="ebs1"],
.onair-card[data-channel-id="ebs2"], .channel-chip[data-channel="ebs2"] { --logo-visual-scale: 1.07; }
.onair-card[data-channel-id="obs-경인tv"], .channel-chip[data-channel="obs-경인tv"] { --logo-visual-scale: 1.06; }
.onair-card[data-channel-id="jtbc"], .channel-chip[data-channel="jtbc"] { --logo-visual-scale: 1.2; }
.onair-card[data-channel-id="mbn"], .channel-chip[data-channel="mbn"] { --logo-visual-scale: 1.28; }
.onair-card[data-channel-id="tv-조선"], .channel-chip[data-channel="tv-조선"] { --logo-visual-scale: .95; }
.onair-card[data-channel-id="채널a"], .channel-chip[data-channel="채널a"] { --logo-visual-scale: 1.06; }
.onair-card[data-channel-id="mbc-드라마넷"], .channel-chip[data-channel="mbc-드라마넷"] { --logo-visual-scale: 1.34; }
.onair-card[data-channel-id="sbs-plus"], .channel-chip[data-channel="sbs-plus"] { --logo-visual-scale: 1.04; }
.onair-card[data-channel-id="kbs-드라마"], .channel-chip[data-channel="kbs-드라마"] { --logo-visual-scale: .96; }
.onair-card[data-channel-id="dramax"], .channel-chip[data-channel="dramax"] { --logo-visual-scale: 1.2; }
.onair-card[data-channel-id="mbc-on"], .channel-chip[data-channel="mbc-on"] { --logo-visual-scale: 1.03; }
.onair-card[data-channel-id="에이플드라마"], .channel-chip[data-channel="에이플드라마"] { --logo-visual-scale: 1.17; }
.onair-card[data-channel-id="asia-n"], .channel-chip[data-channel="asia-n"] { --logo-visual-scale: 1; }
.onair-card[data-channel-id="ch-u"], .channel-chip[data-channel="ch-u"] { --logo-visual-scale: 1.13; }
.channel-logo-badge .channel-logo,
.channel-chip__logo .channel-logo { transform: scale(var(--logo-visual-scale)); transform-origin: center; }

@media (max-width: 760px) {
  .show-home .filter-heading {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .show-home .filter-heading h2 {
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
    word-break: keep-all;
  }
  .show-home .collect-status {
    width: auto;
    min-width: 0;
    margin-left: auto;
    white-space: nowrap;
  }
  .show-home .collect-status strong { margin-left: 0; }
  .show-home .channel-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
  }
  .show-home .channel-groups button {
    width: 100%;
    min-width: 0;
    flex: none;
  }
  .show-home .live-toolbar .view-switch button { font-size: .72rem; }
  .show-home .time-navigator__top > p > span { font-size: .68rem; }
  .show-home .time-navigator__top > p > strong { font-size: .8rem; }
  .show-home .channel-groups button { font-size: .72rem; }
  .show-home .channel-chip { font-size: .7rem; }
  .show-home .onair-grid { gap: 10px; }
  .show-home .onair-card:not(.onair-card--next) .onair-card__caption { padding: 34px 10px 11px; }
  .show-home .onair-card:not(.onair-card--next) .onair-card__caption h3 { font-size: .9rem; }
  .show-home .onair-card:not(.onair-card--next) .onair-card__caption > strong { font-size: .75rem; }
}

@media (max-width: 360px) {
  .show-home .channel-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 다음 방송 카드의 최종 배치: 포스터는 위쪽, 로고는 포스터 안쪽 상단, 테두리는 4면 유지. */
.onair-card--next {
  overflow: hidden;
  border: 1px solid color-mix(in srgb,var(--next-day-accent,var(--channel-accent)) 62%,#303644);
  border-radius: 13px;
}
.onair-card--next .onair-card__media {
  height: 300px;
  aspect-ratio: auto;
}
.onair-card--next .onair-card__poster,
.onair-card--next .onair-card__media.has-native-poster .onair-card__poster {
  inset: 14px auto auto 50%;
  transform: translateX(-50%);
}
.onair-card--next .onair-card__media > .channel-logo-badge {
  top: 14px;
  right: auto;
  left: calc(50% + 88px);
  z-index: 7;
  transform: translate(-100%, -50%);
}
@media (max-width: 760px) {
  .onair-card--next .onair-card__media { height: 286px; }
  .onair-card--next .onair-card__poster,
  .onair-card--next .onair-card__media.has-native-poster .onair-card__poster { inset: 12px auto auto 50%; }
  .onair-card--next .onair-card__media > .channel-logo-badge { top: 12px; left: calc(50% + 84px); }
}

/* 읽기 편한 기본 크기로 전체 타이포그래피를 한 단계 확대합니다. */
html { font-size: 18px; }
.site-nav { font-size: .88rem; }
.brand small { font-size: .76rem; }
.breadcrumbs { font-size: .8rem; }
.journey__step { font-size: .82rem; }
.journey__step > span { font-size: .7rem; }
.article-index { font-size: .72rem !important; }
.program-hero__series { font-size: .86rem; }
.program-hero .article-lead { font-size: 1.02rem; }
.program-hero__meta span { font-size: .84rem !important; }
.fact-list span { font-size: .8rem; }
.fact-list strong { font-size: .92rem; }
.next-airing-card > h2 { font-size: 1.08rem; }
.onair-card--next .next-card__date { font-size: .8rem; }
.next-card__topbar > .onair-card__alert strong { font-size: .76rem; }
.onair-card--next .onair-card__caption h3 { font-size: 1rem; }
.onair-card--next .onair-card__caption > strong { font-size: .82rem; }
.onair-card--next .onair-card__next-label { font-size: .7rem; }

/* 날짜와 알림을 카드 좌우 경계에서 충분히 띄웁니다. */
.next-card__topbar { min-height: 48px; padding: 7px 12px; column-gap: 12px; }
.next-card__date { padding: 5px 0; transform: none; }
.next-card__topbar > .onair-card__alert { padding: 6px 10px; }
@media (max-width: 760px) {
  html { font-size: 17px; }
  .breadcrumbs { font-size: .78rem; }
  .journey__step { padding: 9px; font-size: .72rem; }
  .journey__step > span { font-size: .65rem; }
  .next-card__topbar { min-height: 46px; padding: 6px 10px; column-gap: 9px; }
  .next-card__date { padding: 4px 0; transform: none; }
}

/* 글자는 또렷하게 유지하고 선택 상태는 외곽선에만 약하게 표시합니다. */
.time-navigator__top { grid-template-columns: 1fr; }
.time-navigator__top > p > strong {
  overflow: visible;
  color: #fff;
  font-size: .9rem;
  font-weight: 760;
  letter-spacing: -.01em;
  text-shadow: 0 1px 2px rgba(0,0,0,.7);
}
.channel-groups button {
  border-color: rgba(111,130,179,.32);
  color: #bfc8dc;
  box-shadow: none;
  text-shadow: none;
  transition: border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.channel-groups button:hover {
  border-color: rgba(129,153,225,.58);
  color: #e7ebf5;
  box-shadow: 0 0 7px rgba(100,126,215,.1);
  text-shadow: none;
}
.channel-groups button[aria-pressed="true"] {
  border-color: rgba(124,140,255,.68);
  background: rgba(124,140,255,.13);
  color: #e5e8ff;
  box-shadow: inset 0 0 0 1px rgba(124,140,255,.07),0 0 8px rgba(124,140,255,.14);
  text-shadow: none;
}
.next-card__topbar > .onair-card__alert {
  border-color: color-mix(in srgb,var(--next-day-accent) 48%,rgba(255,255,255,.16));
  background: color-mix(in srgb,var(--next-day-accent) 8%,rgba(8,12,20,.94));
  color: #e8edf6;
  box-shadow: inset 0 0 7px color-mix(in srgb,var(--next-day-accent) 8%,transparent),0 0 8px color-mix(in srgb,var(--next-day-accent) 15%,transparent);
  text-shadow: none;
}
.next-card__topbar > .onair-card__alert:hover {
  border-color: color-mix(in srgb,var(--next-day-accent) 62%,rgba(255,255,255,.22));
  background: color-mix(in srgb,var(--next-day-accent) 12%,rgba(8,12,20,.94));
  box-shadow: inset 0 0 8px color-mix(in srgb,var(--next-day-accent) 10%,transparent),0 0 10px color-mix(in srgb,var(--next-day-accent) 22%,transparent);
}
.next-card__topbar .alert-bell-icon {
  filter: drop-shadow(0 0 2px color-mix(in srgb,currentColor 42%,transparent));
}

/* 가로 LIVE는 5장, 세로 프로그램 포스터는 6장이 보이도록 서로 다른 폭을 사용합니다. */
.show-home .onair-grid { grid-template-columns: repeat(30,minmax(0,1fr)); }
.show-home .onair-grid > .onair-card.is-live { grid-column: span 6; }
.show-home .onair-grid > .onair-card.is-timeline { grid-column: span 5; }
.show-home .onair-grid > .onair-card { border-radius: 0; }
.show-home .onair-card.is-live .onair-card__media,
.show-home .onair-card.is-future-representative .onair-card__media {
  aspect-ratio: 6 / 5;
  background: #05070b;
}
.show-home .onair-card.is-live .onair-card__poster,
.show-home .onair-card.is-live .onair-card__media.has-native-poster .onair-card__poster,
.show-home .onair-card.is-live .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) {
  inset: 12px 0 auto;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  transform: none;
}
.show-home .onair-card.is-live { overflow: visible; }
.show-home .onair-card.is-live .onair-card__media {
  overflow: visible;
  border-radius: 0;
}
.show-home .onair-card.is-live .onair-card__poster { border-radius: 0; }
.show-home .onair-card.is-live .live-badge {
  top: -6px;
  left: 10px;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255,46,86,.78);
  font-family: "Arial Narrow","Roboto Condensed",sans-serif;
  font-size: .58rem;
  font-weight: 500;
  letter-spacing: .11em;
  text-shadow: 0 0 7px rgba(255,25,70,.42);
}
.show-home .onair-card.is-live .live-badge__text {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255,46,86,.78);
  box-shadow: none;
  font-family: "Arial Narrow","Roboto Condensed",sans-serif;
  font-size: inherit;
  font-weight: 500;
  font-variation-settings: normal;
  letter-spacing: inherit;
  line-height: 1;
  text-shadow: inherit;
}
.show-home .onair-card.is-live .onair-card__caption {
  grid-template-columns: minmax(0,1fr) auto;
  min-height: 48px;
  padding: 4px 10px 8px;
  background: #05070b;
}

/* 미래 KBS 편성은 실시간 프레임 대신 프로그램·채널 대표 화면을 사용합니다. */
.channel-representative {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  padding: 24px;
  background:
    linear-gradient(180deg,rgba(2,5,10,.08),rgba(2,4,8,.94) 76%),
    radial-gradient(ellipse at 50% 24%,color-mix(in srgb,var(--channel-accent,#7c8cff) 22%,transparent),transparent 44%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 48px),
    linear-gradient(145deg,#111925,#040609 72%);
}
.channel-representative::after {
  position: absolute;
  right: 12%;
  bottom: 12%;
  left: 12%;
  height: 1px;
  background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--channel-accent,#7c8cff) 36%,transparent),transparent);
  content: "";
}
.channel-representative > span { width: min(46%,138px); height: 42px; display: grid; place-items: center; opacity: .82; }
.channel-representative .channel-logo { width: 100%; height: 100%; object-fit: contain; }
.channel-representative > strong { color: rgba(231,236,248,.72); font-size: .76rem; font-weight: 600; letter-spacing: .02em; }
.onair-card__poster { z-index: 1; }

/* 다음 방송 카드는 가로형이며 넓은 화면에서 네 장씩 보입니다. */
.next-airing-card__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.onair-card--next .onair-card__media {
  height: auto;
  aspect-ratio: 16 / 10;
}
.onair-card--next .onair-card__poster,
.onair-card--next .onair-card__media.has-native-poster .onair-card__poster,
.onair-card--next .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

@media (max-width: 1200px) {
  .show-home .onair-grid { grid-template-columns: repeat(24,minmax(0,1fr)); }
  .show-home .onair-grid > .onair-card.is-live,
  .show-home .onair-grid > .onair-card.is-timeline { grid-column: span 6; }
  .next-airing-card__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .show-home .onair-grid { grid-template-columns: repeat(12,minmax(0,1fr)); }
  .show-home .onair-grid > .onair-card.is-live,
  .show-home .onair-grid > .onair-card.is-timeline { grid-column: span 6; }
  .next-airing-card__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .show-home .onair-grid { grid-template-columns: 1fr; }
  .show-home .onair-grid > .onair-card.is-live,
  .show-home .onair-grid > .onair-card.is-timeline { grid-column: auto; }
  .next-airing-card__grid { grid-template-columns: 1fr; }
}

/* KBS LIVE: current frames and timeline selections use one stable landscape card. */
.show-home .onair-grid > .onair-card.is-timeline.is-future-representative {
  grid-column: span 6;
}
.show-home .onair-card.is-live,
.show-home .onair-card.is-future-representative,
.show-home .onair-card.is-live .onair-card__media,
.show-home .onair-card.is-future-representative .onair-card__media,
.show-home .onair-card.is-live .onair-card__poster,
.show-home .onair-card.is-future-representative .onair-card__poster {
  border-radius: 0 !important;
}
.show-home .onair-card.is-live .onair-card__media,
.show-home .onair-card.is-future-representative .onair-card__media {
  aspect-ratio: 4 / 3;
  overflow: visible;
  background: #05070b;
}
.show-home .onair-card.is-live .onair-card__poster,
.show-home .onair-card.is-live .onair-card__media.has-native-poster .onair-card__poster,
.show-home .onair-card.is-live .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop),
.show-home .onair-card.is-future-representative .onair-card__poster,
.show-home .onair-card.is-future-representative .onair-card__media.has-native-poster .onair-card__poster,
.show-home .onair-card.is-future-representative .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) {
  inset: 12px 0 auto;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  transform: none;
  filter: none;
}
.show-home .onair-card.is-live .onair-card__caption,
.show-home .onair-card.is-future-representative .onair-card__caption {
  min-height: 52px;
  padding: 7px 11px 10px;
  background: #05070b;
}

/* LIVE is deliberately compact, vivid and readable without a surrounding pill. */
.show-home .onair-card.is-live .live-badge {
  top: -7px;
  left: 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #ff174d;
  font-family: "Roboto Condensed","Arial Narrow",sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-shadow: 0 0 8px rgba(255,20,70,.72);
}
.show-home .onair-card.is-live .live-badge > i {
  display: block;
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #ff174d;
  box-shadow: 0 0 5px #ff174d,0 0 10px rgba(255,23,77,.7);
  animation: live-pulse 1.15s ease-in-out infinite;
}
.show-home .onair-card.is-live .live-badge__text {
  color: #ff174d;
  font: inherit;
  font-weight: 800;
  letter-spacing: .1em;
  text-shadow: inherit;
}

/* Detail and upcoming cards stay square and reserve a real information footer. */
.program-hero,
.program-hero__poster,
.program-hero__poster img,
.onair-card--next,
.onair-card--next .onair-card__media,
.onair-card--next .onair-card__poster {
  border-radius: 0 !important;
}
.onair-card--next {
  overflow: hidden;
}
.onair-card--next .onair-card__media {
  height: 320px;
  aspect-ratio: auto;
  overflow: hidden;
  background: #05070b;
}
.onair-card--next .onair-card__poster,
.onair-card--next .onair-card__media.has-native-poster .onair-card__poster,
.onair-card--next .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) {
  inset: 10px 0 78px;
  width: 100%;
  height: calc(100% - 88px);
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: none;
}
.onair-card--next .onair-card__caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-content: center;
  align-items: center;
  gap: 6px 10px;
  min-height: 78px;
  padding: 11px 12px 12px;
  border-top: 1px solid rgba(255,255,255,.09);
  background: #080b11;
}
.onair-card--next .onair-card__caption > strong {
  grid-column: 1 / -1;
}
.onair-card--next.is-current-airing .onair-card__caption h3 {
  grid-column: 1 / -1;
}
.onair-card--next .onair-card__media > .channel-logo-badge {
  top: 12px;
}

@media (max-width: 1200px) {
  .show-home .onair-grid > .onair-card.is-timeline.is-future-representative { grid-column: span 6; }
}
@media (max-width: 820px) {
  .show-home .onair-grid > .onair-card.is-timeline.is-future-representative { grid-column: span 6; }
  .onair-card--next .onair-card__media { height: 300px; }
}
@media (max-width: 480px) {
  .show-home .onair-grid > .onair-card.is-timeline.is-future-representative { grid-column: auto; }
  .onair-card--next .onair-card__media { height: 286px; }
}

/* 홈 예약 알림: 다음 방송 카드의 정돈된 스타일을 쓰되 시간과 로고 사이 중앙에 둡니다. */
.show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert {
  top: 8px;
  right: auto;
  bottom: auto;
  left: 50%;
  min-height: 30px;
  gap: 3px;
  padding: 6px 5px;
  border-color: color-mix(in srgb,var(--channel-accent,#35ddc1) 54%,rgba(255,255,255,.18));
  border-radius: 9px;
  background: color-mix(in srgb,var(--channel-accent,#35ddc1) 8%,rgba(8,12,20,.94));
  color: #edf2fb;
  box-shadow: inset 0 0 7px color-mix(in srgb,var(--channel-accent,#35ddc1) 8%,transparent),0 5px 15px rgba(0,0,0,.34);
  transform: translateX(-50%);
  animation: home-alert-float 3.2s ease-in-out infinite;
}
.show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert > span {
  color: #ffd84a;
  filter: drop-shadow(0 0 2px rgba(255,216,74,.42));
}
.show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert > strong {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: -.01em;
}
.show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert:hover {
  border-color: color-mix(in srgb,var(--channel-accent,#35ddc1) 72%,#fff 14%);
  background: color-mix(in srgb,var(--channel-accent,#35ddc1) 13%,rgba(8,12,20,.96));
  transform: translate(-50%,-1px);
}
@keyframes home-alert-float {
  0%,72%,100% { transform: translate(-50%,0); }
  78% { transform: translate(-50%,-2px); }
  84% { transform: translate(-50%,0); }
  90% { transform: translate(-50%,-1px); }
}
@media (max-width: 760px) {
  .show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert {
    top: 7px;
    left: 50%;
    min-height: 28px;
    padding: 5px;
    transform: translateX(-50%);
  }
}

/* 선택한 채널만 남기고, 같은 크기의 복원 버튼으로 전체 목록을 다시 엽니다. */
.channel-grid.is-channel-focused {
  grid-template-columns: repeat(2,minmax(150px,190px));
  justify-content: start;
}
.channel-chip--show-all {
  --chip-accent: #7c8cff;
  border-color: rgba(124,140,255,.38);
  background: rgba(124,140,255,.055);
  color: #d9def3;
}
.channel-chip--show-all:hover {
  border-color: rgba(124,140,255,.68);
  background: rgba(124,140,255,.11);
}
.channel-chip > .channel-chip__all-icon {
  width: 27px;
  height: 27px;
  display: grid;
  grid-template-columns: repeat(2,5px);
  grid-template-rows: repeat(2,5px);
  place-content: center;
  gap: 3px;
  overflow: visible;
}
.channel-chip__all-icon > i {
  width: 5px;
  height: 5px;
  border: 1px solid rgba(199,207,255,.9);
  border-radius: 1px;
  background: rgba(124,140,255,.18);
  box-shadow: 0 0 5px rgba(124,140,255,.2);
}

/* 홈 카드 상단 정보는 모서리에 붙이고, 중앙 알림은 낮고 투명하게 정리합니다. */
.show-home .onair-view .onair-card:not(.onair-card--next) .time-badge {
  top: 5px;
  left: 5px;
  padding: 4px 7px;
}
.show-home .onair-view .onair-card:not(.onair-card--next) .channel-logo-badge {
  top: 5px;
  right: 4px;
  width: 40px;
  height: 16px;
}
.show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert {
  top: 5px;
  min-height: 24px;
  gap: 3px;
  padding: 3px 7px;
  border-color: color-mix(in srgb,var(--channel-accent,#35ddc1) 35%,rgba(255,255,255,.12));
  background: color-mix(in srgb,var(--channel-accent,#35ddc1) 5%,rgba(7,10,17,.68));
  box-shadow: inset 0 0 5px color-mix(in srgb,var(--channel-accent,#35ddc1) 5%,transparent),0 3px 9px rgba(0,0,0,.2);
  backdrop-filter: blur(6px);
}
.show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert > strong {
  font-size: .63rem;
  font-weight: 550;
}

@media (max-width: 760px) {
  .channel-grid.is-channel-focused { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .show-home .onair-view .onair-card:not(.onair-card--next) > .onair-card__alert {
    top: 5px;
    min-height: 23px;
    padding: 3px 6px;
  }
}

/* KBS2의 실제 문양 면적을 기준으로, 가로로 긴 KBS 계열 로고만 개별 보정합니다. */
.onair-card[data-channel-id="kbs1"] { --logo-visual-scale: 1.05; }
.onair-card[data-channel-id="kbs2"] { --logo-visual-scale: 1.05; }
.onair-card[data-channel-id="kbs-news-24"] { --logo-visual-scale: 1.1; }
.onair-card[data-channel-id="kbs-drama"] { --logo-visual-scale: 1.7; }
.onair-card[data-channel-id="kbs-joy"] { --logo-visual-scale: 1.4; }
.onair-card[data-channel-id="kbs-story"] { --logo-visual-scale: 1.55; }
.onair-card[data-channel-id="kbs-life"] { --logo-visual-scale: 1.45; }
.onair-card[data-channel-id="kbs-kids"] { --logo-visual-scale: 1.5; }
.onair-card[data-channel-id="kbs-world"] { --logo-visual-scale: 1.55; }
.channel-logo-badge .channel-logo { transform-origin: right center; }
.channel-chip__logo .channel-logo { transform-origin: center; }

/* 직접 LIVE가 아닌 편성은 반투명 NEXT 로고로 구분합니다. */
.show-home .onair-card.is-timeline { overflow: visible; }
.show-home .onair-card.is-timeline .next-badge {
  position: absolute;
  z-index: 11;
  top: -7px;
  left: 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(121,145,255,.78);
  font-family: "Roboto Condensed","Arial Narrow",sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1;
  text-shadow: 0 0 8px rgba(102,128,255,.42);
  pointer-events: none;
}
.show-home .onair-card.is-timeline .next-badge > i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: rgba(121,145,255,.72);
  box-shadow: 0 0 5px rgba(121,145,255,.62),0 0 10px rgba(83,112,255,.34);
}
.show-home .onair-card.is-timeline .next-badge__text {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-shadow: inherit;
}

/* 공식 온에어 연결은 없지만 현재 편성 중인 방송은 고정된 흰색 LIVE로 구분합니다. */
.show-home .onair-card.is-timeline .next-badge.is-live {
  color: rgba(255,255,255,.9);
  text-shadow: 0 0 7px rgba(255,255,255,.2);
}
.show-home .onair-card.is-timeline .next-badge.is-live > i {
  background: rgba(255,255,255,.82);
  box-shadow: 0 0 6px rgba(255,255,255,.32);
  animation: none;
}

/* 제목 없이 분류 버튼과 실제 갱신 시각만 남깁니다. */
.show-home .filter-heading { justify-content: flex-end; }
.show-home .filter-heading .collect-status { margin-left: auto; }

/* 전체 편성 위에 시간 순서만 빠르게 훑을 수 있는 가로 레일을 둡니다. */
.schedule-rail {
  margin: 0 0 16px;
  padding: 13px 14px 12px;
  border: 1px solid rgba(47,55,70,.92);
  border-radius: 13px;
  background: linear-gradient(135deg,rgba(18,22,31,.94),rgba(8,11,17,.96));
  box-shadow: 0 10px 26px rgba(0,0,0,.2);
}
.schedule-rail__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 10px;
}
.schedule-rail__header strong { color: #f2f4fb; font-size: .84rem; font-weight: 760; }
.schedule-rail__header span { color: var(--muted-2); font-size: .7rem; }
.schedule-rail__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1px 1px 5px;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb,var(--schedule-accent,var(--brand)) 55%,#3b4251) transparent;
  scroll-snap-type: x proximity;
}
.schedule-rail__track { width: max-content; min-width: 100%; display: flex; gap: 7px; }
.schedule-rail__item {
  position: relative;
  width: var(--schedule-segment,130px);
  min-height: 62px;
  flex: 0 0 var(--schedule-segment,130px);
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 12px;
  overflow: hidden;
  border: 1px solid rgba(63,72,91,.9);
  border-radius: 9px;
  background: rgba(20,24,34,.92);
  color: #eef1f8;
  text-align: left;
  scroll-snap-align: start;
  transition: border-color .16s,background .16s,transform .16s;
}
.schedule-rail__item:hover {
  border-color: color-mix(in srgb,var(--schedule-accent,var(--brand)) 62%,#fff 12%);
  background: color-mix(in srgb,var(--schedule-accent,var(--brand)) 10%,#11151e);
  transform: translateY(-1px);
}
.schedule-rail__item time { color: color-mix(in srgb,var(--schedule-accent,var(--brand)) 68%,#fff); font-size: .72rem; font-weight: 750; }
.schedule-rail__item > span { overflow: hidden; font-size: .78rem; font-weight: 690; text-overflow: ellipsis; white-space: nowrap; }
.schedule-rail__item > em {
  position: absolute;
  top: 7px;
  right: 7px;
  color: #ff6a87;
  font-size: .62rem;
  font-style: normal;
  font-weight: 760;
}
.schedule-rail__item.is-current {
  border-color: rgba(255,71,108,.72);
  background: linear-gradient(135deg,rgba(255,71,108,.12),rgba(20,24,34,.95));
  box-shadow: inset 3px 0 #ff476c,0 0 16px rgba(255,71,108,.08);
}
.schedule-program-card.is-jump-highlight {
  border-color: color-mix(in srgb,var(--schedule-accent,var(--brand)) 72%,#fff 18%);
  box-shadow: 0 0 0 2px color-mix(in srgb,var(--schedule-accent,var(--brand)) 32%,transparent),0 16px 30px rgba(0,0,0,.28);
}
@media (max-width: 760px) {
  .schedule-rail { padding: 11px 10px 9px; }
  .schedule-rail__header span { display: none; }
  .schedule-rail__item { min-height: 58px; padding: 8px 10px; }
}

/* 홈의 세로 포스터 카드에서만 로고를 키워 이미지 우측 상단 경계에 걸칩니다. */
.show-home .onair-card.is-timeline .onair-card__media.is-portrait > .channel-logo-badge {
  top: calc(var(--portrait-logo-top,12px) + 4px);
  right: var(--portrait-logo-right,10px);
  left: auto;
  width: 80px;
  height: 32px;
  opacity: .96;
  transform: translateY(-50%);
  transform-origin: center;
}
@media (max-width: 760px) {
  .show-home .onair-card.is-timeline .onair-card__media.is-portrait > .channel-logo-badge {
    width: 72px;
    height: 29px;
  }
}

/* 상세 화면의 다음 방송 로고는 실제 이미지 우측 상단 경계에 작게 걸칩니다. */
.onair-card--next .onair-card__media > .channel-logo-badge {
  top: var(--next-logo-top,46px);
  right: var(--next-logo-right,8px);
  left: auto;
  width: 40px;
  height: 16px;
  padding: 0;
  opacity: .9;
  transform: translateY(-50%);
}
@media (max-width: 760px) {
  .onair-card--next .onair-card__media > .channel-logo-badge {
    top: var(--next-logo-top,38px);
    right: var(--next-logo-right,7px);
    left: auto;
    width: 38px;
    height: 15px;
    transform: translateY(-50%);
  }
}

/* Mobile next-airing cards: keep the complete poster and caption visible. */
@media (max-width: 640px) {
  .next-airing-card__grid {
    grid-template-columns: minmax(0,1fr);
    gap: 16px;
  }
  .onair-card--next {
    width: 100%;
    min-width: 0;
  }
  .onair-card--next .onair-card__media {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
  .onair-card--next .onair-card__poster,
  .onair-card--next .onair-card__media.has-native-poster .onair-card__poster,
  .onair-card--next .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) {
    inset: 10px 0 84px;
    width: 100%;
    height: calc(100% - 94px);
    object-fit: contain;
    object-position: center;
  }
  .onair-card--next .onair-card__caption {
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: end;
    min-height: 84px;
    padding: 13px 12px 14px;
  }
  .onair-card--next .onair-card__caption .onair-card__next-label {
    grid-column: 1;
  }
  .onair-card--next.is-current-airing .onair-card__caption .onair-card__next-label.is-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .onair-card--next.is-current-airing .onair-card__caption .onair-card__next-label.is-live::before {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #ff3158;
    box-shadow: 0 0 7px rgba(255,49,88,.9);
    content: "";
    animation: live-pulse 1.35s ease-in-out infinite;
  }
  .onair-card--next .onair-card__caption h3 {
    grid-column: 2;
  }
  .onair-card--next .onair-card__caption > strong {
    grid-column: 3;
    justify-self: end;
    align-self: end;
  }
  .onair-card--next .onair-card__caption .live-progress {
    grid-column: 1 / -1;
  }
  .next-card__date {
    font-size: .86rem;
    line-height: 1.2;
  }
  .onair-card--next .next-card__date .airing-date {
    font-size: .76rem;
  }
}

@media (max-width: 360px) {
  .next-card__date { font-size: .8rem; }
  .onair-card--next .next-card__date .airing-date { font-size: .7rem; }
}

/* A selected current programme without artwork must not collapse into a narrow poster tile. */
.show-home .onair-grid.is-channel-sequence > .onair-card.is-scheduled-live.is-image-missing {
  grid-column: span 10;
  width: 100%;
  min-width: 280px;
  max-width: 420px;
}
.show-home .onair-grid.is-channel-sequence > .onair-card.is-scheduled-live.is-image-missing .onair-card__media {
  aspect-ratio: 4 / 3;
  min-height: 250px;
}
@media (max-width: 640px) {
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-scheduled-live.is-image-missing {
    grid-column: 1 / -1 !important;
    min-width: 0;
    max-width: none;
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-scheduled-live.is-image-missing .onair-card__media {
    min-height: 0;
  }
}

/* Real-phone stabilization: touch UI, safe areas, dynamic browser chrome and overflow. */
@media (max-width: 760px) and (hover: none) and (pointer: coarse) {
  :root {
    --phone-gutter-left: max(12px, env(safe-area-inset-left));
    --phone-gutter-right: max(12px, env(safe-area-inset-right));
  }
  body { min-height: 100dvh; }
  .site-header {
    padding-top: env(safe-area-inset-top);
  }
  .site-header__inner,
  .show-home,
  .article-shell,
  .flow-shell,
  .site-footer__inner {
    width: 100%;
    max-width: none;
    padding-right: var(--phone-gutter-right);
    padding-left: var(--phone-gutter-left);
  }
  .show-home,
  .article-shell,
  .flow-shell {
    padding-bottom: calc(74px + env(safe-area-inset-bottom));
  }
  .site-footer__inner {
    padding-bottom: calc(34px + env(safe-area-inset-bottom));
  }
  .live-toolbar {
    top: calc(64px + env(safe-area-inset-top));
  }
  .live-toolbar,
  .time-navigator,
  .channel-filter,
  .onair-view,
  .onair-grid,
  .next-airing-card,
  .next-airing-card__grid,
  .program-hero,
  .article-content {
    min-width: 0;
    max-width: 100%;
  }
  .next-airing-card__grid {
    grid-template-columns: minmax(0,1fr);
  }
  .onair-card--next {
    width: 100%;
    max-width: none;
  }
  .next-card__date {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .onair-card--next .onair-card__caption h3 {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  button,
  a,
  [role="button"] {
    touch-action: manipulation;
  }
  .time-slider,
  .time-slider input[type="range"],
  .time-slider__bubble {
    touch-action: none;
  }
  .channel-groups button:hover,
  .onair-card:hover,
  .next-card__topbar > .onair-card__alert:hover,
  .blog-download-button:hover {
    filter: none;
    transform: none;
  }
  .current-airing-toast {
    bottom: calc(18px + env(safe-area-inset-bottom));
  }
  .next-alert-layer {
    max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow: auto;
  }
}

/* Mobile: two portrait schedule cards, one full-width official LIVE card. */
@media (min-width: 360px) and (max-width: 640px) {
  .show-home .onair-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }
  .show-home .onair-grid > .onair-card.is-timeline {
    grid-column: span 1;
  }
  .show-home .onair-grid > .onair-card.is-live,
  .show-home .onair-grid > .onair-card.is-future-representative {
    grid-column: 1 / -1;
  }
  .show-home .onair-grid.is-channel-sequence.has-orphan-timeline > .onair-card.is-timeline:last-child {
    grid-column: 1 / -1 !important;
    width: calc((100% - 9px) / 2);
    min-width: 0;
    justify-self: center;
  }

  /* A selected channel is a chronological list.  Its artwork and programme
     details must both take up real card height; an absolute caption used to
     cover the lower part of landscape images on physical phones. */
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline {
    grid-column: span 1 !important;
    align-self: start;
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline .onair-card__media {
    display: flex;
    flex-direction: column;
    aspect-ratio: auto !important;
    overflow: visible;
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline .onair-card__poster,
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline .onair-card__media.has-native-poster .onair-card__poster,
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: var(--natural-poster-aspect,var(--poster-aspect,3 / 4));
    object-fit: contain;
    object-position: center;
    transform: none;
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline.is-future-representative .onair-card__poster,
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline.is-future-representative .onair-card__media.has-native-poster .onair-card__poster,
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline.is-future-representative .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop) {
    margin-top: 12px;
    aspect-ratio: var(--natural-poster-aspect,16 / 9);
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline .onair-card__caption,
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline.is-future-representative .onair-card__caption {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    min-height: 86px;
    padding: 35px 9px 9px;
    background: #05070b;
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline .onair-card__caption h3,
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline .onair-card__caption > strong {
    text-shadow: none;
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline > .onair-card__alert {
    top: auto;
    right: 7px;
    bottom: 43px;
    left: auto;
    min-height: 23px;
    padding: 3px 6px;
    transform: none;
    animation: none;
  }
  .show-home .onair-grid.is-channel-sequence > .onair-card.is-timeline > .onair-card__alert:hover {
    transform: none;
  }
}

/* The electric CTA decoration must never widen the page on a physical phone. */
@media (max-width: 760px) {
  .download-charged-electric {
    inset-inline: -12px;
    width: calc(100% + 24px);
  }
}

/* SHOW TV Guide ---------------------------------------------------------
   The home screen keeps the existing filters and visual language, while
   programmes are arranged as a real channel-by-time EPG. */
.guide-frame {
  overflow: hidden;
  border: 1px solid #273040;
  background:
    radial-gradient(circle at 92% 0%, rgba(31,215,181,.08), transparent 34%),
    linear-gradient(180deg, #0d1119 0%, #080b11 100%);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.guide-frame__toolbar {
  min-height: 70px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid #273040;
  background: rgba(8,11,17,.92);
}
.guide-frame__summary {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}
.guide-frame__summary > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 9px;
}
.guide-frame__summary span {
  color: #8f9cff;
  font: 700 12px/1.1 "Inter", "Pretendard", sans-serif;
  letter-spacing: .16em;
}
.guide-frame__summary strong {
  color: #f7f9ff;
  font-size: 18px;
  letter-spacing: -.02em;
  white-space: nowrap;
}
.guide-frame__summary em {
  color: #b9c2d4;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}
.guide-frame__actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.guide-frame__actions button {
  min-width: 42px;
  height: 38px;
  padding: 0 13px;
  border: 1px solid #303a4c;
  border-radius: 10px;
  color: #e7ebf5;
  background: #111722;
  font: 700 14px/1 "Pretendard", sans-serif;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.guide-frame__actions button:first-child,
.guide-frame__actions button:last-child {
  padding: 0;
  color: #ff6f99;
  font-size: 25px;
  font-weight: 300;
}
.guide-frame__actions button:hover,
.guide-frame__actions button:focus-visible {
  border-color: #7282ff;
  color: #fff;
  background: #1a2232;
  box-shadow: 0 0 20px rgba(114,130,255,.18);
  outline: none;
}
.guide-frame__days {
  display: flex;
  gap: 8px;
  min-height: 54px;
  padding: 8px 16px;
  overflow-x: auto;
  border-bottom: 1px solid #273040;
  background: rgba(9,13,20,.96);
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
.guide-frame__days::-webkit-scrollbar { display: none; }
.guide-frame__days button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 96px;
  height: 36px;
  padding: 0 12px;
  flex: 0 0 auto;
  border: 1px solid #30394b;
  border-radius: 10px;
  background: #10151f;
  color: #aeb7c8;
  cursor: pointer;
  scroll-snap-align: start;
  transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.guide-frame__days button strong { color: #25dc86; font-size: 11px; font-weight: 700; white-space: nowrap; }
.guide-frame__days button span { color: #d8deea; font-size: 12px; font-weight: 600; white-space: nowrap; }
.guide-frame__days button[aria-pressed="true"] {
  border-color: #20cf78;
  background: rgba(20,139,83,.13);
  color: #effff7;
  box-shadow: inset 0 0 0 1px rgba(32,207,120,.1),0 0 18px rgba(32,207,120,.1);
}
.guide-frame__days button[aria-pressed="true"] span { color: #39e58f; }
.guide-frame__days button:hover,
.guide-frame__days button:focus-visible { border-color: #20cf78; color: #fff; outline: none; }
.guide-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior-inline: contain;
  scrollbar-color: #6575f2 #141a25;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y pinch-zoom;
  user-select: none;
}
.guide-scroll img { -webkit-user-drag: none; user-select: none; }
.guide-scroll.is-guide-panning { cursor: grabbing; scroll-behavior: auto; }
.guide-scroll::-webkit-scrollbar { height: 9px; }
.guide-scroll::-webkit-scrollbar-track { background: #141a25; }
.guide-scroll::-webkit-scrollbar-thumb { border-radius: 9px; background: #6575f2; }
.guide-board {
  --guide-channel-width: 132px;
  --guide-card-width: 258px;
  --guide-minute-width: 4px;
  --guide-card-count: 7;
  --guide-track-min: calc(var(--guide-card-width) * var(--guide-card-count));
  --guide-selected-position: 0px;
  --guide-pan-x: 0px;
  min-width: calc(var(--guide-channel-width) + var(--guide-track-min));
  color: #f8faff;
}
.guide-ruler,
.guide-row {
  display: grid;
  grid-template-columns: var(--guide-channel-width) minmax(var(--guide-track-min),1fr);
}
.guide-ruler {
  position: relative;
  z-index: 8;
  min-height: 48px;
  border-bottom: 1px solid #30394a;
  background: #0c1119;
}
.guide-ruler::before {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 9px;
  background: #070a0f;
  pointer-events: none;
}
.guide-corner,
.guide-channel {
  position: sticky;
  left: 0;
  z-index: 7;
  width: 100%;
  border: 0;
  border-right: 1px solid #30394a;
  color: #f6f8fe;
  background: #0c1119;
}
.guide-corner {
  padding: 9px 13px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.guide-corner span {
  font-size: 14px;
  font-weight: 750;
}
.guide-corner small {
  margin-top: 2px;
  color: #6f7a8f;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}
.guide-ruler__track,
.guide-track {
  position: relative;
  background-image: none;
}
.guide-ruler__track { display: grid; }
.guide-track {
  display: flex;
  width: max-content;
  min-width: var(--guide-track-min);
}
.guide-ruler__track::after,
.guide-track::after {
  content: "";
  position: absolute;
  z-index: 6;
  top: 0;
  bottom: 0;
  left: var(--guide-selected-position);
  width: 1px;
  pointer-events: none;
  display: none;
}
.guide-ruler__hint {
  grid-column: 1 / span 2;
  align-self: center;
  margin: 0 0 0 54px;
  color: #78859a;
  font-size: 12px;
}
.guide-scrubber {
  position: absolute;
  z-index: 10;
  top: 4px;
  left: var(--guide-selected-position);
  min-width: 96px;
  height: 40px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  border: 1px solid rgba(255,62,121,.7);
  border-radius: 12px;
  color: #ffdbe6;
  background: rgba(41,8,22,.92);
  box-shadow: 0 0 18px rgba(255,45,102,.26);
  transform: translateX(-50%);
  touch-action: none;
  cursor: ew-resize;
  user-select: none;
}
.guide-scrubber span { color: #ff7ba2; font-size: 20px; font-weight: 300; }
.guide-scrubber i { font-style: normal; font-size: 17px; filter: saturate(.35); }
.guide-scrubber strong { color: #fff; font: 750 12px/1 "Inter", "Pretendard", sans-serif; }
.guide-scrubber.is-dragging {
  border-color: #ff87aa;
  background: rgba(69,9,31,.96);
  box-shadow: 0 0 0 3px rgba(255,62,121,.12), 0 0 24px rgba(255,45,102,.38);
}
.guide-row {
  min-height: 222px;
  overflow: clip;
  border-bottom: 1px solid #252e3d;
  background: #070a0f;
  contain: layout paint style;
  content-visibility: auto;
  contain-intrinsic-size: auto 222px;
}
.guide-row:last-child { border-bottom: 0; }
.guide-channel {
  min-height: 222px;
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  transition: background .18s ease, box-shadow .18s ease;
}
.guide-channel:hover,
.guide-channel:focus-visible {
  background: #151c28;
  box-shadow: inset 3px 0 0 var(--channel-accent);
  outline: none;
}
.guide-channel__logo {
  width: 88px;
  height: 34px;
  display: grid;
  place-items: center;
}
.guide-channel__logo .channel-logo {
  display: block;
  width: auto;
  max-width: 86px;
  height: auto;
  max-height: 30px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(255,255,255,.16));
}
.guide-channel strong {
  max-width: 100%;
  overflow: hidden;
  color: #f1f4fb;
  font-size: 13px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.guide-channel small {
  color: #758096;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
}
.guide-track {
  min-height: 222px;
  grid-auto-rows: 222px;
  align-items: stretch;
  overflow: visible;
  transform: translate3d(calc(var(--guide-track-origin, 0px) + var(--guide-pan-x)),0,0);
  transition: transform .14s cubic-bezier(.2,.72,.25,1);
}
.guide-scroll.is-guide-panning .guide-track {
  transition: none;
  will-change: transform;
}
.guide-program {
  position: relative;
  z-index: 1;
  flex: 0 0 clamp(var(--guide-card-width), calc(var(--guide-duration) * var(--guide-minute-width)), calc(var(--guide-card-width) * 3));
  width: clamp(var(--guide-card-width), calc(var(--guide-duration) * var(--guide-minute-width)), calc(var(--guide-card-width) * 3));
  min-width: 0;
  margin: 9px 4px;
  overflow: hidden;
  border: 1px solid #303a4a;
  background: #0d121b;
  box-shadow: 0 6px 16px rgba(0,0,0,.22);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.guide-program:hover,
.guide-program:focus-within {
  z-index: 5;
  border-color: #7f8cff;
  box-shadow: 0 0 0 1px rgba(127,140,255,.22), 0 10px 28px rgba(0,0,0,.42);
}
.guide-program.is-selected {
  border-color: #8b98ff;
  box-shadow: 0 0 0 1px rgba(139,152,255,.28), 0 0 20px rgba(103,119,255,.16);
}
.guide-program.has-date-boundary::before {
  content: "";
  position: absolute;
  z-index: 8;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: linear-gradient(180deg,#74e6ff,#7f8cff 48%,#ff4f7f);
  box-shadow: 0 0 12px rgba(116,230,255,.48);
  pointer-events: none;
}
.guide-program__date-boundary {
  position: absolute;
  z-index: 9;
  top: 7px;
  left: 8px;
  min-width: 72px;
  padding: 5px 7px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border: 1px solid rgba(116,230,255,.45);
  color: #edfaff;
  background: rgba(7,18,29,.9);
  box-shadow: 0 0 14px rgba(62,197,238,.18);
  pointer-events: none;
}
.guide-program__date-boundary strong { font-size: 10px; line-height: 1.15; white-space: nowrap; }
.guide-program__date-boundary em { color: #75e7ff; font: 700 11px/1.1 "Inter","Pretendard",sans-serif; font-style: normal; }
.guide-program__primary {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(100%, var(--guide-card-width));
  height: calc(100% - 10px);
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.guide-program.is-unlinked .guide-program__primary { cursor: default; }
.guide-program__media {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #080b11;
}
.guide-program__media::before {
  content: "SHOW";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(230,235,255,.82);
  background: radial-gradient(circle at 50% 42%,rgba(89,105,190,.18),transparent 46%),#080b11;
  font: 750 15px/1 "Inter","Pretendard",sans-serif;
  letter-spacing: .16em;
}
.guide-program__channel-logo { display: none; }
.guide-program__media .onair-card__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: contain;
  object-position: center;
  transform: none;
  background: transparent;
  opacity: 0;
  transition: opacity .14s ease-out;
}
.guide-program__media .onair-card__poster.is-image-ready { opacity: 1; }
.guide-program.is-official-live .guide-program__media .onair-card__poster {
  object-fit: cover;
}
.guide-program__media .poster-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  min-height: 0;
  text-align: center;
  background: radial-gradient(circle at 50% 35%, rgba(88,101,171,.22),transparent 45%),#090d15;
}
.guide-program__media .poster-placeholder span {
  font-size: 17px;
  letter-spacing: .16em;
}
.guide-program__media .poster-placeholder small { font-size: 8px; }
.guide-program__meta {
  flex: 0 0 48px;
  min-width: 0;
  padding: 5px 9px 4px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 3px;
  border-top: 1px solid rgba(94,106,129,.3);
  background: #0b1018;
}
.guide-program__copy {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}
.guide-program__copy h3 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #fff;
  font-size: 15px;
  font-weight: 780;
  line-height: 1.24;
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.guide-program__copy strong {
  flex: 0 0 auto;
  color: #e8ecf4;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.guide-program__status {
  position: static;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  color: rgba(171,188,255,.88);
  border: 0;
  background: transparent;
  font: 500 10px/1.1 "Inter", "Pretendard", sans-serif;
  letter-spacing: .1em;
  pointer-events: none;
}
.guide-program__status i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #7c8cff;
  box-shadow: 0 0 8px #7c8cff;
}
.guide-program__status.is-live {
  color: #ff4f7f;
  background: transparent;
  box-shadow: none;
}
.guide-program__status.is-live i {
  background: #ff2d66;
  box-shadow: 0 0 9px #ff2d66;
  animation: live-pulse 1.35s ease-in-out infinite;
}
.guide-program.is-airing:not(.is-official-live) .guide-program__status.is-live {
  color: #58e2d4;
  background: transparent;
}
.guide-program.is-airing:not(.is-official-live) .guide-program__status.is-live i {
  background: #3ce3cf;
  box-shadow: 0 0 9px #3ce3cf;
}
.guide-program__alert {
  position: absolute;
  z-index: 5;
  top: 8px;
  right: auto;
  left: min(50%, calc(var(--guide-card-width) / 2));
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 27px;
  padding: 4px 9px;
  border: 1px solid rgba(152,172,208,.36);
  border-radius: 8px;
  color: #f3f6fb;
  background: linear-gradient(180deg,rgba(26,34,47,.82),rgba(11,16,24,.9));
  box-shadow: 0 7px 18px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(9px) saturate(1.15);
  font-size: 10px;
  font-weight: 620;
  text-decoration: none;
  cursor: pointer;
  transform: translateX(-50%);
}
.guide-program__alert-bell {
  display: inline-block;
  width: 13px;
  height: 13px;
  color: #83e7d8;
  transform-origin: 50% 12%;
  animation: guide-bell-ring 1.8s ease-in-out infinite;
}
.guide-program__alert-bell svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px rgba(91,231,210,.32));
}
@keyframes guide-bell-ring {
  0%, 68%, 100% { transform: rotate(0deg); }
  74% { transform: rotate(-16deg); }
  80% { transform: rotate(13deg); }
  86% { transform: rotate(-9deg); }
  92% { transform: rotate(5deg); }
}
.guide-program__alert:hover,
.guide-program__alert:focus-visible {
  border-color: rgba(117,230,214,.66);
  color: #fff;
  background: linear-gradient(180deg,rgba(27,52,59,.92),rgba(10,27,32,.94));
  box-shadow: 0 0 0 1px rgba(117,230,214,.12),0 8px 22px rgba(0,0,0,.38),0 0 16px rgba(79,221,201,.12);
  outline: none;
}
.guide-program__progress {
  position: absolute;
  z-index: 4;
  right: 9px;
  bottom: 5px;
  left: 9px;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: #303746;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.5);
}
.guide-program__progress:not(.is-active) i { width: 0; box-shadow: none; }
.guide-program__progress i {
  display: block;
  width: var(--progress);
  height: 100%;
  border-radius: inherit;
  background: #ff2d66;
  box-shadow: 0 0 7px rgba(255,45,102,.55);
}

/* Desktop guide cards keep the programme artwork visible through the footer.
   Copy and schedule time sit on a restrained lower-edge gradient. */
@media (min-width: 641px) {
  .guide-program {
    align-self: center;
    height: calc((var(--guide-card-width) * .5625) + 72px);
    overflow: visible;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
  }
  .guide-program::after {
    content: none;
    display: none;
  }
  .guide-program__primary {
    z-index: 1;
    height: 100%;
    overflow: hidden;
    border: 1px solid #303a4a;
    background: #0d121b;
    box-shadow: 0 6px 16px rgba(0,0,0,.22);
  }
  .guide-program__media {
    flex: 0 0 calc(var(--guide-card-width) * .5625);
    width: 100%;
    height: calc(var(--guide-card-width) * .5625);
    aspect-ratio: 16 / 9;
  }
  .guide-program__meta {
    position: relative;
    z-index: 3;
    flex: 0 0 72px;
    min-height: 72px;
    padding: 9px 12px 15px;
    border-top: 1px solid rgba(94,106,129,.3);
    background: #0b1018;
    pointer-events: none;
  }
  .guide-program__copy h3,
  .guide-program__copy strong {
    text-shadow: 0 1px 4px rgba(0,0,0,.9);
  }
  .guide-program__progress {
    z-index: 5;
    right: 8px;
    bottom: 6px;
    left: 10px;
    right: 10px;
  }
  .guide-program:hover,
  .guide-program:focus-within,
  .guide-program.is-selected {
    border-color: transparent;
    box-shadow: none;
  }
  .guide-program:hover .guide-program__primary,
  .guide-program:focus-within .guide-program__primary {
    border-color: #7f8cff;
    box-shadow: 0 0 0 1px rgba(127,140,255,.22), 0 10px 28px rgba(0,0,0,.42);
  }
  .guide-program.is-selected .guide-program__primary {
    border-color: #8b98ff;
    box-shadow: 0 0 0 1px rgba(139,152,255,.28), 0 0 20px rgba(103,119,255,.16);
  }
}

/* Let readable cards use the space they actually have, while compact timeline
   cards retain the smaller type needed to avoid collisions. */
@container guide-program-card (min-width: 320px) {
  .guide-program__status {
    font-size: 10px;
  }
  .guide-program__copy h3 {
    font-size: 16px;
    line-height: 1.18;
  }
  .guide-program__copy strong.guide-program__time {
    font-size: 15px;
    line-height: 1.04;
  }
}

@container guide-program-card (min-width: 420px) {
  .guide-program__status {
    font-size: 11px;
  }
  .guide-program__copy h3 {
    font-size: 18px;
  }
  .guide-program__copy strong.guide-program__time {
    font-size: 17px;
  }
}
.guide-program.is-short .guide-program__alert,
.guide-program.is-micro .guide-program__copy strong { display: none; }
.guide-program.is-micro {
  background: linear-gradient(145deg,#111824,#080b11);
}
.guide-program.is-micro .guide-program__copy h3 { font-size: 11px; }
.guide-program.is-upcoming .guide-program__media .onair-card__poster {
  filter: none;
  transition: opacity .18s ease;
}
.guide-program.is-upcoming .guide-program__media::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(4,8,14,.5) 0%,rgba(4,8,14,.13) 23%,transparent 42%,transparent 58%,rgba(4,8,14,.13) 77%,rgba(4,8,14,.5) 100%);
  transition: opacity .18s ease;
}
.guide-program.is-upcoming:hover .guide-program__media::after,
.guide-program.is-upcoming:focus-within .guide-program__media::after,
.guide-program.is-upcoming.is-selected .guide-program__media::after {
  opacity: .58;
}
.guide-track__empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #667188;
  font-size: 12px;
}
.guide-empty {
  min-height: 270px;
  display: grid;
  place-content: center;
  padding: 36px;
  text-align: center;
}
.guide-empty > span {
  color: #8995ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2em;
}
.guide-empty h3 { margin: 10px 0 4px; font-size: 22px; }
.guide-empty p { margin: 0; color: #7b869a; font-size: 13px; }

@media (max-width: 900px) {
  .guide-board {
    --guide-channel-width: 82px;
    --guide-card-width: 222px;
    --guide-minute-width: 3.5px;
  }
  .guide-row,
  .guide-track { min-height: 199px; }
  .guide-track { grid-auto-rows: 199px; }
  .guide-channel { min-height: 199px; padding: 8px 5px; }
  .guide-channel__logo { width: 66px; height: 29px; }
  .guide-channel__logo .channel-logo { max-width: 64px; max-height: 26px; }
  .guide-channel strong { font-size: 11px; }
  .guide-channel small { font-size: 8px; }
  .guide-program { margin: 8px 3px; }
  .guide-program__copy h3 { font-size: 13px; }
  .guide-program__copy strong { font-size: 10px; }
}

@media (max-width: 640px) {
  .guide-frame { margin-inline: calc(-1 * max(0px,var(--phone-gutter-left,0px) - 4px)); }
  .guide-frame__toolbar {
    min-height: 58px;
    padding: 9px 10px;
  }
  .guide-frame__summary { gap: 7px; }
  .guide-frame__summary > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .guide-frame__summary span { font-size: 9px; }
  .guide-frame__summary strong { font-size: 14px; }
  .guide-frame__summary em { font-size: 11px; }
  .guide-frame__actions { gap: 4px; }
  .guide-frame__actions button { min-width: 36px; height: 34px; padding-inline: 9px; font-size: 12px; }
  .guide-frame__actions button:first-child,
  .guide-frame__actions button:last-child { font-size: 22px; }
  .guide-frame__days { min-height: 50px; padding: 7px 10px; }
  .guide-frame__days button { min-width: 92px; height: 34px; padding-inline: 9px; }
  .guide-frame__days button strong { font-size: 11px; }
  .guide-frame__days button span { font-size: 11px; }
  .guide-board {
    --guide-channel-width: 0px;
    /* One complete programme per mobile row. The following programme remains
       off-canvas and is reached by horizontal drag instead of sharing a row. */
    --guide-card-width: calc(100vw - 28px);
    --guide-minute-width: 3px;
    --guide-mobile-media-height: calc(var(--guide-card-width) * .5625);
    --guide-mobile-program-height: calc(var(--guide-mobile-media-height) + 82px);
  }
  .guide-ruler { display: none; }
  .guide-row { grid-template-columns: minmax(var(--guide-track-min),1fr); }
  .guide-channel { display: none; }
  .guide-corner { padding: 7px 6px; }
  .guide-corner span { font-size: 12px; }
  .guide-corner small { font-size: 7px; }
  .guide-time { padding: 14px 7px 8px; font-size: 12px; }
  .guide-row,
  .guide-track { min-height: calc(var(--guide-mobile-program-height) + 18px); }
  .guide-track { grid-auto-rows: calc(var(--guide-mobile-program-height) + 18px); }
  .guide-channel__logo { width: 58px; height: 25px; }
  .guide-channel__logo .channel-logo { max-width: 57px; max-height: 23px; }
  .guide-channel strong { font-size: 10px; }
  .guide-channel small { display: none; }
  .guide-program__status { font-size: 8px; }
  .guide-program__alert { min-height: 23px; padding: 3px 6px; font-size: 9px; }
  .guide-program {
    align-self: start;
    height: var(--guide-mobile-program-height);
    border-color: transparent;
    background: transparent;
    box-shadow: none;
  }
  .guide-program:hover,
  .guide-program:focus-within,
  .guide-program.is-selected {
    border-color: transparent;
    box-shadow: none;
  }
  .guide-program__primary {
    height: 100%;
    padding-top: 10px;
    overflow: hidden;
    border: 1px solid #303a4a;
    background: #0d121b;
    box-shadow: 0 5px 14px rgba(0,0,0,.22);
  }
  .guide-program__media {
    flex: 0 0 var(--guide-mobile-media-height);
    height: var(--guide-mobile-media-height);
  }
  .guide-program:hover .guide-program__primary,
  .guide-program:focus-within .guide-program__primary { border-color: #7f8cff; }
  .guide-program.is-selected .guide-program__primary {
    border-color: #8b98ff;
    box-shadow: 0 0 0 1px rgba(139,152,255,.24);
  }
  .guide-program__meta {
    flex: 0 0 72px;
    min-height: 72px;
    padding: 5px 8px 10px;
  }
  .guide-program__copy h3 {
    display: -webkit-box;
    flex: 1 1 auto;
    max-height: 2.35em;
    font-size: 13px;
    line-height: 1.16;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .guide-program__copy strong { font-size: 12px; line-height: 1.1; }
  .guide-program__channel-logo {
    position: absolute;
    z-index: 6;
    top: 1px;
    right: 7px;
    width: 46px;
    height: 21px;
    display: grid;
    place-items: center;
    pointer-events: none;
  }
  .guide-program__channel-logo .channel-logo {
    width: auto;
    max-width: 42px;
    height: auto;
    max-height: 18px;
    object-fit: contain;
    filter: drop-shadow(0 0 7px rgba(0,0,0,.9)) drop-shadow(0 0 4px rgba(255,255,255,.18));
  }
  .guide-program__date-boundary { top: 12px; left: 7px; min-width: 66px; padding: 4px 6px; }
  .guide-program__date-boundary strong { font-size: 9px; }
  .guide-program__date-boundary em { font-size: 10px; }
  .guide-scroll::-webkit-scrollbar { height: 5px; }
  .guide-ruler__hint { margin-left: 50px; font-size: 10px; }
  .guide-scrubber { min-width: 84px; height: 36px; padding-inline: 6px; }
  .guide-scrubber i { font-size: 15px; }
  .guide-scrubber strong { font-size: 11px; }
}

@media (max-width: 389px) {
  .guide-board {
    --guide-channel-width: 0px;
    --guide-card-width: calc(100vw - 20px);
    --guide-minute-width: 2.8px;
    --guide-mobile-media-height: calc(var(--guide-card-width) * .5625);
    --guide-mobile-program-height: calc(var(--guide-mobile-media-height) + 79px);
  }
  .guide-row,
  .guide-track { min-height: calc(var(--guide-mobile-program-height) + 18px); }
  .guide-track { grid-auto-rows: calc(var(--guide-mobile-program-height) + 18px); }
  .guide-program__primary { padding-top: 9px; }
  .guide-program__meta { flex-basis: 70px; min-height: 70px; }
  .guide-program__copy h3 { font-size: 12px; }
  .guide-program__copy strong { font-size: 11px; }
}

.time-navigator[hidden] { display: none !important; }
.guide-frame__actions button.is-holding {
  border-color: #ff5b8c;
  color: #fff;
  background: rgba(92,13,40,.8);
  box-shadow: 0 0 18px rgba(255,45,102,.25);
}

@media (prefers-reduced-motion: reduce) {
  .guide-program__status.is-live i { animation: none; }
  .guide-program__alert > span { animation: none; }
}

/* show-177: readable schedule times and instant current-position restore. */
.guide-program {
  container-name: guide-program-card;
  container-type: inline-size;
}
.guide-program__copy strong.guide-program__time {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0;
  color: #f4f7ff;
  font: 760 13px/1.08 "Inter", "Pretendard", sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.guide-program.is-micro .guide-program__copy strong.guide-program__time {
  display: inline-flex;
}
.guide-program__alert {
  top: auto;
  right: 8px;
  bottom: 52px;
  left: auto;
  transform: none;
}
.guide-program__alert:hover,
.guide-program__alert:focus-visible { transform: translateY(-1px); }

@container guide-program-card (max-width: 235px) {
  .guide-program__copy strong.guide-program__time {
    flex-direction: column;
    align-items: flex-end;
    font-size: 13px;
    line-height: 1.02;
  }
}

/* Detail cards use the same single LIVE marker as the home cards. */
.onair-card--next.is-current-airing .next-card__topbar {
  grid-template-columns: minmax(0,1fr);
}
.onair-card--next.is-current-airing .onair-card__caption {
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: end;
}
.onair-card--next.is-current-airing .onair-card__caption .onair-card__next-label.is-live {
  grid-column: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #ff476c;
  font-size: .72rem;
  font-weight: 760;
  letter-spacing: .1em;
}
.onair-card--next.is-current-airing .onair-card__caption .onair-card__next-label.is-live i {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #ff3158;
  box-shadow: 0 0 8px rgba(255,49,88,.9);
  animation: live-pulse 1.35s ease-in-out infinite;
}
.onair-card--next.is-current-airing .onair-card__caption .onair-card__next-label.is-live::before {
  display: none;
  content: none;
}
.onair-card--next.is-current-airing .onair-card__caption h3 {
  grid-column: 2;
}
.onair-card--next.is-current-airing .onair-card__caption > strong {
  grid-column: 3;
  justify-self: end;
  align-self: end;
}
.onair-card--next.is-current-airing .onair-card__caption .live-progress {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .guide-program__copy strong.guide-program__time { font-size: 13px; }
}

@media (max-width: 640px) {
  .guide-program__alert {
    right: 7px;
    bottom: 58px;
  }
  .guide-program__copy strong.guide-program__time {
    flex-direction: column;
    align-items: flex-end;
    font-size: 13px;
    line-height: 1.02;
  }
}

/* Proportional guide typography: scale continuously with each programme card,
   instead of jumping between a few viewport breakpoints. */
.guide-program__status {
  font-size: clamp(10px, 2.7cqi, 13px);
}
.guide-program__copy h3 {
  font-size: clamp(14px, 4.65cqi, 22px);
  line-height: 1.16;
}
.guide-program__copy strong.guide-program__time {
  font-size: clamp(14px, 4.05cqi, 20px);
  line-height: 1.06;
}
@container guide-program-card (min-width: 320px) {
  .guide-program__copy strong.guide-program__time {
    flex-direction: row;
    align-items: baseline;
  }
}

@media (min-width: 641px) {
  @container guide-program-card (min-width: 320px) {
    .guide-program__status { font-size: 10px; }
    .guide-program__copy h3 { font-size: 16px; line-height: 1.18; }
    .guide-program__copy strong.guide-program__time { font-size: 15px; line-height: 1.04; }
  }
  @container guide-program-card (min-width: 420px) {
    .guide-program__status { font-size: 11px; }
    .guide-program__copy h3 { font-size: 18px; }
    .guide-program__copy strong.guide-program__time { font-size: 17px; }
  }
}

@media (max-width: 389px) {
  .guide-program__copy strong.guide-program__time { font-size: 12.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .onair-card--next.is-current-airing .onair-card__caption .onair-card__next-label.is-live i { animation: none; }
}

/* show-178: image-edge alerts and a stronger non-live focus vignette. */
.guide-program__alert {
  /* The media/meta boundary sits 66px above the card bottom. A 27px button
     at bottom:52px straddles that edge almost exactly. */
  right: auto;
  bottom: 52px;
  left: calc(min(100%, var(--guide-card-width)) - 8px);
  border-color: rgba(171,216,220,.38);
  background: rgba(7,14,21,.48);
  box-shadow:
    0 7px 18px rgba(0,0,0,.38),
    0 0 14px rgba(78,224,207,.1),
    inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(10px) saturate(1.08);
  backdrop-filter: blur(10px) saturate(1.08);
  inline-size: max-content;
  max-inline-size: none;
  flex-wrap: nowrap;
  white-space: nowrap;
  word-break: keep-all;
  font-size: 13px;
  line-height: 1;
  transform: translateX(-100%);
}
.guide-program__alert strong {
  display: block;
  color: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  word-break: keep-all;
  writing-mode: horizontal-tb;
}
.guide-program__alert-bell {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
}
.guide-program__alert:hover,
.guide-program__alert:focus-visible {
  background: rgba(9,27,31,.62);
  transform: translate(-100%,-1px);
}

.guide-program.is-upcoming .guide-program__media::after {
  opacity: 1;
  background:
    radial-gradient(ellipse 45% 94% at 50% 50%,
      rgba(2,5,10,.18) 0 42%,
      rgba(3,7,12,.3) 58%,
      rgba(2,5,10,.62) 80%,
      rgba(1,3,7,.88) 100%),
    linear-gradient(90deg,
      rgba(1,3,7,.8) 0%,
      rgba(3,7,12,.4) 22%,
      rgba(3,7,12,.16) 40%,
      rgba(3,7,12,.16) 60%,
      rgba(3,7,12,.4) 78%,
      rgba(1,3,7,.8) 100%);
}
.guide-program.is-upcoming:hover .guide-program__media::after,
.guide-program.is-upcoming:focus-within .guide-program__media::after,
.guide-program.is-upcoming.is-selected .guide-program__media::after {
  opacity: 0;
}

@media (max-width: 640px) {
  .guide-program__alert {
    right: auto;
    bottom: 58px;
    left: calc(min(100%, var(--guide-card-width)) - 7px);
    background: rgba(7,14,21,.5);
    font-size: 13px;
  }
}

/* show-212: reliable phone swiping and space-efficient readable mobile cards.
   Keep this at the end so older compact-card breakpoints cannot shrink it. */
@media (max-width: 640px) {
  .guide-scroll {
    touch-action: pan-y;
    overscroll-behavior-x: contain;
  }
  .guide-board {
    --guide-mobile-program-height: calc(var(--guide-mobile-media-height) + 68px);
  }
  .guide-row,
  .guide-track {
    min-height: calc(var(--guide-mobile-program-height) + 14px);
  }
  .guide-track {
    grid-auto-rows: calc(var(--guide-mobile-program-height) + 14px);
  }
  .guide-program { margin-block: 6px; }
  .guide-program__primary { padding-top: 7px; }
  .guide-program__meta {
    flex: 0 0 61px;
    min-height: 61px;
    padding: 4px 9px 9px;
    gap: 2px;
  }
  .guide-program__status {
    font-size: 11px;
    line-height: 1;
  }
  .guide-program__copy { gap: 10px; }
  .guide-program__copy h3 {
    font-size: clamp(18px, 5.25vw, 22px);
    line-height: 1.12;
  }
  .guide-program__copy strong.guide-program__time {
    font-size: clamp(17px, 4.75vw, 20px);
    line-height: 1.02;
  }
  .guide-program__progress { bottom: 4px; }
  .guide-program__alert {
    min-height: 25px;
    font-size: 11px;
  }
}

@media (max-width: 389px) {
  .guide-board {
    --guide-mobile-program-height: calc(var(--guide-mobile-media-height) + 68px);
  }
  .guide-program__copy h3 { font-size: 17px; }
  .guide-program__copy strong.guide-program__time { font-size: 16px; }
}

/* show-214: larger mobile controls and a guide-consistent selected day. */
.guide-frame__days button[aria-pressed="true"] {
  border-color: #7f8cff;
  background: linear-gradient(180deg,rgba(91,104,197,.24),rgba(35,42,79,.3));
  color: #f4f6ff;
  box-shadow: inset 0 0 0 1px rgba(142,154,255,.14),0 0 16px rgba(93,109,224,.14);
}
.guide-frame__days button[aria-pressed="true"] span,
.guide-frame__days button[aria-pressed="true"] strong { color: #bfc7ff; }
.guide-frame__days button:hover,
.guide-frame__days button:focus-visible { border-color: #7f8cff; }

@media (max-width: 640px) {
  .group-tabs { gap: 7px; }
  .group-tabs button {
    min-height: 42px;
    padding: 9px 16px;
    font-size: 16px;
    line-height: 1;
  }
  .data-note {
    font-size: 12px;
    line-height: 1.25;
  }
  .guide-frame__summary span { font-size: 12px; }
  .guide-frame__summary strong { font-size: 18px; }
  .guide-frame__summary em { font-size: 14px; }
  .guide-frame__actions button {
    min-width: 40px;
    height: 38px;
    font-size: 14px;
  }
  .guide-frame__days button {
    min-width: 104px;
    height: 40px;
  }
  .guide-frame__days button span,
  .guide-frame__days button strong { font-size: 14px; }
}

/* show-219: the boundary is pointed at while the header clock enlarges. */
.guide-corner { overflow: visible; }
.guide-boundary-marker {
  position: absolute;
  z-index: 12;
  right: 0;
  bottom: -3px;
  min-width: 74px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  pointer-events: none;
  transform: translateX(50%);
}
.guide-boundary-marker strong {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  color: #fff;
  font: 800 18px/1 "Inter","Pretendard",sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
  text-shadow: 0 0 12px rgba(255,70,128,.75),0 1px 3px #000;
  transform-origin: center bottom;
  transition: font-size .15s ease,text-shadow .15s ease,transform .15s ease;
}
.guide-boundary-marker strong small {
  color: #ff8bae;
  font: 800 11px/1 "Pretendard",sans-serif;
  letter-spacing: -.02em;
  white-space: nowrap;
  text-shadow: 0 0 9px rgba(255,70,128,.6),0 1px 3px #000;
}
.guide-boundary-marker strong span { font-size: inherit !important; line-height: inherit; white-space: nowrap; }
.guide-boundary-marker i {
  display: block;
  color: #ff6d98;
  font: 800 25px/.82 sans-serif;
  font-style: normal;
  text-shadow: 0 0 10px rgba(255,61,117,.75);
  animation: guide-boundary-tap 1.05s ease-in-out infinite;
}
@keyframes guide-boundary-tap {
  0%,100% { transform: translateY(-5px); opacity: .42; }
  48%,62% { transform: translateY(2px); opacity: 1; }
}
.guide-frame.is-guide-dragging .guide-boundary-marker strong {
  font-size: 24px;
  text-shadow: 0 0 17px rgba(255,70,128,.9),0 1px 4px #000;
  transform: scale(1.08);
}
.guide-frame.is-guide-dragging .guide-boundary-marker strong small { font-size: 13px; }
.guide-frame.is-guide-dragging .guide-boundary-marker strong span { font-size: inherit !important; }
.guide-ruler {
  z-index: 40;
  isolation: isolate;
  overflow: visible;
  transition: min-height .15s ease;
}
.guide-ruler.has-context-time { min-height: 76px; }
.guide-ruler .guide-corner { z-index: 50; overflow: visible; }
.guide-boundary-marker { z-index: 80; }
.guide-boundary-marker strong,
.guide-boundary-marker i { position: relative; z-index: 81; }
.guide-boundary-marker.is-moving strong {
  font-size: 30px !important;
  line-height: .94;
  transform: translateY(-7px) scale(1.08);
}
.guide-boundary-marker.is-moving strong span {
  font-size: inherit !important;
  line-height: inherit !important;
}
.guide-boundary-marker.is-moving strong small { font-size: 14px !important; }
.guide-ruler.has-context-time .guide-boundary-marker.is-moving { bottom: 1px; }
.guide-boundary-marker.is-moving i { z-index: 82; color: #ff477e; }
.guide-frame.is-guide-dragging .guide-boundary-marker i {
  animation-duration: .58s;
  color: #ff477e;
}
@media (max-width: 640px) {
  .guide-boundary-marker { right: 0; min-width: 88px; }
  .guide-boundary-marker strong { font-size: 17px; }
  .guide-boundary-marker strong small { font-size: 10px; }
  .guide-frame.is-guide-dragging .guide-boundary-marker strong { font-size: 22px; }
  .guide-frame.is-guide-dragging .guide-boundary-marker strong small { font-size: 12px; }
  .guide-boundary-marker.is-moving strong { font-size: 26px !important; }
  .guide-boundary-marker.is-moving strong small { font-size: 13px !important; }
}
@media (prefers-reduced-motion: reduce) {
.guide-boundary-marker i { animation: none; transform: none; opacity: 1; }
}

/* 전체/LIVE/방송군은 현재 방송만 한눈에 표시하고, 채널별에서만 시간 편성표를 사용합니다. */
.guide-frame.is-flat-list .guide-frame__toolbar,
.guide-frame.is-flat-list .guide-frame__days { display: none; }
.guide-frame.is-flat-list .guide-scroll { overflow: visible; }
.guide-frame.is-flat-list .guide-board { min-width: 0; transform: none; }
.guide-flat-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 14px;
  padding: 16px 0 0;
}
.guide-flat-grid .onair-card { min-width: 0; }
@media (max-width:1199px) { .guide-flat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width:767px) {
  .guide-flat-grid { grid-template-columns: 1fr; gap: 14px; padding-top: 12px; }
  .guide-flat-grid .onair-card { width: 100%; }
}

/* show-225: date-first weekly schedule. Seven dates stay visible in the index,
   while every day gets a full-width, readable card section. */
.guide-frame.is-weekly-list .guide-frame__toolbar,
.guide-frame.is-weekly-list .guide-frame__days { display:none; }
.guide-frame.is-weekly-list .guide-scroll { overflow:visible; }
.guide-frame.is-weekly-list .guide-board { min-width:0; transform:none; }
.weekly-board { --weekly-pad:clamp(12px,1.3vw,20px);padding-top:18px; }
.weekly-board__hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(16px,2vw,30px);
  padding:clamp(18px,1.8vw,26px) clamp(18px,2vw,30px);
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 8% 50%,rgba(102,113,255,.18),transparent 24%),
    linear-gradient(115deg,rgba(14,20,34,.98),rgba(8,13,22,.96) 60%,rgba(20,207,188,.08));
}
.weekly-board__identity { display:flex;align-items:center;gap:14px;min-width:0; }
.weekly-board__identity>span {
  width:clamp(64px,6vw,82px);height:48px;display:grid;place-items:center;flex:0 0 auto;
  background:radial-gradient(ellipse,rgba(255,255,255,.13),transparent 72%);
}
.weekly-board__identity img { max-width:74px;max-height:36px; }
.weekly-board__identity div { display:grid;gap:4px; }
.weekly-board__identity small { color:#99a5ff;font:800 11px/1 Inter,sans-serif;letter-spacing:.16em; }
.weekly-board__identity strong { color:#f7f8ff;font:800 clamp(21px,1.7vw,28px)/1.2 "Pretendard",sans-serif; }
.weekly-board__hero p { margin:0;color:#a7b0c1;font-size:clamp(13px,.9vw,15px); }
.weekly-date-index {
  position:sticky;top:74px;z-index:8;
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;
  padding:9px;
  border:1px solid var(--line);
  border-top:0;
  background:rgba(6,10,17,.92);backdrop-filter:blur(18px);
}
.weekly-date-index__item {
  min-width:0;min-height:68px;padding:9px 10px;
  display:grid;grid-template-columns:auto 1fr;align-content:center;gap:3px 7px;
  border:1px solid rgba(77,90,117,.48);background:linear-gradient(150deg,#101622,#0a0f18);
  color:#f2f5fb;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.weekly-date-index__item:hover,.weekly-date-index__item:focus-visible { border-color:#7d89ff;background:#151d2c;transform:translateY(-1px); }
.weekly-date-index__item.is-today { border-color:rgba(105,119,255,.6); }
.weekly-date-index__item.is-active {
  border-color:#7f8cff;
  background:linear-gradient(145deg,rgba(73,84,191,.34),rgba(11,17,28,.98));
  box-shadow:inset 0 0 0 1px rgba(127,140,255,.18),0 0 18px rgba(105,119,255,.1);
}
.weekly-date-index__item span { color:#8e99ad;font-size:11px;font-weight:750; }
.weekly-date-index__item.is-today span,.weekly-date-index__item.is-active span { color:#83f2dc; }
.weekly-date-index__item strong { grid-column:1/-1;font-size:clamp(14px,1vw,16px);line-height:1.2; }
.weekly-date-index__item small { grid-column:1/-1;color:#8e98aa;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums; }
.weekly-board__days { display:grid;gap:clamp(18px,2.4vw,34px);padding-top:clamp(18px,2.2vw,30px); }
.weekly-day {
  min-width:0;display:grid;grid-template-columns:clamp(138px,12vw,178px) minmax(0,1fr);
  border:1px solid rgba(73,86,111,.48);background:#070b12;scroll-margin-top:174px;
}
.weekly-day.is-today { border-color:rgba(105,119,255,.72);box-shadow:0 0 0 1px rgba(105,119,255,.08),0 16px 44px rgba(0,0,0,.18); }
.weekly-day__header {
  min-width:0;padding:clamp(18px,2vw,28px) 16px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;
  border-right:1px solid rgba(87,99,124,.4);
  background:linear-gradient(155deg,rgba(25,32,51,.98),rgba(9,14,23,.98) 64%);
}
.weekly-day.is-today .weekly-day__header { background:linear-gradient(155deg,rgba(62,72,151,.34),rgba(10,15,25,.98) 68%); }
.weekly-day__header div { display:grid;gap:3px; }
.weekly-day__header span { color:#7ff0d8;font-size:clamp(12px,.85vw,14px);font-weight:800; }
.weekly-day__header strong { color:#fff;font-size:clamp(21px,1.65vw,27px);font-weight:850;line-height:1.08; }
.weekly-day__header time { margin-top:3px;color:#d9deeb;font-size:clamp(15px,1.05vw,17px);font-weight:800;font-variant-numeric:tabular-nums; }
.weekly-day__header small { color:#8792a7;font-size:clamp(11px,.8vw,13px);font-weight:650;line-height:1.35; }
.weekly-day__programs {
  min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,225px),1fr));
  align-content:start;gap:clamp(9px,.9vw,14px);padding:var(--weekly-pad);
 }
.weekly-program {
  position:relative;min-width:0;overflow:hidden;
  border:1px solid rgba(76,88,112,.48);
  background:linear-gradient(180deg,#0c121c,#090e16);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.weekly-program:hover,.weekly-program:focus-within { z-index:2;border-color:var(--channel-accent);transform:translateY(-2px);box-shadow:0 9px 22px rgba(0,0,0,.34); }
.weekly-program.is-live { border-color:#ff376f;box-shadow:inset 0 0 0 1px rgba(255,55,111,.16); }
.weekly-program.is-past .weekly-program__media { filter:brightness(.62) saturate(.78); }
.weekly-program.is-past:hover .weekly-program__media { filter:brightness(.9) saturate(.95); }
.weekly-program__primary { display:block;color:inherit;text-decoration:none; }
.weekly-program__media { position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;background:#070b12; }
.weekly-program__media img.onair-card__poster {
  position:static;inset:auto;transform:none;
  width:100%;height:100%;max-width:none;max-height:none;
  object-fit:cover;object-position:center;display:block;filter:none;
}
.weekly-program__media .poster-placeholder { width:100%;height:100%;min-height:0; }
.weekly-program__body { min-width:0;min-height:78px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:6px 9px;padding:10px 11px 12px; }
.weekly-program__status { grid-column:1/-1;color:#8c99ff;font:750 clamp(10px,.72vw,11px)/1 Inter,sans-serif;letter-spacing:.08em; }
.weekly-program__status i { display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor; }
.weekly-program__status.is-live { color:#ff3f74; }
.weekly-program__body strong { min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#f5f7fc;font-size:clamp(15px,1.04vw,17px);font-weight:800;line-height:1.28; }
.weekly-program__body time { align-self:end;color:#d6dce8;font:750 clamp(13px,.84vw,14px)/1.25 Inter,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap; }
.weekly-program__alert {
  position:absolute;right:6px;top:6px;z-index:3;
  min-height:30px;padding:5px 9px;border:1px solid rgba(255,208,54,.45);
  border-radius:999px;background:rgba(20,20,17,.78);backdrop-filter:blur(8px);
  color:#ffdc66;font-size:12px;font-weight:700;white-space:nowrap;
}
.weekly-program__alert:hover { border-color:#ffe27e;background:rgba(64,51,12,.92); }
.weekly-day__empty { min-height:150px;display:grid;place-items:center;color:#7f899c;font-size:14px; }
.weekly-loading { min-height:360px;display:grid;place-content:center;justify-items:center;gap:9px;border:1px solid var(--line);color:#8d96aa; }
.weekly-loading i { width:28px;height:28px;border:2px solid #273148;border-top-color:#7f8cff;border-radius:50%;animation:weekly-spin .8s linear infinite; }
.weekly-loading strong { color:#f3f5fb;font-size:16px; }
.weekly-loading span { font-size:12px; }
@keyframes weekly-spin { to { transform:rotate(360deg); } }

@media (max-width:767px) {
  .weekly-board { padding-top:12px; }
  .weekly-board__hero { align-items:center;padding:16px 14px; }
  .weekly-board__identity>span { width:56px;height:38px; }
  .weekly-board__identity img { max-width:52px;max-height:28px; }
  .weekly-board__identity small { font-size:10px; }
  .weekly-board__identity strong { font-size:20px; }
  .weekly-board__hero p { display:none; }
  .weekly-date-index { position:sticky;top:64px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px;scrollbar-width:none; }
  .weekly-date-index::-webkit-scrollbar { display:none; }
  .weekly-date-index__item { flex:0 0 126px;min-height:68px;scroll-snap-align:start; }
  .weekly-date-index__item strong { font-size:15px; }
  .weekly-board__days { gap:20px;padding-top:18px; }
  .weekly-day { display:block;width:100%;scroll-margin-top:148px; }
  .weekly-day__header { min-height:84px;padding:14px 15px;border-right:0;border-bottom:1px solid rgba(87,99,124,.4);display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 14px; }
  .weekly-day__header div { grid-row:1/3; }
  .weekly-day__header strong { font-size:23px; }
  .weekly-day__header time { margin:0;font-size:17px;text-align:right; }
  .weekly-day__header small { text-align:right;font-size:12px; }
  .weekly-day__programs { grid-template-columns:1fr;gap:10px;padding:10px; }
  .weekly-program__body { min-height:82px;padding:10px 11px 12px; }
  .weekly-program__status { font-size:12px; }
  .weekly-program__body strong { font-size:17px; }
  .weekly-program__body time { font-size:14px; }
  .weekly-program__alert { top:5px;right:5px; }
}
@media (max-width:389px) {
  .weekly-date-index__item { flex-basis:118px; }
  .weekly-day__programs { padding:8px; }
  .weekly-program__body { grid-template-columns:minmax(0,1fr);gap:5px;padding:10px; }
  .weekly-program__body time { justify-self:start; }
}
@media (min-width:1600px) { .weekly-day__programs { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) { .weekly-loading i { animation:none; } }

/* show-226: WEEK ATLAS — 날짜 × 시간대 텍스트 주간 편성 */
.week-atlas__hero {
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:22px 26px;border:1px solid var(--line);
  background:radial-gradient(circle at 10% 50%,rgba(108,118,255,.16),transparent 28%),linear-gradient(115deg,#0e1522,#080d16 64%,rgba(20,207,188,.07));
}
.week-atlas__identity{display:flex;align-items:center;gap:15px;min-width:0}.week-atlas__identity>span{width:76px;height:48px;display:grid;place-items:center;flex:0 0 auto;background:radial-gradient(ellipse,rgba(255,255,255,.12),transparent 72%)}
.week-atlas__identity img{max-width:72px;max-height:36px}.week-atlas__identity div{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:4px 10px}.week-atlas__identity small{grid-column:1/-1;color:#98a3ff;font:800 12px/1 Inter,sans-serif;letter-spacing:.16em}.week-atlas__identity strong{color:#f7f9ff;font:850 clamp(22px,1.8vw,30px)/1.15 "Pretendard",sans-serif}.week-atlas__identity p{margin:0 0 2px;color:#9da8ba;font-size:14px}.week-atlas__count{display:grid;justify-items:end;flex:0 0 auto}.week-atlas__count strong{color:#fff;font:850 clamp(26px,2.2vw,36px)/1 Inter,sans-serif}.week-atlas__count span{margin-top:5px;color:#8f9aae;font-size:13px;font-weight:700}
.weekly-board .weekly-date-index{top:72px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:8px;border-top:0}
.weekly-board .weekly-date-index__item{position:relative;min-height:64px;grid-template-columns:1fr auto auto;grid-template-rows:auto auto;gap:4px 7px;padding:9px 11px}
.weekly-board .weekly-date-index__item span{font-size:12px}.weekly-board .weekly-date-index__item strong{grid-column:auto;font-size:16px}.weekly-board .weekly-date-index__item small{grid-column:auto;color:#c3cad8;font-size:13px}.weekly-board .weekly-date-index__item em{grid-column:3;grid-row:1/-1;align-self:center;min-width:27px;padding:5px 6px;border-radius:999px;background:#171f2d;color:#b9c2d2;font:750 12px/1 Inter,sans-serif;text-align:center;font-style:normal}
.weekly-board .weekly-date-index__item.is-active{border-color:#7e89ff;background:linear-gradient(145deg,rgba(77,89,202,.32),rgba(11,17,28,.98));box-shadow:inset 0 0 0 1px rgba(127,140,255,.16)}
.week-atlas__matrix{border:1px solid var(--line);border-top:0;background:#070b12}
.week-atlas__head,.weekly-board .weekly-day{display:grid;grid-template-columns:clamp(136px,10vw,168px) repeat(4,minmax(0,1fr))}
.week-atlas__head{position:sticky;top:145px;z-index:7;min-height:62px;background:rgba(9,14,23,.96);backdrop-filter:blur(15px);border-bottom:1px solid #2a3447}
.week-atlas__head>div{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 13px;border-left:1px solid #222d3f;color:#f4f7fd}.week-atlas__head>div:first-child{border-left:0;color:#9aa5b7}.week-atlas__head strong{font-size:16px}.week-atlas__head span{color:#8f9bad;font:700 12px/1 Inter,sans-serif;font-variant-numeric:tabular-nums}
.weekly-board .weekly-day{min-width:0;border:0;border-top:1px solid #263044;background:#080d15;scroll-margin-top:210px;content-visibility:auto;contain-intrinsic-size:460px}
.weekly-board .weekly-day.is-today{border-color:#515d91;box-shadow:none}.weekly-board .weekly-day__header{position:sticky;left:0;z-index:3;min-width:0;padding:20px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;border:0;border-right:1px solid #263044;background:linear-gradient(150deg,#111a29,#0a1019)}
.weekly-board .weekly-day.is-today .weekly-day__header{background:linear-gradient(150deg,rgba(66,77,163,.33),#0a1019 72%)}.weekly-board .weekly-day__header span{color:#8e99ff;font-size:13px;font-weight:800}.weekly-board .weekly-day__header strong{color:#fff;font-size:clamp(21px,1.55vw,26px);font-weight:850;line-height:1.08}.weekly-board .weekly-day__header time{margin:2px 0 0;color:#dce2ef;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.weekly-board .weekly-day__header small{color:#8b97aa;font-size:13px;font-weight:700}
.week-band{min-width:0;padding:8px 7px 10px;border-left:1px solid #222c3e;background:#080d15}.week-band>header{display:none}.week-band ol{list-style:none;margin:0;padding:0}.week-slot{position:relative;min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;border-bottom:1px solid rgba(91,105,132,.24);background:transparent;transition:background .16s ease,box-shadow .16s ease}.week-slot:last-child{border-bottom:0}.week-slot:hover,.week-slot:focus-within{z-index:2;background:#131d2c;box-shadow:inset 3px 0 0 var(--channel-accent)}.week-slot.is-live{background:linear-gradient(90deg,rgba(255,47,105,.12),transparent 72%);box-shadow:inset 3px 0 0 #ff2f69}.week-slot.is-past{background:rgba(3,6,11,.24)}.week-slot.is-past time{color:#6f7b90}.week-slot__primary{min-width:0;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:9px;padding:9px 6px 9px 9px;color:inherit;text-decoration:none}.week-slot__primary time{color:#cbd3e1;font:750 13px/1.25 Inter,sans-serif;font-variant-numeric:tabular-nums}.week-slot__primary strong{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#f4f6fb;font-size:14px;font-weight:750;line-height:1.28}.week-slot__live{grid-column:1/-1;margin-top:2px;color:#ff4b7e;font:750 11px/1 Inter,sans-serif;letter-spacing:.06em}.week-slot__live i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.week-slot__alert{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(98,224,207,.38);border-radius:10px;background:rgba(9,25,28,.64);color:#7ce6d6;font-size:17px}.week-slot__alert:hover,.week-slot__alert:focus-visible{border-color:#83f1df;background:#123238;color:#d7fff8}.week-slot__spacer{width:36px}.week-band__empty{min-height:48px;display:grid;place-items:center;color:#667288;font-size:13px}

@media (max-width:1199px) and (min-width:768px){.week-atlas__head{display:none}.weekly-board .weekly-day{grid-template-columns:repeat(4,minmax(0,1fr))}.weekly-board .weekly-day__header{grid-column:1/-1;position:static;min-height:68px;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px 12px;padding:13px 16px;border-right:0;border-bottom:1px solid #263044}.weekly-board .weekly-day__header strong{font-size:22px}.weekly-board .weekly-day__header time{margin:0}.week-band>header{min-height:48px;display:flex;align-items:center;gap:8px;padding:7px 8px;border-bottom:1px solid #263044}.week-band>header strong{font-size:15px}.week-band>header time{color:#8f9bad;font-size:12px}.week-band>header span{margin-left:auto;color:#778398;font-size:12px}.week-slot__primary{grid-template-columns:72px minmax(0,1fr)}.week-slot__primary time{font-size:12px}.week-slot__primary strong{font-size:13px}}

@media (max-width:767px){.week-atlas__hero{padding:15px 14px}.week-atlas__identity>span{width:54px;height:38px}.week-atlas__identity img{max-width:52px;max-height:28px}.week-atlas__identity div{display:grid;grid-template-columns:1fr}.week-atlas__identity small{font-size:10px}.week-atlas__identity strong{font-size:20px}.week-atlas__identity p,.week-atlas__count{display:none}.weekly-board .weekly-date-index{position:sticky;top:63px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;overflow:visible;padding:6px}.weekly-board .weekly-date-index__item{min-width:0;min-height:52px;padding:5px 2px;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;text-align:center;gap:2px}.weekly-board .weekly-date-index__item span{display:none}.weekly-board .weekly-date-index__item strong{grid-column:1;font-size:14px}.weekly-board .weekly-date-index__item small{grid-column:1;font-size:12px}.weekly-board .weekly-date-index__item em{display:none}.week-atlas__head{display:none}.weekly-board .weekly-day{display:none;width:100%;scroll-margin-top:132px;contain:none}.weekly-board .weekly-day.is-active{display:block}.weekly-board .weekly-day__header{position:static;min-height:70px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;border-right:0;border-bottom:1px solid #303b50}.weekly-board .weekly-day__header span{font-size:12px}.weekly-board .weekly-day__header strong{font-size:23px}.weekly-board .weekly-day__header time{grid-column:2;grid-row:1/3;margin:0;font-size:16px}.weekly-board .weekly-day__header small{grid-column:2;font-size:12px;text-align:right}.week-band{padding:0;border-left:0;border-bottom:1px solid #2a3447}.week-band>header{min-height:48px;display:flex;align-items:center;gap:9px;padding:9px 12px;background:#0e1521;border-bottom:1px solid #253044}.week-band>header strong{color:#fff;font-size:16px}.week-band>header time{color:#9da9ba;font-size:13px;font-weight:700}.week-band>header span{margin-left:auto;color:#7f8b9e;font-size:12px}.week-slot{min-height:58px;grid-template-columns:minmax(0,1fr) 46px}.week-slot__primary{grid-template-columns:72px minmax(0,1fr);gap:9px;padding:10px 5px 10px 12px}.week-slot__primary time{font-size:14px}.week-slot__primary strong{font-size:16px;line-height:1.3}.week-slot__live{font-size:12px}.week-slot__alert{width:42px;height:42px;font-size:18px}.week-band__empty{min-height:54px;font-size:14px}}

@media (max-width:374px){.weekly-board .weekly-date-index__item strong{font-size:13px}.weekly-board .weekly-date-index__item small{font-size:11px}.week-slot__primary{grid-template-columns:66px minmax(0,1fr)}.week-slot__primary strong{font-size:15px}}

/* show-227: TODAY STAGE + channel-by-time text EPG */
.guide-frame.is-weekly-list{border:0;background:transparent;overflow:visible}
.guide-frame.is-weekly-list .guide-scroll{overflow:visible}
.guide-frame.is-weekly-list .today-guide{min-width:0;transform:none}
.today-guide{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;min-width:0;gap:clamp(20px,2.6vw,34px);padding-top:clamp(12px,1.5vw,20px);overflow:hidden}
.today-guide>*{min-width:0;max-width:100%}
.today-guide__spotlight{max-width:1180px;width:100%;margin:0 auto}
.today-spotlight{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);min-height:clamp(248px,22vw,330px);overflow:hidden;border:1px solid #30394a;background:linear-gradient(125deg,#111725,#080d15 72%);box-shadow:0 24px 70px rgba(0,0,0,.25);touch-action:pan-y;user-select:none}
.today-spotlight__visual{position:relative;min-width:0;overflow:hidden;background:#050810}
.today-spotlight__artwork,.today-spotlight__placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.today-spotlight__backdrop{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(24px) brightness(.42) saturate(.82);transform:scale(1.04)}
.today-spotlight__image{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.44))}
.today-spotlight__placeholder{background:radial-gradient(circle at 50% 48%,rgba(115,127,255,.16),transparent 34%),#080d17;color:#f4f6ff;text-align:center}
.today-spotlight__placeholder span{font:850 clamp(24px,3vw,42px)/1 Inter,sans-serif;letter-spacing:.18em}.today-spotlight__placeholder small{margin-top:10px;color:#707b91;font:800 11px/1 Inter,sans-serif;letter-spacing:.16em}
.today-spotlight__channel{position:absolute;z-index:3;right:16px;top:14px;display:grid;place-items:center;min-width:72px;min-height:40px;padding:7px 10px;background:radial-gradient(ellipse,rgba(255,255,255,.34),rgba(255,255,255,.05) 58%,transparent 75%);filter:drop-shadow(0 2px 6px rgba(0,0,0,.7))}
.today-spotlight__channel img{max-width:76px;max-height:30px}
.today-spotlight__state{position:absolute;z-index:3;left:16px;top:16px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(130,144,172,.35);background:rgba(7,11,19,.74);backdrop-filter:blur(10px);color:#d8deea;font:750 12px/1 Inter,sans-serif;letter-spacing:.04em}
.today-spotlight__state i{width:7px;height:7px;border-radius:50%;background:#8c99ff;box-shadow:0 0 10px currentColor}.today-spotlight.is-live .today-spotlight__state{border-color:rgba(255,53,106,.45);color:#fff;background:rgba(72,7,27,.72)}.today-spotlight.is-live .today-spotlight__state i{background:#ff2f68;box-shadow:0 0 11px #ff2f68}
.today-spotlight__nav{position:absolute;z-index:5;top:50%;width:44px;height:58px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(159,170,196,.34);background:rgba(5,9,16,.56);backdrop-filter:blur(9px);color:#fff;font:300 34px/1 Inter,sans-serif;opacity:.35;transition:opacity .18s ease,background .18s ease,transform .18s ease}.today-spotlight__nav.is-prev{left:10px}.today-spotlight__nav.is-next{right:10px}.today-spotlight:hover .today-spotlight__nav,.today-spotlight:focus-within .today-spotlight__nav,.today-spotlight.is-swiping .today-spotlight__nav{opacity:1}.today-spotlight__nav:hover,.today-spotlight__nav:focus-visible{background:rgba(27,37,60,.86);transform:translateY(-50%) scale(1.04)}
.today-spotlight__swipe-hint{position:absolute;z-index:4;left:50%;bottom:12px;transform:translateX(-50%);padding:5px 9px;border:1px solid rgba(155,166,193,.22);background:rgba(5,9,16,.54);backdrop-filter:blur(8px);color:#d4dbea;font:700 11px/1 Inter,sans-serif;letter-spacing:.05em;opacity:.58;pointer-events:none}
.today-spotlight__body{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,3vw,48px);overflow:hidden}
.today-spotlight__body:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:linear-gradient(transparent,var(--spotlight-accent),transparent);opacity:.75}
.today-spotlight__body>p{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:#a4aec1}.today-spotlight__body>p span{color:#8f9bff;font:800 11px/1 Inter,sans-serif;letter-spacing:.18em}.today-spotlight__body>p strong{font-size:13px}
.today-spotlight__body h2{margin:0;color:#f7f9ff;font:850 clamp(30px,3.1vw,52px)/1.06 "Pretendard",sans-serif;letter-spacing:-.045em;overflow-wrap:anywhere}
.today-spotlight__schedule{display:flex;align-items:center;gap:12px;margin-top:20px;color:#b1bbcd}.today-spotlight__schedule time{color:#fff;font:800 clamp(17px,1.35vw,21px)/1 Inter,sans-serif;font-variant-numeric:tabular-nums}.today-spotlight__schedule span{font-size:13px}
.today-spotlight__actions{display:flex;align-items:center;gap:9px;margin-top:28px}.today-spotlight__actions a,.today-spotlight__alert{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:1px solid #46506a;background:#111827;color:#eef2fa;font-size:14px;font-weight:750;text-decoration:none}.today-spotlight__actions a:hover,.today-spotlight__actions a:focus-visible{border-color:#7c89ff;background:#1a2440}.today-spotlight__alert{border-color:rgba(91,222,204,.42);background:rgba(9,37,39,.66);color:#8af0df}.today-spotlight__alert:hover,.today-spotlight__alert:focus-visible{border-color:#82f4e2;background:#113b3e;color:#e4fffa}
.today-spotlight__progress{position:absolute;left:clamp(26px,3vw,48px);right:clamp(26px,3vw,48px);bottom:20px;height:3px;background:#252e3e;overflow:hidden}.today-spotlight__progress i{display:block;width:var(--progress,0%);height:100%;background:#6776ff}.today-spotlight__progress.is-active i{min-width:5%;background:#ff2e68;box-shadow:0 0 12px rgba(255,46,104,.55)}
.today-guide__heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 2px}.today-guide__heading span{color:#909cff;font:800 11px/1 Inter,sans-serif;letter-spacing:.18em}.today-guide__heading h2{margin:7px 0 3px;color:#f6f8fd;font:850 clamp(25px,2.2vw,36px)/1.1 "Pretendard",sans-serif;letter-spacing:-.035em}.today-guide__heading p{margin:0;color:#8f9aab;font-size:14px}.today-guide__heading>button{min-width:94px;min-height:44px;border:1px solid #6573bb;background:linear-gradient(145deg,rgba(80,91,190,.34),rgba(14,21,34,.96));color:#fff;font-size:14px;font-weight:800}.today-guide__heading>button:hover,.today-guide__heading>button:focus-visible{border-color:#8e99ff;box-shadow:0 0 0 3px rgba(112,125,255,.12)}
.today-epg{width:100%;max-width:100%;min-width:0;overflow:hidden;border:1px solid #2a3445;background:#070c14;box-shadow:0 18px 48px rgba(0,0,0,.22)}
.today-epg__scroll{position:relative;width:100%;max-width:100%;min-width:0;max-height:min(68vh,760px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#4d5b75 #111824;scrollbar-width:thin;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.today-epg__canvas{position:relative;width:calc(128px + var(--today-lane-width));min-width:100%;background:#080d15}
.today-epg__axis,.today-epg__row{display:grid;grid-template-columns:128px var(--today-lane-width)}
.today-epg__axis{position:sticky;top:0;z-index:12;height:54px;border-bottom:1px solid #344055;background:rgba(8,13,22,.96);backdrop-filter:blur(13px)}
.today-epg__corner{position:sticky;left:0;z-index:14;display:flex;flex-direction:column;justify-content:center;padding:9px 14px;border-right:1px solid #344055;background:#0d1420}.today-epg__corner strong{color:#fff;font-size:14px}.today-epg__corner span{margin-top:3px;color:#7f8a9d;font:700 10px/1 Inter,sans-serif;letter-spacing:.09em}
.today-epg__ticks{position:relative;height:100%;background:linear-gradient(90deg,rgba(91,105,132,.18) 1px,transparent 1px);background-size:141px 100%}
.today-epg__tick{position:absolute;top:0;height:100%;padding:19px 0 0 8px;border-left:1px solid rgba(95,108,135,.28);color:#aeb8ca;font:750 13px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;transform:translateX(-1px)}.today-epg__tick.is-half{border-color:rgba(76,88,111,.14)}.today-epg__tick i{display:none}
.today-epg__now-label{position:absolute;z-index:4;top:5px;transform:translateX(-50%);padding:4px 7px;border:1px solid rgba(255,54,107,.62);background:#5c0c2a;color:#fff;font:750 11px/1 Inter,sans-serif;white-space:nowrap;box-shadow:0 0 16px rgba(255,37,101,.24)}
.today-epg__row{position:relative;min-height:76px;border-bottom:1px solid #273144}.today-epg__row:last-child{border-bottom:0}
.today-epg__channel{position:sticky;left:0;z-index:8;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;border-right:1px solid #2e394d;background:linear-gradient(115deg,#0e1623,#0a1019);box-shadow:8px 0 14px rgba(0,0,0,.18)}.today-epg__channel span{height:31px;display:grid;place-items:center}.today-epg__channel img{max-width:76px;max-height:29px}.today-epg__channel strong{max-width:100%;overflow:hidden;color:#dce2ee;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.today-epg__lane{position:relative;height:76px;background:linear-gradient(90deg,rgba(82,95,119,.12) 1px,transparent 1px);background-size:141px 100%}
.today-epg__now-line{position:absolute;z-index:5;top:0;bottom:0;width:2px;background:#ff2e68;box-shadow:0 0 10px rgba(255,46,104,.72);pointer-events:none}
.today-program{position:absolute;top:5px;bottom:5px;min-width:0;overflow:hidden;border:1px solid #344056;background:#101827;transition:border-color .15s ease,background .15s ease,filter .15s ease,box-shadow .15s ease}
.today-program:hover,.today-program:focus-within,.today-program.is-selected{z-index:7;border-color:var(--channel-accent);background:#182237;box-shadow:0 0 0 1px color-mix(in srgb,var(--channel-accent) 42%,transparent),0 9px 24px rgba(0,0,0,.34)}
.today-program.is-past{background:#0b111b}.today-program.is-past .today-program__select{opacity:.58}.today-program.is-past:hover .today-program__select,.today-program.is-past:focus-within .today-program__select{opacity:1}
.today-program.is-live{border-color:#ff3a70;background:linear-gradient(135deg,rgba(93,15,45,.88),#14192a 72%);box-shadow:inset 3px 0 0 #ff2f68}
.today-program__select{width:100%;height:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;align-content:center;align-items:center;gap:5px 8px;padding:8px 10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.today-program__select time{color:#aeb9ca;font:750 12px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}.today-program__select strong{grid-column:1/-1;min-width:0;overflow:hidden;color:#f3f6fc;font-size:14px;font-weight:750;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.today-program__select>span{justify-self:start;display:inline-flex;align-items:center;gap:4px;color:#ff5a88;font:750 10px/1 Inter,sans-serif}.today-program__select>span i{width:5px;height:5px;border-radius:50%;background:#ff2f68;box-shadow:0 0 8px #ff2f68}
.today-program__alert{position:absolute;right:5px;top:5px;z-index:3;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(101,226,209,.36);background:rgba(6,24,28,.84);color:#78e7d5;font-size:15px;cursor:pointer}.today-program__alert:hover,.today-program__alert:focus-visible{border-color:#7df2df;background:#12383c;color:#effffc}.today-program:has(.today-program__alert) .today-program__select{padding-right:38px}

@media (max-width:900px){
  .today-spotlight{grid-template-columns:1fr;max-width:720px}.today-spotlight__visual{aspect-ratio:16/9}.today-spotlight__body{padding:22px 24px 34px}.today-spotlight__body:before{display:none}.today-spotlight__body h2{font-size:clamp(27px,7vw,42px)}.today-spotlight__progress{left:24px;right:24px;bottom:15px}
  .today-guide__heading p{display:none}.today-epg__canvas{width:calc(92px + var(--today-lane-width))}.today-epg__axis,.today-epg__row{grid-template-columns:92px var(--today-lane-width)}.today-epg__channel img{max-width:66px;max-height:26px}
}
@media (max-width:767px){
  .guide-frame.is-weekly-list{margin-inline:0}.today-guide{gap:18px;padding-top:8px}.today-guide__spotlight{padding:0 8px}.today-spotlight{min-height:0}.today-spotlight__channel{right:8px;top:8px;min-width:58px;min-height:34px;padding:5px 7px}.today-spotlight__channel img{max-width:60px;max-height:25px}.today-spotlight__state{left:8px;top:8px;padding:6px 8px;font-size:11px}.today-spotlight__body{padding:17px 16px 29px}.today-spotlight__body>p{margin-bottom:8px}.today-spotlight__body h2{font-size:clamp(24px,7.5vw,34px)}.today-spotlight__schedule{margin-top:12px;gap:9px;flex-wrap:wrap}.today-spotlight__schedule time{font-size:17px}.today-spotlight__actions{margin-top:16px}.today-spotlight__actions a,.today-spotlight__alert{min-height:40px;padding:8px 12px;font-size:13px}.today-spotlight__progress{left:16px;right:16px;bottom:11px}
  .today-guide__heading{padding:0 10px}.today-guide__heading h2{font-size:25px}.today-guide__heading>button{min-width:82px;min-height:42px}.today-epg{border-inline:0}.today-epg__scroll{max-height:64vh}.today-epg__canvas{width:calc(76px + var(--today-lane-width))}.today-epg__axis,.today-epg__row{grid-template-columns:76px var(--today-lane-width)}.today-epg__axis{height:50px}.today-epg__corner{padding:7px}.today-epg__corner strong{font-size:13px}.today-epg__corner span{font-size:9px}.today-epg__row{min-height:72px}.today-epg__channel{gap:3px;padding:6px 4px}.today-epg__channel span{height:27px}.today-epg__channel img{max-width:60px;max-height:24px}.today-epg__channel strong{font-size:10px}.today-epg__lane{height:72px}.today-program{top:4px;bottom:4px}.today-program__select{padding:7px 8px;gap:4px 6px}.today-program__select time{font-size:12px}.today-program__select strong{font-size:14px}.today-program__alert{top:4px;right:4px;width:27px;height:27px}
}

@media (max-width:767px){.today-spotlight__nav{width:38px;height:48px;font-size:29px;opacity:.72}.today-spotlight__nav.is-prev{left:6px}.today-spotlight__nav.is-next{right:6px}.today-spotlight__swipe-hint{bottom:7px;font-size:10px}}
@media (max-width:389px){.today-guide__heading h2{font-size:22px}.today-guide__heading>button{min-width:74px;padding-inline:8px}.today-spotlight__schedule span{font-size:12px}}
@media (prefers-reduced-motion:reduce){.today-program,.today-spotlight__progress i{transition:none}.today-epg__scroll{scroll-behavior:auto}}

/* show-230: compact live rail + channel-first text schedule */
.today-guide--compact{gap:clamp(20px,2.4vw,32px);padding:clamp(12px,1.5vw,20px) 0 6px;overflow:visible}
.live-now,.today-text-guide{min-width:0;border:1px solid #283246;background:#080d16;box-shadow:0 18px 48px rgba(0,0,0,.2)}
.live-now{padding:clamp(16px,1.7vw,24px) 0 clamp(16px,1.8vw,24px);overflow:hidden}
.live-now__header,.today-text-guide__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 clamp(16px,2vw,28px)}
.live-now__header>div:first-child>span,.today-text-guide__header>div>span{display:flex;align-items:center;gap:7px;color:#ff5f89;font:800 11px/1 Inter,sans-serif;letter-spacing:.16em}
.live-now__header>div:first-child>span i,.today-text-guide__header>button i{width:7px;height:7px;border-radius:50%;background:#ff336d;box-shadow:0 0 11px rgba(255,51,109,.85)}
.live-now__header h2,.today-text-guide__header h2{margin:7px 0 0;color:#f7f9fd;font:850 clamp(24px,2.1vw,34px)/1.06 "Pretendard",sans-serif;letter-spacing:-.035em}
.live-now__header p,.today-text-guide__header p{margin:6px 0 0;color:#8d98aa;font-size:13px}
.live-now__tools{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.live-now__tools time{margin-right:4px;color:#b9c3d2;font:750 12px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.live-now__tools button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #3a465d;background:#111927;color:#f4f7fd;font:300 28px/1 Inter,sans-serif;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.live-now__tools button:hover,.live-now__tools button:focus-visible{border-color:#7f8cff;background:#1a2440;outline:0;transform:translateY(-1px)}
.live-now__rail{display:flex;gap:12px;margin-top:16px;padding:0 clamp(16px,2vw,28px) 5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#46536a transparent;-webkit-overflow-scrolling:touch}
.live-now-card{position:relative;flex:0 0 clamp(218px,18vw,248px);min-width:0;scroll-snap-align:center;scroll-margin-inline:22px}
.live-now-card__button{position:relative;width:100%;aspect-ratio:16/9;display:block;overflow:hidden;border:1px solid #354158;background:#0b111b;color:#fff;text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.22);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.live-now-card__button:after{content:"";position:absolute;z-index:2;inset:34% 0 0;background:linear-gradient(transparent,rgba(3,7,13,.74) 54%,rgba(3,7,13,.98))}
.live-now-card:hover .live-now-card__button,.live-now-card__button:focus-visible,.live-now-card.is-selected .live-now-card__button{border-color:var(--channel-accent);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--channel-accent) 42%,transparent),0 14px 32px rgba(0,0,0,.3);transform:translateY(-2px)}
.live-now-card__media,.live-now-card__placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.live-now-card__backdrop{position:absolute;inset:-9%;width:118%;height:118%;object-fit:cover;filter:blur(15px) brightness(.58) saturate(.9);transform:scale(1.03)}
.live-now-card__image{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.live-now-card__placeholder{background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--channel-accent) 23%,transparent),transparent 54%),#0c1320}
.live-now-card__placeholder img{max-width:88px;max-height:38px}.live-now-card__placeholder small{position:absolute;top:63%;color:#8e9aac;font:750 10px/1 Inter,sans-serif;letter-spacing:.08em}
.live-now-card__live{position:absolute;z-index:4;left:9px;top:9px;display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid rgba(255,75,122,.55);background:rgba(99,8,37,.8);backdrop-filter:blur(8px);color:#fff;font:800 10px/1 Inter,sans-serif;letter-spacing:.06em}.live-now-card__live i{width:5px;height:5px;border-radius:50%;background:#ff3c72;box-shadow:0 0 8px #ff3c72}
.live-now-card__logo{position:absolute;z-index:4;right:9px;top:8px;display:grid;place-items:center;min-width:54px;min-height:28px;padding:4px 6px;background:radial-gradient(ellipse,rgba(255,255,255,.28),rgba(255,255,255,.03) 66%,transparent 76%);filter:drop-shadow(0 2px 5px rgba(0,0,0,.8))}.live-now-card__logo img{max-width:66px;max-height:24px}
.live-now-card__copy{position:absolute;z-index:4;left:10px;right:10px;bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:5px 8px}.live-now-card__copy strong{min-width:0;overflow:hidden;color:#fff;font-size:15px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.live-now-card__copy>span{color:#d0d7e3;font:750 11px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.live-now-card__progress{position:absolute;z-index:5;left:0;right:0;bottom:0;height:3px;background:rgba(88,100,122,.6)}.live-now-card__progress i{display:block;width:var(--progress,0%);height:100%;background:#ff376f;box-shadow:0 0 9px rgba(255,55,111,.65)}

.today-text-guide{overflow:hidden}
.today-text-guide__header{align-items:center;padding-block:clamp(16px,1.7vw,23px);border-bottom:1px solid #303a4d;background:linear-gradient(110deg,#0e1522,#090e17 72%)}
.today-text-guide__header>button{min-width:82px;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #5968a4;background:#161f35;color:#f6f8ff;font-size:13px;font-weight:800;white-space:nowrap}.today-text-guide__header>button:hover,.today-text-guide__header>button:focus-visible{border-color:#8e9aff;background:#202c4a;outline:0}
.today-text-guide__scroll{position:relative;max-height:min(66vh,720px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4b5870 #111823;-webkit-overflow-scrolling:touch}
.today-text-guide__table{min-width:0;width:100%;background:#080d15}
.today-text-guide__columns,.today-text-row{display:grid;grid-template-columns:minmax(132px,154px) minmax(230px,1.25fr) minmax(190px,1fr) minmax(190px,1fr)}
.today-text-guide__columns{position:sticky;z-index:12;top:0;min-height:44px;border-bottom:1px solid #374257;background:rgba(13,20,32,.97);backdrop-filter:blur(12px)}
.today-text-guide__columns span{display:flex;align-items:center;padding:0 14px;border-right:1px solid #2d3749;color:#98a5b8;font-size:12px;font-weight:750}.today-text-guide__columns span:last-child{border-right:0}
.today-text-row{position:relative;min-height:84px;border-bottom:1px solid #283246;background:#090f18;transition:background .16s ease,box-shadow .16s ease}.today-text-row:last-child{border-bottom:0}.today-text-row.is-selected{z-index:2;background:linear-gradient(90deg,color-mix(in srgb,var(--channel-accent) 10%,#0b111c),#0a1019 45%);box-shadow:inset 3px 0 0 var(--channel-accent)}
.today-text-row__channel{min-width:0;border-right:1px solid #2a3547;background:#0d1420}.today-text-row__channel button{width:100%;height:100%;min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 8px 27px;border:0;background:transparent;color:#e7ebf3;cursor:pointer}.today-text-row__channel button:hover,.today-text-row__channel button:focus-visible{background:rgba(114,128,255,.08);outline:0}.today-text-row__channel span{height:29px;display:grid;place-items:center}.today-text-row__channel img{max-width:72px;max-height:27px}.today-text-row__channel strong{max-width:100%;overflow:hidden;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.today-text-slot{position:relative;min-width:0;min-height:84px;border-right:1px solid #273144}.today-text-slot:last-of-type{border-right:0}.today-text-slot__primary{position:relative;width:100%;height:100%;min-height:84px;display:grid;grid-template-columns:68px minmax(0,1fr);align-content:center;align-items:center;gap:5px 11px;padding:13px 14px;color:inherit;text-decoration:none;transition:background .15s ease}.today-text-slot__primary:hover,.today-text-slot__primary:focus-visible{background:rgba(116,130,255,.08);outline:0}.today-text-slot__time{color:#aeb9ca;font:800 13px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}.today-text-slot__time small{display:block;margin-top:6px;color:#707c8f;font-size:10px;font-weight:700}.today-text-slot__copy{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.today-text-slot__copy strong{min-width:0;max-width:100%;overflow:hidden;color:#edf1f8;font-size:14px;font-weight:750;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.today-text-slot__copy em{display:inline-flex;align-items:center;gap:4px;color:#ff5e88;font:800 10px/1 Inter,sans-serif;font-style:normal;white-space:nowrap}.today-text-slot__copy em i{width:5px;height:5px;border-radius:50%;background:#ff326c;box-shadow:0 0 8px #ff326c}.today-text-slot__progress{position:absolute;left:14px;right:14px;bottom:8px;height:2px;background:#283246}.today-text-slot__progress i{display:block;width:var(--progress,0%);height:100%;background:#ff326c;box-shadow:0 0 8px rgba(255,50,108,.55)}
.today-text-slot.is-current{background:rgba(30,39,61,.56)}.today-text-slot.is-current.is-live{box-shadow:inset 0 0 0 1px rgba(255,50,108,.16)}.today-text-slot.is-empty{display:flex;align-items:center;padding:0 14px;color:#667287;font-size:13px}.today-text-slot__alert{position:absolute;z-index:3;right:8px;top:50%;width:34px;height:34px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(90,222,204,.36);background:rgba(7,28,31,.86);color:#7be7d7;cursor:pointer}.today-text-slot__alert:hover,.today-text-slot__alert:focus-visible{border-color:#81f2e0;background:#123b3e;color:#f0fffc;outline:0}.today-text-slot__alert svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.today-text-slot:has(.today-text-slot__alert) .today-text-slot__primary{padding-right:49px}
.today-text-row__extra{display:none}
.today-text-row__extra:not([hidden]){grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-left:154px;border-top:1px solid #334055;background:#070c14}
.today-text-row__extra .today-text-slot{min-height:68px}.today-text-row__extra .today-text-slot__primary{min-height:68px}
.today-text-row__toggle{position:absolute;z-index:6;left:8px;bottom:5px;width:138px;height:24px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #303c50;background:#111a29;color:#8f9bae;font-size:10px;font-weight:750;cursor:pointer}.today-text-row__toggle:hover,.today-text-row__toggle:focus-visible{border-color:#6675b6;background:#19243a;color:#edf1fa;outline:0}.today-text-row__toggle i{font-size:13px;font-style:normal;transition:transform .15s ease}.today-text-row__toggle[aria-expanded="true"] i{transform:rotate(180deg)}

@media (max-width:1050px) and (min-width:768px){
  .today-text-guide__columns,.today-text-row{grid-template-columns:122px minmax(220px,1.15fr) minmax(190px,1fr)}
  .today-text-guide__columns span:nth-child(4),.today-text-slot.is-later{display:none}
  .today-text-row__channel img{max-width:64px}.live-now-card{flex-basis:218px}.today-text-row__extra:not([hidden]){padding-left:122px;grid-template-columns:repeat(2,minmax(0,1fr))}.today-text-row__toggle{width:106px}
}

@media (max-width:767px){
  .today-guide--compact{gap:16px;padding-top:8px}.live-now,.today-text-guide{border-inline:0}
  .live-now{padding-block:14px 13px}.live-now__header,.today-text-guide__header{padding-inline:14px;gap:10px}.live-now__header{align-items:center}.live-now__header h2,.today-text-guide__header h2{font-size:23px}.live-now__header p,.today-text-guide__header p{display:none}.live-now__header>div:first-child>span,.today-text-guide__header>div>span{font-size:10px}
  .live-now__tools time{display:none}.live-now__tools button{width:40px;height:40px}.live-now__rail{gap:10px;margin-top:12px;padding-inline:14px}.live-now-card{flex-basis:clamp(158px,40vw,184px);scroll-margin-inline:14px}.live-now-card__live{left:6px;top:6px;padding:4px 6px;font-size:9px}.live-now-card__logo{right:6px;top:5px;min-width:44px;min-height:23px;padding:3px 4px}.live-now-card__logo img{max-width:52px;max-height:20px}.live-now-card__copy{left:7px;right:7px;bottom:9px;display:block}.live-now-card__copy strong{display:block;font-size:13px}.live-now-card__copy>span{display:block;margin-top:3px;font-size:9px}
  .today-text-guide__header{position:relative;padding-block:14px}.today-text-guide__header>button{min-width:72px;height:40px}.today-text-guide__scroll{max-height:68vh}.today-text-guide__columns{display:none}.today-text-guide__rows{display:block}
  .today-text-row{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;padding:0;border-bottom:8px solid #050910;background:#0a101a}.today-text-row.is-selected{box-shadow:inset 3px 0 0 var(--channel-accent)}
  .today-text-row__channel{border-right:0;border-bottom:1px solid #2e394c;background:#101824}.today-text-row__channel button{min-height:54px;flex-direction:row;justify-content:flex-start;gap:10px;padding:8px 13px;text-align:left}.today-text-row__channel span{width:68px;height:30px}.today-text-row__channel img{max-width:64px;max-height:25px}.today-text-row__channel strong{font-size:13px}
  .today-text-slot{min-height:64px;border-right:0;border-bottom:1px solid #263044}.today-text-slot__primary{min-height:64px;grid-template-columns:62px minmax(0,1fr);padding:10px 13px}.today-text-slot__time{font-size:12px}.today-text-slot__time small{margin-top:4px;font-size:9px}.today-text-slot__copy strong{font-size:14px}.today-text-slot__progress{left:13px;right:13px;bottom:5px}.today-text-slot.is-later,.today-text-row__extra{display:none}.today-text-row.is-expanded .today-text-slot.is-later{display:block}.today-text-row__extra:not([hidden]){display:block;padding:0;border-top:0}.today-text-row__extra .today-text-slot{display:block}.today-text-row__toggle{position:static;width:100%;min-height:44px;height:auto;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-top:1px solid #283246;background:#0d1521;color:#9ca8ba;font-size:12px;font-weight:750}.today-text-row__toggle i{font-size:16px;font-style:normal;transition:transform .15s ease}.today-text-row__toggle[aria-expanded="true"] i{transform:rotate(180deg)}
}

@media (max-width:374px){.live-now-card{flex-basis:154px}.live-now__tools button{width:38px;height:38px}.today-text-slot__primary{grid-template-columns:58px minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.live-now-card__button,.today-text-row,.today-text-slot__primary,.live-now__tools button{transition:none}.live-now__rail,.today-text-guide__scroll{scroll-behavior:auto}}

/* show-233 · B tv-inspired text EPG with alert-first controls */
.btv-guide{min-width:0;padding:clamp(8px,1.4vw,18px) 0 8px;overflow:visible}
.btv-shell{min-width:0;overflow:hidden;border:1px solid #2b3f74;border-radius:22px;background:radial-gradient(circle at 72% -10%,rgba(43,83,181,.32),transparent 34%),linear-gradient(145deg,#061638,#071126 52%,#050b18);box-shadow:0 24px 70px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.04);color:#fff}
.btv-head{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:clamp(19px,2.4vw,30px);border-bottom:1px solid rgba(101,135,211,.22)}
.btv-head__title>span{color:#839cff;font:850 11px/1 Inter,sans-serif;letter-spacing:.18em}
.btv-head__title h2{margin:8px 0 0;color:#fff;font:850 clamp(25px,2.5vw,38px)/1.05 "Pretendard",sans-serif;letter-spacing:-.045em}
.btv-head__title p{margin:8px 0 0;color:#91a1c2;font-size:13px;line-height:1.5}
.btv-alert-tip{display:flex;align-items:center;gap:13px;max-width:390px;padding:13px 17px 13px 12px;border:1px solid rgba(255,218,91,.38);border-radius:15px;background:linear-gradient(120deg,rgba(255,209,66,.13),rgba(35,57,117,.25));box-shadow:0 9px 28px rgba(0,0,0,.2)}
.btv-alert-tip__bell{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#ffe06a;color:#162043;box-shadow:0 0 0 5px rgba(255,224,106,.09),0 0 22px rgba(255,207,68,.24);transform-origin:50% 12%;animation:btvBellRing 3.4s ease-in-out infinite}
.btv-alert-tip__bell svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btv-alert-tip strong{display:block;color:#fff5c5;font-size:14px;font-weight:850}
.btv-alert-tip small{display:block;margin-top:4px;color:#bdc6db;font-size:12px;line-height:1.35}
.btv-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:10px clamp(14px,2vw,24px);overflow-x:auto;border-bottom:1px solid rgba(86,119,193,.22);background:rgba(4,13,35,.62);scrollbar-width:none}
.btv-days::-webkit-scrollbar{display:none}
.btv-days button{position:relative;min-width:74px;min-height:49px;display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;gap:3px 8px;padding:7px 9px;border:1px solid transparent;border-radius:10px;background:transparent;color:#94a5c8;cursor:pointer;transition:.17s ease}
.btv-days button strong{font-size:14px}.btv-days button span{font:700 11px/1 Inter,sans-serif;font-variant-numeric:tabular-nums}
.btv-days button em{grid-column:1/-1;color:#ff79a4;font-size:9px;font-style:normal;font-weight:850;letter-spacing:.08em}
.btv-days button:hover,.btv-days button:focus-visible{border-color:#526da9;background:rgba(50,78,142,.28);color:#fff;outline:0}
.btv-days button[aria-pressed="true"]{border-color:#6f92ec;background:linear-gradient(135deg,#233f87,#142958);color:#fff;box-shadow:inset 0 0 0 1px rgba(155,182,255,.12),0 7px 18px rgba(0,0,0,.18)}
.btv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(14px,2vw,24px);border-bottom:1px solid rgba(111,141,206,.18);background:#07132d}
.btv-toolbar>div{display:flex;align-items:baseline;gap:10px}.btv-toolbar strong{font-size:14px}.btv-toolbar span{color:#8496ba;font-size:12px}
.btv-toolbar button{min-width:75px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #516bab;border-radius:999px;background:#142754;color:#fff;font-size:12px;font-weight:850;cursor:pointer}
.btv-toolbar button i{width:6px;height:6px;border-radius:50%;background:#ff4b86;box-shadow:0 0 9px #ff4b86}.btv-toolbar button:hover,.btv-toolbar button:focus-visible{border-color:#91aaff;background:#203a78;outline:0}
.btv-scroll{position:relative;max-height:min(70vh,760px);overflow:auto;overscroll-behavior:contain;background:#06132e;scrollbar-width:thin;scrollbar-color:#526da9 #071126;-webkit-overflow-scrolling:touch}
.btv-canvas{width:calc(142px + var(--btv-lane-width));min-width:100%;background:linear-gradient(90deg,rgba(20,49,109,.14),transparent 45%)}
.btv-axis,.btv-row{display:flex;width:100%}
.btv-axis{position:sticky;z-index:40;top:0;height:49px;background:rgba(6,17,43,.97);box-shadow:0 5px 18px rgba(0,0,0,.2);backdrop-filter:blur(12px)}
.btv-axis__corner,.btv-channel{position:sticky;z-index:45;left:0;width:142px;min-width:142px;display:flex;align-items:center;background:linear-gradient(115deg,#0b2352,#0a1b40);box-shadow:8px 0 16px rgba(0,0,0,.16)}
.btv-axis__corner{z-index:55;gap:8px;padding:0 15px;border-right:1px solid #31518d;border-bottom:1px solid #31518d}
.btv-axis__corner strong{font-size:13px}.btv-axis__corner span{color:#8096c2;font-size:10px}
.btv-axis__track{position:relative;height:49px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100.5px - 1px),rgba(119,149,211,.13) 100.5px)}
.btv-axis__tick{position:absolute;top:0;height:100%;padding:17px 0 0 10px;color:#a9b8d6;font:750 11px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;transform:translateX(-1px)}
.btv-axis__tick i{position:absolute;left:0;bottom:0;width:1px;height:9px;background:rgba(146,169,220,.35)}
.btv-axis__tick.is-half{color:#63779f;font-size:9px}
.btv-row{height:72px;border-bottom:1px solid rgba(91,126,195,.22)}
.btv-channel{z-index:25;gap:10px;padding:0 13px;border-right:1px solid #31518d;color:#fff}
.btv-channel span{color:#8da6dc;font:750 12px/1 Inter,sans-serif;font-variant-numeric:tabular-nums}.btv-channel strong{min-width:0;overflow:hidden;font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.btv-row__lane{position:relative;height:72px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100.5px - 1px),rgba(115,147,210,.11) 100.5px)}
.btv-program{position:absolute;z-index:2;top:6px;height:59px;overflow:visible;border:1px solid #31589f;border-radius:7px;background:linear-gradient(135deg,#183c83,#102e68);box-shadow:inset 0 1px rgba(255,255,255,.05),0 4px 10px rgba(0,0,0,.14);transition:border-color .16s ease,filter .16s ease,transform .16s ease}
.btv-program:hover{z-index:12;border-color:#709cff;filter:brightness(1.12)}
.btv-program.is-live{z-index:7;border-color:#ff5c93;background:linear-gradient(135deg,#234f9f,#153e86);box-shadow:inset 0 0 0 1px rgba(255,112,161,.22),0 0 18px rgba(255,65,129,.11)}
.btv-program.is-past{opacity:.54;filter:saturate(.65)}
.btv-program__primary{width:100%;height:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:5px 9px;padding:8px 11px;overflow:hidden;border-radius:inherit;color:#eef4ff;text-decoration:none}
.btv-program__primary time{color:#9fb3dc;font:750 10px/1 Inter,sans-serif;font-variant-numeric:tabular-nums}
.btv-program__primary strong{min-width:0;overflow:hidden;font-size:14px;font-weight:760;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.btv-program__primary>span{grid-column:1/-1;display:flex;align-items:center;gap:5px;color:#ff96b8;font:850 9px/1 Inter,sans-serif;letter-spacing:.08em}.btv-program__primary>span i{width:5px;height:5px;border-radius:50%;background:#ff4f89;box-shadow:0 0 7px #ff4f89}
.btv-program__primary:focus-visible{outline:2px solid #a9bdff;outline-offset:-3px}
.btv-program__bell{position:absolute;z-index:18;right:-10px;top:-10px;width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#ffe16b;filter:drop-shadow(0 2px 3px #071126) drop-shadow(0 0 6px rgba(255,206,67,.5));cursor:pointer;transform-origin:50% 5px;animation:btvBellRing 3.4s ease-in-out infinite}
.btv-program__bell svg{width:23px;height:23px;overflow:visible;fill:#18244b;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.btv-program__bell:hover,.btv-program__bell:focus-visible{color:#fff3a6;filter:drop-shadow(0 0 9px rgba(255,220,83,.85));outline:0;animation-duration:.7s}
.btv-now-line{position:absolute;z-index:10;top:0;bottom:0;width:2px;background:#ff4d8a;box-shadow:0 0 10px rgba(255,56,125,.75);pointer-events:none}
.btv-now-label{position:absolute;z-index:65;top:0;display:block;padding:5px 7px;border-radius:0 0 6px 6px;background:#ff4d8a;color:#fff;font:850 9px/1 Inter,sans-serif;letter-spacing:.04em;white-space:nowrap;transform:translateX(-50%);box-shadow:0 4px 12px rgba(255,44,116,.28)}
.btv-foot{display:flex;justify-content:flex-end;gap:20px;padding:10px clamp(14px,2vw,24px);border-top:1px solid rgba(92,123,187,.22);background:#050e20;color:#8092b6;font-size:11px}
.btv-foot span{display:flex;align-items:center;gap:6px}.btv-foot i{width:6px;height:6px;border-radius:50%;background:#ff4d8a}.btv-foot b{color:#ffe16b;font-size:16px;font-weight:400}
@keyframes btvBellRing{0%,9%,100%{transform:rotate(0)}2%{transform:rotate(16deg)}4%{transform:rotate(-14deg)}6%{transform:rotate(10deg)}8%{transform:rotate(-5deg)}}

@media (max-width:767px){
  .btv-guide{margin-inline:calc(-1 * max(0px,var(--phone-gutter-left,0px) - 4px));padding-top:5px}
  .btv-shell{border-inline:0;border-radius:0}
  .btv-head{align-items:flex-start;flex-direction:column;gap:15px;padding:18px 14px 16px}.btv-head__title h2{font-size:26px}.btv-head__title p{max-width:32em;font-size:12px}
  .btv-alert-tip{width:100%;max-width:none;padding:11px 13px 11px 10px}.btv-alert-tip__bell{width:38px;height:38px}.btv-alert-tip strong{font-size:13px}.btv-alert-tip small{font-size:11px}
  .btv-days{display:flex;gap:5px;padding:8px 10px}.btv-days button{flex:0 0 76px;min-width:76px;min-height:48px;padding-inline:6px}.btv-days button strong{font-size:13px}
  .btv-toolbar{padding:9px 11px}.btv-toolbar>div{display:grid;gap:3px}.btv-toolbar button{min-width:68px;height:34px}
  .btv-scroll{max-height:68vh}
  .btv-canvas{width:calc(88px + var(--btv-lane-width))}
  .btv-axis__corner,.btv-channel{width:88px;min-width:88px}.btv-axis__corner{display:grid;align-content:center;gap:3px;padding:0 9px}.btv-axis__corner strong{font-size:12px}.btv-axis__corner span{font-size:9px}
  .btv-row{height:64px}.btv-channel{height:64px;display:grid;align-content:center;gap:5px;padding:0 9px}.btv-channel span{font-size:10px}.btv-channel strong{font-size:12px}
  .btv-row__lane{height:64px}.btv-program{top:6px;height:51px;border-radius:6px}.btv-program__primary{gap:4px 7px;padding:7px 9px}.btv-program__primary time{font-size:9px}.btv-program__primary strong{font-size:12px}.btv-program__bell{right:-9px;top:-9px;width:27px;height:27px}.btv-program__bell svg{width:21px;height:21px}
  .btv-foot{justify-content:flex-start;gap:12px;padding:9px 11px;overflow-x:auto;white-space:nowrap}.btv-foot span:first-child{display:none}
}
@media (prefers-reduced-motion:reduce){.btv-alert-tip__bell,.btv-program__bell{animation:none}.btv-program{transition:none}.btv-scroll{scroll-behavior:auto}}

/* show-234 · compact gesture-first schedule */
.btv-guide{padding:10px 0 0}
.btv-shell{overflow:visible;border:0;border-radius:18px;background:#080b12;box-shadow:0 18px 54px rgba(0,0,0,.28);color:#f7f9ff}
.btv-compact-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:15px 18px;background:#0b0f18}
.btv-compact-head__title{display:flex;align-items:baseline;gap:11px;white-space:nowrap}
.btv-compact-head__title h2{margin:0;color:#fff;font:850 clamp(22px,2vw,30px)/1 "Pretendard",sans-serif;letter-spacing:-.045em}
.btv-compact-head__title strong{color:#aeb8cc;font-size:14px;font-weight:750}
.btv-days{display:flex;justify-content:center;gap:3px;padding:0;overflow-x:auto;border:0;background:transparent;scrollbar-width:none}
.btv-days::-webkit-scrollbar{display:none}
.btv-days button{flex:0 0 auto;min-width:68px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:#8f9ab0}
.btv-days button strong{font-size:15px;font-weight:850}.btv-days button span{font-size:13px;font-weight:750}.btv-days button em{display:none}
.btv-days button:hover,.btv-days button:focus-visible{border:0;background:#171d2a;color:#fff}
.btv-days button[aria-pressed="true"]{border:0;background:#283d8f;color:#fff;box-shadow:none}
.btv-now-button{height:42px;min-width:78px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;background:#20283a;color:#fff;font-size:15px;font-weight:850;cursor:pointer}
.btv-now-button i{width:7px;height:7px;border-radius:50%;background:#ff3375;box-shadow:0 0 10px rgba(255,51,117,.75)}
.btv-now-button:hover,.btv-now-button:focus-visible{background:#2e3f7a;outline:0}
.btv-scroll{max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;background:#080b12;cursor:grab;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x pan-y}
.btv-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.btv-scroll.is-dragging{cursor:grabbing;user-select:none}
.btv-canvas{width:var(--btv-lane-width);min-width:100%;background:#080b12}
.btv-axis{position:relative;z-index:5;height:46px;background:#101521;box-shadow:none;backdrop-filter:none}
.btv-axis__track{position:relative;width:100%;height:46px;background:none}
.btv-axis__tick{top:0;height:46px;padding:15px 0 0 13px;color:#aeb8ca;font:750 14px/1 Inter,"Pretendard",sans-serif;transform:none}
.btv-axis__tick i{display:none}
.btv-axis__tick.is-now{left:0!important;padding-left:15px;color:#ff4d86;font-size:15px;font-weight:850}
.btv-row{display:block;width:100%;height:76px;border:0;background:#080b12}
.btv-row__lane{position:relative;width:100%;height:76px;background:none}
.btv-program{top:0;height:74px;overflow:hidden;border:0;border-radius:0;background:linear-gradient(135deg,#172c62,#132452);box-shadow:none;transition:filter .14s ease,background .14s ease}
.btv-row:nth-child(4n+2) .btv-program{background:linear-gradient(135deg,#18356d,#152958)}
.btv-row:nth-child(4n+3) .btv-program{background:linear-gradient(135deg,#1c3064,#16254d)}
.btv-row:nth-child(4n+4) .btv-program{background:linear-gradient(135deg,#183a74,#172b58)}
.btv-program:hover{z-index:12;border:0;filter:brightness(1.12)}
.btv-program.is-live{z-index:7;border:0;background:linear-gradient(135deg,#304dcc,#263da9);box-shadow:none;opacity:1;filter:none}
.btv-program__primary{position:relative;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:center;gap:4px 14px;padding:12px 15px 11px;overflow:hidden;border-radius:0;color:#f8faff;text-decoration:none}
.btv-program__primary strong{grid-column:1/2;align-self:end;min-width:0;overflow:hidden;color:#fff;font-size:17px;font-weight:850;line-height:1.18;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}
.btv-program__primary time{grid-column:1/2;align-self:start;color:#bbc8e2;font:750 14px/1.2 Inter,"Pretendard",sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.btv-program__primary em{grid-column:2/3;grid-row:1/3;align-self:center;color:#fff;font-size:14px;font-style:normal;font-weight:850;white-space:nowrap}
.btv-program__primary:focus-visible{outline:3px solid rgba(255,255,255,.78);outline-offset:-3px}
.btv-program__channel-logo{position:absolute;z-index:8;left:9px;top:9px;width:84px;height:33px;display:grid;place-items:center;padding:4px 9px;border-radius:8px;background:#090d16;box-shadow:0 7px 18px rgba(0,0,0,.3);opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}
.btv-program__channel-logo img{max-width:65px;max-height:21px;object-fit:contain}.btv-program__channel-logo span{font-size:14px;font-weight:850}
.btv-program.is-logo-active{z-index:24;overflow:visible}
.btv-program.is-logo-active .btv-program__primary{overflow:visible}
.btv-program.is-logo-active .btv-program__channel-logo{opacity:1;transform:translateY(0)}
.btv-program.is-logo-active .btv-program__primary>strong,.btv-program.is-logo-active .btv-program__primary>time,.btv-program.is-logo-active .btv-program__primary>em{opacity:0}
.btv-program.is-compact-live .btv-program__primary>strong,.btv-program.is-compact-live .btv-program__primary>time,.btv-program.is-compact-live .btv-program__primary>em{visibility:hidden}
.btv-program__progress{position:absolute!important;z-index:6;left:0;right:0;bottom:0;height:5px;background:rgba(4,8,18,.48)}
.btv-program__progress i{display:block;width:var(--progress,0%);height:100%;background:#ff2d73;box-shadow:0 0 12px rgba(255,45,115,.55)}
.btv-program__bell{right:9px;top:9px;width:31px;height:31px}
.btv-program.has-alert .btv-program__primary{padding-right:45px}
.btv-head,.btv-alert-tip,.btv-toolbar,.btv-foot,.btv-axis__corner,.btv-channel,.btv-now-line,.btv-now-label{display:none!important}
.show-home .channel-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border:0;border-radius:14px;background:#0b0f18;box-shadow:none}
.show-home .filter-heading{grid-column:2;grid-row:1;margin:0}
.show-home .filter-heading .collect-status{gap:8px;margin:0;color:#939db0;font-size:14px;font-weight:700}
.show-home .channel-groups{grid-column:1;grid-row:1;display:flex;gap:5px;margin:0;overflow-x:auto;scrollbar-width:none}
.show-home .channel-groups::-webkit-scrollbar{display:none}
.show-home .channel-groups button{flex:0 0 auto;min-width:92px;min-height:42px;padding:8px 17px;border:0;border-radius:11px;background:#141925;color:#aeb7c9;font-size:15px;font-weight:850}
.show-home .channel-groups button:hover,.show-home .channel-groups button:focus-visible{border:0;background:#1c2333;color:#fff;outline:0}
.show-home .channel-groups button[aria-pressed="true"]{border:0;background:#293f91;color:#fff;box-shadow:none}

@media (max-width:980px){
  .btv-compact-head{grid-template-columns:1fr auto;gap:12px;padding:14px}
  .btv-days{grid-column:1/-1;grid-row:2;justify-content:flex-start;width:100%}
}
@media (max-width:767px){
  .show-home .channel-filter{display:block;padding:8px 9px;border-radius:12px}
  .show-home .filter-heading{display:none}
  .show-home .channel-groups{display:flex;gap:4px;overflow-x:auto}
  .show-home .channel-groups button{width:auto;min-width:84px;min-height:40px;padding:7px 14px;font-size:14px}
  .btv-guide{padding-top:7px}.btv-shell{border-radius:0}
  .btv-compact-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:13px 11px 10px}
  .btv-compact-head__title{display:block}.btv-compact-head__title h2{font-size:24px}.btv-compact-head__title strong{display:block;margin-top:6px;font-size:14px}
  .btv-now-button{height:42px;min-width:72px;font-size:14px}
  .btv-days{gap:2px;padding-top:2px}.btv-days button{min-width:64px;min-height:42px;padding:6px 8px}.btv-days button strong{font-size:15px}.btv-days button span{font-size:13px}
  .btv-axis,.btv-axis__track{height:44px}.btv-axis__tick{height:44px;padding-top:14px;font-size:14px}.btv-axis__tick.is-now{font-size:14px}
  .btv-row,.btv-row__lane{height:70px}.btv-program{height:68px}
  .btv-program__primary{gap:3px 9px;padding:10px 12px 9px}.btv-program__primary strong{font-size:16px}.btv-program__primary time,.btv-program__primary em{font-size:13px}
  .btv-program__channel-logo{left:9px;top:8px;height:25px}.btv-program__channel-logo img{max-width:58px;max-height:19px}
}
@media (prefers-reduced-motion:reduce){.btv-program__channel-logo{transition:none}}

/* show-235 · readable current cards and non-trapping navigation */
.btv-program__primary:is(button){border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}
.btv-program.is-live .btv-program__primary{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;padding-right:13px}
.btv-program.is-live .btv-program__primary>strong{grid-column:1/-1;grid-row:1;padding-right:62px}
.btv-program.is-live .btv-program__primary>time{grid-column:1;grid-row:2}
.btv-program.is-live .btv-program__primary>em{grid-column:2;grid-row:2;align-self:start;font-size:13px}
.btv-program.is-live .btv-program__channel-logo{left:auto;right:9px;top:8px;width:54px;height:25px;padding:3px 6px;border-radius:6px;opacity:1;transform:none;box-shadow:none;background:rgba(5,9,18,.72)}
.btv-program.is-live .btv-program__channel-logo img{max-width:45px;max-height:17px}
.btv-program.is-live .btv-program__channel-logo span{font-size:12px}
.btv-selected{min-height:66px;display:flex;align-items:center;gap:13px;padding:10px 18px;border-top:1px solid rgba(255,255,255,.04);background:#111724}
.btv-selected__logo{width:64px;height:38px;display:grid;place-items:center;flex:0 0 auto;padding:5px 7px;border-radius:8px;background:#080c14}
.btv-selected__logo img{max-width:52px;max-height:25px;object-fit:contain}.btv-selected__logo>span{font-size:14px;font-weight:850}
.btv-selected>div{min-width:0}.btv-selected>div>strong{display:block;overflow:hidden;color:#fff;font-size:18px;font-weight:850;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.btv-selected p{display:flex;align-items:center;gap:10px;margin:5px 0 0;color:#aeb8ca;font-size:14px}
.btv-selected p b{color:#d7deec;font-weight:800}.btv-selected p time{font-variant-numeric:tabular-nums}.btv-selected p em{padding:3px 7px;border-radius:999px;background:#263d8f;color:#fff;font-size:12px;font-style:normal;font-weight:850}
.btv-program.is-selected{z-index:15;box-shadow:inset 0 0 0 2px #7894ff}
.btv-program.is-logo-active{z-index:7;overflow:hidden}
.btv-program.is-logo-active .btv-program__primary{overflow:hidden}
.btv-program.is-logo-active .btv-program__primary>strong,.btv-program.is-logo-active .btv-program__primary>time,.btv-program.is-logo-active .btv-program__primary>em{opacity:1}
.btv-program.is-compact-live .btv-program__primary>strong,.btv-program.is-compact-live .btv-program__primary>time,.btv-program.is-compact-live .btv-program__primary>em{visibility:visible}
.guide-frame.is-weekly-list .guide-scroll{overflow:visible;touch-action:auto;user-select:auto}
.guide-frame.is-weekly-list .btv-scroll{touch-action:pan-x pan-y;user-select:auto}

@media (max-width:767px){
  .btv-selected{min-height:62px;gap:10px;padding:9px 11px}.btv-selected__logo{width:54px;height:34px}.btv-selected__logo img{max-width:44px;max-height:21px}
  .btv-selected>div>strong{font-size:16px}.btv-selected p{gap:7px;font-size:13px}.btv-selected p b{display:none}.btv-selected p em{font-size:11px}
  .btv-program.is-live .btv-program__primary>strong{padding-right:54px}
  .btv-program.is-live .btv-program__channel-logo{right:7px;top:7px;width:48px;height:23px}
  .btv-program.is-live .btv-program__primary>em{font-size:12px}
}

/* show-245 · compact rows, optically normalised logos and native-ratio preview */
.btv-row,.btv-row__lane{height:53px}
.btv-program{height:52px}
.btv-program__primary{gap:1px 8px;padding:5px 10px 6px}
.btv-program__primary strong{position:relative;z-index:2;font-size:22px;font-weight:700;line-height:1.02;letter-spacing:-.028em}
.btv-program__primary time{position:relative;z-index:2;font-size:13px;font-weight:650}
.btv-program__primary em{position:relative;z-index:2;font-size:13px;font-weight:720}
.btv-program.has-channel-logo .btv-program__channel-logo,
.btv-program.is-live .btv-program__channel-logo{position:absolute;z-index:1;left:auto;right:5px;top:2px;width:92px;height:31px;display:grid;place-items:center;padding:2px 5px;border-radius:0;background:transparent;box-shadow:none;opacity:.46;filter:contrast(1.28) saturate(1.08) drop-shadow(0 2px 5px rgba(0,0,0,.8));transform:none;pointer-events:none}
.btv-program.has-channel-logo .btv-program__channel-logo img,
.btv-program.is-live .btv-program__channel-logo img{width:82px;max-width:none;height:auto;max-height:24px;object-fit:contain;transform:scale(var(--btv-logo-scale,1));transform-origin:center}
.btv-program.has-channel-logo .btv-program__channel-logo span,
.btv-program.is-live .btv-program__channel-logo span{font-size:16px;font-weight:760}
.btv-program.has-channel-logo .btv-program__primary>strong,
.btv-program.has-channel-logo .btv-program__primary>time,
.btv-program.has-channel-logo .btv-program__primary>em{text-shadow:0 1px 3px rgba(1,4,12,.95)}
.btv-program.is-live .btv-program__primary>strong{padding-right:0}
.btv-program[data-btv-program-channel="kbs-news-24"]{--btv-logo-scale:.9}
.btv-program[data-btv-program-channel="kbs-drama"]{--btv-logo-scale:.84}
.btv-program[data-btv-program-channel="kbs-joy"]{--btv-logo-scale:.9}
.btv-program[data-btv-program-channel="kbs-story"]{--btv-logo-scale:.87}
.btv-program[data-btv-program-channel="kbs-life"]{--btv-logo-scale:.9}
.btv-program[data-btv-program-channel="kbs-kids"]{--btv-logo-scale:.9}
.btv-program[data-btv-program-channel="kbs-world"]{--btv-logo-scale:.9}
.btv-program[data-btv-program-channel="asia-n"]{--btv-logo-scale:.82}
.btv-program[data-btv-program-channel="채널a"]{--btv-logo-scale:.9}
.btv-program[data-btv-program-channel="ch-u"]{--btv-logo-scale:1.04}
.btv-program[data-btv-program-channel="dramax"]{--btv-logo-scale:.96}
.btv-program[data-btv-program-channel="ebs1"],.btv-program[data-btv-program-channel="ebs2"]{--btv-logo-scale:.98}
.btv-program[data-btv-program-channel="jtbc"]{--btv-logo-scale:1.2}
.btv-program[data-btv-program-channel="mbc"]{--btv-logo-scale:.91}
.btv-program[data-btv-program-channel="mbc-드라마넷"]{--btv-logo-scale:1.04}
.btv-program[data-btv-program-channel="mbc-on"]{--btv-logo-scale:.9}
.btv-program[data-btv-program-channel="mbn"]{--btv-logo-scale:1.4}
.btv-program[data-btv-program-channel="obs-경인tv"]{--btv-logo-scale:.98}
.btv-program[data-btv-program-channel="sbs-plus"]{--btv-logo-scale:.86}
.btv-program[data-btv-program-channel="tv-조선"]{--btv-logo-scale:.85}
.btv-program[data-btv-program-channel="에이플드라마"]{--btv-logo-scale:.96}
.btv-program__progress{z-index:9;height:5px;background:rgba(2,5,12,.58)}
.btv-program__progress i{min-width:3px;background:#ff2d73;box-shadow:0 0 12px rgba(255,45,115,.62)}
.btv-selected{display:block;min-height:0;padding:14px;border:0;background:#050810}
.btv-selected__screen{position:relative;width:min(100%,var(--btv-preview-max-width,924px));height:auto;aspect-ratio:var(--btv-preview-aspect,16/9);margin-inline:auto;overflow:hidden;background:#050810}
.btv-selected__artwork,.btv-selected__placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.btv-selected__placeholder{z-index:0;background:radial-gradient(circle at 50% 45%,rgba(66,88,171,.2),transparent 37%),#070b14;color:#fff;text-align:center}
.btv-selected__placeholder span{font:760 clamp(25px,4vw,45px)/1 Inter,sans-serif;letter-spacing:.18em}.btv-selected__placeholder small{margin-top:10px;color:#6f7a91;font:700 10px/1 Inter,sans-serif;letter-spacing:.16em}
.btv-selected__artwork{z-index:1;background:#050810}
.btv-selected__backdrop{display:none}
.btv-selected__image{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.5))}
.btv-selected__screen.is-image-missing .btv-selected__artwork{display:none}
.btv-selected__state{position:absolute;z-index:5;left:14px;top:13px;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:rgba(5,9,17,.72);color:#e7ebf5;font-size:12px;font-weight:700;backdrop-filter:blur(9px)}
.btv-selected__state i{width:6px;height:6px;border-radius:50%;background:#8a96ad}.btv-selected__state.is-live i{background:#ff2d73;box-shadow:0 0 9px #ff2d73}
.btv-selected__caption{position:absolute;z-index:5;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:42px 17px 14px;background:linear-gradient(transparent,rgba(2,5,12,.9));color:#fff}
.btv-selected__caption strong{min-width:0;overflow:hidden;font-size:18px;font-weight:720;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.btv-selected__caption time{flex:0 0 auto;color:#d4dbea;font:650 13px/1 Inter,"Pretendard",sans-serif;font-variant-numeric:tabular-nums}
@media (max-width:767px){
  .btv-row,.btv-row__lane{height:50px}.btv-program{height:49px}.btv-program__primary{gap:0 7px;padding:4px 8px 5px}
  .btv-program__primary strong{font-size:21px;font-weight:700;line-height:1}.btv-program__primary time,.btv-program__primary em{font-size:12px;font-weight:650}
  .btv-program.has-channel-logo .btv-program__channel-logo,.btv-program.is-live .btv-program__channel-logo{left:auto;right:3px;top:2px;width:82px;height:28px;opacity:.44}
  .btv-program.has-channel-logo .btv-program__channel-logo img,.btv-program.is-live .btv-program__channel-logo img{width:73px;max-width:none;max-height:22px}
  .btv-selected{padding:8px}.btv-selected__screen{min-height:0}
  .btv-selected__state{left:10px;top:9px;padding:5px 8px;font-size:11px}
  .btv-selected__caption{gap:12px;padding:36px 11px 11px}.btv-selected__caption strong{font-size:16px}.btv-selected__caption time{font-size:12px}
}

/* show-247 · stable preview, ordered LIVE swipe, and one visual colour rule */
.btv-row .btv-program,
.btv-row:nth-child(4n+2) .btv-program,
.btv-row:nth-child(4n+3) .btv-program,
.btv-row:nth-child(4n+4) .btv-program{background:#19346d!important;filter:none}
.btv-row .btv-program.is-live,
.btv-row:nth-child(4n+2) .btv-program.is-live,
.btv-row:nth-child(4n+3) .btv-program.is-live,
.btv-row:nth-child(4n+4) .btv-program.is-live{background:#2b43b6!important;filter:none}
.btv-program:hover{filter:brightness(1.08)}
.btv-program.is-selected{z-index:20;outline:3px solid #9fb2ff;outline-offset:-3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.64),0 0 0 1px rgba(34,51,111,.75)}
.btv-program.is-selected .btv-program__primary{background:rgba(255,255,255,.045)}
.btv-program__primary strong{font-size:16px;font-weight:680;line-height:1.05;letter-spacing:-.018em}
.btv-program.has-channel-logo .btv-program__channel-logo,
.btv-program.is-live .btv-program__channel-logo{left:50%;right:auto;top:50%;width:94px;height:34px;place-items:center;opacity:.58;transform:translate(-50%,-50%);filter:contrast(1.34) saturate(1.12) drop-shadow(0 2px 5px rgba(0,0,0,.82))}
.btv-program.has-channel-logo .btv-program__channel-logo img,
.btv-program.is-live .btv-program__channel-logo img{width:84px;max-height:25px}
.btv-program__progress{left:0;right:0;height:5px}
.btv-program__primary>.btv-program__progress i{width:var(--progress,0%);height:100%;transition:width .25s linear}
.btv-selected{position:sticky;z-index:70;top:0;box-shadow:0 14px 28px rgba(0,0,0,.34)}
.btv-selected__screen{cursor:grab;touch-action:pan-y;user-select:none;transition:opacity .14s ease,transform .14s ease}
.btv-selected__screen.is-swiping{cursor:grabbing;transform:scale(.995);opacity:.92}
@media (max-width:767px){
  .btv-program__primary strong{font-size:16px;font-weight:680;line-height:1.04}
  .btv-program.has-channel-logo .btv-program__channel-logo,.btv-program.is-live .btv-program__channel-logo{left:50%;right:auto;top:50%;width:86px;height:31px;opacity:.6;transform:translate(-50%,-50%)}
  .btv-program.has-channel-logo .btv-program__channel-logo img,.btv-program.is-live .btv-program__channel-logo img{width:76px;max-height:23px}
}

/* show-250 — compact sticky preview, trustworthy first-click selection and BTV time boundary */
.btv-selected{padding:8px 10px;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.btv-selected__screen{width:min(100%,var(--btv-preview-max-width,391px));transition:width .18s ease,opacity .14s ease,transform .14s ease}
.btv-program__primary,
.btv-program.is-live .btv-program__primary{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;gap:1px 8px;padding:5px 9px 6px}
.btv-program__primary>strong,
.btv-program.is-live .btv-program__primary>strong{grid-column:1/-1;grid-row:1;align-self:end;padding-right:0;font-size:14px;font-weight:650;line-height:1.05;letter-spacing:-.012em}
.btv-program__schedule{position:relative;z-index:3;grid-column:1;grid-row:2;align-self:start;min-width:0;display:flex;align-items:center;gap:7px;overflow:visible;white-space:nowrap}
.btv-program__schedule time{position:static;display:block;flex:0 1 auto;min-width:0;overflow:hidden;color:#c5d0e6;font-size:12px;font-weight:650;line-height:17px;text-overflow:ellipsis;white-space:nowrap}
.btv-program.is-live .btv-program__primary>em{grid-column:2;grid-row:2;align-self:start;font-size:12px;font-weight:720;line-height:17px}
.btv-program.has-channel-logo .btv-program__schedule .btv-program__channel-logo,
.btv-program.is-live .btv-program__schedule .btv-program__channel-logo{position:static!important;z-index:3;left:auto!important;right:auto!important;top:auto!important;width:48px;height:17px;display:inline-grid;place-items:center;flex:0 0 48px;padding:0;border-radius:0;background:transparent;box-shadow:none;opacity:.82;filter:contrast(1.3) saturate(1.08) drop-shadow(0 1px 3px rgba(0,0,0,.8));transform:none!important;pointer-events:none}
.btv-program.has-channel-logo .btv-program__schedule .btv-program__channel-logo img,
.btv-program.is-live .btv-program__schedule .btv-program__channel-logo img{width:44px;max-width:44px;height:16px;max-height:16px;object-fit:contain;transform:scale(var(--btv-logo-scale,1));transform-origin:center}
.btv-program.has-channel-logo .btv-program__schedule .btv-program__channel-logo span,
.btv-program.is-live .btv-program__schedule .btv-program__channel-logo span{font-size:11px;font-weight:720;line-height:1}
.btv-program__progress{left:9px;right:9px;bottom:4px;height:2px;overflow:hidden;border-radius:999px;background:#303746;box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
.btv-program__primary>.btv-program__progress i{width:var(--elapsed,0%);min-width:0;border-radius:inherit;background:#ff2d66;box-shadow:0 0 7px rgba(255,45,102,.55)}

@media (max-width:767px){
  .btv-selected{padding:7px 8px}
  .btv-program__primary,.btv-program.is-live .btv-program__primary{padding:4px 7px 5px}
  .btv-program__primary>strong,.btv-program.is-live .btv-program__primary>strong{font-size:14px;font-weight:650}
  .btv-program__schedule{gap:5px}
  .btv-program__schedule time{font-size:11px}
  .btv-program.has-channel-logo .btv-program__schedule .btv-program__channel-logo,.btv-program.is-live .btv-program__schedule .btv-program__channel-logo{width:43px;flex-basis:43px;height:16px;opacity:.84}
  .btv-program.has-channel-logo .btv-program__schedule .btv-program__channel-logo img,.btv-program.is-live .btv-program__schedule .btv-program__channel-logo img{width:39px;max-width:39px;height:15px;max-height:15px}
}

/* show-251 — keep date, weekday, preview and moving time boundary together */
.btv-sticky-stack{position:sticky;z-index:70;top:0;background:#080b12;box-shadow:0 12px 26px rgba(0,0,0,.26)}
.btv-sticky-stack .btv-compact-head{position:relative;z-index:74}
.btv-sticky-stack .btv-selected{position:relative;z-index:72;top:auto;box-shadow:none}
.btv-sticky-stack .btv-axis{position:relative;z-index:76;width:100%;height:54px;overflow:hidden;background:#101521}
.btv-sticky-stack .btv-axis__track{height:54px;will-change:transform;transform:translateX(0);transition:transform .04s linear}
.btv-sticky-stack .btv-axis__tick{height:54px;padding-top:19px}
.btv-sticky-stack .btv-axis__track .btv-axis__tick:first-child{visibility:hidden}
:where(.btv-axis) .guide-boundary-marker.btv-axis__boundary{right:auto;left:0;top:auto;bottom:-3px;min-width:88px;width:auto;height:auto;padding:0;background:linear-gradient(90deg,#101521 76%,rgba(16,21,33,0));transform:none!important}
:where(.btv-axis__boundary).guide-boundary-marker strong{position:relative;left:auto;top:auto;display:flex;color:#fff;font:800 18px/1 Inter,"Pretendard",sans-serif;letter-spacing:-.025em;transform-origin:center bottom}
:where(.btv-axis__boundary).guide-boundary-marker strong span{font-size:inherit!important;line-height:inherit!important}
:where(.btv-axis__boundary).guide-boundary-marker i{position:relative;left:auto;top:auto;display:block;color:#ff6d98;font:800 25px/.82 sans-serif;font-style:normal;transform:none;text-shadow:0 0 10px rgba(255,61,117,.75);animation:guide-boundary-tap 1.05s ease-in-out infinite}

@media (max-width:767px){
  .btv-sticky-stack .btv-axis,.btv-sticky-stack .btv-axis__track,.btv-sticky-stack .btv-axis__tick{height:52px}
  .btv-sticky-stack .btv-axis__tick{padding-top:18px}
}

/* show-253 — schedule-first density: preserve copy size, remove fixed-area waste */
.btv-sticky-stack .btv-selected{padding:5px 8px}

@media (max-width:767px){
  .btv-guide{padding-top:3px}
  .btv-sticky-stack .btv-compact-head{grid-template-columns:minmax(0,1fr) auto;column-gap:7px;row-gap:5px;padding:7px 9px 5px}
  .btv-sticky-stack .btv-compact-head__title{display:flex;align-items:baseline;gap:8px;min-width:0}
  .btv-sticky-stack .btv-compact-head__title h2{flex:0 0 auto;font-size:20px;line-height:1}
  .btv-sticky-stack .btv-compact-head__title strong{display:block;min-width:0;margin:0;overflow:hidden;font-size:12px;line-height:1;text-overflow:ellipsis;white-space:nowrap}
  .btv-sticky-stack .btv-now-button{height:34px;min-width:62px;gap:6px;padding:0 10px;border-radius:9px;font-size:13px}
  .btv-sticky-stack .btv-now-button i{width:6px;height:6px}
  .btv-sticky-stack .btv-days{gap:1px;padding-top:0}
  .btv-sticky-stack .btv-days button{min-width:57px;min-height:34px;gap:4px;padding:4px 7px;border-radius:8px}
  .btv-sticky-stack .btv-days button strong{font-size:13px}
  .btv-sticky-stack .btv-days button span{font-size:12px}
  .btv-sticky-stack .btv-selected{padding:3px 6px}
  .btv-sticky-stack .btv-selected__state{left:7px;top:6px;padding:4px 7px;font-size:10px}
  .btv-sticky-stack .btv-selected__caption{gap:8px;padding:24px 8px 7px}
  .btv-sticky-stack .btv-selected__caption strong{font-size:14px}
  .btv-sticky-stack .btv-selected__caption time{font-size:11px}
  .btv-sticky-stack .btv-axis,
  .btv-sticky-stack .btv-axis__track,
  .btv-sticky-stack .btv-axis__tick{height:44px}
  .btv-sticky-stack .btv-axis__tick{padding-top:14px;font-size:13px}
  :where(.btv-sticky-stack .btv-axis) .guide-boundary-marker.btv-axis__boundary{bottom:-5px;min-width:82px}
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong{font-size:17px}
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker i{font-size:23px}
  .btv-row,.btv-row__lane{height:46px}
  .btv-program{height:45px}
  .btv-program__primary,.btv-program.is-live .btv-program__primary{padding:3px 7px 4px}
}

/* show-254 — BTV boundary follows the PC timeline treatment, with a diagonal cue */
:where(.btv-sticky-stack .btv-axis) .guide-boundary-marker.btv-axis__boundary{
  left:0;
  right:auto;
  top:0;
  bottom:auto;
  display:block;
  width:128px;
  min-width:128px;
  height:100%;
  padding:0;
  overflow:visible;
  background:linear-gradient(90deg,#101521 78%,rgba(16,21,33,0));
  transform:none!important;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong{
  position:absolute;
  z-index:2;
  left:42px;
  top:7px;
  display:block;
  transform-origin:left center;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker i{
  position:absolute;
  z-index:3;
  left:8px;
  top:auto;
  bottom:5px;
  animation:btv-boundary-diagonal 1.05s ease-in-out infinite;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving i{
  animation:btv-boundary-diagonal .58s ease-in-out infinite;
}
@keyframes btv-boundary-diagonal{
  0%,100%{transform:translate(4px,-4px);opacity:.42}
  48%,62%{transform:translate(-2px,2px);opacity:1}
}
@media (max-width:767px){
  :where(.btv-sticky-stack .btv-axis) .guide-boundary-marker.btv-axis__boundary{width:118px;min-width:118px}
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong{left:40px;top:5px}
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker i{left:7px;bottom:4px}
}

/* show-255 — title-adjacent logos use alpha-trimmed artwork at one optical height */
.btv-program__titleline{
  position:relative;
  z-index:3;
  grid-column:1/-1;
  grid-row:1;
  align-self:end;
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
  white-space:nowrap;
}
.btv-program:not(.is-flow-logo) .btv-program__titleline .btv-program__channel-logo{display:none!important}
.btv-program.is-flow-logo .btv-program__titleline .btv-program__channel-logo{animation:btv-flow-logo-in .16s ease-out both}
@keyframes btv-flow-logo-in{
  from{opacity:0;transform:translateX(-5px)}
  to{opacity:.88;transform:translateX(0)}
}
.btv-program__titleline>strong,
.btv-program.is-live .btv-program__titleline>strong{
  position:static;
  min-width:0;
  flex:0 1 auto;
  overflow:hidden;
  padding:0;
  font-size:14px;
  font-weight:650;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.btv-program.has-channel-logo .btv-program__titleline .btv-program__channel-logo,
.btv-program.is-live .btv-program__titleline .btv-program__channel-logo{
  position:static!important;
  z-index:3;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  width:auto;
  height:17px;
  min-width:0;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  padding:0;
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  opacity:.88;
  filter:contrast(1.22) saturate(1.06) drop-shadow(0 1px 3px rgba(0,0,0,.72));
  transform:none!important;
  pointer-events:none;
}
.btv-program.has-channel-logo .btv-program__titleline .btv-program__channel-logo img,
.btv-program.is-live .btv-program__titleline .btv-program__channel-logo img{
  display:block;
  width:var(--btv-logo-width,40px);
  max-width:none;
  height:var(--btv-logo-height,12px);
  max-height:none;
  object-fit:contain;
  transform:none;
}
.btv-program__schedule{grid-column:1;grid-row:2}
@media (max-width:767px){
  .btv-program__titleline{gap:6px}
  .btv-program.has-channel-logo .btv-program__titleline .btv-program__channel-logo,
  .btv-program.is-live .btv-program__titleline .btv-program__channel-logo{height:17px}
}

/* show-257 — keep ruler times visible beneath the higher-priority boundary cue */
:where(.btv-sticky-stack .btv-axis) .guide-boundary-marker.btv-axis__boundary{
  background:transparent;
}
.btv-sticky-stack .btv-axis__track{
  z-index:1;
}
.btv-sticky-stack .btv-axis__tick{
  text-shadow:0 1px 3px rgba(0,0,0,.92);
}
:where(.btv-sticky-stack .btv-axis) .guide-boundary-marker.btv-axis__boundary{
  z-index:4;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong{
  z-index:5;
  text-shadow:0 0 15px rgba(255,70,128,.92),0 2px 4px #05070c;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker i{
  z-index:6;
}

/* show-258 — expose the live clock and land the diagonal cue on the exact corner */
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker i{
  left:0;
  bottom:0;
  transform-origin:left bottom;
  animation:btv-boundary-corner 1.05s ease-in-out infinite;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving i{
  animation:btv-boundary-corner .58s ease-in-out infinite;
}
@keyframes btv-boundary-corner{
  0%,100%{transform:translate(3px,-3px);opacity:.48}
  48%,62%{transform:translate(0,0);opacity:1}
}
@media (max-width:767px){
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker i{left:0;bottom:0}
}

/* show-259 — keep the now/time label pinned to the top while only the arrow travels */
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong,
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong{
  top:2px;
  transform:scale(1);
  transform-origin:left top;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong{
  transform:scale(1.08);
}
@media (max-width:767px){
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong,
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong{top:1px}
}

/* show-263 — preview at left, upcoming broadcasts in the space beside it */
.btv-selected__layout{width:100%;display:flex;align-items:flex-start;gap:11px}
.btv-selected__layout .btv-selected__screen{flex:0 0 auto;max-width:62%;margin-inline:0}
.btv-selected__next{
  flex:1 1 150px;
  min-width:0;
  height:var(--btv-preview-current-height,var(--btv-preview-height,156px));
  max-width:330px;
  overflow:hidden;
  padding:9px;
  border:1px solid rgba(117,137,184,.2);
  background:linear-gradient(145deg,rgba(19,27,45,.94),rgba(10,15,27,.98));
}
.btv-selected__next h3{margin:0 0 7px;color:#fff;font-size:14px;font-weight:790;line-height:1.1}
.btv-selected__reservations{display:flex;height:calc(100% - 24px);flex-direction:column;gap:5px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}
.btv-selected__reservations::-webkit-scrollbar{display:none}
.btv-selected__reservation{
  width:100%;
  min-height:31px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:8px;
  background:rgba(37,54,101,.68);
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.07);
  cursor:pointer;
  touch-action:manipulation;
}
.btv-selected__reservation svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:#ff6d98;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(255,61,117,.6));
}
.btv-selected__reservation strong{min-width:0;overflow:hidden;font-size:11px;font-weight:760;line-height:1;text-overflow:ellipsis;white-space:nowrap}
.btv-selected__reservation span{margin-left:auto;color:#ff87aa;font-size:10px;font-weight:760}
.btv-selected__reservation:hover{border-color:rgba(255,109,152,.72);background:rgba(54,70,124,.86)}
.btv-selected__reservation:focus-visible{outline:2px solid #ff7da5;outline-offset:2px}
.btv-selected__reservation-empty{margin:0;color:#8995aa;font-size:11px;line-height:1.45}
@media (max-width:767px){
  .btv-selected__layout{gap:6px}
  .btv-selected__layout .btv-selected__screen{max-width:60%}
  .btv-selected__next{flex-basis:112px;padding:6px;max-width:none}
  .btv-selected__next h3{margin-bottom:5px;font-size:12px}
  .btv-selected__reservations{height:calc(100% - 19px);gap:4px}
  .btv-selected__reservation{min-height:27px;gap:4px;padding:0 6px;border-radius:6px}
  .btv-selected__reservation svg{width:12px;height:12px}
  .btv-selected__reservation strong{font-size:11px}
  .btv-selected__reservation span{font-size:10px}
  .btv-selected__reservation-empty{font-size:10px}
}

/* show-266 · KBS-inspired broadcast density, hierarchy and native movement */
body[data-page="home"]{
  background:#080a0f;
}
body[data-page="home"]::before{display:none}
body[data-page="home"] .site-header{
  position:relative;
  background:#090b10;
  border-bottom-color:#222731;
  backdrop-filter:none;
}
body[data-page="home"] .site-header__inner,
body[data-page="home"] .show-home{
  width:min(calc(100% - 32px),1200px);
}
body[data-page="home"] .site-header__inner{min-height:64px}
body[data-page="home"] .show-home{padding:18px 0 72px}
body[data-page="home"] .channel-filter{
  gap:10px;
  padding:8px 10px;
  border-radius:0;
  background:#0d1119;
}
body[data-page="home"] .channel-groups{
  gap:3px;
  scroll-snap-type:x proximity;
  touch-action:pan-x;
}
body[data-page="home"] .channel-groups button{
  min-width:82px;
  min-height:40px;
  padding:7px 14px;
  border-radius:8px;
  background:transparent;
  color:#99a3b5;
  font-size:14px;
  font-weight:720;
  scroll-snap-align:start;
}
body[data-page="home"] .channel-groups button:hover,
body[data-page="home"] .channel-groups button:focus-visible{background:#171c26}
body[data-page="home"] .channel-groups button[aria-pressed="true"]{
  background:#243b88;
  color:#fff;
}
.btv-shell{
  border-radius:0;
  background:#080a0f;
  box-shadow:0 16px 42px rgba(0,0,0,.25);
}
.btv-sticky-stack{
  top:env(safe-area-inset-top);
  background:#080a0f;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.btv-compact-head{
  gap:14px;
  padding:11px 14px;
  background:#0d1119;
}
.btv-compact-head__title h2{font-size:24px;font-weight:760}
.btv-compact-head__title strong{font-size:13px;font-weight:650}
.btv-days{
  scroll-snap-type:x proximity;
  touch-action:pan-x;
}
.btv-days::after{content:"";flex:0 0 8px}
.btv-days button{
  min-width:64px;
  min-height:38px;
  border-radius:8px;
  scroll-snap-align:center;
}
.btv-days button strong{font-size:14px;font-weight:740}
.btv-days button span{font-size:12px;font-weight:650}
.btv-days button[aria-pressed="true"]{background:#24408f}
.btv-now-button{
  height:38px;
  min-width:72px;
  border-radius:9px;
  font-size:14px;
  font-weight:740;
}
.btv-selected{padding:5px 8px;background:#05070c}
.btv-selected__layout{
  width:fit-content;
  max-width:100%;
  gap:8px;
}
.btv-selected__layout .btv-selected__screen{max-width:62%}
.btv-selected__screen{
  transition:opacity .12s ease,transform .12s ease;
}
.btv-selected__screen[data-btv-preview-href]{cursor:pointer}
.btv-selected__next{
  flex:0 0 300px;
  max-width:300px;
  padding:7px;
  border-color:#273042;
  background:#101622;
}
.btv-selected__next h3{font-size:13px;font-weight:720}
.btv-selected__reservations{
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.btv-selected__reservation{
  min-height:29px;
  border-color:#394869;
  border-radius:6px;
  background:#1d2b51;
}
.btv-sticky-stack .btv-axis,
.btv-sticky-stack .btv-axis__track{height:48px}
.btv-sticky-stack .btv-axis__track{transition:none}
.btv-sticky-stack .btv-axis__tick{height:48px;padding-top:16px;font-size:13px;font-weight:650}
.btv-row .btv-program,
.btv-row:nth-child(4n+2) .btv-program,
.btv-row:nth-child(4n+3) .btv-program,
.btv-row:nth-child(4n+4) .btv-program{
  background:#162b52!important;
}
.btv-row .btv-program.is-live,
.btv-row:nth-child(4n+2) .btv-program.is-live,
.btv-row:nth-child(4n+3) .btv-program.is-live,
.btv-row:nth-child(4n+4) .btv-program.is-live{
  background:#2747ad!important;
}
.btv-program.is-selected{
  outline:2px solid #7ea1ff;
  outline-offset:-2px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
}
.btv-program__progress{height:3px}
.btv-program__primary>.btv-program__titleline{font-family:Pretendard,"Noto Sans KR",Inter,system-ui,sans-serif}

@media (max-width:767px){
  body[data-page="home"]{
    --home-gutter-left:max(8px,env(safe-area-inset-left));
    --home-gutter-right:max(8px,env(safe-area-inset-right));
  }
  body[data-page="home"] .site-header__inner,
  body[data-page="home"] .show-home{
    width:100%;
    max-width:none;
    padding-right:var(--home-gutter-right);
    padding-left:var(--home-gutter-left);
  }
  body[data-page="home"] .site-header__inner{min-height:58px}
  body[data-page="home"] .show-home{padding-top:7px}
  body[data-page="home"] .channel-filter{padding:6px 4px}
  body[data-page="home"] .channel-groups{gap:2px}
  body[data-page="home"] .channel-groups button{
    min-width:76px;
    min-height:38px;
    padding:6px 11px;
    font-size:13px;
  }
  .btv-sticky-stack .btv-compact-head{
    column-gap:6px;
    row-gap:4px;
    padding:7px 8px 5px;
  }
  .btv-sticky-stack .btv-compact-head__title{gap:7px}
  .btv-sticky-stack .btv-compact-head__title h2{font-size:18px;font-weight:760}
  .btv-sticky-stack .btv-compact-head__title strong{font-size:11px;font-weight:650}
  .btv-sticky-stack .btv-now-button{
    height:36px;
    min-width:58px;
    padding:0 8px;
    font-size:12px;
  }
  .btv-sticky-stack .btv-days button{
    min-width:55px;
    min-height:36px;
    padding:4px 6px;
  }
  .btv-sticky-stack .btv-days button strong{font-size:12px}
  .btv-sticky-stack .btv-days button span{font-size:11px}
  .btv-sticky-stack .btv-selected{padding:3px 5px}
  .btv-selected__layout{gap:5px}
  .btv-selected__layout{width:100%}
  .btv-selected__layout .btv-selected__screen{max-width:56%}
  .btv-selected__next{flex:1 1 104px;padding:5px}
  .btv-selected__next h3{margin-bottom:4px;font-size:11px}
  .btv-selected__reservations{height:calc(100% - 17px);gap:3px}
  .btv-selected__reservation{min-height:29px;padding:0 5px}
  .btv-selected__reservation strong{font-size:10px}
  .btv-sticky-stack .btv-axis,
  .btv-sticky-stack .btv-axis__track,
  .btv-sticky-stack .btv-axis__tick{height:42px}
  .btv-sticky-stack .btv-axis__tick{padding-top:13px;font-size:12px}
  .btv-row,.btv-row__lane{height:48px}
  .btv-program{height:47px}
  .btv-program__primary,
  .btv-program.is-live .btv-program__primary{padding:3px 7px 5px}
  .btv-program__titleline>strong,
  .btv-program.is-live .btv-program__titleline>strong{font-size:15px;font-weight:650}
  .btv-program__schedule time,
  .btv-program.is-live .btv-program__primary>em{font-size:12px}
}

/* show-268 · KBS Noto hierarchy and uninterrupted page-wheel chaining */
body[data-page="home"],
body[data-page="home"] button,
body[data-page="home"] a{
  font-family:"SHOW Noto Sans KR","Noto Sans KR","Noto Sans CJK KR","Apple SD Gothic Neo",Roboto,sans-serif;
}
body[data-page="home"]{font-weight:400;line-height:1.5}
body[data-page="home"] .channel-filter{
  border-bottom:1px solid #25272c;
  background:#15171b;
}
body[data-page="home"] .channel-groups{gap:8px}
body[data-page="home"] .channel-groups button{
  position:relative;
  min-width:80px;
  min-height:48px;
  padding:7px 13px;
  border-radius:0;
  background:transparent;
  color:#929aa8;
  font-size:14px!important;
  font-weight:400;
  line-height:1.25;
}
body[data-page="home"] .channel-groups button:hover,
body[data-page="home"] .channel-groups button:focus-visible{background:#1d2025;color:#d9dde5}
body[data-page="home"] .channel-groups button[aria-pressed="true"]{
  background:transparent;
  color:#fff;
  font-weight:700;
}
body[data-page="home"] .channel-groups button[aria-pressed="true"]::after{
  position:absolute;
  right:13px;
  bottom:0;
  left:13px;
  height:2px;
  background:#1584ff;
  content:"";
}
.btv-shell,.btv-sticky-stack{background:#111317}
.btv-compact-head{background:#17191e}
.btv-compact-head__title h2{font-size:23px;font-weight:700;letter-spacing:-.035em}
.btv-compact-head__title strong{font-size:13px;font-weight:400}
.btv-days button{position:relative;border-radius:0;background:transparent}
.btv-days button strong{font-weight:500}
.btv-days button span{font-weight:400}
.btv-days button[aria-pressed="true"]{background:transparent;color:#fff}
.btv-days button[aria-pressed="true"]::after{
  position:absolute;
  right:9px;
  bottom:1px;
  left:9px;
  height:2px;
  background:#1584ff;
  content:"";
}
.btv-days button[aria-pressed="true"] strong{font-weight:700}
.btv-days button[aria-pressed="true"] span{font-weight:500}
.btv-now-button{font-weight:500}
.btv-selected{background:#0d0f13}
.btv-selected__next{border-color:#30343c;background:#191c22}
.btv-selected__state{font-weight:500}
.btv-selected__caption strong{font-size:16px;font-weight:500;letter-spacing:-.018em}
.btv-selected__caption time{font-weight:400}
.btv-selected__next h3{font-weight:500}
.btv-selected__reservation strong{font-weight:500}
.btv-selected__reservation span{font-weight:500}
.btv-sticky-stack .btv-axis__tick{font-weight:400}
:where(.btv-axis__boundary).guide-boundary-marker strong{font-weight:700}
.btv-program__titleline>strong,
.btv-program.is-live .btv-program__titleline>strong{
  font-family:"SHOW Noto Sans KR","Noto Sans KR","Noto Sans CJK KR",sans-serif;
  font-size:15px;
  font-weight:400;
  letter-spacing:-.01em;
}
.btv-program.is-selected .btv-program__titleline>strong{font-weight:500}
.btv-program__schedule time{
  font-family:"SHOW Noto Sans KR","Noto Sans KR","Noto Sans CJK KR",sans-serif;
  font-weight:400;
}
.btv-sticky-stack .btv-axis__tick,
.btv-selected__caption strong,
.btv-selected__caption time,
:where(.btv-axis__boundary).guide-boundary-marker strong{
  font-family:"SHOW Noto Sans KR","Noto Sans KR","Noto Sans CJK KR",sans-serif;
}
.btv-program__titleline .btv-program__channel-logo img{
  width:auto;
  height:auto;
  max-width:52px;
  max-height:14px;
}
.btv-program__progress{height:2px}
.btv-scroll{
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
}
.btv-canvas{
  box-sizing:border-box;
  padding-inline-end:0;
}

@media (max-width:767px){
  body[data-page="home"] .channel-groups button{
    min-width:76px;
    min-height:44px;
    padding:6px 10px;
    font-size:15px!important;
  }
  body[data-page="home"] .channel-groups{gap:2px}
  .btv-sticky-stack .btv-compact-head__title h2{font-size:18px;font-weight:700}
  .btv-sticky-stack .btv-compact-head__title strong{font-size:11px;font-weight:400}
  .btv-sticky-stack .btv-days button strong{font-weight:500}
  .btv-sticky-stack .btv-days button span{font-weight:400}
  .btv-sticky-stack .btv-days button[aria-pressed="true"] strong{font-weight:700}
  .btv-sticky-stack .btv-days button[aria-pressed="true"] span{font-weight:500}
  .btv-program__titleline>strong,
  .btv-program.is-live .btv-program__titleline>strong{font-size:15px;font-weight:400;line-height:1.25}
  .btv-program.is-selected .btv-program__titleline>strong{font-weight:500}
  .btv-program__schedule time{font-size:11px;font-weight:400}
  .btv-program__titleline .btv-program__channel-logo img{max-width:50px;max-height:16px}
  .btv-selected__next h3{font-size:12px}
  .btv-selected__reservation strong{font-size:11px;font-weight:400}
}

/* show-271 · continuous next-day schedule and fully visible reservations */
#app .btv-selected__screen[data-btv-preview-href],
#app .btv-selected__screen[data-btv-preview-href] *{cursor:pointer}
#app .btv-selected__screen.is-swiping,
#app .btv-selected__screen.is-swiping *{cursor:grabbing}
.btv-selected__layout{
  width:100%;
  align-items:flex-start;
  flex-wrap:wrap;
}
.btv-selected__layout .btv-selected__screen{
  flex:0 0 auto;
  min-width:256px;
  max-width:62%;
}
.btv-selected__next{
  width:min(420px,100%);
  max-width:420px;
  height:auto;
  min-height:var(--btv-preview-current-height,var(--btv-preview-height,156px));
  overflow:visible;
}
.btv-selected__reservations{
  height:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  overflow:visible;
}
.btv-selected__reservation{
  min-height:46px;
  align-items:center;
  gap:8px;
  padding:6px 9px;
}
.btv-selected__reservation-copy{
  min-width:0;
  display:grid;
  flex:1 1 auto;
  gap:3px;
  text-align:left;
}
.btv-selected__reservation-copy strong{
  overflow:hidden;
  font-size:12px;
  font-weight:500;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.btv-selected__reservation-copy small{
  overflow:hidden;
  color:#aeb7c7;
  font-size:11px;
  font-weight:400;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.btv-selected__reservation>span:last-child{
  flex:0 0 auto;
  margin-left:auto;
  font-size:11px;
  font-weight:500;
}
.btv-axis__tick.is-date-boundary{
  color:#fff;
  font-weight:500;
  white-space:nowrap;
}
@media (max-width:767px){
  .btv-selected__layout{display:grid;grid-template-columns:minmax(168px,56%) minmax(0,1fr);align-items:start;gap:6px}
  .btv-selected__layout .btv-selected__screen{width:100%!important;min-width:168px;max-width:none}
  .btv-selected__next{width:100%;max-width:none;min-height:94px;padding:6px}
  .btv-selected__reservations{grid-template-columns:1fr;gap:4px}
  .btv-selected__layout.has-many-reservations .btv-selected__screen{grid-column:1/-1;width:56%!important;max-width:200px}
  .btv-selected__layout.has-many-reservations .btv-selected__next{grid-column:1/-1}
  .btv-selected__layout.has-many-reservations .btv-selected__reservations{grid-template-columns:repeat(2,minmax(0,1fr))}
  .btv-selected__reservation{min-height:44px;padding:5px 7px}
  .btv-selected__reservation-copy strong{font-size:11px}
  .btv-selected__reservation-copy small{font-size:10px}
}
@media (max-width:359px){
  .btv-selected__layout{grid-template-columns:minmax(160px,54%) minmax(0,1fr)}
  .btv-selected__layout .btv-selected__screen{min-width:160px}
  .btv-selected__layout.has-many-reservations .btv-selected__screen{width:54%!important}
}

/* show-274 · one-line next broadcast, clearer dates and clock-only movement */
.btv-selected__layout{
  align-items:stretch;
  flex-wrap:nowrap;
}
.btv-selected__next{
  flex:1 1 220px;
  width:min(420px,100%);
  height:var(--btv-preview-current-height,var(--btv-preview-height,156px));
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}
.btv-selected__next-line{
  min-width:0;
  display:flex;
  align-items:stretch;
  gap:6px;
}
.btv-selected__next-head{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}
.btv-selected__next-head h3{margin:0}
.btv-selected__reservation{
  min-width:0;
  min-height:38px;
  flex:1 1 auto;
  gap:7px;
  padding:6px 9px;
}
.btv-selected__reservation-copy{
  display:block;
  min-width:0;
}
.btv-selected__reservation-copy strong{
  display:block;
  color:#e4e9f3;
  font-size:12px;
  font-weight:500;
  line-height:1.25;
}
.btv-selected__reservation-copy small{display:none}
.btv-selected__reservation>span:last-child{color:#ff87aa}
.btv-selected__more{
  min-width:64px;
  min-height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:4px 8px;
  border:1px solid #465577;
  border-radius:7px;
  background:#171f31;
  color:#dce4f3;
  font-size:11px;
  font-weight:500;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.btv-selected__more:hover,.btv-selected__more:focus-visible{
  border-color:#7087bd;
  background:#202b42;
  color:#fff;
}
.btv-selected__more:focus-visible{outline:2px solid #7ea1ff;outline-offset:2px}
.btv-compact-head__title>strong{font-size:14px}
.btv-days button strong{font-size:15px}
.btv-days button span{font-size:13px}

.guide-boundary-marker strong span{
  transition:font-size .15s ease,text-shadow .15s ease;
}
.guide-frame.is-guide-dragging .guide-boundary-marker strong,
.guide-boundary-marker.is-moving strong{
  font-size:18px!important;
  transform:none!important;
}
.guide-frame.is-guide-dragging .guide-boundary-marker strong small,
.guide-boundary-marker.is-moving strong small{
  font-size:11px!important;
}
.guide-frame.is-guide-dragging .guide-boundary-marker strong span,
.guide-boundary-marker.is-moving strong span{
  font-size:21px!important;
  text-shadow:0 0 14px rgba(255,70,128,.78),0 1px 3px #000;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong,
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong{
  display:inline-flex;
  flex-direction:row;
  align-items:baseline;
  gap:5px;
  font-size:18px!important;
  transform:none!important;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong small,
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong small{
  flex:0 0 auto;
  color:#ff8bae;
  font-size:11px!important;
  font-weight:600;
  line-height:1;
}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong small[hidden]{display:none}
:where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong span{
  font-size:21px!important;
}

@media (max-width:767px){
  .btv-sticky-stack .btv-compact-head__title strong{font-size:12px}
  .btv-sticky-stack .btv-days button strong{font-size:13px}
  .btv-sticky-stack .btv-days button span{font-size:12px}
  .btv-selected__layout{
    grid-template-columns:minmax(168px,56%) minmax(0,1fr);
    align-items:stretch;
  }
  .btv-selected__next{
    min-height:0;
    height:var(--btv-preview-current-height,var(--btv-preview-height,112px));
    padding:6px;
  }
  .btv-selected__next h3{margin-bottom:6px;font-size:12px}
  .btv-selected__next-head{gap:5px;margin-bottom:5px}
  .btv-selected__next-head h3{margin-bottom:0}
  .btv-selected__next-line{gap:4px}
  .btv-selected__reservation{min-height:34px;gap:3px;padding:5px 4px}
  .btv-selected__reservation-copy strong{font-size:12px}
  .btv-selected__reservation>span:last-child{font-size:10px}
  .btv-selected__more{min-width:54px;min-height:24px;padding:4px 6px;font-size:11px}
  .guide-frame.is-guide-dragging .guide-boundary-marker strong,
  .guide-boundary-marker.is-moving strong{
    font-size:17px!important;
  }
  .guide-frame.is-guide-dragging .guide-boundary-marker strong small,
  .guide-boundary-marker.is-moving strong small{
    font-size:10px!important;
  }
  .guide-frame.is-guide-dragging .guide-boundary-marker strong span,
  .guide-boundary-marker.is-moving strong span{
    font-size:20px!important;
  }
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong,
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong{
    gap:4px;
    font-size:17px!important;
  }
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker strong small,
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong small{
    font-size:10px!important;
  }
  :where(.btv-sticky-stack .btv-axis__boundary).guide-boundary-marker.is-moving strong span{
    font-size:20px!important;
  }
}

/* show-278 · swipeable navigation, compact portrait preview and one visual next-airing card */
body[data-page="home"] .channel-groups{
  width:100%;
  min-width:0;
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-inline-end:18px;
  scroll-behavior:smooth;
  scroll-padding-inline:12px;
  scroll-snap-type:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  cursor:grab;
  -webkit-overflow-scrolling:touch;
}
body[data-page="home"] .channel-groups.is-dragging{cursor:grabbing;scroll-behavior:auto}
body[data-page="home"] .channel-groups button{
  width:auto!important;
  flex:0 0 auto!important;
  touch-action:pan-x;
}
.btv-selected__screen.is-portrait-frame,
.btv-selected__screen.is-portrait-frame .btv-selected__artwork{
  background:#020306;
}
.btv-selected__screen.is-portrait-frame .btv-selected__image{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:none;
}

.next-airing-card{
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:12px 16px;
}
.next-airing-card__heading{grid-column:1/-1}
.next-airing-card__primary{min-width:0;max-width:420px}
.next-airing-card__primary .onair-card--next{width:100%;max-width:420px}
.next-airing-card__primary .onair-card--next .onair-card__media{
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
  background:#020306;
}
.next-airing-card__primary .onair-card--next .onair-card__poster,
.next-airing-card__primary .onair-card--next .onair-card__media.has-native-poster .onair-card__poster,
.next-airing-card__primary .onair-card--next .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop){
  inset:50% auto auto 50%;
  width:min(176px,calc(100% - 24px));
  height:min(244px,calc(100% - 18px));
  object-fit:contain;
  object-position:center;
  transform:translate(-50%,-50%);
  filter:none;
}
.next-airing-card__primary .onair-card--next .onair-card__media:not(.is-portrait) .onair-card__poster{
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:none;
}
.next-airing-reservation-list{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  align-content:start;
  gap:7px;
}
.next-airing-reservation{
  width:100%;
  min-width:0;
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(104px,auto) minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:9px 11px;
  border:1px solid #303746;
  border-radius:9px;
  background:#10141d;
  color:#e8ecf4;
  cursor:pointer;
  text-align:left;
  transition:border-color .16s ease,background .16s ease;
}
.next-airing-reservation:hover,
.next-airing-reservation:focus-visible{border-color:#586d9f;background:#171d2a}
.next-airing-reservation:focus-visible{outline:2px solid #7496e8;outline-offset:2px}
.next-airing-reservation__date,
.next-airing-reservation__program{min-width:0;display:grid;gap:3px}
.next-airing-reservation__date strong{font-size:13px;font-weight:600;line-height:1.2}
.next-airing-reservation__date strong{color:#cfd6e3;white-space:nowrap}
.next-airing-reservation__date small{color:#91a3c7;font-size:11px;font-weight:400;line-height:1.2}
.next-airing-reservation__program strong{overflow:hidden;font-size:14px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.next-airing-reservation__program time{color:#9ea8ba;font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}
.next-airing-reservation__action{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;color:#ff87aa;font-size:12px;font-weight:600;white-space:nowrap}

@media (max-width:700px){
  .next-airing-card{grid-template-columns:minmax(0,1fr);gap:10px}
  .next-airing-reservation-list{grid-template-columns:minmax(0,1fr)}
  .next-airing-card__heading{grid-column:1}
  .next-airing-card__primary{width:100%;max-width:none}
  .next-airing-card__primary .onair-card--next{max-width:none}
  .next-airing-card__primary .onair-card--next .onair-card__media{aspect-ratio:16/9!important}
  .next-airing-reservation{grid-template-columns:80px minmax(0,1fr) max-content;gap:8px;min-height:56px;padding:8px 9px}
  .next-airing-reservation__date strong{font-size:12px}
  .next-airing-reservation__date small{font-size:10px}
  .next-airing-reservation__program strong{font-size:13px}
  .next-airing-reservation__program time{font-size:11px}
  .next-airing-reservation__action{font-size:11px}
}
@media (max-width:360px){
  .next-airing-reservation{grid-template-columns:72px minmax(0,1fr) max-content;gap:6px}
  .next-airing-reservation__action{font-size:10px}
}

/* show-279 · capacity-aware reservations */
.btv-selected__next{
  justify-content:flex-start;
  padding:7px;
}
.btv-selected__next-head{
  min-height:24px;
  flex:0 0 auto;
  margin-bottom:5px;
}
.btv-selected__next-line{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(32px,40px);
  align-content:start;
  gap:4px;
  overflow:hidden;
}
.btv-selected__reservation{
  width:100%;
  min-width:0;
  min-height:0;
  height:100%;
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border:1px solid #39465f;
  border-radius:7px;
  background:#182238;
  box-shadow:none;
}
.btv-selected__reservation:hover,
.btv-selected__reservation:focus-visible{
  border-color:#60749e;
  background:#202d48;
}
.btv-selected__reservation-copy{
  min-width:0;
  flex:1 1 auto;
  margin:0!important;
}
.btv-selected__reservation-copy strong{
  overflow:hidden;
  color:#eef2f8;
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.btv-selected__reservation>.btv-selected__reservation-action{
  display:inline-flex;
  align-items:center;
  gap:3px;
  flex:0 0 auto;
  margin:0 0 0 auto;
  color:#ff87aa;
  font-size:10px;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
}
.btv-selected__reservation-action svg,
.next-airing-reservation__action svg{
  width:13px;
  height:13px;
  flex:0 0 13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:none;
}
.btv-selected__reservation-action>span{
  margin:0!important;
  color:inherit!important;
  font:inherit;
}

.btv-row .btv-program.is-live,
.btv-row:nth-child(4n+2) .btv-program.is-live,
.btv-row:nth-child(4n+3) .btv-program.is-live,
.btv-row:nth-child(4n+4) .btv-program.is-live{
  background:linear-gradient(135deg,#1d2633,#18212c)!important;
  box-shadow:inset 3px 0 0 #006fff,inset 0 0 0 1px rgba(113,132,158,.18);
}
.btv-program.is-live .btv-program__schedule time,
.btv-program.is-live .btv-program__primary>time{color:#cbd3df}
.btv-program.is-live .btv-program__progress{background:rgba(4,8,14,.56)}
.btv-program.is-live .btv-program__progress i{
  background:#ff2d66;
  box-shadow:0 0 7px rgba(255,45,102,.55);
}
.btv-program.is-live.is-selected{
  outline-color:#5798ff;
  box-shadow:inset 3px 0 0 #006fff,inset 0 0 0 1px rgba(255,255,255,.2);
}

@media (min-width:768px) and (max-width:1099px){
  .btv-selected__next-line{
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:31px;
    gap:3px;
  }
}

@media (max-width:767px){
  .btv-selected__next{padding:5px}
  .btv-selected__next-head{min-height:20px;margin-bottom:3px}
  .btv-selected__next-line{
    flex:0 0 auto;
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:31px;
    gap:3px;
  }
  .btv-selected__next-line[data-reservation-count="3"]{
    flex:1 1 auto;
    grid-auto-rows:minmax(0,1fr);
  }
  .btv-selected__reservation{padding:4px 5px}
  .btv-selected__reservation-copy strong{font-size:10px}
  .btv-selected__reservation>.btv-selected__reservation-action{font-size:9px}
  .btv-selected__reservation-action svg{width:12px;height:12px;flex-basis:12px}
}

/* show-280 · KBS-like restrained state colour, fitted artwork and schedule position */
.btv-selected__screen .btv-selected__artwork{isolation:isolate}
.btv-selected__screen .btv-selected__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
}
.btv-selected__screen.is-portrait-frame .btv-selected__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
}
:where(.btv-sticky-stack .btv-axis__boundary) .btv-axis__return{
  position:absolute;
  z-index:8;
  left:42px;
  top:25px;
  min-width:48px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 7px;
  border:1px solid rgba(0,111,255,.52);
  border-radius:9px;
  background:rgba(15,22,32,.84);
  color:#b9d5ff;
  font:500 10px/1 "SHOW Noto Sans KR","Noto Sans KR",sans-serif;
  pointer-events:auto;
  cursor:pointer;
  backdrop-filter:blur(6px);
}
:where(.btv-sticky-stack .btv-axis__boundary) .btv-axis__return:hover,
:where(.btv-sticky-stack .btv-axis__boundary) .btv-axis__return:focus-visible{
  border-color:#4192ff;
  background:#172b46;
  color:#fff;
  outline:0;
}
:where(.btv-sticky-stack .btv-axis__boundary) .btv-axis__return[hidden]{display:none}
.btv-position-gauge{
  position:fixed;
  z-index:95;
  top:42%;
  right:5px;
  width:4px;
  height:min(32vh,220px);
  min-height:120px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(184,197,218,.12);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.btv-position-gauge.is-visible{opacity:.72}
.btv-position-gauge i{
  position:absolute;
  top:0;
  right:0;
  left:0;
  min-height:26px;
  border-radius:inherit;
  background:rgba(190,201,218,.52);
  box-shadow:0 0 6px rgba(190,201,218,.14);
  will-change:height,transform;
}
.btv-row .btv-program.is-future,
.btv-row:nth-child(4n+2) .btv-program.is-future,
.btv-row:nth-child(4n+3) .btv-program.is-future,
.btv-row:nth-child(4n+4) .btv-program.is-future{
  background:#162b52!important;
  box-shadow:none;
}
@media (max-width:767px){
  :where(.btv-sticky-stack .btv-axis__boundary) .btv-axis__return{left:40px;top:24px;height:17px;padding-inline:6px;font-size:9px}
  .btv-position-gauge{right:3px;width:3px;height:min(29vh,180px);min-height:108px}
}

/* show-282 · KBS-inspired mobile LIVE density and one neutral guide palette */
.onair-card__channel-mark{display:none}
.btv-row .btv-program,
.btv-row:nth-child(4n+2) .btv-program,
.btv-row:nth-child(4n+3) .btv-program,
.btv-row:nth-child(4n+4) .btv-program,
.btv-row .btv-program.is-past,
.btv-row:nth-child(4n+2) .btv-program.is-past,
.btv-row:nth-child(4n+3) .btv-program.is-past,
.btv-row:nth-child(4n+4) .btv-program.is-past{
  background:#19222d!important;
  box-shadow:none;
}
.btv-row .btv-program.is-live,
.btv-row:nth-child(4n+2) .btv-program.is-live,
.btv-row:nth-child(4n+3) .btv-program.is-live,
.btv-row:nth-child(4n+4) .btv-program.is-live{
  background:linear-gradient(135deg,#1d2633,#1b2530)!important;
  box-shadow:inset 0 0 0 1px rgba(132,146,165,.16);
}
.btv-row .btv-program.is-future,
.btv-row:nth-child(4n+2) .btv-program.is-future,
.btv-row:nth-child(4n+3) .btv-program.is-future,
.btv-row:nth-child(4n+4) .btv-program.is-future{
  background:linear-gradient(135deg,#242f3d,#202b38)!important;
  box-shadow:inset 0 0 0 1px rgba(140,154,174,.12);
}
.btv-program.is-live.is-selected,
.btv-program.is-future.is-selected,
.btv-program.is-past.is-selected{
  outline-color:#5798ff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.btv-program.is-live .btv-program__progress i,
.onair-card.is-live .live-progress i{
  min-width:3px;
}
.btv-selected__layout{align-items:stretch}
.btv-selected__next{
  align-self:stretch;
  height:var(--btv-preview-current-height,var(--btv-preview-height,156px));
  min-height:var(--btv-preview-current-height,var(--btv-preview-height,156px));
}

@media (max-width:767px){
  .guide-frame.is-flat-list .guide-flat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 8px;
    padding:10px 0 0;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card{
    width:auto;
    min-width:0;
    overflow:hidden;
    border:1px solid #292e36;
    border-radius:0;
    background:#191c22;
    box-shadow:none;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__primary{display:block;height:100%}
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .onair-card__media{
    display:flex;
    flex-direction:column;
    aspect-ratio:auto!important;
    overflow:hidden;
    border-radius:0!important;
    background:#191c22;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .onair-card__poster,
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .onair-card__media.has-native-poster .onair-card__poster,
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop){
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    flex:0 0 auto;
    aspect-ratio:16/9;
    object-fit:cover;
    object-position:center;
    transform:none;
    filter:none;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .onair-card__caption{
    position:relative;
    inset:auto;
    min-height:72px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-content:start;
    align-items:center;
    gap:3px 6px;
    padding:7px 8px 7px;
    border-top:1px solid rgba(255,255,255,.055);
    background:#191c22;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__channel-mark{
    grid-column:1;
    grid-row:1;
    width:52px;
    height:17px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    overflow:hidden;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__channel-mark .channel-logo{
    width:48px;
    height:16px;
    object-fit:contain;
    object-position:left center;
    filter:none;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__channel-mark .channel-logo-fallback{
    overflow:hidden;
    color:#b8c0cc;
    font-size:11px;
    font-weight:400;
    text-overflow:ellipsis;
    text-shadow:none;
    white-space:nowrap;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__caption>strong{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    color:#aeb6c3;
    font-size:11px;
    font-weight:400;
    line-height:17px;
    text-shadow:none;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__caption h3{
    grid-column:1/-1;
    grid-row:2;
    min-height:34px;
    display:-webkit-box;
    margin:0;
    overflow:hidden;
    color:#f2f4f7;
    font-size:14px;
    font-weight:500;
    line-height:1.25;
    letter-spacing:-.025em;
    text-overflow:clip;
    white-space:normal;
    text-shadow:none;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__caption .live-progress{
    grid-column:1/-1;
    grid-row:3;
    height:3px;
    margin:1px 0 0;
    background:#303640;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .live-badge{
    top:6px;
    left:6px;
    gap:4px;
    padding:3px 6px;
    border:0;
    border-radius:999px;
    background:#ed1c2e;
    color:#fff;
    font-family:"SHOW Noto Sans KR","Noto Sans KR",sans-serif;
    font-size:10px;
    font-weight:500;
    letter-spacing:0;
    line-height:1;
    text-shadow:none;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .live-badge__text{
    color:#fff;
    font:inherit;
    letter-spacing:0;
    text-shadow:none;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-live .live-badge>i{
    display:none;
  }
  .btv-selected__next{
    height:var(--btv-preview-current-height,var(--btv-preview-height,112px));
    min-height:var(--btv-preview-current-height,var(--btv-preview-height,112px));
  }
}

/* show-283 · row-step navigation, aligned mobile header and resilient artwork */
.btv-row .btv-program.is-live,
.btv-row:nth-child(4n+2) .btv-program.is-live,
.btv-row:nth-child(4n+3) .btv-program.is-live,
.btv-row:nth-child(4n+4) .btv-program.is-live{
  background:linear-gradient(135deg,#34475b,#293a4c)!important;
  box-shadow:inset 0 0 0 1px rgba(181,199,220,.24);
}
.btv-row .btv-program.is-future,
.btv-row:nth-child(4n+2) .btv-program.is-future,
.btv-row:nth-child(4n+3) .btv-program.is-future,
.btv-row:nth-child(4n+4) .btv-program.is-future{
  background:linear-gradient(135deg,#222d39,#1e2834)!important;
  box-shadow:inset 0 0 0 1px rgba(139,154,174,.1);
}
.btv-program.is-live.is-selected{
  outline-color:#71a8ff;
  box-shadow:inset 0 0 0 1px rgba(225,236,249,.34);
}

.btv-position-gauge{
  position:fixed;
  z-index:95;
  top:var(--btv-gauge-top,50%);
  right:max(var(--btv-gauge-right,10px),calc(env(safe-area-inset-right) + 10px));
  width:8px;
  height:auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  opacity:0;
  transform:translateY(-50%);
  backdrop-filter:none;
  pointer-events:none;
  transition:opacity .18s ease;
}
.btv-position-gauge.is-visible{opacity:.82}
.btv-position-gauge i{
  position:static;
  width:8px;
  height:8px;
  min-height:0;
  flex:0 0 8px;
  display:block;
  border-radius:50%;
  background:rgba(181,199,222,.22);
  box-shadow:none;
  transform:none!important;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.btv-position-gauge i.is-passed{background:rgba(117,161,218,.38)}
.btv-position-gauge i.is-active{
  background:rgba(151,194,255,.92);
  box-shadow:0 0 8px rgba(91,155,244,.68);
  transform:scale(1.32)!important;
}

@keyframes btv-reservation-bell-ring{
  0%,58%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  64%{transform:translateY(-1px) rotate(-18deg) scale(1.08)}
  70%{transform:translateY(-1px) rotate(17deg) scale(1.1)}
  76%{transform:translateY(-1px) rotate(-13deg) scale(1.08)}
  82%{transform:translateY(-1px) rotate(10deg) scale(1.08)}
  88%{transform:translateY(0) rotate(-5deg) scale(1.04)}
  94%{transform:translateY(0) rotate(0deg) scale(1)}
}
.btv-selected__reservation-action svg,
.next-airing-reservation__action svg{
  box-sizing:content-box;
  width:14px;
  height:14px;
  flex:0 0 14px;
  padding:2px;
  border:1px solid rgba(255,111,157,.42);
  border-radius:50%;
  background:rgba(255,83,139,.13);
  fill:currentColor;
  stroke:none;
  transform-origin:50% 10%;
  animation:btv-reservation-bell-ring 2.45s cubic-bezier(.4,0,.2,1) infinite;
  filter:drop-shadow(0 0 4px rgba(255,82,139,.4));
}
.btv-selected__reservation:nth-child(2) .btv-selected__reservation-action svg{animation-delay:.4s}
.btv-selected__reservation:nth-child(3) .btv-selected__reservation-action svg{animation-delay:.8s}
.btv-selected__reservation:nth-child(4) .btv-selected__reservation-action svg{animation-delay:1.2s}
.next-airing-reservation:nth-child(4n+2) .next-airing-reservation__action svg{animation-delay:.4s}
.next-airing-reservation:nth-child(4n+3) .next-airing-reservation__action svg{animation-delay:.8s}
.next-airing-reservation:nth-child(4n) .next-airing-reservation__action svg{animation-delay:1.2s}

.btv-sticky-stack .btv-axis__track{
  cursor:grab;
  touch-action:pan-x pan-y;
  user-select:none;
}
.btv-sticky-stack .btv-axis__track.is-dragging{cursor:grabbing}
.btv-sticky-stack .btv-axis>.btv-axis__return{
  position:absolute;
  z-index:82;
  top:10px;
  right:8px;
  left:auto;
  min-width:88px;
  height:27px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid rgba(91,151,236,.58);
  border-radius:7px;
  background:rgba(15,25,39,.94);
  color:#d7e7ff;
  font:500 11px/1 "SHOW Noto Sans KR","Noto Sans KR",sans-serif;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.2);
  backdrop-filter:blur(7px);
}
.btv-sticky-stack .btv-axis>.btv-axis__return:hover,
.btv-sticky-stack .btv-axis>.btv-axis__return:focus-visible{
  border-color:#72adff;
  background:#1b304c;
  color:#fff;
  outline:0;
}
.btv-sticky-stack .btv-axis>.btv-axis__return[hidden]{display:none}

.btv-selected__next{
  box-sizing:border-box;
  overflow:hidden;
}

@media (max-width:767px){
  .btv-sticky-stack .btv-compact-head{
    grid-template-columns:minmax(0,1fr);
    column-gap:0;
    row-gap:7px;
    padding:9px 8px 6px;
  }
  .btv-sticky-stack .btv-compact-head__title{
    width:100%;
    display:flex;
    align-items:baseline;
    gap:7px;
    padding-inline:2px;
  }
  .btv-sticky-stack .btv-compact-head__title h2{
    font-size:18px;
    line-height:1.2;
  }
  .btv-sticky-stack .btv-compact-head__title strong{
    margin:0;
    font-size:12px;
    line-height:1.2;
  }
  .btv-sticky-stack .btv-days{
    width:100%;
    gap:5px;
    padding:0 2px 3px;
    scroll-padding-inline:2px;
  }
  .btv-sticky-stack .btv-days button{
    min-width:58px;
    min-height:31px;
    gap:5px;
    padding:4px 5px;
  }
  .btv-sticky-stack .btv-days button strong,
  .btv-sticky-stack .btv-days button span{line-height:1}

  .btv-selected__layout{
    grid-template-columns:minmax(174px,56%) minmax(0,1fr);
  }
  .btv-selected__next{
    height:var(--btv-preview-current-height,var(--btv-preview-height,120px));
    min-height:var(--btv-preview-current-height,var(--btv-preview-height,120px));
    padding:5px;
  }
  .btv-selected__next-head{min-height:21px;margin-bottom:4px}
  .btv-selected__next-line{
    flex:0 0 auto;
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:29px;
    gap:3px;
  }
  .btv-selected__next-line[data-reservation-count="3"]{
    flex:1 1 auto;
    grid-template-rows:repeat(3,minmax(23px,1fr));
    grid-auto-rows:auto;
  }
  .btv-selected__reservation{min-height:0;padding:3px 5px}
  .btv-selected__reservation-copy strong{font-size:10px;line-height:1.1}
  .btv-selected__reservation>.btv-selected__reservation-action{font-size:9px}

  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-image-missing:not(.is-off-air) .poster-placeholder{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    flex:0 0 auto;
    aspect-ratio:16/9;
    display:grid;
    place-content:center;
    background:radial-gradient(circle at 50% 38%,rgba(72,108,159,.2),transparent 43%),#101722;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card__media.is-image-missing::before{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    flex:0 0 auto;
    aspect-ratio:16/9;
    display:grid;
    place-items:center;
    background:radial-gradient(circle at 50% 38%,rgba(72,108,159,.2),transparent 43%),#101722;
    color:#eef3fa;
    content:"SHOW";
    font-size:18px;
    font-weight:650;
    letter-spacing:.18em;
  }
  .guide-frame.is-flat-list .guide-flat-grid .onair-card.is-off-air .poster-placeholder{display:none}

  .btv-position-gauge{width:6px;gap:8px;padding:0}
  .btv-position-gauge i{width:6px;height:6px;flex-basis:6px}
  .btv-sticky-stack .btv-axis>.btv-axis__return{
    top:8px;
    right:6px;
    min-width:94px;
    height:26px;
    padding-inline:9px;
    font-size:11px;
  }
}

@media (prefers-reduced-motion:reduce){
  .btv-selected__reservation-action svg,
  .next-airing-reservation__action svg{animation:none}
}

/* show-289 · restrained detail-page artwork width with uncropped source ratio */
.next-airing-card__primary{
  width:min(100%,380px);
  max-width:380px;
  justify-self:start;
}
.next-airing-card__primary .onair-card--next{
  width:100%;
  max-width:380px;
}
.next-airing-card__primary .onair-card--next .onair-card__media,
.next-airing-card__primary .onair-card--next .onair-card__media.is-portrait{
  aspect-ratio:16/9!important;
  background:#000;
}
.next-airing-card__primary .onair-card--next .onair-card__poster,
.next-airing-card__primary .onair-card--next .onair-card__media.has-native-poster .onair-card__poster,
.next-airing-card__primary .onair-card--next .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop),
.next-airing-card__primary .onair-card--next .onair-card__media:not(.is-portrait) .onair-card__poster{
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
  background:#000;
  filter:none;
}
@media (max-width:700px){
  .next-airing-card__primary,
  .next-airing-card__primary .onair-card--next{
    width:min(100%,360px);
    max-width:360px;
  }
}

/* show-291 · keep the complete 16:9 artwork above a separate information footer */
.next-airing-card__primary .onair-card--next .onair-card__media,
.next-airing-card__primary .onair-card--next .onair-card__media.is-portrait{
  height:auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  aspect-ratio:auto!important;
  overflow:hidden;
  background:#000;
}
.next-airing-card__primary .onair-card--next .onair-card__poster,
.next-airing-card__primary .onair-card--next .onair-card__media.has-native-poster .onair-card__poster,
.next-airing-card__primary .onair-card--next .onair-card__media.is-image-contained .onair-card__poster:not(.onair-card__poster-backdrop),
.next-airing-card__primary .onair-card--next .onair-card__media:not(.is-portrait) .onair-card__poster{
  position:relative;
  inset:auto;
  width:100%;
  height:auto;
  flex:0 0 auto;
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:center;
  transform:none;
  background:#000;
}
.next-airing-card__primary .onair-card--next .onair-card__media>.poster-placeholder{
  position:relative;
  inset:auto;
  width:100%;
  height:auto;
  flex:0 0 auto;
  aspect-ratio:16/9;
}
.next-airing-card__primary .onair-card--next .onair-card__media>.channel-representative{
  position:absolute;
  z-index:0;
  inset:0 0 auto;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
}
.next-airing-card__primary .onair-card--next .onair-card__media.uses-channel-representative>.channel-representative,
.next-airing-card__primary .onair-card--next.is-image-missing .onair-card__media>.channel-representative{
  position:relative;
  inset:auto;
  flex:0 0 auto;
}
.next-airing-card__primary .onair-card--next .onair-card__caption,
.next-airing-card__primary .onair-card--next.is-current-airing .onair-card__caption{
  position:relative;
  inset:auto;
  width:100%;
  min-height:72px;
  flex:0 0 auto;
  padding:11px 12px 12px;
  border-top:1px solid rgba(255,255,255,.09);
  background:#080b11;
}
#app .btv-sticky-stack .btv-axis{
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
}
#app .btv-sticky-stack .btv-axis.is-dragging{cursor:grabbing}
#app .btv-sticky-stack .btv-axis button{cursor:pointer}

/* show-284 · KBS footer-tone schedule states */
.btv-row .btv-program,
.btv-row:nth-child(4n+2) .btv-program,
.btv-row:nth-child(4n+3) .btv-program,
.btv-row:nth-child(4n+4) .btv-program,
.btv-row .btv-program.is-past,
.btv-row:nth-child(4n+2) .btv-program.is-past,
.btv-row:nth-child(4n+3) .btv-program.is-past,
.btv-row:nth-child(4n+4) .btv-program.is-past{
  background:#191a1c!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);
}
.btv-row .btv-program.is-future,
.btv-row:nth-child(4n+2) .btv-program.is-future,
.btv-row:nth-child(4n+3) .btv-program.is-future,
.btv-row:nth-child(4n+4) .btv-program.is-future{
  background:#1c1d1f!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);
}
.btv-row .btv-program.is-live,
.btv-row:nth-child(4n+2) .btv-program.is-live,
.btv-row:nth-child(4n+3) .btv-program.is-live,
.btv-row:nth-child(4n+4) .btv-program.is-live{
  background:#222427!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.075);
}
.btv-program.is-live.is-selected,
.btv-program.is-future.is-selected,
.btv-program.is-past.is-selected{
  outline-color:#6685bd;
  box-shadow:inset 0 0 0 1px rgba(145,173,218,.26);
}

/* show-298 · one native horizontal scroll model for the ruler and programme lanes */
#app .btv-sticky-stack .btv-axis{
  cursor:default;
  touch-action:auto;
}
.btv-axis__scroller{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  cursor:grab;
}
.btv-axis__scroller::-webkit-scrollbar{display:none;width:0;height:0}
.btv-axis__scroller.is-dragging{cursor:grabbing;user-select:none}
.btv-axis__scroller:focus-visible{outline:1px solid rgba(114,173,255,.7);outline-offset:-1px}
.btv-sticky-stack .btv-axis__track{
  box-sizing:content-box;
  padding-inline-end:var(--btv-axis-tail,0px);
  will-change:auto;
  transform:none!important;
  transition:none!important;
}
.btv-sticky-stack .btv-axis__track .btv-axis__tick:last-child{
  right:0;
  left:auto!important;
  padding-right:4px;
  text-align:right;
}
#app .guide-frame.is-weekly-list .btv-scroll,
#app .btv-axis__scroller,
#app .btv-sticky-stack .btv-axis__track{
  touch-action:pan-x pan-y;
}

/* show-319 - keep every mobile reservation inside the selected-program header */
@media (max-width:767px){
  .btv-selected__layout{
    align-items:stretch;
  }
  .btv-selected__layout .btv-selected__screen{
    align-self:start;
  }
  .btv-selected__next{
    height:auto;
    min-height:max(var(--btv-preview-current-height,var(--btv-preview-height,120px)),120px);
    align-self:stretch;
    overflow:visible;
  }
  .btv-selected__next-line{
    overflow:visible;
  }
}

/* show-322 · crawlable genre navigation and the list-style LIVE genre view */
body[data-page="home"] .channel-groups :is(button,a){
  position:relative;
  width:auto!important;
  min-width:80px;
  min-height:48px;
  flex:0 0 auto!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 13px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#929aa8;
  font-size:14px!important;
  font-weight:400;
  line-height:1.25;
  text-decoration:none;
  touch-action:pan-x;
}
body[data-page="home"] .channel-groups :is(button,a):hover,
body[data-page="home"] .channel-groups :is(button,a):focus-visible{
  background:#1d2025;
  color:#d9dde5;
  outline:0;
}
body[data-page="home"] .channel-groups :is(button,a)[aria-pressed="true"]{
  background:transparent;
  color:#fff;
  font-weight:700;
}
body[data-page="home"] .channel-groups :is(button,a)[aria-pressed="true"]::after{
  position:absolute;
  right:13px;
  bottom:0;
  left:13px;
  height:2px;
  background:#1584ff;
  content:"";
}
.live-genre-board{
  display:grid;
  gap:28px;
  padding:20px 0 32px;
}
.live-genre-board__intro{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding:0 2px 2px;
}
.live-genre-board__intro div{display:grid;gap:3px}
.live-genre-board__intro span{
  color:#7ea7eb;
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
}
.live-genre-board__intro h2{
  margin:0;
  color:#f5f7fb;
  font-size:23px;
  font-weight:650;
  letter-spacing:-.035em;
}
.live-genre-board__intro p{
  margin:0;
  color:#939cab;
  font-size:13px;
  font-weight:400;
}
.live-genre-section{
  display:grid;
  gap:12px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.09);
}
.live-genre-section__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:0 2px;
}
.live-genre-section__head h3{
  margin:0;
  color:#eef1f6;
  font-size:17px;
  font-weight:600;
  letter-spacing:-.025em;
}
.live-genre-section__head span{
  color:#858e9d;
  font-size:12px;
  font-weight:400;
}
.live-genre-section>.guide-flat-grid{padding-top:0}

@media (max-width:767px){
  body[data-page="home"] .channel-groups :is(button,a){
    min-width:76px;
    min-height:44px;
    padding:6px 10px;
    font-size:15px!important;
  }
  body[data-page="home"] .channel-groups :is(button,a)[aria-pressed="true"]::after{
    right:10px;
    left:10px;
  }
  .live-genre-board{
    gap:22px;
    padding:16px 0 26px;
  }
  .live-genre-board__intro{align-items:center;gap:12px}
  .live-genre-board__intro span{font-size:11px}
  .live-genre-board__intro h2{font-size:20px}
  .live-genre-board__intro p{
    max-width:112px;
    font-size:12px;
    line-height:1.35;
    text-align:right;
  }
  .live-genre-section{gap:10px;padding-top:13px}
  .live-genre-section__head h3{font-size:16px}
}

/* show-326 · LIVE keeps rating-based order silently and exposes themes in-place */
.live-filtered-board{gap:12px;padding-top:14px}
.live-filtered-board>.guide-flat-grid{padding-top:0}
.live-filtered-board .live-genre-board__intro{
  min-height:28px;
  align-items:center;
  gap:12px;
  padding-bottom:0;
}
.live-filtered-board .live-genre-board__intro h2{font-size:22px}
.live-filtered-board .live-genre-board__intro p{
  max-width:none;
  line-height:1.2;
  white-space:nowrap;
}
.live-theme-filter{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:6px;
  width:100%;
  padding:0 2px 2px;
  overflow:visible;
  touch-action:auto;
}
.live-theme-filter button{
  min-width:0;
  min-height:34px;
  padding:6px 4px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:9px;
  background:#171a1f;
  color:#9ca5b3;
  font:inherit;
  font-size:13px;
  font-weight:400;
  white-space:nowrap;
  cursor:pointer;
}
.live-theme-filter button:hover,
.live-theme-filter button:focus-visible{
  border-color:rgba(126,167,235,.38);
  color:#e4e9f1;
  outline:0;
}
.live-theme-filter button[aria-pressed="true"]{
  border-color:rgba(112,148,196,.66);
  background:#242a32;
  color:#fff;
  font-weight:600;
}

/* Keep state separation readable without reviving the bright blue card blocks. */
.btv-row .btv-program.is-past,
.btv-row:nth-child(4n+2) .btv-program.is-past,
.btv-row:nth-child(4n+3) .btv-program.is-past,
.btv-row:nth-child(4n+4) .btv-program.is-past{
  background:#18191b!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.btv-row .btv-program.is-future,
.btv-row:nth-child(4n+2) .btv-program.is-future,
.btv-row:nth-child(4n+3) .btv-program.is-future,
.btv-row:nth-child(4n+4) .btv-program.is-future{
  background:#1d1f22!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.065);
}
.btv-row .btv-program.is-live,
.btv-row:nth-child(4n+2) .btv-program.is-live,
.btv-row:nth-child(4n+3) .btv-program.is-live,
.btv-row:nth-child(4n+4) .btv-program.is-live{
  background:linear-gradient(100deg,#292d32 0%,#24282d 72%,#22262a 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(164,184,207,.18);
}

@media (max-width:900px){
  .live-theme-filter{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media (max-width:767px){
  .live-filtered-board{gap:10px;padding-top:11px}
  .live-filtered-board .live-genre-board__intro h2{font-size:19px}
  .live-theme-filter{gap:5px;padding-bottom:1px}
  .live-theme-filter button{
    min-height:32px;
    padding:5px 3px;
    font-size:12px;
  }
}

@media (max-width:600px){
  body[data-page="home"] .channel-groups{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding-inline-end:0;
    overflow:visible!important;
    cursor:default;
  }
  body[data-page="home"] .channel-groups :is(button,a){
    width:100%!important;
    min-width:0;
  }
}

@media (max-width:350px){
  .live-theme-filter{grid-template-columns:repeat(4,minmax(0,1fr))}
  .live-theme-filter button{font-size:11px}
}
