:root {
  color-scheme: dark;
  font: 16px/1.5 system-ui, sans-serif;
  --canvas: #101012;
  --surface: #17171b;
  --rail: #101012;
  --hover: #1f1f24;
  --selected: #28282f;
  --ink: #f1f0f3;
  --muted: #aaa9b3;
  --line: #2a2a31;
  --field: #494853;
  --accent: #f26786;
  --accent-hover: #fb849d;
  --accent-ink: #211017;
  --rose-bg: #38232d;
  --rose-ink: #fba8bb;
  --blue-bg: #272c40;
  --blue-ink: #bccafb;
  --amber-bg: #382d20;
  --amber-ink: #efcd92;
  --red-bg: #3e242a;
  --red-ink: #ffb4bc;
  --radius: .55rem;
  --ease-out: cubic-bezier(.2, .65, .3, 1);
  background: var(--canvas);
  color: var(--ink);
}

* { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }
a { color: var(--accent); text-underline-offset: .2em; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
main:focus { outline: none; }
.skip-link { position: fixed; z-index: 5; top: .5rem; left: .5rem; transform: translateY(-160%); }
.skip-link:focus { transform: none; background: var(--surface); padding: .6rem 1rem; }

.app-shell {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  min-height: 100vh;
  min-height: 100dvh;
}

.workspace-rail {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  overflow: auto;
  padding: .8rem .65rem;
  background: var(--rail);
}

.brand { display: inline-flex; align-items: center; gap: .55rem; color: var(--ink); text-decoration: none; font-weight: 720; white-space: nowrap; }
.rail-brand { margin: .13rem .45rem 1.2rem; font-size: .9rem; }
.top-brand { display: none; }
.workspace-label { margin: 0 .55rem .4rem; color: var(--muted); font-size: .73rem; font-weight: 560; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-nav, .workspace-tools { display: grid; gap: .18rem; }
.workspace-tools { margin-top: 1.25rem; }
.workspace-nav a, .workspace-tools a, .icon-action {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.15rem;
  padding: .3rem .55rem;
  border-radius: .34rem;
  color: var(--muted);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 550;
}
.workspace-nav a:hover, .workspace-tools a:hover, .icon-action:hover { background: var(--hover); color: var(--ink); }
.workspace-nav a[aria-current], .workspace-tools a[aria-current], .icon-action[aria-current] { background: var(--selected); color: var(--ink); }
.workspace-nav a[aria-current] .ui-icon { color: var(--accent); }
.ui-icon { flex: none; width: 1.05rem; height: 1.05rem; vertical-align: -.18em; }
.workspace-main { min-width: 0; }
.app-shell .workspace-main {
  margin: .45rem .45rem .45rem 0;
  border: 1px solid var(--line);
  border-radius: .65rem;
  background: var(--surface);
}
.top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  min-height: 2.85rem;
  padding: .3rem clamp(.95rem, 2vw, 1.65rem);
  border-bottom: 1px solid var(--line);
}
.location-label { display: flex; align-items: center; gap: .3rem; color: var(--muted); font-size: .8rem; }
.location-label .ui-icon { width: .82rem; }
.location-label strong { color: var(--ink); font-weight: 600; }
.top-actions { display: flex; align-items: center; gap: .35rem; }
.top-actions .icon-action { border: 0; margin: 0; background: transparent; cursor: pointer; }
.top-actions .icon-action:hover { background: var(--hover); }
.top-actions .icon-action[aria-current] { background: var(--selected); }
.phone-menu { display: none; }
.wrap { width: calc(100% - 2 * clamp(.95rem, 2vw, 1.85rem)); margin-inline: auto; }
main { padding: clamp(1.1rem, 2.4vw, 2.1rem) 0 3rem; }
main:has(.post-grid), main:has(> .narrow) { max-width: 76rem; }

.auth-shell .top-brand { display: inline-flex; }
.auth-shell .wrap { width: min(28rem, 100% - 2rem); padding-top: clamp(2.5rem, 10vh, 6rem); }
.auth-shell .narrow { max-width: none; }

h1, h2, p { margin: 0 0 .65rem; }
h1 { margin: .1rem 0 .38rem; font-size: clamp(1.45rem, 2.7vw, 1.85rem); line-height: 1.2; letter-spacing: -.035em; overflow-wrap: anywhere; }
h2 { font-size: 1rem; line-height: 1.35; overflow-wrap: anywhere; }
.intro { margin: .4rem 0 1.05rem; min-width: 0; }
.eyebrow { color: var(--muted); font-size: .69rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.subtle, .optional, .empty { color: var(--muted); font-size: .87rem; }
.optional { margin-left: .25rem; font-weight: 400; }
.page-heading { margin-bottom: .7rem; }
.page-heading .intro { margin: 0; }
.page-heading p:last-child { margin-bottom: 0; }
.queue-heading, .queue-actions { display: flex; align-items: center; gap: .65rem; }
.queue-heading { justify-content: space-between; gap: 1rem; }
.queue-heading .button { flex: none; margin: 0; }
.queue-actions { flex-wrap: wrap; }
.card, .queue-board { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.card { padding: clamp(1rem, 2.2vw, 1.5rem); }
.narrow { max-width: 44rem; }
.path { padding: .65rem .75rem; border-radius: .4rem; background: var(--hover); font-size: .84rem; overflow-wrap: anywhere; }
.inbox { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 1.25rem; margin-top: 1.25rem; scroll-margin-top: 1rem; }
.inbox form > label:first-of-type { margin-top: 0; }

.pill, .count {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 2rem;
  padding: .18rem .55rem;
  background: var(--hover);
  color: var(--muted);
  font-size: .74rem;
  font-weight: 630;
  line-height: 1.3;
  white-space: nowrap;
  vertical-align: middle;
}
.count { padding: .12rem .4rem; }
.status-pill::before { content: ""; width: .38rem; height: .38rem; border-radius: 50%; background: currentColor; flex: none; }
.pill.scheduled { background: var(--rose-bg); color: var(--rose-ink); }
.mode-pill.mock { border: 1px solid var(--line); background: transparent; }
.pill.youtube, .pill.failed { background: var(--red-bg); color: var(--red-ink); }
.pill.verify, .pill.uploading, .pill.queued, .pill.claimed, .pill.needs_verification, .pill.expired { background: var(--amber-bg); color: var(--amber-ink); }
.pill.approved { background: var(--blue-bg); color: var(--blue-ink); }

.queue-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem .8rem; padding: .45rem .6rem; border-bottom: 1px solid var(--line); }
.queue-filters { display: flex; flex-wrap: wrap; gap: .18rem; }
.queue-filters a { display: inline-flex; align-items: center; gap: .35rem; min-height: 1.95rem; padding: .28rem .48rem; border-radius: .33rem; color: var(--muted); text-decoration: none; font-size: .78rem; font-weight: 580; }
.queue-filters a:hover { background: var(--hover); }
.queue-filters a[aria-current] { background: var(--selected); color: var(--ink); }
.queue-filters a[aria-current] .count { background: var(--rose-bg); color: var(--rose-ink); }
.queue-search {
  display: flex;
  align-items: center;
  gap: .25rem;
  width: 12.3rem;
  margin-left: auto;
  padding: 0 .2rem 0 .55rem;
  border: 1px solid var(--line);
  border-radius: .35rem;
  background: var(--canvas);
}
.queue-search:focus-within { border-color: var(--accent); }
.queue-search input[type=search] { min-height: 1.85rem; padding: 0; border: 0; background: transparent; outline: none; font-size: .79rem; }
.queue-search input::-webkit-search-cancel-button { display: none; }
.queue-search button, .queue-search a { display: inline-grid; place-items: center; flex: none; min-height: 1.75rem; margin: 0; padding: .2rem .3rem; border: 0; border-radius: .25rem; background: transparent; color: var(--muted); font-size: .74rem; }
.queue-search button:hover, .queue-search a:hover { background: var(--hover); color: var(--ink); }
.queue-columns, .queue-board .post-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, 13rem) 9rem .95rem; gap: .65rem; align-items: center; padding-inline: .85rem; }
.queue-columns { background: var(--canvas); border-bottom: 1px solid var(--line); padding-block: .35rem; color: var(--muted); font-size: .72rem; font-weight: 600; }
.post-list { list-style: none; padding: 0; margin: 0; }
.post-list li + li { border-top: 1px solid var(--line); }
.post-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 0; color: var(--ink); text-decoration: none; }
.queue-board .post-row { min-height: 3.25rem; padding-block: .4rem; }
.post-row:hover { background: var(--hover); }
.post-list li:last-child .post-row { border-radius: 0 0 var(--radius) var(--radius); }
.post-identity { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.clip-tile { display: inline-grid; place-items: center; flex: none; width: 1.85rem; height: 2rem; border: 1px solid var(--line); border-radius: .36rem; background: var(--hover); color: var(--muted); }
.clip-thumbnail { width: 2rem; height: 2.5rem; overflow: hidden; }
.clip-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.post-name { min-width: 0; overflow-wrap: anywhere; }
.post-name span { display: block; }
.post-name strong { font-size: .85rem; font-weight: 640; }
.post-name .subtle, .post-time { font-size: .78rem; }
.post-time { font-variant-numeric: tabular-nums; }
.status-pill { justify-self: start; }
.row-arrow { color: var(--muted); opacity: .55; }
.post-row:hover .row-arrow, .post-row:focus-visible .row-arrow { opacity: 1; color: var(--accent); }
.queue-empty { padding: clamp(1.5rem, 5vw, 3.5rem) 1rem; text-align: center; color: var(--muted); }
.queue-empty h2 { margin-top: .7rem; color: var(--ink); }
.empty { padding: .75rem 0 .2rem; }

.post-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; gap: 1rem; }
.stack { display: grid; gap: 1rem; min-width: 0; }
.preview { background: var(--rail); }
video { display: block; width: 100%; height: clamp(14rem, 60vh, 39rem); background: #0b0b0d; border-radius: .4rem; object-fit: contain; }
.filename { margin-top: .6rem; overflow-wrap: anywhere; }
.description { white-space: pre-wrap; }
.digest { overflow-wrap: anywhere; }
dl { margin: 0 0 1rem; }
dt { margin-top: .65rem; color: var(--muted); font-size: .83rem; }
dd { margin: .12rem 0 .55rem; overflow-wrap: anywhere; }
.post-facts { display: grid; grid-template-columns: minmax(5rem, .55fr) minmax(0, 1fr); gap: .56rem .75rem; align-items: baseline; }
.post-facts dt, .post-facts dd { margin: 0; overflow-wrap: anywhere; }
.approval-actions { margin-top: 1rem; padding-top: .55rem; border-top: 1px solid var(--line); }
.approval { border-color: var(--field); }
.back { color: var(--muted); font-size: .86rem; }

.batch-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .25rem .75rem; padding: .5rem .7rem; margin: .7rem 0 .85rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--surface); }
.batch-progress { display: flex; align-items: center; gap: .55rem; }
.batch-position { color: var(--muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.batch-progress progress { width: 3.4rem; height: .36rem; accent-color: var(--accent); }
.batch-links { display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .8rem; margin-left: auto; }
.batch-links a, .batch-unavailable { display: inline-flex; align-items: center; min-height: 2.15rem; font-size: .86rem; }
.batch-unavailable { color: var(--muted); opacity: .6; }
.batch-feedback { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.batch-toolbar.batch-busy .batch-links { opacity: .65; }
.batch-keys { flex-basis: 100%; font-size: .8rem; color: var(--muted); }
.batch-keys button { min-height: 2rem; margin: 0 .5rem 0 0; padding: .2rem .45rem; font-size: inherit; }
kbd { padding: .1rem .28rem; border: 1px solid var(--line); border-radius: .25rem; background: var(--hover); }

label { display: block; margin: .8rem 0 .35rem; font-weight: 620; font-size: .9rem; }
input:not([type=checkbox]), select, textarea { width: 100%; min-width: 0; min-height: 2.65rem; padding: .48rem .65rem; border: 1px solid var(--field); border-radius: .45rem; background: var(--surface); color: var(--ink); font: inherit; }
input[type=file] { max-width: 100%; }
textarea { resize: vertical; }
.fields-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.form-section { margin: 1.35rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); }
button, .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 2.25rem;
  margin-top: .75rem;
  padding: .48rem .85rem;
  border: 1px solid transparent;
  border-radius: .36rem;
  background: var(--accent);
  color: var(--accent-ink);
  font: inherit;
  font-size: .88rem;
  font-weight: 680;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
button:hover, .button:hover { background: var(--accent-hover); }
button:disabled { opacity: .7; cursor: wait; }
.secondary { background: var(--surface); color: var(--ink); border-color: var(--field); }
.secondary:hover { background: var(--hover); }
.check { display: flex; align-items: baseline; gap: .55rem; font-weight: 560; }
.check input { flex: none; accent-color: var(--accent); margin: 0; }
.help, .busy-note { margin-top: .42rem; }
code { font-size: .85em; }
details { margin-top: .85rem; }
summary { cursor: pointer; color: var(--accent); }
.notice { padding: .75rem .9rem; border-radius: .5rem; background: var(--amber-bg); color: var(--amber-ink); overflow-wrap: anywhere; }
.notice.error { background: var(--red-bg); color: var(--red-ink); }
.notice.success { background: var(--rose-bg); color: var(--rose-ink); }

.calendar-heading, .calendar-heading nav, .project-chips, .weekday-options {
  display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .9rem;
}
.calendar-heading { justify-content: space-between; }
.calendar-heading h2, .calendar-library p:last-child { margin: 0; }
.calendar-heading small { margin-left: .3rem; color: var(--muted); font-weight: 400; }
.calendar-navigation { margin: .85rem 0 .65rem; }
.calendar-projects { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; margin-bottom: .75rem; }
.calendar-projects > a { font-size: .82rem; }
.calendar-week-jump { display: none; }
.calendar-week, #calendar-planning, #calendar-assign, #calendar-reels { scroll-margin-top: .85rem; }
.calendar-publication { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .8rem; margin-bottom: .8rem; }
.calendar-publication button, .calendar-publication p { margin: 0; }
.calendar-publication > a { margin-left: auto; }
.calendar-reel-picker { max-width: 26rem; }
.project-chips { gap: .3rem; }
.project-chip {
  display: inline-block; max-width: 100%; overflow-wrap: anywhere;
  padding: .25rem .55rem; border: 1px solid transparent; border-radius: .35rem;
  background: var(--rose-bg); color: var(--rose-ink); font-weight: 650; font-size: .83rem;
}
.project-chip[draggable=true] { cursor: grab; }
.project-chip[draggable=true]:hover { border-color: var(--accent); }
.calendar-week { margin-bottom: 1rem; }
.calendar-week h3 { margin: 0 0 .4rem; font-size: .82rem; color: var(--muted); }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.calendar-day { min-width: 0; min-height: 5rem; padding: .42rem; border: 1px solid var(--line); border-radius: var(--radius); }
.calendar-day h4 { margin: 0 0 .35rem; color: var(--muted); font-size: .76rem; }
.calendar-today h4 { color: var(--rose-ink); }
.calendar-slot {
  padding: .4rem; margin-top: .35rem; border: 1px solid var(--line); border-radius: .35rem;
  background: var(--surface); font-size: .79rem; overflow-wrap: anywhere;
}
.calendar-planned { border-style: dashed; }
.calendar-dragging .calendar-planned { border-color: var(--accent); }
.calendar-slot.slot-drop { background: var(--rose-bg); outline: 2px solid var(--accent); }
.platform-youtube { --platform-ink: #ffb1b9; --platform-bg: #3d2429; --platform-edge: #e77783; }
.platform-instagram { --platform-ink: #e7bcfc; --platform-bg: #392741; --platform-edge: #c38be2; }
.calendar-post { border-left: 2px solid var(--platform-edge); }
.slot-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .4rem; margin-bottom: .35rem; }
.platform-badge {
  display: inline-flex; align-items: center; gap: .25rem; padding: .08rem .35rem; border-radius: .25rem;
  color: var(--platform-ink); background: var(--platform-bg); font-size: .7rem; font-weight: 650;
}
.platform-badge .ui-icon { width: .9rem; height: .9rem; }
.calendar-slot p, .calendar-slot details { margin: .2rem 0; }
.slot-time, .slot-status { color: var(--muted); font-size: .74rem; }
.slot-status { font-weight: 660; }
.slot-publication-detail, .slot-publication-checked { color: var(--muted); font-size: .72rem; }
.calendar-post[data-publication-state="published"] .slot-status { color: var(--rose-ink); }
.calendar-post[data-publication-state="failed"] .slot-status { color: #ff9b9b; }
.pill.published { background: var(--rose-bg); color: var(--rose-ink); }
.calendar-slot label, .calendar-slot button, .calendar-slot input, .calendar-slot select, .calendar-slot textarea {
  font-size: .78rem;
}
.calendar-slot button { max-width: 100%; padding-inline: .4rem; }
.calendar-add, .calendar-library, .project-settings { max-width: 52rem; }
.calendar-library { margin-top: .85rem; }
.calendar-repeat { margin-top: 1rem; border: 1px solid var(--line); border-radius: var(--radius); }
.calendar-repeat input[type=number] { max-width: 6rem; }
.project-settings { margin: 0; }
.calendar-week-empty { margin-top: .4rem; }

@media (max-width: 72rem) {
  .calendar-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calendar-empty { display: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .workspace-nav a, .workspace-tools a, .icon-action, .queue-filters a, .post-row, button, .button, .queue-search {
    transition: background-color 130ms ease, color 130ms ease, border-color 130ms ease;
  }
  .button:active, button:active { transform: translateY(1px); }
  .row-arrow { transition: opacity 130ms ease, color 130ms ease, transform 150ms var(--ease-out); }
  .post-row:hover .row-arrow, .post-row:focus-visible .row-arrow { transform: translateX(2px); }
  .queue-results, .queue-empty, .post-grid { animation: enter-view 170ms var(--ease-out); }

  @keyframes enter-view {
    from { opacity: .6; transform: translateY(3px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (min-width: 61rem) {
  .batch-toolbar { position: sticky; z-index: 2; top: .6rem; }
  .post-grid > .preview { position: sticky; top: 1rem; }
  main:has(.batch-toolbar) .post-grid > .preview { top: 6.5rem; }
}

@media (max-width: 68rem) {
  .app-shell { grid-template-columns: 11rem minmax(0, 1fr); }
  .queue-columns, .queue-board .post-row { grid-template-columns: minmax(0, 1fr) minmax(8.3rem, 10rem) 8.5rem .8rem; gap: .5rem; }
}

@media (max-width: 59rem) {
  .queue-heading { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .queue-search { margin-left: 0; }
  .post-facts { display: block; }
  .post-facts dt { margin-top: .65rem; }
  .post-facts dd { margin-top: .12rem; }
}

@media (max-width: 47rem) {
  .app-shell, .workspace-rail { display: contents; }
  .app-shell .workspace-main { margin: 0; border: 0; border-radius: 0; }
  .rail-brand, .workspace-label, .workspace-tools, .location-label { display: none; }
  .top-brand { display: inline-flex; font-size: .92rem; }
  .top-bar {
    min-height: 3.4rem; padding-block-start: max(.3rem, env(safe-area-inset-top));
    padding-inline: max(.85rem, env(safe-area-inset-left)) max(.85rem, env(safe-area-inset-right));
  }
  .top-actions { gap: .15rem; }
  .top-actions > a.icon-action, .top-sign-out { display: none; }
  .phone-menu { display: block; position: relative; margin: 0; }
  .phone-menu summary { min-height: 2.75rem; list-style: none; }
  .phone-menu summary::-webkit-details-marker { display: none; }
  .phone-menu[open] summary { background: var(--selected); color: var(--ink); }
  .phone-menu-links {
    position: absolute; inset: calc(100% + .35rem) 0 auto auto; z-index: 6;
    width: min(14rem, calc(100vw - 1.7rem)); padding: .3rem;
    border: 1px solid var(--field); border-radius: var(--radius); background: var(--surface);
    box-shadow: 0 .7rem 1.5rem #0007;
  }
  .phone-menu-links a, .phone-menu-links button {
    display: flex; align-items: center; gap: .55rem; width: 100%; min-height: 2.75rem;
    padding: .45rem .65rem; margin: 0; border: 0; border-radius: .3rem;
    background: transparent; color: var(--ink); text-decoration: none; font-size: .88rem;
  }
  .phone-menu-links a:hover, .phone-menu-links button:hover { background: var(--hover); }
  .workspace-nav {
    position: fixed;
    z-index: 4;
    inset: auto 0 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .2rem;
    padding: .25rem max(.35rem, env(safe-area-inset-right)) max(.3rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));
    border-top: 1px solid var(--line);
    background: var(--surface);
  }
  .workspace-nav a { flex-direction: column; justify-content: center; gap: .08rem; min-height: 3rem; padding: .2rem; font-size: .7rem; text-align: center; line-height: 1.2; }
  .workspace-nav.with-calendar { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .workspace-nav a .ui-icon { width: 1.15rem; height: 1.15rem; }
  .app-shell main { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
  .app-shell .wrap {
    width: auto; margin-inline: max(.85rem, env(safe-area-inset-left)) max(.85rem, env(safe-area-inset-right));
  }
  main { padding-top: 1.3rem; }
  .queue-toolbar { flex-direction: column; align-items: stretch; padding: .42rem; }
  .queue-filters { gap: .08rem; }
  .queue-filters a { min-height: 2.6rem; padding-inline: .4rem; }
  .queue-search { width: 100%; }
  .queue-search input[type=search] { min-height: 2.6rem; font-size: 1rem; }
  .queue-search button, .queue-search a { min-height: 2.5rem; min-width: 2.5rem; }
  .queue-columns, .row-arrow { display: none; }
  .queue-board .post-row { grid-template-columns: minmax(0, 1fr) auto; gap: .12rem .45rem; padding-inline: .72rem; }
  .queue-board .post-row { padding-block: .62rem; }
  .post-time { grid-row: 2; grid-column: 1 / -1; margin-left: 2.5rem; }
  .post-grid, .inbox { grid-template-columns: minmax(0, 1fr); }
  video { height: clamp(13rem, 51vh, 32rem); }
  .batch-toolbar { position: sticky; top: max(.35rem, env(safe-area-inset-top)); z-index: 2; gap: .1rem .65rem; }
  .batch-links { width: 100%; justify-content: space-between; margin-left: 0; }
  .batch-links a, .batch-unavailable { min-height: 2.75rem; padding-inline: .15rem; }
  .batch-keys { padding-bottom: .3rem; }
  .calendar-grid { grid-template-columns: minmax(0, 1fr); }
  .calendar-day { min-height: auto; }
  .calendar-navigation nav a, .calendar-week-jump a {
    display: inline-flex; align-items: center; min-height: 2.75rem; padding-inline: .4rem;
  }
  .calendar-navigation nav { gap: .25rem; }
  .calendar-week-jump { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .85rem; }
  .calendar-week-jump a {
    flex: 1 1 auto; justify-content: center; border: 1px solid var(--line); border-radius: .35rem;
    color: var(--ink); background: var(--canvas); text-decoration: none; font-size: .82rem;
  }
  .calendar-week:target h3 { color: var(--rose-ink); }
  .calendar-slot > a { display: flex; align-items: center; min-height: 2.75rem; }
  .calendar-slot summary { min-height: 2.75rem; padding-block: .55rem; }
  .calendar-slot input, .calendar-slot select, .calendar-slot textarea { font-size: 1rem; }
  button, .button { min-height: 2.75rem; }
}

@media (max-width: 47rem) and (hover: none) and (pointer: coarse) {
  .batch-keys { display: none; }
}

@media (max-width: 25rem) {
  .fields-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .post-identity { gap: .4rem; }
  .post-time { margin-left: 2.25rem; }
}
