/* Curated TikTok area. All rules are confined to this feature. */
#tiktok, #tiktok-archives { scroll-margin-top: 112px; }
#tiktok { --tt-ink: #1d3b52; --tt-muted: #47657b; --tt-line: #b7d7e9; }
#tiktok .tt-promo {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 28px 40px; padding: clamp(22px, 4vw, 42px);
  border: 1px solid #d0e6f1; border-radius: 32px 12px 32px 12px;
  background: linear-gradient(115deg, #fff 10%, #e8f7fc 70%, #d3edf9);
  box-shadow: 0 16px 40px -28px #173d59; color: var(--tt-ink);
}
#tiktok .tt-person { display: flex; align-items: center; gap: 20px; min-width: 0; }
#tiktok .tt-person > div:last-child { min-width: 0; }
#tiktok .tt-avatar { flex: 0 0 80px; padding: 5px; border: 1px solid #99cce3; border-radius: 50%; background: #fff; }
#tiktok .tt-avatar img { width: 100%; height: auto; aspect-ratio: 1; border-radius: 50%; }
#tiktok .tt-brand { margin-bottom: 4px; color: #336b86; font-size: 12px; font-weight: 900; letter-spacing: .16em; }
#tiktok .tt-name { font-size: clamp(22px, 3vw, 30px); font-weight: 900; line-height: 1.5; }
#tiktok .tt-handle { margin-top: 3px; color: var(--tt-muted); font-size: 12px; overflow-wrap: anywhere; }
#tiktok .tt-invite { max-width: 100%; }
#tiktok .tt-copy { margin-bottom: 12px; font-size: 13px; color: var(--tt-muted); }
#tiktok .tt-follow { display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 50px; padding: 13px 22px; border-radius: 999px; background: #1d3b52; color: #fff; font-size: 14px; font-weight: 700; }
.tt-official-logo { display: block; width: 28px; height: 28px; flex: 0 0 28px; object-fit: contain; }
#tiktok .tt-brand { display: flex; align-items: center; gap: 8px; }
#tiktok .tt-follow > span { margin-left: auto; }
#tiktok .tt-follow:hover { background: #286b8f; }
#tiktok .tt-archives { margin-top: 36px; padding: clamp(22px, 3vw, 34px); border-radius: 12px 32px 12px 32px; background: #f4fbff; color: var(--tt-ink); }
#tiktok .tt-archive-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 24px; margin-bottom: 24px; }
#tiktok .tt-eyebrow { margin-bottom: 6px; color: #336b86; font-size: 11px; font-weight: 900; letter-spacing: .2em; }
#tiktok .tt-archives h3 { font-size: clamp(21px, 2.5vw, 26px); font-weight: 900; line-height: 1.5; }
#tiktok .tt-help { color: var(--tt-muted); font-size: 13px; line-height: 1.8; }
#tiktok .tt-archive-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; padding: 0; margin: 0; }
#tiktok .tt-archive-list li { min-width: 0; }
#tiktok .tt-archive-card { display: flex; flex-direction: column; height: 100%; padding: 22px; border: 1px solid var(--tt-line); border-radius: 16px; background: #fff; color: var(--tt-ink); }
#tiktok .tt-archive-card:hover { border-color: #336b86; background: #eaf7fd; }
#tiktok .tt-card-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
#tiktok .tt-year { color: var(--tt-muted); font-size: 13px; font-weight: 700; letter-spacing: .12em; }
#tiktok .tt-session { padding: 3px 11px; border-radius: 999px; background: #e8f4fb; color: #28546e; font-size: 12px; font-weight: 700; }
#tiktok .tt-date { display: block; margin: 20px 0 24px; font-size: clamp(34px, 4vw, 48px); font-weight: 900; font-variant-numeric: tabular-nums; letter-spacing: -.04em; line-height: 1.2; }
#tiktok .tt-date > span { margin: 0 .13em; color: #5f849b; font-size: .65em; font-weight: 400; }
#tiktok .tt-card-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 16px; margin-top: auto; border-top: 1px solid #d9e9f2; }
#tiktok .tt-length { color: var(--tt-muted); font-size: 12px; }
#tiktok .tt-watch { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; }
#tiktok a:focus-visible { outline: 3px solid #1d3b52; outline-offset: 4px; }
@media (max-width: 900px) {
  #tiktok .tt-archive-list { grid-template-columns: minmax(0, 1fr); }
  #tiktok .tt-archive-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 20px; }
  #tiktok .tt-card-top { grid-column: 1 / -1; }
  #tiktok .tt-date { margin: 14px 0 0; }
  #tiktok .tt-card-bottom { flex-direction: column; align-items: end; justify-content: end; border: 0; padding: 0; gap: 4px; }
}
@media (max-width: 560px) {
  #tiktok .tt-promo { gap: 24px; padding: 22px; }
  #tiktok .tt-person { gap: 14px; }
  #tiktok .tt-avatar { flex-basis: 64px; }
  #tiktok .tt-invite { width: 100%; }
  #tiktok .tt-copy { max-width: 24em; }
  #tiktok .tt-archives { margin-top: 24px; padding: 22px 16px; }
  #tiktok .tt-archive-card { padding: 18px; }
  #tiktok .tt-date { grid-column: 1 / -1; }
  #tiktok .tt-card-bottom { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #d9e9f2; }
}

/* Compact archive list: preserve dates, session labels, duration, and links. */
#tiktok .tt-archives { margin-top:20px; padding:16px 0; border-radius:16px; }
#tiktok .tt-archive-heading { gap:8px 16px; margin-bottom:12px; }
#tiktok .tt-archives h3 { font-size:21px; }
#tiktok .tt-archive-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#tiktok .tt-archive-card { display:grid; grid-template-columns:1fr auto; gap:6px 16px; padding:12px 16px; border-radius:12px; }
#tiktok .tt-card-top { grid-column:1 / -1; }
#tiktok .tt-date { grid-column:auto; margin:0; font-size:25px; }
#tiktok .tt-card-bottom { grid-column:auto; flex-direction:column; align-items:flex-end; justify-content:center; gap:2px; margin:0; padding:0; border:0; }
#tiktok .tt-year { font-size:11px; }
#tiktok .tt-session { padding:1px 8px; font-size:11px; }
#tiktok .tt-watch { font-size:12px; }
@media(max-width:600px) { #tiktok .tt-archive-list { grid-template-columns:1fr; } }

#tiktok .tt-card-labels { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
#tiktok .tt-new { display:inline-flex; align-items:center; padding:1px 7px; border-radius:999px; background:#bce9ff; color:#163d58; font-size:10px; font-weight:800; line-height:1.6; }
#tiktok .tt-new[hidden] { display:none; }
#tiktok .tt-archive-more { margin-top:16px; }
