.s5cc {
  --s5-border: #dbe4ee;
  --s5-muted: #60748a;
  --s5-card: #fff;
  --s5-bg: #f5f8fc;
  --s5-ink: #152b40;
  --s5-accent: #245d98;
  --s5-accent-soft: #eaf2fb;
  --s5-surface: #fafdff;
  color: var(--s5-ink);
  font: inherit;
  width: min(1180px, calc(100vw - 64px));
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 28px 0;
  padding: 24px;
  border: 1px solid var(--s5-border);
  border-radius: 20px;
  background: var(--s5-bg);
  box-shadow: 0 12px 28px rgba(17,38,64,.055);
  box-sizing: border-box;
}
.s5cc *, .s5cc *::before, .s5cc *::after { box-sizing: border-box; }
.s5cc-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 18px; }
.s5cc-intro { max-width: 780px; }
.s5cc-top h1 { font-size: clamp(26px, 2.3vw, 35px); line-height: 1.15; margin: 8px 0 7px; color: var(--s5-ink); }
.s5cc-top p { margin: 0; color: var(--s5-muted); font-size: 14px; line-height: 1.5; }
.s5cc-eyebrow { font-size: 11px; letter-spacing: .14em; font-weight: 800; color: var(--s5-accent); }
.s5cc-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 15px; padding: 12px; background: var(--s5-card); border: 1px solid var(--s5-border); border-radius: 13px; }
.s5cc-nav, .s5cc-filters { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.s5cc-timezone-picker { display: inline-flex; align-items: center; gap: 0; padding: 3px; background: #eff5fb; border: 1px solid var(--s5-border); border-radius: 10px; white-space: nowrap; }
.s5cc-timezone-title { padding: 0 9px 0 7px; color: var(--s5-muted); font-size: 12px; font-weight: 750; }
.s5cc-toolbar button, .s5cc-toolbar select { font: inherit; font-size: 13px; border: 1px solid var(--s5-border); background: var(--s5-card); color: var(--s5-ink); border-radius: 8px; min-height: 38px; padding: 6px 10px; cursor: pointer; }
.s5cc-toolbar button:hover, .s5cc-toolbar select:hover { border-color: #82aaca; }
.s5cc-toolbar .s5cc-timezone-picker button { min-height: 34px; border: 1px solid transparent; padding: 6px 10px; border-radius: 7px; background: transparent; font-size: 12px; font-weight: 750; }
.s5cc-toolbar .s5cc-timezone-picker button[aria-pressed="true"] { color: #fff; background: #205b96; border-color: #205b96; box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.s5cc-toolbar .s5cc-timezone-picker button:hover:not([aria-pressed="true"]) { background: #e1ecf8; border-color: transparent; }
.s5cc-toolbar button:focus-visible, .s5cc-toolbar select:focus-visible,
.s5cc-details-toggle:focus-visible, .s5cc-link:focus-visible, .s5cc-detail-link:focus-visible { outline: 2px solid #2f7cc1; outline-offset: 2px; }
.s5cc-nav button[data-now="1"] { font-weight: 700; }
.s5cc-range { font-size: 14px; line-height: 1.2; white-space: nowrap; padding: 0 8px; }
.s5cc-stats { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--s5-muted); padding: 0 0 14px; }
.s5cc-stats span { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border: 1px solid var(--s5-border); border-radius: 999px; background: var(--s5-card); }
.s5cc-stats b { color: var(--s5-ink); font-size: 13px; }

/* All days are stacked vertically: an agenda, never a seven-column calendar. */
.s5cc-days { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.s5cc-day { min-width: 0; display: grid; grid-template-columns: 166px minmax(0,1fr); gap: 15px; align-items: start; background: var(--s5-card); border: 1px solid var(--s5-border); border-radius: 13px; padding: 12px 14px; }
.s5cc-today { border-color: #9bbddc; box-shadow: inset 3px 0 0 var(--s5-accent); }
.s5cc-day-head { display: flex; flex-direction: column; gap: 6px; padding: 4px 12px 4px 0; border-right: 1px solid var(--s5-border); min-height: 100%; }
.s5cc-day-head>span { font-size: 11px; color: var(--s5-muted); text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
.s5cc-day-head>span em { margin-left: 7px; font-style: normal; text-transform: none; letter-spacing: 0; color: var(--s5-accent); }
.s5cc-day-head>b { font-size: 21px; font-weight: 800; line-height: 1.13; color: var(--s5-ink); }
.s5cc-day-head>small { font-size: 11px; color: var(--s5-accent); font-weight: 700; display: inline-flex; align-items: center; align-self: flex-start; background: var(--s5-accent-soft); padding: 4px 8px; border-radius: 999px; }
.s5cc-day-list { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.s5cc-event { min-width: 0; overflow: hidden; padding: 12px 15px; border: 1px solid var(--s5-border); background: var(--s5-surface); border-radius: 11px; }
.s5cc-event.s5cc-live { border-color: #8fd4ad; background: #f0faf4; }
.s5cc-event-badges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 5px; }
.s5cc-source { font-size: 10px; color: #345f85; background: #eaf2fa; padding: 3px 7px; border-radius: 999px; font-weight: 750; letter-spacing: .03em; }
.s5cc-on { font-size: 10px; font-weight: 800; color: #17643e; background: #e2f5ea; padding: 3px 7px; border-radius: 999px; }
.s5cc-unconfirmed { font-size: 10px; color: #886317; background: #fff4d4; padding: 3px 7px; border-radius: 999px; }
.s5cc-event h4 { margin: 0!important; font-size: 16px!important; font-weight: 760!important; line-height: 1.3!important; color: var(--s5-ink)!important; }
.s5cc-event-summary { display: grid; grid-template-columns: minmax(160px,.9fr) minmax(170px,1.2fr) minmax(100px,.8fr); gap: 12px 18px; padding-top: 11px; }
.s5cc-summary-item { display: flex; flex-direction: column; min-width: 0; gap: 3px; }
.s5cc-summary-label { font-size: 10px; font-weight: 800; color: var(--s5-muted); line-height: 1.3; text-transform: uppercase; letter-spacing: .055em; }
.s5cc-summary-value { font-size: 13px; font-weight: 650; line-height: 1.45; color: var(--s5-ink); overflow-wrap: anywhere; }
.s5cc-event-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 13px; }
.s5cc .s5cc-details-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; font: inherit; font-size: 12px; font-weight: 750; color: #205b96; background: var(--s5-accent-soft); border: 1px solid #cbdff2; padding: 7px 11px; border-radius: 8px; min-height: 34px; cursor: pointer; transition: background-color .15s, border-color .15s; }
.s5cc .s5cc-details-toggle:hover { background: #dceafa; border-color: #9abfdf; }
.s5cc-toggle-arrow { font-size: 16px; line-height: .7; transition: transform .16s; }
.s5cc-details-toggle[aria-expanded="true"] .s5cc-toggle-arrow { transform: rotate(180deg); }
.s5cc-link { color: #1f6fae; font-size: 12px; font-weight: 650; text-decoration: none; padding: 6px 4px; }
.s5cc-link:hover { text-decoration: underline; }

/* Expandable details, in the same card rather than navigating away. */
.s5cc-details[hidden] { display: none!important; }
.s5cc-details { margin-top: 13px; padding: 15px 15px 12px; border: 1px solid var(--s5-border); background: var(--s5-card); border-radius: 10px; }
.s5cc-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 24px; margin: 0; padding: 0; }
.s5cc-info-item { min-width: 0; }
.s5cc-info-item dt { margin: 0 0 4px; font-size: 11px; color: var(--s5-muted); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.s5cc-info-item dd { margin: 0; font-size: 13px; line-height: 1.55; font-weight: 500; white-space: pre-line; overflow-wrap: anywhere; color: var(--s5-ink); }
.s5cc-details-links { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 17px; padding-top: 13px; border-top: 1px solid var(--s5-border); }
.s5cc-detail-link { display: inline-flex; align-items: center; color: #205b96; background: var(--s5-accent-soft); border: 1px solid var(--s5-border); border-radius: 7px; font-size: 12px; font-weight: 700; text-decoration: none; padding: 7px 10px; }
.s5cc-detail-link:hover { border-color: #91b3d4; text-decoration: underline; }
.s5cc-details-footnote { margin: 13px 0 0!important; color: var(--s5-muted)!important; font-size: 11px!important; line-height: 1.45!important; }
.s5cc-empty, .s5cc-loading, .s5cc-error { font-size: 13px; color: var(--s5-muted); padding: 10px 4px; margin: 0; }
.s5cc-empty { min-height: 36px; display: flex; align-items: center; }
.s5cc-error { color: #af2739; }
.s5cc-footer { font-size: 11px; line-height: 1.6; color: var(--s5-muted); border-top: 1px solid var(--s5-border); margin-top: 15px; padding-top: 13px; }
.s5cc-footer a { color: #2867a0; }

@media (max-width: 1020px) {
  .s5cc { width: min(900px, calc(100vw - 38px)); padding: 19px; }
  .s5cc-toolbar { align-items: flex-start; }
  .s5cc-day { grid-template-columns: 145px minmax(0,1fr); }
  .s5cc-day-head>b { font-size: 19px; }
  .s5cc-event-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .s5cc { left: auto; transform: none; width: 100%; max-width: 100%; margin: 15px 0; padding: 13px; border-radius: 13px; }
  .s5cc-top { flex-direction: column; gap: 10px; }
  .s5cc-top h1 { font-size: 25px; }
  .s5cc-toolbar { padding: 10px; }
  .s5cc-nav, .s5cc-filters { width: 100%; }
  .s5cc-timezone-picker { max-width: 100%; width: 100%; justify-content: flex-start; }
  .s5cc-range { order: 5; flex: 1 0 100%; padding: 4px 0; text-align: center; }
  .s5cc-toolbar select { flex: 1 1 135px; min-width: 0; }
  .s5cc-day { grid-template-columns: 1fr; gap: 11px; padding: 11px; }
  .s5cc-day-head { border-right: 0; border-bottom: 1px solid var(--s5-border); padding: 0 0 10px; min-height: 0; }
  .s5cc-day-head>b { font-size: 18px; }
  .s5cc-event { padding: 12px; }
  .s5cc-event-summary { grid-template-columns: 1fr 1fr; gap: 12px; }
  .s5cc-info-grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .s5cc-event-summary { grid-template-columns: 1fr; }
  .s5cc-event h4 { font-size: 15px!important; }
  .s5cc-details { padding: 12px; }
}

/* Theme overrides (explicit user toggle). */
.s5cc.s5cc-theme-dark { --s5-border:#3a4c60; --s5-muted:#b6c4d3; --s5-card:#1d2c3d; --s5-bg:#152232; --s5-ink:#f0f6fc; --s5-accent:#8dc5ff; --s5-accent-soft:#2b4057; --s5-surface:#233345; box-shadow:none; }
.s5cc.s5cc-theme-dark .s5cc-toolbar button, .s5cc.s5cc-theme-dark .s5cc-toolbar select { background:#293a4d; color:#f0f6fc; }
.s5cc.s5cc-theme-dark .s5cc-timezone-picker { background: #22384e; }
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-timezone-picker button { color:#d7e5f5; background:transparent; }
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-timezone-picker button[aria-pressed="true"] { color:#fff; background:#245d98; border-color:#4179b1; }
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-timezone-picker button:hover:not([aria-pressed="true"]) { background:#35516b; }
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-live { background:#1c4034; border-color:#318662; }
.s5cc.s5cc-theme-dark .s5cc-source { background:#344d65; color:#deedff; }
.s5cc.s5cc-theme-dark .s5cc-on { background:#255440; color:#b7f4d4; }
.s5cc.s5cc-theme-dark .s5cc-unconfirmed { background:#584b26; color:#ffe4a0; }
.s5cc.s5cc-theme-dark .s5cc-details-toggle { color:#d1e8ff; border-color:#4a7094; }
.s5cc.s5cc-theme-dark .s5cc-details-toggle:hover { background:#365675; border-color:#6599c9; }
.s5cc.s5cc-theme-dark .s5cc-link, .s5cc.s5cc-theme-dark .s5cc-detail-link, .s5cc.s5cc-theme-dark .s5cc-footer a { color:#98ceff; }
.s5cc.s5cc-theme-dark .s5cc-detail-link { border-color:#4a6582; }



/* Provenance indicators are shown only for calculated/unconfirmed dates. */
.s5cc-provenance {font-size:10px;font-weight:750;padding:3px 7px;border-radius:999px;color:#56677e;background:#ecf0f5}
.s5cc-provenance-official {color:#166545;background:#e4f5eb}
.s5cc-provenance-calculated {color:#6f5614;background:#fff0c6}
.s5cc-provenance-published_snapshot {color:#47627c;background:#eaf0f8}

/* Theme overrides (explicit user toggle). */
.s5cc.s5cc-theme-dark .s5cc-provenance {color:#c9d9ed;background:#31475a}
.s5cc.s5cc-theme-dark .s5cc-provenance-official {color:#a3efc5;background:#1e4f39}
.s5cc.s5cc-theme-dark .s5cc-provenance-calculated {color:#ffe4a1;background:#524322}
.s5cc.s5cc-theme-dark .s5cc-provenance-published_snapshot {color:#d6e4f1;background:#334b65}


/* v1.2.1: S59DAP identity and clear status-driven agenda */
.s5cc-day-list[hidden], .s5cc-ended-list[hidden] { display:none !important; }
.s5cc-event-badges { min-height: 0; margin-bottom: 8px; }
.s5cc-event-badges:empty { display:none; }
.s5cc-day-head { min-height: 0; }
.s5cc-day-toggle { align-self:flex-start; margin-top:6px; padding:6px 10px; color:#275d92; background:#eef4fb; border:1px solid #cbdff0; border-radius:8px; font:inherit; font-size:12px; font-weight:750; cursor:pointer; }
.s5cc-day-toggle:hover { background:#dfebf8; }
.s5cc-day-toggle:focus-visible, .s5cc-ended-toggle:focus-visible { outline:2px solid #226fbb; outline-offset:2px; }
.s5cc-past-day { background:#f4f6f8; border-color:#d7dfe8; }
.s5cc-past-day .s5cc-day-head>b { color:#566b7c; }
.s5cc-past-day .s5cc-day-head>small { color:#5e7184; background:#e5ecf2; }
.s5cc-day-collapsed { grid-template-columns: 1fr; gap:0; padding:10px 14px; }
.s5cc-day-collapsed .s5cc-day-head { display:flex; flex-flow:row wrap; align-items:center; gap:9px 14px; padding:3px 0; border-right:0; }
.s5cc-day-collapsed .s5cc-day-head>b { font-size:17px; }
.s5cc-day-collapsed .s5cc-day-head>small { margin-right:auto; }
.s5cc-day-collapsed .s5cc-day-toggle { margin:0; }
.s5cc .s5cc-event.s5cc-finished { background:#f3f5f7; border-color:#dae0e7; box-shadow:none; }
.s5cc .s5cc-event.s5cc-finished h4 { color:#546779 !important; }
.s5cc .s5cc-event.s5cc-finished .s5cc-summary-value { color:#637385; }
.s5cc-finished-badge { display:inline-flex; padding:3px 8px; background:#e4e8ed; color:#556779; border-radius:999px; font-size:11px; font-weight:700; }
.s5cc .s5cc-event.s5cc-live { background:#e5f8ee; border:2px solid #35a875; border-left:5px solid #168453; box-shadow:0 3px 13px rgba(15,131,77,.11); }
.s5cc .s5cc-event.s5cc-live h4 { color:#0d4e35 !important; font-weight:800 !important; }
.s5cc .s5cc-event.s5cc-live .s5cc-summary-label { color:#286e54; }
.s5cc .s5cc-event.s5cc-live .s5cc-summary-value { color:#143f30; }
.s5cc-on { display:inline-flex;align-items:center;gap:7px; padding:5px 10px; font-size:11px; letter-spacing:.035em; background:#08764c; color:#fff; border-radius:6px; }
.s5cc-live-indicator { width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#c8ffbd;box-shadow:0 0 0 3px rgba(200,255,189,.20); }
.s5cc-day-running { border-color:#75bd98; box-shadow:inset 4px 0 0 #168453; }
.s5cc-stats .s5cc-stat-live { border-color:#77ba96; color:#086341; background:#e5f8ee; font-weight:750; }
.s5cc-stats .s5cc-stat-live b { color:#086341; }
.s5cc-ended-group { display:flex; flex-direction:column; gap:9px; border-top:1px dashed #cfdae5; padding-top:11px; }
.s5cc-ended-toggle { align-self:flex-start; padding:8px 11px; font:inherit; font-size:12px; font-weight:750; color:#5e7184; background:#f0f3f6; border:1px solid #d9e1e9; border-radius:8px; cursor:pointer; }
.s5cc-ended-toggle:hover { color:#2d4a63; background:#e5edf4; }
.s5cc-ended-list { display:flex;flex-direction:column;gap:9px; }
@media(max-width:760px){
  .s5cc-day-collapsed { padding:10px 12px; }
  .s5cc-day-collapsed .s5cc-day-head { display:flex; flex-flow:row wrap; gap:7px 12px; padding:0; border:0; }
  .s5cc-day-collapsed .s5cc-day-head>small { margin-right:0; }
  .s5cc-day-collapsed .s5cc-day-toggle { margin-left:auto; }
}
@media(max-width:430px){
  .s5cc-day-collapsed .s5cc-day-head>span { flex-basis:100%; }
  .s5cc-day-collapsed .s5cc-day-toggle { width:100%; justify-content:center; }
}

/* Theme overrides (explicit user toggle). */
.s5cc.s5cc-theme-dark .s5cc-past-day { background:#1b2937; border-color:#3a4a5b; }
.s5cc.s5cc-theme-dark .s5cc-past-day .s5cc-day-head>b { color:#c4d2df; }
.s5cc.s5cc-theme-dark .s5cc-past-day .s5cc-day-head>small { background:#2b3f51; color:#c2d5e6; }
.s5cc.s5cc-theme-dark .s5cc-day-toggle, .s5cc.s5cc-theme-dark .s5cc-ended-toggle { background:#283c50; color:#d4e7f9; border-color:#496580; }
.s5cc.s5cc-theme-dark .s5cc-day-toggle:hover, .s5cc.s5cc-theme-dark .s5cc-ended-toggle:hover { background:#35526b;color:#fff; }
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-finished { background:#1c2a38; border-color:#3a4a5b; }
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-finished h4, .s5cc.s5cc-theme-dark .s5cc-event.s5cc-finished .s5cc-summary-value { color:#bac8d7 !important; }
.s5cc.s5cc-theme-dark .s5cc-finished-badge { background:#32475a; color:#d0dce7; }
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-live { background:#123d30; border-color:#3faf7d; border-left-color:#64e7a8; box-shadow:none; }
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-live h4 { color:#d8ffec !important; }
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-live .s5cc-summary-label { color:#b0eccc; }
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-live .s5cc-summary-value { color:#f2fff8; }
.s5cc.s5cc-theme-dark .s5cc-on { background:#168454;color:#fff; }
.s5cc.s5cc-theme-dark .s5cc-day-running { border-color:#3faf7d; box-shadow:inset 4px 0 0 #3faf7d; }
.s5cc.s5cc-theme-dark .s5cc-stats .s5cc-stat-live { border-color:#3faf7d; background:#1b4635; color:#c7ffe1; }
.s5cc.s5cc-theme-dark .s5cc-stats .s5cc-stat-live b { color:#c7ffe1; }
.s5cc.s5cc-theme-dark .s5cc-ended-group { border-top-color:#3c5268; }


/* v1.3.0: clean filters, 30-day agenda and full-calendar text search. */
.s5cc-top { margin-bottom: 16px; }
.s5cc-toolbar { align-items: center; gap: 12px 16px; }
.s5cc-nav { flex-wrap: wrap; }
.s5cc-toolbar .s5cc-nav [data-view] { font-weight: 750; border-color: #cbdbe9; }
.s5cc-toolbar .s5cc-nav [data-view][aria-pressed="true"] { background: #245d98; color: #fff; border-color: #245d98; box-shadow: 0 2px 6px rgba(16,68,116,.12); }
.s5cc-toolbar .s5cc-nav [data-view]:hover:not([aria-pressed="true"]) { background: #ecf4fd; }
.s5cc-toolbar .s5cc-filters select { min-width: 125px; }
.s5cc-toolbar .s5cc-filters select[data-region] { min-width: 137px; }
.s5cc-search-box { display: flex; flex-direction: column; gap: 6px; flex: 1 1 100%; border-top: 1px solid var(--s5-border); padding-top: 12px; }
.s5cc-search-box label { color: var(--s5-ink); font-size: 13px; font-weight: 800; }
.s5cc-search-box label span { font-weight: 500; color: var(--s5-muted); }
.s5cc-search-input-wrap { display: flex; align-items: stretch; gap: 8px; }
.s5cc-toolbar .s5cc-search-input-wrap input { display: block; appearance: none; flex: 1 1 auto; min-width: 0; width: 100%; min-height: 43px; border: 1px solid #bfd0e1; border-radius: 9px; padding: 9px 13px 9px 38px; background: var(--s5-card); color: var(--s5-ink); font: inherit; font-size: 14px; outline: none; box-shadow: none; }
.s5cc-search-input-wrap { position: relative; }
.s5cc-search-input-wrap::before { content:"⌕"; font-size: 27px; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #5586b5; pointer-events:none; line-height: 1; }
.s5cc-toolbar .s5cc-search-input-wrap input:focus { border-color:#2876b7; box-shadow:0 0 0 3px rgba(38,116,185,.11); }
.s5cc-toolbar .s5cc-search-clear { padding: 8px 12px; font-size: 12px; font-weight: 750; color: var(--s5-accent); white-space: nowrap; }
.s5cc-search-clear[hidden] { display: none !important; }
.s5cc-search-hint { font-size: 11px; color: var(--s5-muted); line-height: 1.5; margin: 0!important; }
.s5cc-search-hint code { display: inline; background:var(--s5-accent-soft); border-radius: 4px; padding: 1px 4px; font:inherit; color:var(--s5-accent); white-space:normal; }
.s5cc-search-active .s5cc-range { color:#1d5b91; font-weight: 800; }
.s5cc-attribution { display: inline-block; margin-left: 8px; }
.s5cc-attribution summary { display: list-item; cursor: pointer; color: #315e89; text-decoration: underline; text-underline-offset: 2px; }
.s5cc-attribution[open] { display: block; margin: 7px 0 0; }
.s5cc-attribution[open] > div { padding: 7px 0 1px; }
.s5cc-no-results { padding: 24px; text-align: center; border: 1px solid var(--s5-border); border-radius: 12px; background: var(--s5-card); color: var(--s5-muted); font-size: 14px; }
.s5cc-warning { color: #a76617; }
.s5cc-toolbar button:focus-visible, .s5cc-toolbar input:focus-visible, .s5cc-toolbar select:focus-visible, .s5cc-attribution summary:focus-visible { outline: 2px solid #2f7cc1; outline-offset: 2px; }
@media(max-width: 860px){
  .s5cc-nav { width:100%; }
  .s5cc-timezone-picker { margin-left:0; }
  .s5cc-filters { flex:1 1 auto; }
}
@media(max-width: 760px){
  .s5cc-search-input-wrap { width:100%; }
  .s5cc-nav .s5cc-range { order: 5; flex: 1 0 100%; text-align:left; }
  .s5cc-timezone-picker { max-width:100%; }
  .s5cc-toolbar .s5cc-filters select { flex: 1 1 125px; min-width:0; }
  .s5cc-search-hint { font-size:11px; }
}
@media(max-width: 390px){
  .s5cc-toolbar .s5cc-nav button { padding: 6px 8px; font-size: 12px; }
  .s5cc-toolbar .s5cc-timezone-picker button { padding: 6px 7px; font-size: 11px; }
  .s5cc-toolbar .s5cc-timezone-title { padding-left: 5px; padding-right: 5px; }
}

/* Theme overrides (explicit user toggle). */
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-nav [data-view][aria-pressed="true"] { background:#326ea6; color:#fff; border-color:#326ea6; }
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-nav [data-view]:hover:not([aria-pressed="true"]) { background:#35516b; }
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-search-input-wrap input { background:#293a4d; color:#f0f6fc; border-color:#506781; }
.s5cc.s5cc-theme-dark .s5cc-search-input-wrap::before { color:#9cbbd9; }
.s5cc.s5cc-theme-dark .s5cc-search-hint code { color:#b0d4f6; }
.s5cc.s5cc-theme-dark .s5cc-search-active .s5cc-range { color:#9dd0ff; }
.s5cc.s5cc-theme-dark .s5cc-attribution summary { color:#9dd0ff; }
.s5cc.s5cc-theme-dark .s5cc-no-results { background:#1d2c3d; }


/* v1.3.1: paginated advanced search */
.s5cc .s5cc-pagination { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 14px; background:var(--s5-card); border:1px solid var(--s5-border); border-radius:13px; margin-bottom:12px; }
.s5cc .s5cc-pagination[data-pagination="bottom"] { margin-top:12px; margin-bottom:0; }
.s5cc .s5cc-pagination[hidden] { display:none!important; }
.s5cc .s5cc-pagination button { cursor:pointer; flex:0 0 auto; min-height:36px; background:var(--s5-accent-soft); color:var(--s5-accent); border:1px solid var(--s5-border); border-radius:9px; padding:7px 14px; font-size:13px; font-weight:700; }
.s5cc .s5cc-pagination button:hover:not(:disabled) { border-color:var(--s5-accent); }
.s5cc .s5cc-pagination button:focus-visible { outline:2px solid var(--s5-accent); outline-offset:2px; }
.s5cc .s5cc-pagination button:disabled { opacity:.45; cursor:not-allowed; }
.s5cc .s5cc-pagination-info { display:flex; flex-direction:column; gap:2px; align-items:center; color:var(--s5-ink); font-size:13px; font-weight:750; text-align:center; }
.s5cc .s5cc-pagination-info small { font-size:11px; font-weight:450; color:var(--s5-muted); }
@media(max-width:500px){
 .s5cc .s5cc-pagination { padding:9px; gap:6px; }
 .s5cc .s5cc-pagination button { padding:6px 8px; font-size:11px; }
 .s5cc .s5cc-pagination-info { font-size:12px; }
 .s5cc .s5cc-pagination-info small { font-size:10px; }
}


/* v1.3.2 - compact two-row toolbar and explicit light/dark display toggle. */
.s5cc .s5cc-top { margin-bottom:12px; }
.s5cc .s5cc-top h1 { margin:8px 0 6px!important; padding:0!important; }
.s5cc .s5cc-toolbar {
  display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch;
  justify-content:flex-start; gap:9px; padding:11px 13px; margin-bottom:13px;
}
.s5cc .s5cc-toolbar-primary {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:10px 15px; min-width:0;
}
.s5cc .s5cc-nav { width:auto; min-width:0; flex-wrap:wrap; gap:7px; }
.s5cc .s5cc-nav .s5cc-range { flex:0 1 auto; order:0; padding:0 6px; text-align:left; }
.s5cc .s5cc-display-controls { display:flex; align-items:center; gap:8px; flex:0 0 auto; min-width:0; }
.s5cc .s5cc-timezone-picker { width:auto; flex:0 1 auto; max-width:100%; margin:0; }
.s5cc .s5cc-toolbar-secondary {
  display:grid; grid-template-columns:auto minmax(180px,1fr);
  align-items:stretch; gap:9px; min-width:0;
}
.s5cc .s5cc-filters { width:auto; flex:0 0 auto; flex-wrap:nowrap; gap:8px; min-width:0; }
.s5cc .s5cc-toolbar .s5cc-filters select { flex:0 0 auto; min-width:120px; max-width:100%; }
.s5cc .s5cc-toolbar .s5cc-filters select[data-region] { min-width:140px; }
.s5cc .s5cc-toolbar .s5cc-search-box {
  display:block; width:100%; min-width:0; flex:none;
  border:0; padding:0; margin:0;
}
.s5cc .s5cc-search-input-wrap { width:100%; min-width:0; height:100%; }
.s5cc .s5cc-toolbar .s5cc-search-input-wrap input {
  min-height:39px; height:100%; width:100%; padding:7px 12px 7px 38px;
  border-color:var(--s5-border); font-size:13px;
}
.s5cc .s5cc-toolbar .s5cc-search-clear { min-height:39px; }
.s5cc .s5cc-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;
}
.s5cc .s5cc-theme-toggle {
  width:41px; height:41px; min-height:41px; min-width:41px;
  display:inline-flex; flex:0 0 41px; align-items:center; justify-content:center;
  padding:0; background:var(--s5-card); color:var(--s5-ink);
  border:1px solid var(--s5-border); border-radius:10px;
  transition:background-color .15s ease,border-color .15s ease;
}
.s5cc .s5cc-theme-toggle:hover { background:var(--s5-accent-soft); border-color:#93b2d3; }
.s5cc .s5cc-theme-toggle .s5cc-theme-sun { display:none; }
.s5cc.s5cc-theme-dark .s5cc-theme-toggle .s5cc-theme-sun { display:block; }
.s5cc.s5cc-theme-dark .s5cc-theme-toggle .s5cc-theme-moon { display:none; }
.s5cc .s5cc-tz-short { display:none; }
.s5cc .s5cc-tz-long { display:inline; }
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-search-input-wrap input {
  border-color:#506781; background:var(--s5-card); color:var(--s5-ink);
}
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-theme-toggle {
  border-color:#506781; background:#293a4d; color:#f0f6fc;
}
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-theme-toggle:hover { background:#35516b; }
@media(max-width:960px) {
  .s5cc .s5cc-toolbar-secondary { grid-template-columns:1fr; gap:9px; }
  .s5cc .s5cc-toolbar .s5cc-filters select { flex:1 1 0; min-width:0; }
  .s5cc .s5cc-toolbar .s5cc-filters select[data-region] { min-width:0; }
}
@media(max-width:760px) {
  .s5cc .s5cc-toolbar { gap:10px; }
  .s5cc .s5cc-toolbar-primary { gap:9px; }
  .s5cc .s5cc-nav { width:100%; }
  .s5cc .s5cc-display-controls { max-width:100%; width:auto; }
  .s5cc .s5cc-toolbar .s5cc-search-box { width:100%; }
  .s5cc .s5cc-filters { width:100%; gap:6px; }
  .s5cc .s5cc-nav .s5cc-range { flex:1 0 100%; order:5; padding:3px 0 0; text-align:center; }
}
@media(max-width:480px) {
  .s5cc .s5cc-timezone-title { padding:0 5px 0 4px; }
  .s5cc .s5cc-tz-short { display:inline; }
  .s5cc .s5cc-tz-long { display:none; }
  .s5cc .s5cc-toolbar .s5cc-timezone-picker button { padding:6px 8px; font-size:11px; }
  .s5cc .s5cc-theme-toggle { width:38px; min-width:38px; height:38px; min-height:38px; flex-basis:38px; }
}

/* v1.3.4: faster full-text search and verified exchange information. */
.s5cc-info-exchange { grid-column: 1 / -1; border: 1px solid #bfddf6; border-radius: 9px; padding: 11px 13px; background: #edf6ff; }
.s5cc-info-exchange dt { color: #1c5f9b; font-size: 12px; }
.s5cc-info-exchange dd { color: #163e64; font-size: 14px; font-weight: 650; }
.s5cc.s5cc-theme-dark .s5cc-info-exchange { border-color: #375e87; background: #213c57; }
.s5cc.s5cc-theme-dark .s5cc-info-exchange dt { color: #91ceff; }
.s5cc.s5cc-theme-dark .s5cc-info-exchange dd { color: #e1efff; }
.s5cc.s5cc-fetching .s5cc-stats { opacity: .6; transition: opacity .16s; }

/* v1.3.5: small agenda rows; detailed information only after expanding */
.s5cc .s5cc-event {
  width: 100%;
  max-width: 790px;
  padding: 11px 14px;
  transition: max-width .18s ease, background-color .18s ease;
}
.s5cc .s5cc-event.s5cc-event-expanded { max-width: 100%; }
.s5cc-event-main { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; }
.s5cc-event-main-text { min-width:0; }
.s5cc .s5cc-event h4 { font-size: 15px !important; line-height: 1.3 !important; }
.s5cc .s5cc-event-summary {
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px;
  padding-top:5px;
}
.s5cc .s5cc-summary-item { display:inline-flex;flex-direction:row;align-items:baseline;gap:6px;max-width:100%; }
.s5cc .s5cc-summary-label { font-size:10px;white-space:nowrap; }
.s5cc .s5cc-summary-value { font-size:12px; }
.s5cc .s5cc-event-actions { margin:0;justify-content:flex-end;align-self:center; }
.s5cc .s5cc-details-toggle { white-space:nowrap; min-height:36px; }
.s5cc .s5cc-event-badges { margin-bottom:4px; }
.s5cc .s5cc-details { margin-top:12px; }
.s5cc .s5cc-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px; }
.s5cc .s5cc-info-exchange { grid-column:1 / -1; }
.s5cc .s5cc-details-links { margin-top:14px; padding-top:12px; }
.s5cc .s5cc-details-links-only { border-top:0; padding-top:0; margin-top:0; }
.s5cc .s5cc-no-extra { font-size:13px;color:var(--s5-muted);line-height:1.5;margin:0; }
@media(max-width:1000px){
  .s5cc .s5cc-event { max-width:100%; }
}
@media(max-width:760px){
  .s5cc .s5cc-event-summary { gap:6px 14px; }
  .s5cc .s5cc-info-grid { grid-template-columns:1fr; }
  .s5cc .s5cc-info-exchange { grid-column:1; }
}
@media(max-width:480px){
  .s5cc-event-main { grid-template-columns: minmax(0,1fr); gap:9px; }
  .s5cc .s5cc-event-actions { justify-content:flex-end; }
  .s5cc .s5cc-event-summary { display:flex; flex-wrap:wrap; gap:4px 12px; }
  .s5cc .s5cc-summary-item { flex-wrap:wrap; }
}

/* v1.3.9 - mode-specific sessions displayed only when a contest is expanded */
.s5cc-session-schedule { border:1px solid var(--s5-border); border-radius:9px; padding:10px 12px; margin-bottom:14px; background:var(--s5-card); }
.s5cc-session-schedule p { margin:0 0 7px; font-size:12px; font-weight:800; color:var(--s5-ink); }
.s5cc-session-schedule ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:7px 12px; list-style:none; padding:0; margin:0; }
.s5cc-session-schedule li { min-width:0; display:flex; flex-direction:column; gap:2px; border:1px solid var(--s5-border); background:var(--s5-surface); border-radius:8px; padding:8px 10px; font-size:12px; color:var(--s5-ink); }
.s5cc-session-schedule li span { font-variant-numeric:tabular-nums; }
.s5cc-session-schedule li small {color:var(--s5-muted);}

/* v1.3.10: explicit contest sharing; compact actions, keyboard focus and deep link. */
.s5cc .s5cc-event-actions { flex-wrap:nowrap; }
.s5cc .s5cc-share-button {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:7px 11px;min-height:36px;border:1px solid var(--s5-border);
  border-radius:8px;background:var(--s5-card);color:var(--s5-ink);
  font:inherit;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer;
}
.s5cc .s5cc-share-button:hover {border-color:#8eafd0;background:var(--s5-accent-soft);}
.s5cc .s5cc-share-button:focus-visible { outline:2px solid #2f7cc1;outline-offset:2px; }
.s5cc .s5cc-shared-target { border-color:#3779b2!important;box-shadow:0 0 0 3px rgba(48,133,211,.17); }
.s5cc .s5cc-shared-target:focus {outline:2px solid var(--s5-accent);outline-offset:3px;}
.s5cc-shared-warning {margin:0 0 10px;padding:12px 15px;border-radius:9px;border:1px solid #e2b06c;background:#fff7e8;color:#825714;font-size:13px;}
.s5cc.s5cc-theme-dark .s5cc-share-button {background:#263a50;color:#e9f3ff;border-color:#4a6582;}
.s5cc.s5cc-theme-dark .s5cc-share-button:hover {background:#34516c;border-color:#6994bc;}
.s5cc.s5cc-theme-dark .s5cc-shared-target {border-color:#81b8f1!important;box-shadow:0 0 0 3px rgba(96,180,244,.2);}
.s5cc.s5cc-theme-dark .s5cc-shared-warning {background:#493917;color:#ffe2ac;border-color:#987132;}
@media(max-width:480px){
  .s5cc .s5cc-event-actions {justify-content:flex-end;gap:6px;}
  .s5cc .s5cc-share-button {min-height:36px;padding:7px 10px;}
}

/* v1.4.0: manual SI/EN language selector next to the theme switch. */
.s5cc .s5cc-language-picker {
  display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;
  padding:3px;border:1px solid var(--s5-border);border-radius:10px;
  background:#eff5fb;white-space:nowrap;
}
.s5cc .s5cc-toolbar .s5cc-language-picker button {
  border:1px solid transparent;border-radius:7px;min-width:32px;min-height:33px;
  padding:5px 7px;font-size:11px;font-weight:800;
  background:transparent;color:var(--s5-ink);
}
.s5cc .s5cc-toolbar .s5cc-language-picker button[aria-pressed="true"] {
  background:#205b96;color:white;border-color:#205b96;
}
.s5cc .s5cc-toolbar .s5cc-language-picker button:hover:not([aria-pressed="true"]) {
  background:#e1ecf8;
}
.s5cc.s5cc-theme-dark .s5cc-language-picker{background:#22384e;border-color:#506781;}
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-language-picker button{color:#d7e5f5;background:transparent;}
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-language-picker button[aria-pressed="true"]{color:white;background:#245d98;border-color:#4179b1;}
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-language-picker button:hover:not([aria-pressed="true"]){background:#35516b;}
.s5cc .s5cc-language-picker button:focus-visible{outline:2px solid var(--s5-accent);outline-offset:2px;}
@media(max-width:760px){
  .s5cc .s5cc-display-controls{flex-wrap:wrap;gap:6px;}
  .s5cc .s5cc-timezone-picker{width:auto;max-width:100%;}
}

/* v1.4.1 - compact agenda, clear multi-day milestones and two-column details. */
.s5cc .s5cc-day { gap:12px; padding:11px 13px; }
.s5cc .s5cc-day-list { gap:8px; }
.s5cc .s5cc-event {
  max-width:810px;
  padding:10px 13px;
  border-radius:10px;
}
.s5cc .s5cc-event h4 { font-size:16px!important; line-height:1.35!important; }
.s5cc .s5cc-event-summary { gap:5px 15px; padding-top:5px; }
.s5cc .s5cc-summary-label { font-size:11px; }
.s5cc .s5cc-summary-value { font-size:12.5px; line-height:1.4; }
.s5cc .s5cc-event-main { gap:10px; }
.s5cc .s5cc-event-actions { gap:6px; }
.s5cc .s5cc-share-button { padding:6px 9px; font-weight:650; color:var(--s5-muted); }
.s5cc .s5cc-details-toggle { font-weight:750; }
.s5cc .s5cc-event-badges { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.s5cc .s5cc-milestone,
.s5cc .s5cc-next-badge {
  display:inline-flex; align-items:center; padding:3px 8px;
  border:1px solid #d8e4ef; border-radius:999px;
  background:#edf3f9; color:#486580;
  font-size:10.5px; line-height:1.3; font-weight:750;
}
.s5cc .s5cc-next-badge { border-color:#9dc9ef; background:#e6f2fc; color:#175f9f; }
.s5cc .s5cc-event.s5cc-next-event:not(.s5cc-live) { border-left:3px solid #408bc8; }
.s5cc .s5cc-event.s5cc-finished .s5cc-milestone { color:#788999; background:#edf0f3; border-color:#dde3e9; }
.s5cc .s5cc-details { padding:14px 15px; }
.s5cc .s5cc-details-layout {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:start;
  column-gap:24px;
  row-gap:14px;
}
.s5cc .s5cc-details-primary,.s5cc .s5cc-details-secondary { min-width:0; }
.s5cc .s5cc-details-primary .s5cc-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 16px; }
.s5cc .s5cc-details-secondary .s5cc-info-grid { grid-template-columns:1fr; gap:12px; }
.s5cc .s5cc-quick-exchange { margin:0 0 14px; padding:0; }
.s5cc .s5cc-quick-exchange .s5cc-info-exchange { margin:0; }
.s5cc .s5cc-details-secondary .s5cc-info-item dd { line-height:1.5; }
.s5cc .s5cc-details-links {
  display:flex; flex-direction:row; flex-wrap:wrap; gap:7px;
  margin-top:12px; padding-top:11px;
  border-top:1px solid var(--s5-border);
}
.s5cc .s5cc-details-links h5 {
  display:block; flex:0 0 100%; font-size:11px!important;
  line-height:1.4; text-transform:uppercase; letter-spacing:.06em;
  margin:0 0 2px!important; color:var(--s5-muted)!important; font-weight:800;
}
.s5cc .s5cc-detail-link {font-size:12px; padding:6px 9px;}
.s5cc.s5cc-theme-dark .s5cc-milestone {background:#2c4358;color:#c4d7ea;border-color:#48647b;}
.s5cc.s5cc-theme-dark .s5cc-next-badge {background:#214b70;color:#d6edff;border-color:#417cae;}
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-next-event:not(.s5cc-live){border-left-color:#5da7e4;}
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-finished .s5cc-milestone{background:#2b3947;color:#bdcbd9;border-color:#4b5868;}
@media(max-width:1000px){
  .s5cc .s5cc-details-layout { column-gap:14px; }
  .s5cc .s5cc-event { max-width:100%; }
}
@media(max-width:760px){
  .s5cc .s5cc-day{gap:11px;padding:11px;}
  .s5cc .s5cc-details-layout { grid-template-columns:1fr; gap:14px; }
}
@media(max-width:430px){
  .s5cc .s5cc-event{padding:10px 11px;}
  .s5cc .s5cc-event h4{font-size:15px!important;}
  .s5cc .s5cc-summary-value{font-size:12px;}
  .s5cc .s5cc-details-primary .s5cc-info-grid{grid-template-columns:1fr 1fr;gap:12px;}
}

/* v1.4.3 — two-line compact contest cards. Scoped to the plugin only. */
.s5cc .s5cc-day-list, .s5cc .s5cc-ended-list { gap: 6px; }
.s5cc .s5cc-event:not(.s5cc-event-expanded) { max-width: 780px; }
.s5cc .s5cc-event {
  padding: 8px 12px;
  border-radius: 9px;
}
.s5cc .s5cc-event-main { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px; }
.s5cc .s5cc-event-main-text { min-width:0; }
.s5cc .s5cc-event-head {
  display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 9px;
  margin:0;
}
.s5cc .s5cc-event-head h4 {
  margin:0!important;font-size:15px!important;line-height:1.32!important;
  font-weight:780!important;overflow-wrap:break-word;
}
.s5cc .s5cc-event-badges { display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin:0; }
.s5cc .s5cc-event-badges:empty {display:none;}
.s5cc .s5cc-milestone, .s5cc .s5cc-next-badge,
.s5cc .s5cc-unconfirmed, .s5cc .s5cc-finished-badge {
  font-size:10px;line-height:1.25;padding:3px 7px;
}
.s5cc .s5cc-on {font-size:10px;padding:4px 7px;line-height:1.25;}
.s5cc .s5cc-event-summary {
  display:flex;flex-wrap:wrap;align-items:center;
  column-gap:11px;row-gap:2px;padding-top:3px;
  margin:0;
  font-size:12px;line-height:1.35;
}
.s5cc .s5cc-brief-item {
  display:inline-flex;align-items:baseline;gap:4px;min-width:0;
  font-size:12px;font-weight:650;line-height:1.4;
  color:var(--s5-ink);font-variant-numeric:tabular-nums;
}
.s5cc .s5cc-brief-time {font-weight:750;white-space:nowrap;}
.s5cc .s5cc-brief-zone { color:var(--s5-muted);font-size:11px;font-weight:750; }
.s5cc .s5cc-brief-bands, .s5cc .s5cc-brief-mode {
  padding-left:10px;border-left:1px solid var(--s5-border);
  overflow-wrap:anywhere;
}
.s5cc .s5cc-event-actions {gap:5px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;margin:0;}
.s5cc .s5cc-share-button {
  position:relative;width:36px;min-width:36px;min-height:36px;height:36px;
  padding:0;gap:0;border-radius:8px;
}
.s5cc .s5cc-share-button svg {width:16px;height:16px;flex-shrink:0;}
.s5cc .s5cc-share-label {
  position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);
  width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;white-space:nowrap!important;border:0!important;
}
.s5cc .s5cc-details-toggle {
  min-height:36px;padding:6px 9px;gap:4px;
  border-radius:8px;font-size:11.5px;
}
.s5cc .s5cc-toggle-arrow {font-size:14px;}
/* Expanded cards remain full width and keep all their existing details. */
.s5cc .s5cc-event.s5cc-event-expanded {max-width:100%;}
.s5cc .s5cc-event.s5cc-event-expanded .s5cc-details {margin-top:10px;}
.s5cc.s5cc-theme-dark .s5cc-brief-zone { color:var(--s5-muted); }
.s5cc.s5cc-theme-dark .s5cc-brief-bands, .s5cc.s5cc-theme-dark .s5cc-brief-mode { border-left-color:var(--s5-border); }
.s5cc .s5cc-event.s5cc-finished .s5cc-brief-item {color:var(--s5-muted);}
.s5cc .s5cc-event.s5cc-live .s5cc-brief-item {color:#143f30;}
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-live .s5cc-brief-item {color:#eafff1;}
@media(max-width:1020px) {
  .s5cc .s5cc-event:not(.s5cc-event-expanded) {max-width:100%;}
}
@media(max-width:700px) {
  .s5cc .s5cc-event-main {grid-template-columns:minmax(0,1fr);gap:6px;}
  .s5cc .s5cc-event-actions {justify-content:flex-end;}
  .s5cc .s5cc-event-summary {gap:3px 10px;}
}
@media(max-width:430px) {
  .s5cc .s5cc-event {padding:8px 10px;}
  .s5cc .s5cc-event-head h4 {font-size:14px!important;}
  .s5cc .s5cc-brief-item {font-size:11.5px;}
  .s5cc .s5cc-brief-time {white-space:normal;}
  .s5cc .s5cc-event-actions {margin-top:1px;}
}

/* The icon-only share button still confirms successful copying visually. */
.s5cc .s5cc-share-button.s5cc-share-success {border-color:#81c7a1;background:#e6f7ed;}
.s5cc .s5cc-share-button.s5cc-share-success svg {display:none;}
.s5cc .s5cc-share-button.s5cc-share-success::after {content:"✓";font-size:18px;line-height:1;color:#14784c;font-weight:800;}
.s5cc.s5cc-theme-dark .s5cc-share-button.s5cc-share-success {background:#1b4a38;border-color:#3ab37d;}
.s5cc.s5cc-theme-dark .s5cc-share-button.s5cc-share-success::after {color:#b5f9d4;}

/* Mode is always visible. Unknown source data are labelled, never inferred as CW/SSB. */
.s5cc .s5cc-mode-unspecified {color:var(--s5-muted)!important;font-style:italic;font-weight:500;}

/* At the starting rolling window there is no older-history navigation. */
.s5cc .s5cc-nav [data-move="-1"][hidden] {display:none!important;}

/* v1.4.9: optional install action; independent of the WordPress theme and APRS. */
.s5cc .s5cc-display-controls{position:relative}
.s5cc .s5cc-toolbar .s5cc-install-app{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;
  width:38px;height:38px;min-height:38px;min-width:38px;padding:0;
  background:var(--s5-card);border:1px solid var(--s5-border);border-radius:10px;
  color:var(--s5-ink);cursor:pointer
}
.s5cc .s5cc-install-app:hover{background:var(--s5-accent-soft);border-color:#93b2d3}
.s5cc .s5cc-install-app:focus-visible{outline:2px solid #2f7cc1;outline-offset:2px}
.s5cc .s5cc-install-app[hidden],.s5cc .s5cc-install-hint[hidden]{display:none!important}
.s5cc .s5cc-install-hint{position:absolute;right:0;top:calc(100% + 9px);z-index:40;
  display:block;max-width:min(350px,calc(100vw - 38px));min-width:min(275px,calc(100vw - 38px));
  padding:11px 14px;border:1px solid var(--s5-border);border-radius:9px;
  color:var(--s5-ink);background:var(--s5-card);font-size:12px;line-height:1.5;
  box-shadow:0 10px 25px rgba(12,40,69,.17)}
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-install-app{border-color:#506781;background:#293a4d;color:#f0f6fc}
.s5cc.s5cc-theme-dark .s5cc-install-app:hover{background:#35516b}
.s5cc.s5cc-theme-dark .s5cc-install-hint{background:#23384d;border-color:#4e6985;color:#e8f1fa}

/* v1.5.1 — visual refinement: clearer grouping, stronger readability and lighter actions. */
.s5cc .s5cc-toolbar {
  gap:14px;
  padding:14px;
}
.s5cc .s5cc-toolbar-primary,
.s5cc .s5cc-toolbar-secondary {
  gap:12px;
}
.s5cc .s5cc-nav,
.s5cc .s5cc-display-controls,
.s5cc .s5cc-filters,
.s5cc .s5cc-toolbar .s5cc-search-box {
  padding:9px 10px;
  border:1px solid var(--s5-border);
  border-radius:12px;
  background:var(--s5-surface);
}
.s5cc .s5cc-toolbar .s5cc-search-box {
  border-top:1px solid var(--s5-border);
  padding-top:9px;
}
.s5cc .s5cc-toolbar-secondary {
  grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);
  align-items:start;
}
.s5cc .s5cc-filters {
  align-items:stretch;
}
.s5cc .s5cc-toolbar .s5cc-filters select,
.s5cc .s5cc-toolbar .s5cc-search-input-wrap input {
  background:var(--s5-card);
}
.s5cc .s5cc-search-input-wrap input {
  box-shadow:none;
}

.s5cc .s5cc-day {
  padding:12px 14px;
  border-radius:12px;
}
.s5cc .s5cc-day-head > span em {
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  background:#eaf2fc;
  border:1px solid #d5e4f4;
  color:#1f5f99;
  font-weight:800;
}
.s5cc .s5cc-day-head > small {
  background:#edf4fa;
  color:#2e5c80;
}
.s5cc .s5cc-day.s5cc-day-running .s5cc-day-head > small {
  background:#e4f6eb;
  color:#16633e;
}

.s5cc .s5cc-day-list,
.s5cc .s5cc-ended-list {
  gap:8px;
}
.s5cc .s5cc-event {
  padding:10px 12px;
  border-radius:11px;
}
.s5cc .s5cc-event-main {
  gap:14px;
  align-items:start;
}
.s5cc .s5cc-event-main-text {
  min-width:0;
  cursor:pointer;
  border-radius:10px;
}
.s5cc .s5cc-event-main-text:focus-visible {
  outline:2px solid #2f7cc1;
  outline-offset:2px;
}
.s5cc .s5cc-event-head {
  gap:6px 10px;
}
.s5cc .s5cc-event-head h4 {
  font-size:16px !important;
  line-height:1.35 !important;
  letter-spacing:-0.01em;
}
.s5cc .s5cc-event-summary {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:8px 10px;
  padding-top:8px;
}
.s5cc .s5cc-brief-item {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-width:0;
  padding:8px 10px;
  border:1px solid var(--s5-border);
  border-radius:10px;
  background:var(--s5-surface);
  color:var(--s5-ink);
}
.s5cc .s5cc-brief-label {
  display:block;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--s5-muted);
}
.s5cc .s5cc-brief-value {
  display:block;
  min-width:0;
  font-size:12.6px;
  font-weight:700;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.s5cc .s5cc-brief-time .s5cc-brief-value {
  font-size:13.1px;
  font-weight:800;
}
.s5cc .s5cc-brief-zone {
  display:block;
  margin-top:1px;
  font-size:10.5px;
  font-weight:750;
  color:var(--s5-muted);
}
.s5cc .s5cc-brief-bands,
.s5cc .s5cc-brief-mode {
  padding-left:10px;
  border-left:0;
}

.s5cc .s5cc-event-badges {
  gap:5px 6px;
}
.s5cc .s5cc-on,
.s5cc .s5cc-milestone,
.s5cc .s5cc-next-badge,
.s5cc .s5cc-unconfirmed,
.s5cc .s5cc-finished-badge {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid transparent;
}
.s5cc .s5cc-on {
  background:#e3f6eb;
  color:#0f6b42;
  border-color:#b8e2cb;
  box-shadow:none;
}
.s5cc .s5cc-milestone {
  background:#edf5fc;
  color:#355f84;
  border-color:#d6e5f3;
}
.s5cc .s5cc-next-badge {
  background:#e7f1fb;
  color:#175f9f;
  border-color:#bdd7ef;
}
.s5cc .s5cc-unconfirmed {
  background:#fff6e8;
  color:#8b641f;
  border-color:#efd8aa;
}
.s5cc .s5cc-finished-badge {
  background:#eef2f5;
  color:#5f6d7a;
  border-color:#dde5ec;
}
.s5cc .s5cc-event.s5cc-finished .s5cc-milestone {
  background:#f1f4f6;
  color:#718191;
  border-color:#e0e6eb;
}

.s5cc .s5cc-event-actions {
  gap:6px;
  align-items:flex-start;
  padding-top:1px;
}
.s5cc .s5cc-share-button,
.s5cc .s5cc-details-toggle {
  min-height:34px;
  border-radius:999px;
}
.s5cc .s5cc-share-button {
  width:34px;
  min-width:34px;
  height:34px;
}
.s5cc .s5cc-details-toggle {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0 12px;
  border:1px solid #c8d8e5;
  background:transparent;
  color:#244f75;
  font-size:11.5px;
  font-weight:800;
}
.s5cc .s5cc-details-toggle:hover {
  background:#eef4fa;
  border-color:#93b3cf;
}
.s5cc .s5cc-toggle-arrow {
  font-size:15px;
  line-height:1;
  transform:translateY(-.5px);
  transition:transform .18s ease;
}
.s5cc .s5cc-details-toggle[aria-expanded="true"] .s5cc-toggle-arrow {
  transform:translateY(-.5px) rotate(90deg);
}

.s5cc .s5cc-event.s5cc-live .s5cc-brief-item {
  color:var(--s5-ink);
  background:#f4fbf7;
  border-color:#d9ede1;
}
.s5cc .s5cc-event.s5cc-finished .s5cc-brief-item {
  color:var(--s5-muted);
  background:#fafbfd;
}

.s5cc.s5cc-theme-dark .s5cc-nav,
.s5cc.s5cc-theme-dark .s5cc-display-controls,
.s5cc.s5cc-theme-dark .s5cc-filters,
.s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-search-box {
  background:#223447;
  border-color:#425a73;
}
.s5cc.s5cc-theme-dark .s5cc-day-head > span em {
  background:#244562;
  border-color:#3c698f;
  color:#d5eaff;
}
.s5cc.s5cc-theme-dark .s5cc-day-head > small {
  background:#263b4d;
  color:#d0deea;
}
.s5cc.s5cc-theme-dark .s5cc-day.s5cc-day-running .s5cc-day-head > small {
  background:#1e4837;
  color:#c8f4de;
}
.s5cc.s5cc-theme-dark .s5cc-brief-item {
  background:#223447;
  border-color:#425a73;
}
.s5cc.s5cc-theme-dark .s5cc-on {
  background:#1d5940;
  color:#d1f6e2;
  border-color:#347a5a;
}
.s5cc.s5cc-theme-dark .s5cc-milestone {
  background:#27415a;
  color:#d4e5f5;
  border-color:#456782;
}
.s5cc.s5cc-theme-dark .s5cc-next-badge {
  background:#214b70;
  color:#d6edff;
  border-color:#417cae;
}
.s5cc.s5cc-theme-dark .s5cc-unconfirmed {
  background:#4d3a1d;
  color:#ffe0a4;
  border-color:#816032;
}
.s5cc.s5cc-theme-dark .s5cc-finished-badge {
  background:#2b3947;
  color:#cad7e3;
  border-color:#4b5868;
}
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-finished .s5cc-milestone {
  background:#2b3947;
  color:#c3d2de;
  border-color:#4b5868;
}
.s5cc.s5cc-theme-dark .s5cc-details-toggle {
  background:transparent;
  color:#d9e8f4;
  border-color:#59738d;
}
.s5cc.s5cc-theme-dark .s5cc-details-toggle:hover {
  background:#30495f;
  border-color:#7ea0c0;
}
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-live .s5cc-brief-item {
  background:#1f3e31;
  border-color:#33604d;
}
.s5cc.s5cc-theme-dark .s5cc-event.s5cc-finished .s5cc-brief-item {
  background:#243544;
  color:#a9b9c7;
}

@media (max-width: 940px) {
  .s5cc .s5cc-toolbar-secondary {
    grid-template-columns:1fr;
  }
}
@media (max-width: 760px) {
  .s5cc .s5cc-toolbar {
    padding:12px;
    gap:10px;
  }
  .s5cc .s5cc-nav,
  .s5cc .s5cc-display-controls,
  .s5cc .s5cc-filters,
  .s5cc .s5cc-toolbar .s5cc-search-box {
    padding:8px;
  }
  .s5cc .s5cc-event-main {
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
  .s5cc .s5cc-event-actions {
    justify-content:flex-end;
    align-items:center;
  }
  .s5cc .s5cc-event-summary {
    grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  }
}
@media (max-width: 480px) {
  .s5cc .s5cc-day {
    padding:10px;
  }
  .s5cc .s5cc-event {
    padding:9px 10px;
  }
  .s5cc .s5cc-event-head h4 {
    font-size:15px !important;
  }
  .s5cc .s5cc-event-summary {
    grid-template-columns:1fr;
  }
}

/* 1.5.3: site-wide background applies only to the public page containing the calendar.
   Other WordPress pages and other S59DAP PWAs are not modified. */
html.s5cc-page-theme-dark,
html.s5cc-page-theme-dark body {
  background: #0d1724 !important;
  color: #eaf1f8;
  color-scheme: dark;
}
body.s5cc-page-theme-dark #page,
body.s5cc-page-theme-dark .site,
body.s5cc-page-theme-dark #content,
body.s5cc-page-theme-dark .site-content,
body.s5cc-page-theme-dark .content-area,
body.s5cc-page-theme-dark .site-main,
body.s5cc-page-theme-dark .site-footer,
body.s5cc-page-theme-dark .entry-content,
body.s5cc-page-theme-dark .entry-header,
body.s5cc-page-theme-dark .site-main > article {
  background-color: #0d1724 !important;
  color: #eaf1f8;
}
body.s5cc-page-theme-dark .navigation-top,
body.s5cc-page-theme-dark .main-navigation,
body.s5cc-page-theme-dark .main-navigation ul,
body.s5cc-page-theme-dark .main-navigation ul ul {
  background-color: #172638 !important;
  border-color: #354a60 !important;
}
body.s5cc-page-theme-dark .entry-title,
body.s5cc-page-theme-dark .entry-title a,
body.s5cc-page-theme-dark .site-content h1,
body.s5cc-page-theme-dark .navigation-top a,
body.s5cc-page-theme-dark .main-navigation a,
body.s5cc-page-theme-dark .site-footer a {
  color: #eaf1f8 !important;
}
body.s5cc-page-theme-dark .navigation-top a:hover,
body.s5cc-page-theme-dark .main-navigation a:hover,
body.s5cc-page-theme-dark .site-footer a:hover {
  color: #98ceff !important;
}

/* v1.5.4 — mobile agenda (desktop layout intentionally unchanged).
   Minimise stacked borders and keep the time, bands and operating mode readable. */
@media (max-width: 760px) {
  .s5cc .s5cc-top {
    margin-bottom: 10px;
  }
  .s5cc .s5cc-top h1 {
    font-size: clamp(22px, 5.5vw, 24px) !important;
    line-height: 1.2 !important;
    margin: 5px 0 4px !important;
    letter-spacing: -.02em;
  }
  .s5cc .s5cc-top p {
    font-size: 12.5px;
    line-height: 1.4;
  }
  .s5cc .s5cc-eyebrow {
    font-size: 9.5px;
    letter-spacing: .11em;
  }

  /* One toolbar, not four nested panels. */
  .s5cc .s5cc-toolbar {
    gap: 9px;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 12px;
  }
  .s5cc .s5cc-toolbar-primary,
  .s5cc .s5cc-toolbar-secondary {
    gap: 9px;
  }
  .s5cc .s5cc-toolbar-primary {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .s5cc .s5cc-nav,
  .s5cc .s5cc-display-controls,
  .s5cc .s5cc-filters,
  .s5cc .s5cc-toolbar .s5cc-search-box {
    width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }
  .s5cc .s5cc-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
  }
  .s5cc .s5cc-nav [data-view] {
    flex: 1 1 auto;
    white-space: nowrap;
  }
  .s5cc .s5cc-nav [data-move] {
    flex: 0 0 34px;
    width: 34px;
    min-width: 34px;
    padding: 0;
  }
  .s5cc .s5cc-toolbar .s5cc-nav button {
    min-height: 38px;
    font-size: 12px;
    padding: 6px 9px;
  }
  .s5cc .s5cc-nav .s5cc-range {
    flex: 1 0 100%;
    order: 5;
    padding: 1px 0 0;
    text-align: center;
    font-size: 12px;
    line-height: 1.3;
    white-space: normal;
  }
  .s5cc .s5cc-display-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--s5-border);
  }
  .s5cc .s5cc-timezone-picker {
    width: auto;
    max-width: 100%;
    min-height: 38px;
  }
  .s5cc .s5cc-toolbar-secondary {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-top: 9px;
    border-top: 1px solid var(--s5-border);
  }
  .s5cc .s5cc-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 6px;
  }
  .s5cc .s5cc-toolbar .s5cc-filters select,
  .s5cc .s5cc-toolbar .s5cc-filters select[data-region] {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 40px;
    min-height: 40px;
    font-size: 12px;
    line-height: 1.2;
    padding: 5px 19px 5px 8px;
    text-overflow: clip;
  }
  .s5cc .s5cc-toolbar .s5cc-search-input-wrap input {
    min-height: 42px;
    height: 42px;
    font-size: 12.5px;
    padding: 8px 10px 8px 36px;
  }
  .s5cc .s5cc-search-input-wrap::before {
    left: 11px;
    font-size: 23px;
  }
  .s5cc .s5cc-toolbar .s5cc-search-input-wrap input::placeholder {
    color: #5a7087;
    opacity: 1;
  }
  .s5cc.s5cc-theme-dark .s5cc-toolbar .s5cc-search-input-wrap input::placeholder {
    color: #b1c7da;
    opacity: 1;
  }

  /* Compact two-line day heading. The entire day retains its original toggle. */
  .s5cc .s5cc-day,
  .s5cc .s5cc-day.s5cc-day-collapsed {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 8px;
    padding: 9px 10px;
    border-radius: 11px;
  }
  .s5cc .s5cc-day.s5cc-day-collapsed {gap: 0;}
  .s5cc .s5cc-day-head,
  .s5cc .s5cc-day.s5cc-day-collapsed .s5cc-day-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 3px 8px;
    width: 100%;
    min-width: 0;
    padding: 0 0 8px;
    margin: 0;
    border-right: 0;
    border-bottom: 1px solid var(--s5-border);
  }
  .s5cc .s5cc-day.s5cc-day-collapsed .s5cc-day-head {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .s5cc .s5cc-day-head > span,
  .s5cc .s5cc-day.s5cc-day-collapsed .s5cc-day-head > span {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    font-size: 10px;
    line-height: 1.3;
    flex-basis: auto;
  }
  .s5cc .s5cc-day-head > span em {padding: 1px 6px; margin-left: 5px;}
  .s5cc .s5cc-day-head > b,
  .s5cc .s5cc-day.s5cc-day-collapsed .s5cc-day-head > b {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    font-size: 17px;
    line-height: 1.2;
  }
  .s5cc .s5cc-day-head > small,
  .s5cc .s5cc-day.s5cc-day-collapsed .s5cc-day-head > small {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    margin: 0;
    font-size: 10px;
    white-space: nowrap;
    padding: 3px 7px;
  }
  .s5cc .s5cc-day-head > .s5cc-day-toggle,
  .s5cc .s5cc-day.s5cc-day-collapsed .s5cc-day-head > .s5cc-day-toggle {
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    align-self: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    margin: 0;
    padding: 0;
    border-radius: 9px;
  }
  .s5cc .s5cc-day-toggle-label {
    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;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
  .s5cc .s5cc-day-toggle-chevron {font-size: 20px; line-height: 1;}
  .s5cc .s5cc-day-list, .s5cc .s5cc-ended-list {gap: 6px;}
  .s5cc .s5cc-ended-group {gap: 6px; padding-top: 8px;}
  .s5cc .s5cc-ended-toggle {font-size: 11.5px; min-height: 38px; padding: 7px 10px;}

  /* Summary = name + readable one-line time + compact bands/mode badges. */
  .s5cc .s5cc-event {
    padding: 9px 10px;
    border-radius: 9px;
  }
  .s5cc .s5cc-event-main {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 7px;
  }
  .s5cc .s5cc-event-head {
    display: flex;
    gap: 4px 6px;
  }
  .s5cc .s5cc-event-head h4 {
    font-size: 14px !important;
    line-height: 1.32 !important;
    letter-spacing: -.005em;
  }
  .s5cc .s5cc-event-badges {
    gap: 3px 5px;
  }
  .s5cc .s5cc-event-badges > * {
    padding: 2px 6px;
    font-size: 9.5px;
  }
  .s5cc .s5cc-event-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 6px;
    padding-top: 6px;
  }
  .s5cc .s5cc-brief-item {
    display: inline-flex;
    flex-direction: row;
    align-items: baseline;
    min-width: 0;
    gap: 4px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .s5cc .s5cc-brief-label {
    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;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
  .s5cc .s5cc-brief-time {
    flex: 0 0 100%;
    white-space: normal;
  }
  .s5cc .s5cc-brief-time .s5cc-brief-value {
    font-size: 12.7px;
    font-weight: 750;
  }
  .s5cc .s5cc-brief-zone {
    display: inline;
    font-size: 10.5px;
    margin: 0;
  }
  .s5cc .s5cc-brief-bands,
  .s5cc .s5cc-brief-mode {
    display: inline-flex;
    flex: 0 1 auto;
    max-width: 100%;
    align-items: center;
    border: 1px solid var(--s5-border);
    border-radius: 7px;
    padding: 2px 6px;
    background: var(--s5-accent-soft);
    overflow-wrap: anywhere;
  }
  .s5cc .s5cc-brief-bands .s5cc-brief-value,
  .s5cc .s5cc-brief-mode .s5cc-brief-value {
    font-size: 11px;
    line-height: 1.35;
    font-weight: 650;
  }
  .s5cc .s5cc-event.s5cc-live .s5cc-brief-item:not(.s5cc-brief-time),
  .s5cc .s5cc-event.s5cc-finished .s5cc-brief-item:not(.s5cc-brief-time) {
    background: var(--s5-accent-soft);
  }
  .s5cc .s5cc-event.s5cc-live .s5cc-brief-time,
  .s5cc .s5cc-event.s5cc-finished .s5cc-brief-time {
    background: transparent;
  }
  .s5cc .s5cc-event-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
    align-self: center;
    padding: 0;
    margin: 0;
  }
  .s5cc .s5cc-share-button,
  .s5cc .s5cc-details-toggle {
    width: 36px;
    min-width: 36px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    justify-content: center;
    border-radius: 9px;
  }
  .s5cc .s5cc-details-label {
    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;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
  .s5cc .s5cc-toggle-arrow {font-size: 20px;}
  .s5cc.s5cc-theme-dark .s5cc-brief-bands,
  .s5cc.s5cc-theme-dark .s5cc-brief-mode {
    border-color: #465e78;
    background: #283d52;
  }
  .s5cc.s5cc-theme-dark .s5cc-event.s5cc-live .s5cc-brief-item:not(.s5cc-brief-time) {
    background: #244738;
    border-color: #356a50;
  }
  .s5cc.s5cc-theme-dark .s5cc-event.s5cc-finished .s5cc-brief-item:not(.s5cc-brief-time) {
    background: #293b4c;
  }

  /* Full details stay available, without repeating bands/mode from summary. */
  .s5cc .s5cc-event.s5cc-event-expanded .s5cc-details {
    margin-top: 8px;
    padding: 10px;
  }
  .s5cc .s5cc-details-layout {gap: 10px;}
  .s5cc .s5cc-quick-exchange {margin-bottom: 9px;}
  .s5cc .s5cc-info-exchange {padding: 10px;}
  .s5cc .s5cc-info-exchange dt {font-size: 10.5px; margin-bottom: 3px;}
  .s5cc .s5cc-info-exchange dd {font-size: 13px; line-height: 1.45;}
  .s5cc .s5cc-details-primary .s5cc-info-grid,
  .s5cc .s5cc-details-secondary .s5cc-info-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 9px;
  }
  .s5cc .s5cc-info-item dt {font-size: 10px; margin-bottom: 2px;}
  .s5cc .s5cc-info-item dd {font-size: 12.5px; line-height: 1.45;}
  .s5cc .s5cc-details-links {gap: 6px; margin-top: 8px; padding-top: 9px;}
  .s5cc .s5cc-detail-link {font-size: 11.5px; min-height: 36px; padding: 7px 10px;}
  .s5cc .s5cc-session-schedule {padding: 9px; margin-bottom: 10px;}
  .s5cc .s5cc-session-schedule ul {grid-template-columns: 1fr;}
  .s5cc .s5cc-stats {gap: 5px; padding-bottom: 9px; font-size: 11px;}
  .s5cc .s5cc-stats span {padding: 5px 8px;}
}

@media (max-width: 370px) {
  /* Three selects cannot show their full text on very narrow handsets. */
  .s5cc .s5cc-filters {grid-template-columns: repeat(2,minmax(0,1fr));}
  .s5cc .s5cc-filters [data-mode] {grid-column: 1 / -1;}
  .s5cc .s5cc-toolbar .s5cc-nav button {font-size: 11px; padding: 5px 6px;}
  .s5cc .s5cc-event-main {gap: 5px;}
  .s5cc .s5cc-share-button, .s5cc .s5cc-details-toggle {width: 34px; min-width: 34px;}
}

/* v1.5.7 - real HTML contest preview while the interactive agenda initializes.
 * Same content for every visitor and search crawler; replaced by live REST data.
 */
.s5cc .s5cc-seo-preview {
  min-width: 0;
  padding: 13px 15px;
  background: var(--s5-card);
  border: 1px solid var(--s5-border);
  border-radius: 12px;
}
.s5cc .s5cc-seo-preview h3 {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--s5-ink) !important;
  font-size: 16px !important;
  font-weight: 800;
  line-height: 1.4;
}
.s5cc .s5cc-seo-preview-intro {
  margin: 0 0 11px !important;
  color: var(--s5-muted);
  font-size: 12px;
  line-height: 1.5;
}
.s5cc .s5cc-seo-preview-list {
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px),1fr));
  gap: 8px;
  list-style: none !important;
}
.s5cc .s5cc-seo-preview-list li {
  min-width: 0;
  padding: 9px 11px;
  background: var(--s5-surface);
  border: 1px solid var(--s5-border);
  border-radius: 9px;
  color: var(--s5-ink);
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 12px;
  line-height: 1.45;
}
.s5cc .s5cc-seo-preview-list li strong {
  font-weight: 800;
  font-size: 13px;
}
.s5cc .s5cc-seo-preview-time {
  color: var(--s5-ink);
  font-variant-numeric: tabular-nums;
}
.s5cc .s5cc-seo-preview-facts,
.s5cc .s5cc-seo-preview-tentative {
  color: var(--s5-muted);
  overflow-wrap: anywhere;
}
.s5cc .s5cc-seo-preview-tentative {
  color: #916b23;
  font-weight: 650;
}
.s5cc .s5cc-seo-fallback-warning {
  margin: 0 0 10px !important;
  padding: 9px 11px;
  border-radius: 8px;
  background: var(--s5-accent-soft);
  color: var(--s5-accent);
  font-size: 12px;
}
.s5cc.s5cc-theme-dark .s5cc-seo-preview-tentative { color: #f5d394; }
@media (max-width: 480px) {
  .s5cc .s5cc-seo-preview { padding: 10px; }
  .s5cc .s5cc-seo-preview-list { grid-template-columns: 1fr; }
}
