.briefing-letsplay-posters { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(86px,calc((100% - 1.3rem) / 3)); overflow-x:auto; gap:.65rem; padding:.35rem 0 .5rem; scroll-snap-type:x proximity; scrollbar-width:thin; }
.briefing-letsplay-poster { display:grid; min-width:0; align-content:start; gap:.25rem; scroll-snap-align:start; }
.briefing-poster-art { position:relative; display:grid; overflow:hidden; width:100%; aspect-ratio:3 / 4; border:1px solid var(--warm-border); border-radius:8px; place-items:center; background:var(--surface-raised); color:var(--coral); }
.briefing-poster-art img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.briefing-letsplay-poster:hover .briefing-poster-art img { transform:scale(1.04); }
.briefing-letsplay-poster:hover > strong { color:var(--coral); }
.briefing-letsplay-poster > strong { display:-webkit-box; overflow:hidden; margin-top:.2rem; font-size:.69rem; font-weight:750; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.briefing-letsplay-poster > small { overflow:hidden; color:var(--muted); font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.briefing-poster-status { position:absolute; right:.3rem; bottom:.3rem; left:.3rem; padding:.15rem .25rem; border-radius:4px; background:rgba(4,12,29,.85); color:var(--cream); font-size:.54rem; font-weight:800; text-align:center; }
.briefing-poster-date { color:var(--coral); font-size:.57rem; font-weight:750; line-height:1.4; }
.briefing-section-heading .briefing-calendar-link { display:inline-flex; min-height:24px; align-items:center; gap:.35rem; border-radius:3px; white-space:nowrap; }
.briefing-calendar-link svg { width:20px; height:20px; flex:none; }
.briefing-calendar-link:hover { color:var(--cream); text-decoration:underline; text-underline-offset:3px; }
.briefing-calendar-link:focus-visible { outline:2px solid var(--cream); outline-offset:4px; }
.briefing-program-video { min-width:0; grid-template-columns:128px minmax(0,1fr); }
.briefing-program-video > span:last-child { min-width:0; overflow-wrap:anywhere; }
.briefing-program-video .briefing-icon { width:128px; height:72px; font-size:1.1rem; }
.release-calendar-hero h1 { max-width:900px; }
.release-calendar-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; margin-top:1.3rem; color:var(--muted); font-size:.78rem; }
.release-calendar-meta > span:first-child { padding:.35rem .7rem; border:1px solid var(--warm-border); border-radius:999px; color:var(--coral); font-size:.72rem; font-weight:750; }
.release-calendar { display:grid; min-width:0; padding-block:2rem 4rem; gap:1.25rem; }
.release-calendar-board { min-width:0; }
.release-calendar-scroll { position:relative; max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:12px; scrollbar-width:thin; }
.release-calendar-scroll:focus-visible { outline:2px solid var(--coral); outline-offset:4px; }
.release-calendar-scroll-hint { display:none; margin:0 0 .65rem; color:var(--muted); font-size:.73rem; }
.release-calendar-table { width:100%; min-width:980px; table-layout:fixed; border-collapse:separate; border-spacing:0; background:var(--surface); }
/* Bootstrap keeps hidden captions in table layout; its negative margin creates a 1px vertical overflow. */
.release-calendar-table > caption.visually-hidden { margin:0 !important; }
.release-calendar-week-column { width:44px; }
.release-calendar-table th, .release-calendar-table td { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.release-calendar-table tr > :last-child { border-right:0; }
.release-calendar-table tbody tr:last-child > * { border-bottom:0; }
.release-calendar-table thead th { padding:.8rem .5rem; background:var(--surface-raised); color:var(--cream); font-size:.72rem; font-weight:750; text-align:center; }
.release-calendar-table thead th:first-child { padding-inline:.15rem; color:var(--muted); font-size:.58rem; }
.release-calendar-table abbr { text-decoration:none; }
.release-calendar-week-number { padding:.9rem .2rem; background:var(--surface-raised); color:var(--muted); font-size:.6rem; font-weight:650; text-align:center; vertical-align:top; }
.release-calendar-day { height:165px; padding:.65rem .5rem; vertical-align:top; }
.release-calendar-day.is-weekend { background:color-mix(in srgb,var(--surface) 75%,var(--night)); }
.release-calendar-day.is-outside-range { background:var(--night); }
.release-calendar-day.is-outside-range .release-calendar-day-heading { opacity:.4; }
.release-calendar-day.is-today { box-shadow:inset 0 0 0 2px var(--coral); }
.release-calendar-day-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.2rem; margin-bottom:.6rem; }
.release-calendar-day-heading > time { display:flex; align-items:baseline; gap:.28rem; font-variant-numeric:tabular-nums; }
.release-calendar-day-heading strong { color:var(--cream); font-size:1.05rem; font-weight:750; }
.release-calendar-day-heading time > span { color:var(--muted); font-size:.62rem; }
.release-calendar-today { color:var(--coral); font-size:.54rem; font-weight:750; }
.release-calendar-no-release { margin:.8rem 0 0; color:var(--line); text-align:center; }
.release-calendar-events { display:grid; gap:.45rem; padding:0; margin:0; list-style:none; }
.release-calendar-program { display:grid; min-width:0; gap:.5rem; padding:.55rem .45rem; border:1px solid var(--warm-border); border-radius:7px; background:var(--surface-raised); }
.release-calendar-program:hover { border-color:var(--coral); }
.release-calendar-event-meta { display:flex; align-items:center; justify-content:space-between; gap:.3rem; color:var(--coral); font-size:.62rem; font-weight:750; font-variant-numeric:tabular-nums; }
.release-calendar-event-meta > span { color:var(--muted); font-size:.58rem; }
.release-calendar-event-content { display:grid; min-width:0; grid-template-columns:30px minmax(0,1fr); align-items:start; gap:.4rem; }
.release-calendar-cover { display:grid; overflow:hidden; width:30px; aspect-ratio:3 / 4; border:1px solid var(--warm-border); border-radius:4px; place-items:center; background:var(--surface); color:var(--coral); font-size:.65rem; }
.release-calendar-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.release-calendar-info { display:grid; min-width:0; gap:.25rem; }
.release-calendar-info > small { overflow-wrap:anywhere; color:var(--muted); font-size:.62rem; line-height:1.3; }
.release-calendar-info > strong { overflow-wrap:anywhere; color:var(--warm-light); font-size:.73rem; font-weight:750; line-height:1.4; }
.release-calendar-program:hover .release-calendar-info > strong { color:var(--coral); }
.release-calendar-note { margin:0; color:var(--muted); font-size:.78rem; }
.release-calendar-empty { display:grid; padding:3rem 1.5rem; border:1px solid var(--warm-border); border-radius:var(--radius); justify-items:center; background:var(--surface-raised); text-align:center; }
.release-calendar-empty > span { color:var(--coral); font-size:2rem; }
.release-calendar-empty h2 { margin:1rem 0 .5rem; color:var(--cream); }
.release-calendar-empty p { max-width:480px; margin:0 0 1.5rem; color:var(--muted); font-size:.85rem; }
.schedule-admin { padding:1.2rem; border:1px solid var(--warm-border); border-radius:var(--radius); background:var(--surface-raised); }
.schedule-admin-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.schedule-admin-heading h2 { margin:0 0 .4rem; color:var(--cream); font-size:1.25rem; font-weight:750; }
.schedule-admin-heading p { max-width:720px; margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.schedule-admin-heading > a { flex-shrink:0; }
.schedule-admin-help { margin:1rem 0 1.2rem; color:var(--muted); font-size:.72rem; line-height:1.6; }
.schedule-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.schedule-day { display:flex; min-width:0; overflow:hidden; padding:1rem; border:1px solid var(--line); border-radius:12px; background:var(--surface); flex-direction:column; }
.schedule-day.is-enabled { border-color:var(--warm-border); }
.schedule-day-heading { display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-bottom:1rem; }
.schedule-day-heading h3 { margin:0; color:var(--cream); font-size:1.02rem; font-weight:750; }
.schedule-day-heading > span { padding:.18rem .42rem; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.58rem; font-weight:800; }
.schedule-day.is-enabled .schedule-day-heading > span { border-color:var(--warm-border); color:var(--coral); }
.schedule-day-settings { display:grid; gap:.45rem; margin:0; }
.schedule-day-settings > label, .schedule-add > label { color:var(--muted); font-size:.67rem; font-weight:750; }
.schedule-day-settings .schedule-enable { display:flex; width:fit-content; align-items:center; gap:.5rem; margin-bottom:.25rem; color:var(--warm-light); font-size:.73rem; cursor:pointer; }
.schedule-enable > input { width:16px; height:16px; margin:0; accent-color:var(--coral); }
.schedule-time-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.5rem; }
.schedule-time-controls > input, .schedule-add > select { min-width:0; width:100%; padding:.5rem .6rem; border:1px solid var(--control-line); border-radius:7px; background:var(--surface-raised); color:var(--warm-light); font-size:.75rem; }
.schedule-start-date { margin:.55rem 0 0; color:var(--coral); font-size:.64rem; }
.schedule-queue { display:grid; gap:.55rem; padding:0; margin:1rem 0; list-style:none; }
.schedule-queue-item { display:grid; padding:.7rem .65rem; border:1px solid var(--line); border-radius:8px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.5rem; background:var(--surface-raised); }
.schedule-queue-item.is-next { border-color:var(--warm-border); }
.schedule-queue-info { display:grid; min-width:0; gap:.28rem; }
.schedule-queue-info > a { overflow-wrap:anywhere; color:var(--warm-light); font-size:.72rem; font-weight:750; line-height:1.4; }
.schedule-queue-info > a:hover { color:var(--coral); }
.schedule-queue-info > small { color:var(--muted); font-size:.6rem; line-height:1.45; }
.schedule-queue-info > .schedule-next-label { color:var(--coral); }
.schedule-queue-actions { display:grid; justify-items:end; gap:.4rem; }
.schedule-queue-actions form { display:flex; gap:.2rem; margin:0; }
.schedule-order-button { display:grid; width:25px; height:25px; padding:0; border:1px solid var(--control-line); border-radius:5px; place-items:center; background:var(--surface); color:var(--warm-light); cursor:pointer; }
.schedule-order-button:hover:not(:disabled) { border-color:var(--coral); color:var(--coral); }
.schedule-order-button:disabled { opacity:.3; cursor:default; }
.schedule-remove-button { padding:0; border:0; background:none; color:#FFAAA0; font-size:.59rem; font-weight:700; cursor:pointer; }
.schedule-remove-button:hover { text-decoration:underline; }
.schedule-empty { margin:1rem 0; padding:.85rem .65rem; border:1px dashed var(--line); border-radius:8px; color:var(--muted); font-size:.7rem; }
.schedule-add { display:grid; gap:.5rem; padding-top:.85rem; margin-top:auto; border-top:1px solid var(--line); }
.schedule-add > .button { justify-self:start; }
.schedule-add > small { color:var(--muted); font-size:.63rem; }
.schedule-add > select:disabled, .schedule-add > button:disabled { opacity:.4; cursor:default; }
@media (max-width:1000px) {
  .release-calendar-scroll-hint { display:block; }
  .schedule-admin-grid { grid-template-columns:minmax(0,1fr); }
  .schedule-admin-heading { flex-wrap:wrap; }
}
@media (max-width:650px) {
  .release-calendar { padding-block:1.5rem 3rem; gap:1.8rem; }
  .release-calendar-empty { padding:2rem 1rem; }
  .schedule-admin { padding:.85rem; }
  .schedule-day { padding:.85rem; }
}
