:root {
  color-scheme: dark;
  --u: min(1vw, 1.78vh);
  --background: #1a1919;
  --surface: #211f20;
  --line: #393638;
  --text: #f8f6f2;
  --muted: #c4bec0;
  --positive: #b7ebce;
  --negative: #ffc4c2;
  font: 400 15px/1.35 system-ui, sans-serif;
  background: var(--background);
  color: var(--text);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: clamp(10px, calc(var(--u) * 1.05), 23px);
  margin: 0 auto;
  padding: clamp(14px, calc(var(--u) * 1.55), 35px);
  min-height: 100vh;
  max-width: 2800px;
}
h1, h2, p, figure { margin: 0; }
h1, h2 { line-height: 1.1; letter-spacing: -.025em; font-weight: 650; }
.masthead, .brand, .clock-block, .page-footer {
  display: flex;
  align-items: center;
  gap: clamp(10px, calc(var(--u) * 1.25), 30px);
}
.masthead, .page-footer { justify-content: space-between; }
.masthead { border-bottom: 1px solid var(--line); padding-bottom: clamp(8px, calc(var(--u) * .75), 16px); }
.wordmark { display: block; width: clamp(145px, calc(var(--u) * 12.6), 285px); height: auto; }
.heading { border-left: 1px solid var(--line); padding-left: clamp(11px, calc(var(--u) * 1.2), 26px); }
h1 { font-size: clamp(21px, calc(var(--u) * 2.18), 48px); }
.eyebrow {
  font-size: clamp(10px, calc(var(--u) * .76), 17px);
  color: var(--muted);
}
.eyebrow { margin-bottom: 4px; font-weight: 650; letter-spacing: .13em; }
.clock-block { flex: none; gap: clamp(12px, calc(var(--u) * 1.3), 29px); }
.clock-date { color: var(--text); font-size: clamp(16px, calc(var(--u) * 1.62), 37px); font-weight: 650; }
.clock-date::first-letter { text-transform: uppercase; }
.clock { font-size: clamp(25px, calc(var(--u) * 2.4), 52px); font-weight: 620; font-variant-numeric: tabular-nums; }
main { display: grid; min-width: 0; }
.dashboard { display: grid; grid-template: 1fr / minmax(0, 1fr); }
.screen {
  grid-area: 1 / 1;
  display: grid;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 420ms ease, transform 420ms ease, visibility 0s linear 420ms;
}
.screen[data-active="true"] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}
.accounts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: clamp(8px, calc(var(--u) * .72), 16px); }
.account {
  --brand: #e4e1db;
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: center;
  gap: clamp(6px, calc(var(--u) * .57), 13px);
  min-width: 0;
  min-height: clamp(128px, calc(var(--u) * 10.6), 230px);
  padding: clamp(9px, calc(var(--u) * .85), 20px);
  overflow: hidden;
  border: 1px solid #474046;
  border-top: 3px solid var(--brand);
  border-radius: clamp(9px, calc(var(--u) * .65), 16px);
  background: var(--surface);
  background: linear-gradient(149deg, color-mix(in srgb, var(--brand) 15%, #201e21), #201e21 62%);
  box-shadow: 0 3px 10px #0b0a0b33;
}
.account-head { display: flex; min-width: 0; align-items: center; gap: clamp(7px, calc(var(--u) * .62), 14px); }
.account-avatar {
  flex: none;
  display: block;
  width: clamp(29px, calc(var(--u) * 2.5), 57px);
  height: clamp(29px, calc(var(--u) * 2.5), 57px);
  object-fit: cover;
  border-radius: 50%;
  background: #272427;
}
.account-name { font-size: clamp(15px, calc(var(--u) * 1.3), 30px); overflow-wrap: anywhere; }
.account-handle, .metric-label, .comparison {
  color: var(--muted);
  font-size: clamp(12px, calc(var(--u) * .94), 20px);
}
.account-handle { display: block; margin-top: 2px; }
.metrics { display: flex; align-items: flex-end; justify-content: space-between; gap: 7px; min-width: 0; }
.tiles {
  display: flex;
  align-items: baseline;
  gap: .04em;
  color: var(--text);
  font: 700 clamp(21px, calc(var(--u) * 2.75), 65px)/1.1 ui-monospace, monospace;
  font-variant-numeric: tabular-nums;
}
.digit {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: .65em;
  padding: .03em 0;
  border: 1px solid #ffffff20;
  border-radius: .11em;
  background: linear-gradient(to bottom, #ffffff12 50%, #ffffff06 50%);
}
.digit::before { content: ""; position: absolute; inset: 50% 0 auto; border-top: 1px solid #0c0b0b65; }
.period {
  align-self: flex-end;
  width: .15em;
  height: .12em;
  margin-bottom: .17em;
  overflow: hidden;
  border-radius: .035em;
  background: var(--text);
  color: transparent;
}
.empty-count { color: var(--muted); }
.metric-label { display: block; margin-top: 3px; }
.growth { display: grid; justify-items: end; gap: 2px; text-align: right; font-variant-numeric: tabular-nums; }
.growth-number { font-size: clamp(15px, calc(var(--u) * 1.4), 30px); line-height: 1.1; font-weight: 700; }
.growth[data-direction="up"] .growth-number { color: var(--positive); }
.growth[data-direction="down"] .growth-number { color: var(--negative); }
.trend { display: grid; align-content: end; min-width: 0; }
.chart-plot { position: relative; }
.trend svg { display: block; width: 100%; height: clamp(24px, calc(var(--u) * 2.62), 65px); overflow: visible; }
.chart-grid, .chart-line { fill: none; vector-effect: non-scaling-stroke; }
.chart-grid { stroke: #ffffff22; stroke-width: 1; }
.chart-line { stroke: var(--brand); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.chart-area { fill: var(--brand); opacity: .16; }
.chart-dot {
  position: absolute;
  left: 98.6667%;
  width: clamp(7px, calc(var(--u) * .49), 12px);
  height: clamp(7px, calc(var(--u) * .49), 12px);
  border-radius: 50%;
  background: var(--brand);
  transform: translate(-50%, -50%);
}
.trend figcaption { display: flex; justify-content: space-between; gap: 6px; color: var(--muted); font-size: clamp(11px, calc(var(--u) * .89), 19px); margin-top: 3px; }
.agenda-screen {
  grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr);
  gap: clamp(11px, calc(var(--u) * 1.04), 25px);
}
.agenda-today, .agenda-day {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: clamp(10px, calc(var(--u) * .77), 17px);
  background: var(--surface);
}
.agenda-today {
  border-top: 3px solid #eac78a;
  padding: clamp(13px, calc(var(--u) * 1.23), 30px);
  background: linear-gradient(150deg, #342c23, var(--surface) 56%);
}
.agenda-today-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: clamp(9px, calc(var(--u) * .85), 22px);
  row-gap: 5px;
  padding-bottom: clamp(10px, calc(var(--u) * .8), 20px);
  border-bottom: 1px solid #f4d29e35;
}
.agenda-today h2 { font-size: clamp(35px, calc(var(--u) * 3.65), 86px); }
.agenda-date { color: #e7d6bc; font-size: clamp(15px, calc(var(--u) * 1.42), 34px); }
.agenda-date::first-letter { text-transform: uppercase; }
.agenda-next {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  gap: clamp(7px, calc(var(--u) * .65), 15px);
}
.agenda-next-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.agenda-next-heading h2 { font-size: clamp(17px, calc(var(--u) * 1.7), 39px); }
.agenda-progress { display: flex; gap: clamp(4px, calc(var(--u) * .45), 11px); }
.agenda-day-chip {
  border-radius: 999px;
  border: 1px solid #51494b;
  padding: .17em .54em;
  color: var(--muted);
  font-size: clamp(12px, calc(var(--u) * .97), 22px);
  white-space: nowrap;
}
.agenda-day-chip[aria-current="date"] { border-color: #eac78a; background: #eac78a20; color: #ffe1ac; }
.agenda-days { display: grid; min-width: 0; }
.agenda-day { padding: clamp(10px, calc(var(--u) * 1.02), 24px); }
.agenda-day-enter { animation: agenda-enter 380ms ease-out; }
@keyframes agenda-enter {
  from { opacity: .35; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.agenda-day-title {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 5px;
  padding-bottom: .5em;
  border-bottom: 1px solid var(--line);
}
.agenda-day-title h3 { margin: 0; font-size: clamp(17px, calc(var(--u) * 1.48), 34px); }
.agenda-day-title h3::first-letter { text-transform: uppercase; }
.agenda-part { color: var(--muted); font-size: clamp(12px, calc(var(--u) * 1), 24px); white-space: nowrap; }
.agenda-past-count {
  border: 1px solid #d0b99055;
  border-radius: 999px;
  padding: .18em .55em;
  color: #e7d6bc;
  font-size: clamp(12px, calc(var(--u) * .98), 22px);
  white-space: nowrap;
}
.agenda-demo-label {
  margin-left: auto;
  color: #f5d7a0;
  font-size: clamp(12px, calc(var(--u) * .98), 22px);
  font-weight: 650;
}
.agenda-groups {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(12px, calc(var(--u) * 1.14), 25px);
  margin-top: clamp(9px, calc(var(--u) * .95), 22px);
}
.agenda-today .agenda-groups { grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); }
.agenda-group { min-width: 0; }
.publication-group { border-left: 1px solid #a6d9ff45; padding-left: clamp(11px, calc(var(--u) * 1.06), 24px); }
.agenda-group-title {
  margin: 0 0 .36em;
  color: #f0d5ad;
  font-size: clamp(15px, calc(var(--u) * 1.27), 29px);
  line-height: 1.1;
}
.publication-group .agenda-group-title { color: #bbdfff; }
.agenda-today .agenda-group-title { font-size: clamp(17px, calc(var(--u) * 1.53), 36px); }
.agenda-list { list-style: none; margin: 0; padding: 0; }
.agenda-row {
  --agenda-client: #d9cbb8;
  --agenda-avatar: clamp(23px, calc(var(--u) * 1.93), 45px);
  display: grid;
  grid-template-columns: clamp(37px, calc(var(--u) * 3.37), 78px) var(--agenda-avatar) minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(8px, calc(var(--u) * .71), 17px);
  min-height: clamp(45px, calc(var(--u) * 4.35), 97px);
  padding: clamp(5px, calc(var(--u) * .48), 12px) 0;
  border-bottom: 1px solid #ffffff1c;
}
.agenda-row:last-child { border-bottom: 0; }
.agenda-today .agenda-row {
  --agenda-avatar: clamp(25px, calc(var(--u) * 2.17), 51px);
  grid-template-columns: clamp(43px, calc(var(--u) * 3.83), 90px) var(--agenda-avatar) minmax(0, 1fr);
  min-height: clamp(50px, calc(var(--u) * 4.62), 105px);
  padding: clamp(6px, calc(var(--u) * .55), 13px) 0;
}
.agenda-row.publication-row { grid-template-columns: var(--agenda-avatar) minmax(0, 1fr); }
.agenda-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: var(--agenda-avatar);
  height: var(--agenda-avatar);
  overflow: hidden;
  border: 2px solid var(--agenda-client);
  border-radius: 50%;
  background: #332d30;
  color: var(--agenda-client);
  font-size: clamp(9px, calc(var(--u) * .75), 17px);
  font-weight: 750;
}
.agenda-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.agenda-time { color: #ecd4af; font-size: clamp(13px, calc(var(--u) * 1.08), 25px); font-weight: 700; line-height: 1.22; font-variant-numeric: tabular-nums; }
.agenda-today .agenda-time { font-size: clamp(15px, calc(var(--u) * 1.35), 32px); }
.agenda-today .agenda-row[data-next="true"] .agenda-time { color: #ffda8e; }
.agenda-row[data-past="true"] .agenda-time { color: var(--muted); }
.agenda-row .agenda-time.agenda-all-day { font-size: clamp(11px, calc(var(--u) * .94), 21px); }
.agenda-end { display: block; color: var(--muted); font-size: .87em; font-weight: 550; white-space: nowrap; }
.event-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: clamp(15px, calc(var(--u) * 1.24), 29px);
  font-weight: 650;
  line-height: 1.16;
  overflow-wrap: break-word;
}
.agenda-today .event-title { font-size: clamp(18px, calc(var(--u) * 1.45), 34px); }
.event-meta, .agenda-empty { color: var(--muted); font-size: clamp(12px, calc(var(--u) * .96), 22px); line-height: 1.2; }
.event-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .15em .42em;
  margin-top: .25em;
}
.event-client { color: var(--agenda-client); font-weight: 550; }
.event-detail::before { content: "· "; }
.agenda-people { display: inline-flex; gap: .18em; }
.agenda-person {
  display: grid;
  place-items: center;
  width: clamp(19px, calc(var(--u) * 1.4), 32px);
  height: clamp(19px, calc(var(--u) * 1.4), 32px);
  border: 1px solid #8b8187;
  border-radius: 50%;
  background: #494348;
  color: #fff;
  font-size: clamp(12px, calc(var(--u) * .88), 20px);
  font-weight: 700;
}
.agenda-empty { padding-top: .45em; }
.agenda-overflow {
  margin-top: .15em;
  border-top: 1px solid #ffffff25;
  padding-top: .43em;
  color: #f0d5ad;
  font-size: clamp(13px, calc(var(--u) * 1.07), 24px);
  font-weight: 650;
}
.publication-group .agenda-overflow { color: #bbdfff; }
.page-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: clamp(5px, calc(var(--u) * .42), 10px);
  font-size: clamp(10px, calc(var(--u) * .74), 16px);
}
.source-state::before { content: ""; display: inline-block; width: .55em; height: .55em; margin-right: .55em; border-radius: 50%; background: #eec681; vertical-align: .1em; }
.source-state[data-fresh="true"]::before { background: #90e1b8; }
.source-state:empty, .source-state[data-offscreen="true"] { visibility: hidden; }
#update-state { text-align: right; }
.screen-dots { display: flex; align-items: center; gap: clamp(6px, calc(var(--u) * .54), 13px); }
.screen-dot { width: clamp(7px, calc(var(--u) * .53), 13px); height: clamp(7px, calc(var(--u) * .53), 13px); border-radius: 50%; background: #5d5557; }
.screen-dot[data-current="true"] { background: #f6ddab; box-shadow: 0 0 9px #f6ddab55; }
.access { padding: clamp(22px, 7vw, 120px) 0; }
.access h2 { font-size: clamp(24px, 4vw, 56px); }
.access p { margin-top: 12px; color: var(--muted); }
.tv-sign-in {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 20px;
  border-radius: 8px;
  background: var(--text);
  color: var(--background);
  font-size: clamp(16px, calc(var(--u) * 1.25), 26px);
  font-weight: 650;
  text-decoration: none;
}
.tv-sign-in:focus { outline: 3px solid #eac78a; outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 1001px) and (max-height: 850px) {
  body { padding-top: 14px; padding-bottom: 6px; row-gap: 10px; }
}
@media (max-width: 1000px) {
  :root { --u: 1.1vw; }
}
@media (max-width: 620px) {
  .masthead, .brand { flex-wrap: wrap; }
  .clock-block { margin-left: auto; }
  .agenda-groups, .agenda-today .agenda-groups { grid-template-columns: 1fr; }
  .publication-group { border-left: 0; border-top: 1px solid #a6d9ff45; padding: 10px 0 0; }
  .accounts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agenda-screen { grid-template-columns: 1fr; align-content: start; }

  .growth-number { font-size: 12px; }
}
@media (max-width: 375px) {
  .metrics { flex-wrap: wrap; }
  .growth { justify-items: start; text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .screen { transition: none; } .agenda-day-enter { animation: none; } }
@media (display-mode: fullscreen) { body { cursor: none; } }

.posts-screen {
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(7px, calc(var(--u) * .65), 16px);
}
.post-page-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: clamp(14px, calc(var(--u) * 1.1), 25px);
}
.post-page-line .agenda-day-chip {
  min-width: 1.75em;
  text-align: center;
}
.agenda-day-chip[aria-current="true"] { border-color: #eac78a; background: #eac78a20; color: #ffe1ac; }
.latest-posts { display: grid; min-width: 0; }
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(9px, calc(var(--u) * .85), 21px);
}
.post-card {
  --brand: #e4e1db;
  --agenda-client: var(--brand);
  --agenda-avatar: clamp(34px, calc(var(--u) * 3.05), 67px);
  display: grid;
  grid-template-rows: auto 1fr;
  gap: clamp(8px, calc(var(--u) * .75), 17px);
  min-width: 0;
  overflow: hidden;
  padding: clamp(11px, calc(var(--u) * 1), 24px);
  border: 1px solid #474046;
  border-top: 3px solid var(--brand);
  border-radius: clamp(9px, calc(var(--u) * .75), 18px);
  background: var(--surface);
  background: linear-gradient(149deg, color-mix(in srgb, var(--brand) 12%, #201e21), #201e21 60%);
}
.post-head {
  display: grid;
  grid-template-columns: var(--agenda-avatar) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(7px, calc(var(--u) * .65), 15px);
}
.post-identity { min-width: 0; }
.post-head .account-name { font-size: clamp(17px, calc(var(--u) * 1.62), 34px); }
.post-date { color: var(--muted); font-size: clamp(12px, calc(var(--u) * 1.04), 23px); margin-top: .16em; }
.post-kind {
  padding: .22em .58em;
  border-radius: 99px;
  border: 1px solid var(--brand);
  color: var(--brand);
  font-size: clamp(12px, calc(var(--u) * 1.04), 23px);
  font-weight: 700;
}
.post-body {
  display: grid;
  grid-template-rows: minmax(auto, 1fr) auto clamp(136px, calc(var(--u) * 12), 214px);
  gap: clamp(8px, calc(var(--u) * .74), 17px);
  min-height: 0;
}
.post-cover {
  display: grid;
  align-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid #ffffff1c;
  border-radius: 8px;
  background: #211e21;
  color: var(--muted);
  text-align: center;
  font-size: clamp(14px, calc(var(--u) * 1.15), 24px);
}
.post-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.post-visual {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr);
  gap: clamp(9px, calc(var(--u) * .89), 19px);
}
.post-trend {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto minmax(32px, 1fr) auto;
  gap: clamp(4px, calc(var(--u) * .42), 10px);
  min-width: 0;
  padding: clamp(8px, calc(var(--u) * .78), 18px);
  border: 1px solid #ffffff22;
  border-radius: 8px;
  background: #ffffff06;
}
.post-trend-heading { display: grid; gap: .18em; }
.post-trend-summary {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-self: center;
  gap: .15em .5em;
}
.post-trend-heading strong { font-size: clamp(13px, calc(var(--u) * 1.13), 26px); line-height: 1.15; }
.post-trend-kicker { color: var(--brand); font-size: clamp(9px, calc(var(--u) * .77), 18px); letter-spacing: .07em; font-weight: 700; }
.post-trend-value { font-size: clamp(18px, calc(var(--u) * 1.92), 39px); font-weight: 730; line-height: 1.08; overflow-wrap: anywhere; }
.post-trend-value[data-direction="up"] { color: var(--positive); }
.post-trend-value[data-direction="down"] { color: var(--negative); }
.post-trend-label, .post-trend-axis, .post-trend-empty { color: var(--muted); font-size: clamp(10px, calc(var(--u) * .84), 19px); line-height: 1.2; }
.post-trend-empty { grid-column: 1 / -1; align-self: center; }
.post-trend-plot { grid-column: 1 / -1; margin: 0 4px; }
.post-trend-plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.post-trend-axis { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: .35em; font-variant-numeric: tabular-nums; }
.post-data {
  display: grid;
  grid-template-rows: 1fr auto;
  min-width: 0;
}
.post-caption {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  min-height: 3.66em;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: clamp(15px, calc(var(--u) * 1.34), 30px);
  font-weight: 550;
  line-height: 1.22;
}
.post-metrics {
  display: grid;
  grid-template-rows: repeat(4, minmax(auto, 1fr));
  gap: .27em;
  margin: 0;
}
.post-metric {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding-top: .27em;
  border-top: 1px solid #ffffff30;
}
.post-metric:first-child { border-top: 0; }
.post-metric dt, .post-stale, .post-reading { color: var(--muted); font-size: clamp(12px, calc(var(--u) * .99), 23px); line-height: 1.2; }
.post-metric dd {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .15em .3em;
  margin: .08em 0 0;
  font-size: clamp(21px, calc(var(--u) * 1.83), 40px);
  font-weight: 720;
  line-height: 1.09;
  font-variant-numeric: tabular-nums;
}
.post-delta {
  color: var(--muted);
  font-size: .57em;
  font-weight: 680;
  white-space: nowrap;
}
.post-delta[data-direction="up"] { color: var(--positive); }
.post-delta[data-direction="down"] { color: var(--negative); }
.post-reading { margin-top: .65em; }
.post-stale {
  position: absolute;
  inset: auto 0 0;
  padding: .28em .15em;
  background: #171417e8;
  color: #f5d7a0;
}
.post-empty {
  align-self: center;
  color: var(--muted);
  font-size: clamp(14px, calc(var(--u) * 1.12), 25px);
}
@media (min-height: 900px) {
  .post-caption { -webkit-line-clamp: 4; min-height: 4.88em; }
}
@media (max-width: 620px) {
  .posts-screen { grid-template-rows: auto 1fr; }
  .post-grid { grid-template-columns: 1fr; }
  .post-caption { min-height: auto; }
}
