/* Auto Edit page (Sep 19) — every rule under .ae / .ae- ; colours only through tokens.css variables, so both themes work.
   It stands on the studio's own pieces (.card, .btn, .badge, .count, .switch, .chip, .mm-stepper, .mm-drop, .mm-prog) and only adds layout.
   Review ≥ 1000 px: the player and the studio's check on the left (they stay in view), the rows and the choices on the right.
   Under 1000 px everything is one column; under 640 px the row tools wrap and every button is a full thumb wide. */
.ae { min-width: 0; }
.ae .help { font-size: 12px; color: var(--text-muted); }
.ae-card { padding: 16px 18px; }
.ae-card + .ae-card { margin-top: 16px; }
.ae-card-h { display: flex; align-items: center; gap: 4px; font-weight: 600; font-size: 16px; margin-bottom: 10px; }
.ae-card-h-r { margin-left: auto; display: inline-flex; align-items: center; gap: 2px; font-weight: 500; }
.ae-wide { width: 100%; white-space: normal; }

/* ---- head: back · name · status · facts, then the four steps ---- */
.ae-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.ae-head .ae-title { flex: 1 1 220px; min-width: 0; max-width: 520px; font-weight: 600; font-size: 16px; }
.ae-stepper.mm-stepper { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 640px) { .ae-stepper.mm-stepper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* the Review step (round 3B): the four steps shrink to one slim line, so the video and "What stays" get the screen */
.ae[data-ae-step="2"] .ae-head { margin-bottom: 8px; }
.ae[data-ae-step="2"] .ae-stepper.mm-stepper { margin-bottom: 8px; }
.ae[data-ae-step="2"] .ae-stepper .mm-step { flex-direction: row; align-items: center; gap: 8px; padding: 4px 10px; }
.ae[data-ae-step="2"] .ae-stepper .mm-step-sub { display: none; }

/* ---- the list page ---- */
.ae-start { padding: 22px; background: linear-gradient(180deg, color-mix(in srgb, var(--brand-cyan) 7%, var(--surface)), var(--surface) 120px); }
.ae-start-h { font-weight: 600; font-size: 16px; margin-bottom: 4px; }
.ae .mm-drop[aria-disabled="true"] { opacity: .55; cursor: default; }
.ae-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.ae-item { position: relative; border: 1px solid var(--border); border-radius: var(--radius-control); padding: 12px 34px 12px 14px; background: var(--surface); cursor: pointer;
  transition: border-color .15s, box-shadow .15s, transform .15s; }
.ae-item:hover { border-color: var(--brand-cyan); box-shadow: var(--shadow-card); transform: translateY(-1px); }
.ae-item:focus-visible { outline: 2px solid var(--brand-cyan); outline-offset: 1px; box-shadow: var(--glow-focus); }
.ae-item-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.ae-item-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.ae-item-x { position: absolute; top: 8px; right: 8px; opacity: .55; background: none; border: 0; color: var(--text-muted); cursor: pointer; font-size: 12px; padding: 4px 6px; border-radius: 8px; }
.ae-item-x:hover, .ae-item-x:focus-visible { opacity: 1; color: var(--danger); background: var(--danger-soft); outline: none; }
.ae-film { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.ae-film:last-child { border-bottom: 0; }
.ae-film b { display: block; overflow-wrap: anywhere; line-height: 1.35; }   /* Oct 18: the whole film name — AUTO_GT_SPOUSE_SEC… hid the part that tells films apart */
/* Mit's own door to other editors' films (Sep 19): the calm line while looking in as somebody, and "Someone else's finished film" grouped by person */
.ae-lookin { margin: 0 0 12px; padding: 9px 12px; border: 1px solid var(--border); border-left: 3px solid var(--warn); border-radius: var(--radius-small); background: var(--warn-tint); color: var(--text); }
.ae-others-find { width: 100%; margin: 2px 0 8px; }
.ae-others-list { max-height: 420px; overflow: auto; }
.ae-others-group + .ae-others-group { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--border); }
.ae-others-who { font-size: 13px; margin-bottom: 2px; }
.ae-others-who b { display: inline; }
.ae-others-has { color: var(--accent-text); font-weight: 600; }

/* ---- step 1: the clips in order + the choices + the price ---- */
.ae-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 420px); gap: 16px; align-items: start; }
.ae-side { position: sticky; top: 0; }
.ae-clips { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ae-clip { border: 1px solid var(--border); border-radius: var(--radius-control); padding: 10px 12px; background: var(--surface-subtle); }
.ae-clip-top { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; flex-wrap: wrap; }
.ae-clip-n, .ae-row-n { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; font-size: 12px; font-weight: 600;
  background: var(--info-soft); color: var(--accent-text); flex: none; }
.ae-code { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.ae-line { font-size: 14px; line-height: 1.45; }
.ae-heard { margin-top: 4px; font-style: italic; }
.ae-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 14px 22px; align-items: start; }
.ae-lbl { display: flex; align-items: center; margin-bottom: 4px; }
.ae-opt .help { margin-top: 4px; }
.ae-hold { margin-top: 8px; }
.ae-picked { cursor: default; max-width: 100%; }
.ae-go { border-color: color-mix(in srgb, var(--brand-cyan) 45%, var(--border)); }
.ae-price { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.ae-price-n { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ae-price .help { flex-basis: 100%; }
.ae-target.input { width: 120px; max-width: 100%; font-variant-numeric: tabular-nums; }
.ae-own { margin-top: 8px; gap: 8px; flex-wrap: wrap; }
.ae-opt .switch { display: inline-flex; align-items: center; gap: 8px; }
/* "Make it sharper (1080p)" (Oct 1; Oct 2): the switch, its quiet price-and-time words and its (?) on one line that wraps on a phone */
.ae-sharper { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.ae-opt .ae-sharper-tail { margin-top: 0; }
/* "Here is what I understood": calm, read once — one sentence, its notes, the brief, what was found, and a closed list of what was left out */
.ae-main { min-width: 0; }
.ae-und { background: linear-gradient(180deg, color-mix(in srgb, var(--brand-cyan) 6%, var(--surface)), var(--surface) 90px); }
.ae-und-sum { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 500; }
.ae-und-notes { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 3px; font-size: 13px; line-height: 1.45; color: var(--text-muted); }
.ae-und-row { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 10px; align-items: baseline; margin-top: 12px; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.ae-und-why { display: block; }
.ae-und-offers { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }
.ae-und-offer { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 8px 10px; border: 1px dashed var(--border); border-radius: var(--radius-control); font-size: 14px; overflow-wrap: anywhere; }
.ae-und-offerhelp { margin: 6px 0 0; }
.ae-und-out { margin-top: 12px; font-size: 13px; }
.ae-und-out summary { cursor: pointer; }
.ae-und-out ul { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; max-height: 260px; overflow-y: auto; scrollbar-width: thin; }
.ae-und-out li { line-height: 1.45; overflow-wrap: anywhere; }
.ae-und-out li .help { display: block; }
.ae-error { padding: 14px 16px; margin-bottom: 14px; border-color: color-mix(in srgb, var(--danger) 40%, var(--border)); background: var(--danger-soft); color: var(--foreground); }
.ae-error b { color: var(--danger); }
.ae-stopped { padding: 14px 16px; margin-bottom: 14px; background: var(--muted); color: var(--foreground); }
.ae-warnline { margin: 8px 0 0; font-size: 13px; color: var(--warn); }
.ae-calmline { margin: 8px 0 0; font-size: 13px; }
/* the last pass (Sep 19): the day's allowance by the paid buttons, and the studio's calm "no" (the daily limit, "already cut") */
.ae-limit { margin: 8px 0 0; font-size: 13px; }
.ae-limit.is-full { color: var(--warn); }
.ae-ask .ae-limit, .ae-actions .ae-limit { flex: 1 1 100%; }
.ae-notice { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 16px; margin-bottom: 14px; background: var(--muted); color: var(--foreground); overflow-wrap: anywhere; }
.ae-notice .more { opacity: 1; flex: 0 0 auto; }
.ae-qa-down { display: block; }
.ae-qa-m { white-space: nowrap; font-size: 14px; }

/* ---- step 2: working — the step list beside the cutting room ---- */
.ae-work { max-width: 1120px; margin: 0 auto; }
.ae-work-now { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ae-work .mm-prog { height: 6px; border-radius: 4px; margin-top: 10px; }
.ae-work .mm-prog.is-waiting { opacity: .55; }                                /* waiting for a free spot: an empty bar, nothing made up */
.ae-work .mm-prog.is-waiting i { width: 0; }
.ae-run-note { margin: 8px 0 0; }
.ae-work-grid { display: grid; grid-template-columns: 196px minmax(0, 1fr); gap: 18px; align-items: start; margin-top: 14px; }
.ae-steps { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 14px; }
.ae-work-grid .ae-steps { margin: 2px 0 0; grid-template-columns: minmax(0, 1fr); gap: 7px; }
.ae-step { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.35; color: var(--text-muted); min-width: 0; }
.ae-step-dot { width: 18px; text-align: center; flex: none; font-size: 11px; line-height: 1.6; }
.ae-step.done { color: var(--success); }
.ae-step.now { color: var(--accent-text); font-weight: 600; }
.ae-step.now .ae-step-dot { color: var(--brand-blue); animation: ae-pulse 1.2s ease-in-out infinite; }
[data-theme="dark"] .ae-step.now { color: var(--brand-cyan); }
@keyframes ae-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* ---- the cutting room. Its shape is the same from poll to poll (only classes, widths and words change), so nothing jumps.
   The ten jobs a piece can do get their colour from the studio's own tokens, mixed; a block also always carries its clip code. ---- */
.ae { --ae-fill: 58%; --ae-fill-strong: 82%;
  --ae-hook: var(--brand-cyan); --ae-problem: var(--danger); --ae-escalation: color-mix(in srgb, var(--danger) 48%, var(--warn));
  --ae-discovery: var(--brand-blue); --ae-explanation: color-mix(in srgb, var(--brand-blue) 55%, var(--danger)); --ae-proof: var(--success);
  --ae-outcome: color-mix(in srgb, var(--success) 50%, var(--brand-cyan)); --ae-cta: var(--warn); --ae-reaction: var(--text-muted);
  --ae-bridge: color-mix(in srgb, var(--text-muted) 45%, var(--surface)); }
[data-theme="dark"] .ae { --ae-fill: 46%; --ae-fill-strong: 70%; }
.ae [data-beat] { --c: var(--text-muted); }
.ae [data-beat="hook"] { --c: var(--ae-hook); } .ae [data-beat="problem"] { --c: var(--ae-problem); } .ae [data-beat="escalation"] { --c: var(--ae-escalation); }
.ae [data-beat="discovery"] { --c: var(--ae-discovery); } .ae [data-beat="explanation"] { --c: var(--ae-explanation); } .ae [data-beat="proof"] { --c: var(--ae-proof); }
.ae [data-beat="outcome"] { --c: var(--ae-outcome); } .ae [data-beat="cta"] { --c: var(--ae-cta); } .ae [data-beat="reaction"] { --c: var(--ae-reaction); }
.ae [data-beat="bridge"] { --c: var(--ae-bridge); }

.ae-room { min-width: 0; display: grid; gap: 12px; }
.ae-room-box { min-width: 0; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface-subtle); padding: 12px; }
.ae-room-h { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-bottom: 8px; font-size: 13px; font-weight: 600; }
.ae-room-sum { margin-left: auto; font-size: 12px; font-weight: 500; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ae-stage { display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 6px 12px; border-radius: var(--radius-control);
  background: linear-gradient(90deg, color-mix(in srgb, var(--brand-cyan) 12%, var(--surface)), var(--surface) 70%); border: 1px solid color-mix(in srgb, var(--brand-cyan) 35%, var(--border)); }
.ae-stage-art { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 26px; color: var(--accent-text); }
.ae-stage-words { flex: 1 1 0; min-width: 0; font-size: 14px; font-weight: 500; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ae-stage-said { font-weight: 400; color: var(--text-muted); }
.ae-stage.is-waiting .ae-stage-words { display: block; overflow: visible; font-weight: 400; }
.ae-wait { font-size: 18px; line-height: 1; }

/* small moving pictures (all pure CSS; they only move when the person has not asked for less motion — see the end of this block) */
.ae-bars { display: inline-flex; align-items: flex-end; gap: 2px; height: 16px; }
.ae-bars i { width: 3px; height: 100%; border-radius: 2px; background: currentColor; transform-origin: 50% 100%; transform: scaleY(.45); }
.ae-bars i:nth-child(2) { transform: scaleY(.9); } .ae-bars i:nth-child(3) { transform: scaleY(.6); }
.ae-dots { display: inline-flex; align-items: center; gap: 4px; }
.ae-dots i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .55; }
.ae-snip { display: inline-block; font-size: 20px; line-height: 1; transform-origin: 50% 50%; }
.ae-eq { display: inline-flex; align-items: center; gap: 2px; height: 26px; }
.ae-eq i { width: 3px; height: 100%; border-radius: 2px; background: linear-gradient(180deg, var(--brand-cyan), var(--brand-blue)); transform: scaleY(.55); }
.ae-caps { display: inline-flex; flex-wrap: wrap; gap: 4px; max-width: 100%; }
.ae-cap { display: inline-block; max-width: 100%; padding: 2px 9px; border-radius: 8px; background: rgba(0, 0, 0, .74); color: white; font-size: 13px; font-weight: 700; line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* the clip wall */
.ae-wall { list-style: none; margin: 0; padding: 3px; display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px 8px; position: relative; overflow: hidden; }
.ae-tile { min-width: 0; }
.ae-tile-pic { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius-small); overflow: hidden; border: 1px solid var(--border);
  background: linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--text-muted) 18%, var(--surface))); transition: opacity .4s ease, box-shadow .3s ease, filter .4s ease; }
.ae-thumb { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; }
.ae-thumb.is-gone { visibility: hidden; }
.ae-tile-code, .ae-tile-len { position: absolute; left: 5px; padding: 0 6px; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 17px; font-variant-numeric: tabular-nums;
  background: color-mix(in srgb, var(--surface) 86%, transparent); color: var(--foreground); max-width: calc(100% - 10px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-tile-code { top: 5px; letter-spacing: .02em; } .ae-tile-len { bottom: 5px; font-weight: 500; max-width: calc(100% - 34px); }
.ae-tile-tick { position: absolute; right: 5px; bottom: 5px; width: 18px; height: 18px; border-radius: 50%; display: none; align-items: center; justify-content: center; font-size: 11px; font-weight: 700;
  background: var(--success); color: var(--surface); }
.ae-tile .ae-bars { position: absolute; left: 50%; top: 50%; margin: -10px 0 0 -19px; width: 38px; height: 20px; padding: 4px 10px; border-radius: 999px; display: none; background: rgba(0, 0, 0, .62); color: var(--brand-cyan); }
.ae-tile.is-wait .ae-tile-pic { opacity: .45; filter: saturate(.35); }
.ae-tile.is-now .ae-tile-pic { border-color: var(--brand-cyan); box-shadow: 0 0 0 2px var(--brand-cyan), var(--glow-focus); }
.ae-tile.is-now .ae-bars { display: inline-flex; }
.ae-tile.is-heard .ae-tile-tick { display: inline-flex; }
.ae-tile-state { margin-top: 4px; font-size: 12px; font-weight: 600; line-height: 1.35; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ae-tile.is-now .ae-tile-state { color: var(--accent-text); }
.ae-tile.is-heard .ae-tile-state { color: var(--foreground); }
.ae-tile-said { min-height: 16px; font-size: 11px; line-height: 16px; font-style: italic; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ae-wall.is-deciding::after, .ae-reel.is-checking::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 32%; pointer-events: none; opacity: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand-cyan) 26%, transparent), transparent); }

/* the film being put together: a strip of film laid over as many lines as it needs */
.ae-reel { list-style: none; margin: 0; padding: 10px 7px; display: flex; flex-wrap: wrap; gap: 3px; position: relative; overflow: hidden; border-radius: var(--radius-small); border: 1px solid var(--border);
  --ae-hole: color-mix(in srgb, var(--text-muted) 38%, transparent);
  background: repeating-linear-gradient(90deg, var(--ae-hole) 0 6px, transparent 6px 14px) 5px 3px / calc(100% - 10px) 3px no-repeat,
    repeating-linear-gradient(90deg, var(--ae-hole) 0 6px, transparent 6px 14px) 5px calc(100% - 3px) / calc(100% - 10px) 3px no-repeat, var(--surface); }
.ae-pc { min-width: 32px; max-width: 100%; height: 26px; padding: 0 3px; border-radius: 8px; border: 1px solid color-mix(in srgb, var(--c) 62%, var(--border)); display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 600; letter-spacing: .02em; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; color: var(--text-muted); background: transparent;
  transition: background-color .5s ease, color .5s ease, border-color .5s ease; }
.ae-pc.is-done, .ae-pc.is-now { background: color-mix(in srgb, var(--c) var(--ae-fill), var(--surface)); border-color: var(--c); color: var(--foreground); }
.ae-pc.is-now { box-shadow: 0 0 0 2px var(--brand-cyan), var(--glow-focus); position: relative; z-index: 1; }
/* the ending: the last block of the film, in the studio's own blue — dashed until the studio adds it, solid after */
.ae-pc-end { --c: var(--brand-blue); border-style: dashed; font-size: 12px; }
.ae-pc-end.is-done, .ae-pc-end.is-now { border-style: solid; }
.ae-reel-end { flex: 9999 1 0; height: 0; }
.ae-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 9px; font-size: 12px; color: var(--text-muted); }
.ae-legend-h { display: inline-flex; align-items: center; font-weight: 600; }
.ae-legend-i { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.ae-legend-i i { width: 10px; height: 10px; border-radius: 4px; flex: none; background: color-mix(in srgb, var(--c) var(--ae-fill), var(--surface)); border: 1px solid var(--c); }
.ae-legend-i i.ae-hatch, .ae-cb-track { background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--text-muted) 42%, transparent) 0 2px, transparent 2px 6px), var(--surface); }
.ae-legend-i i.ae-hatch { border-color: var(--border); }

/* one bar per clip: kept parts in colour, the rest striped */
.ae-cbs { list-style: none; margin: 0 0 -6px; padding: 0; columns: 2 320px; column-gap: 26px; }   /* two columns on a desk, read DOWN each one: the clips stay in their order */
.ae-cb { break-inside: avoid; margin-bottom: 6px; display: grid; grid-template-columns: 44px minmax(0, 1fr) 122px; align-items: center; gap: 8px; min-width: 0; font-size: 12px; }
.ae-cb-code { font-size: 11px; font-weight: 600; letter-spacing: .02em; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-radius: 4px; }
.ae-cb-lane { display: block; min-width: 0; }
.ae-cb-track { display: block; position: relative; height: 12px; min-width: 6px; border-radius: 4px; overflow: hidden; border: 1px solid var(--border); }
.ae-cb-keep { position: absolute; top: 0; bottom: 0; min-width: 2px; background: color-mix(in srgb, var(--c) var(--ae-fill-strong), var(--surface)); }
.ae-cb-sum { color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.ae-cb.is-out .ae-cb-code, .ae-cb.is-out .ae-cb-track { opacity: .55; }
.ae-cb.is-now .ae-cb-code { color: var(--accent-text); }
.ae-cb.is-now .ae-cb-track { border-color: var(--brand-cyan); box-shadow: 0 0 0 1px var(--brand-cyan); }
.ae-cb-keep.is-now { outline: 2px solid var(--brand-cyan); outline-offset: -2px; z-index: 1; }
.ae-cutsee { margin: 0 0 12px; font-size: 13px; }
.ae-cutsee summary { cursor: pointer; }
.ae-cutsee[open] summary { margin-bottom: 8px; }
.ae-cutsee-tip { margin: 0 0 8px; }

@media (prefers-reduced-motion: no-preference) {
  .ae-bars i { animation: ae-bar 0.9s ease-in-out infinite alternate; }
  .ae-bars i:nth-child(2) { animation-delay: -.35s; } .ae-bars i:nth-child(3) { animation-delay: -.6s; } .ae-bars i:nth-child(4) { animation-delay: -.15s; }
  .ae-dots i { animation: ae-pulse 1.2s ease-in-out infinite; } .ae-dots i:nth-child(2) { animation-delay: .2s; } .ae-dots i:nth-child(3) { animation-delay: .4s; }
  .ae-snip { animation: ae-snip 0.9s ease-in-out infinite; }
  .ae-eq i { animation: ae-even 2.8s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
  .ae-caps { position: relative; display: inline-block; width: min(190px, 46vw); height: 26px; }
  .ae-caps .ae-cap { position: absolute; left: 0; top: 0; opacity: 0; animation: ae-cap 3.6s linear infinite; animation-delay: calc(var(--i, 0) * 1.2s); }
  .ae-wall.is-deciding::after { opacity: 1; animation: ae-sweep 3s ease-in-out infinite; }
  .ae-reel.is-checking::after { opacity: 1; animation: ae-sweep 3.4s linear infinite; }
  .ae-pc.is-now, .ae-cb-keep.is-now { animation: ae-cutting 1.1s ease-in-out infinite; }
}
@keyframes ae-bar { from { transform: scaleY(.25); } to { transform: scaleY(1); } }
@keyframes ae-snip { 0%, 100% { transform: rotate(-14deg) scale(1); } 50% { transform: rotate(8deg) scale(1.08); } }
@keyframes ae-even { 0%, 12% { transform: scaleY(var(--h, .6)); } 75%, 100% { transform: scaleY(.55); } }
@keyframes ae-cap { 0% { opacity: 0; transform: translateY(4px) scale(.96); } 3%, 30% { opacity: 1; transform: none; } 34%, 100% { opacity: 0; transform: none; } }
@keyframes ae-sweep { from { transform: translateX(-110%); } to { transform: translateX(420%); } }
@keyframes ae-cutting { 0%, 100% { filter: brightness(1); box-shadow: 0 0 0 2px var(--brand-cyan); } 50% { filter: brightness(1.3); box-shadow: 0 0 0 2px var(--brand-cyan), 0 0 14px 3px color-mix(in srgb, var(--brand-cyan) 65%, transparent); } }

/* ---- step 3: review (round 3B, Mit: "there's just so much stuff"). Left: the video, the pieces strip, ONE quiet line, the downloads. Right: "What stays" and
   its buttons. Both fit a laptop screen: the list of rows scrolls INSIDE its card (the page sets its height to the room that is left), so Revise and Approve
   are always in sight. Nothing else is open. ---- */
.ae-review { display: grid; grid-template-columns: minmax(260px, 372px) minmax(0, 1fr); gap: 16px; align-items: start; }
.ae-watch { position: sticky; top: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; }
.ae-watch .ae-card + .ae-card { margin-top: 0; }
.ae-player { padding: 12px; text-align: center; }
.ae-screen { position: relative; display: flex; justify-content: center; min-width: 0; }
.ae-video { display: block; width: auto; max-width: 100%; aspect-ratio: 9 / 16; max-height: calc(100vh - 440px); min-height: 200px; border-radius: var(--radius-small); background: #000; }
.ae-video-src { position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); height: 100%; max-width: 100%; aspect-ratio: 9 / 16; border-radius: var(--radius-small); background: #000; outline: 2px solid var(--brand-cyan); }
.ae-video-src[hidden] { display: none; }
/* the player that gets back up (Sep 21): ONE quiet line under the video while it is loaded again, and a Try again button only after four tries */
.ae-video-say { margin: 8px 0 0; font-size: 13px; }
.ae-video-againrow { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 6px 0 0; }
.ae-video-say[hidden], .ae-video-againrow[hidden] { display: none; }
.ae-lenline { margin: 8px 0 0; font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
.ae-sizeline { margin: 4px 0 0; font-size: 13px; font-variant-numeric: tabular-nums; }
/* the pieces strip: every piece as wide as it is long, in the colour of its job; the line is where the video stands; ◐ over a join is a soft fade */
.ae-strip-wrap { margin-top: 8px; }
.ae-strip-marks { position: relative; height: 0; }
.ae-strip-wrap.has-fades .ae-strip-marks { height: 18px; }
.ae-fade { flex: none; border: 0; background: none; padding: 0 2px; cursor: pointer; color: var(--accent-text); font-size: 16px; line-height: 1; border-radius: 50%; }
.ae-fade:hover:not(:disabled), .ae-fade:focus-visible { outline: 2px solid var(--brand-cyan); outline-offset: 1px; }
.ae-fade.is-off { color: var(--text-muted); opacity: .6; text-decoration: line-through; }
.ae-fade:disabled { cursor: default; }
[data-theme="dark"] .ae-fade:not(.is-off) { color: var(--brand-cyan); }
.ae-fade-mark { position: absolute; top: 0; transform: translateX(-50%); width: 18px; height: 18px; }
.ae-strip { position: relative; height: 22px; border-radius: 8px; background: var(--surface-subtle); border: 1px solid var(--border); cursor: pointer; touch-action: none; overflow: hidden; }
.ae-strip:focus-visible { outline: 2px solid var(--brand-cyan); outline-offset: 2px; }
.ae-sp { position: absolute; top: 0; bottom: 0; background: color-mix(in srgb, var(--c) var(--ae-fill), var(--surface)); box-shadow: inset -1px 0 0 var(--surface); }
.ae-sp.is-playing { background: var(--c); }
.ae-sp.is-off { background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--text-muted) 40%, transparent) 0 3px, transparent 3px 6px); }
.ae-sp-end { --c: var(--brand-blue); opacity: .45; }
.ae-strip-head { position: absolute; top: 0; bottom: 0; left: 0; width: 2px; margin-left: -1px; background: var(--foreground); pointer-events: none; }
.ae-fades-note { margin: 6px 0 0; }
/* ONE quiet line under the video: "All good." or "2 things to check" — and the small list it opens */
.ae-under { display: flex; align-items: center; justify-content: center; gap: 4px 8px; flex-wrap: wrap; margin-top: 8px; font-size: 13px; }
.ae-under .ae-honest { margin: 0; font-size: 12px; font-weight: 500; }
.ae-allgood { color: var(--success); font-weight: 600; }
.ae-checks-btn.btn { color: var(--warn); border-color: color-mix(in srgb, var(--warn) 55%, var(--border)); }
.ae-checks { list-style: none; margin: 8px 0 0; padding: 8px 10px; text-align: left; display: grid; gap: 5px; border: 1px solid color-mix(in srgb, var(--warn) 45%, var(--border)); border-radius: var(--radius-small);
  background: var(--warn-tint); font-size: 13px; line-height: 1.4; max-height: 136px; overflow-y: auto; scrollbar-width: thin; }
.ae-checks[hidden] { display: none; }
.ae-checks li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; align-items: baseline; overflow-wrap: anywhere; }
.ae-check-t { font: inherit; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--accent-text); background: none; border: 0; padding: 0; cursor: pointer; text-align: left; text-decoration: underline; }
.ae-check-t.is-none { text-decoration: none; color: var(--text-muted); cursor: default; }
.ae-dl.ae-dl-s { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin-top: 8px; }
.ae-dl.ae-dl-s .btn { text-decoration: none; min-height: 28px; padding: 0 8px; font-size: 12px; }
.ae-admin { font-size: 13px; }
.ae-admin summary, .ae-choices > summary, .ae-cutsee summary, .ae-tray summary, .ae-change-more summary, .ae-und-more summary { cursor: pointer; }
.ae-admin .ae-qa { margin-top: 8px; }
.ae-choices > summary { margin-bottom: 0; }
.ae-choices[open] > summary { margin-bottom: 10px; }
.ae-edit > .ae-cutsee { margin-top: 12px; font-size: 13px; }
.ae-len-aim { display: block; margin-top: 2px; font-weight: 400; color: var(--text-muted); }
.ae-qa-voices { margin: 8px 0 0; }
.ae-honest { margin: 10px 0 2px; font-size: 13px; font-weight: 600; color: var(--warn); }
.ae-qa-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ae-qa-cell { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; padding: 10px; border-radius: var(--radius-control); background: var(--surface-subtle); min-width: 0; }
.ae-qa-l { display: inline-flex; align-items: center; font-size: 12px; font-weight: 600; color: var(--text-muted); }
.ae-qa-big { font-size: 18px; padding: 4px 10px; }
.ae-qa-v { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ae-qa-v .help { display: block; font-weight: 400; margin-top: 2px; }
.ae-qa-list { margin-top: 10px; display: grid; gap: 4px; }
.ae-word { cursor: default; margin: 2px 0; }
.ae-flags { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 13px; line-height: 1.45; }
.ae-notes, .ae-versions { margin-top: 10px; font-size: 13px; }
.ae-notes summary, .ae-versions summary { cursor: pointer; }
.ae-notes ul, .ae-versions ul { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 4px; }

/* "What stays": one line a row — its time, its clip, the words the video shows, the Keep switch. The row of the piece on screen lights up; the row in hand opens its tools. */
.ae-stays .ae-card-h { margin-bottom: 8px; }
.ae-rows-box { position: relative; overflow-y: auto; max-height: calc(100vh - 450px); min-height: 150px; scrollbar-width: thin; overscroll-behavior: contain; margin: 0 -6px; padding: 1px 6px; }
.ae-rows { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; }
.ae-row { min-width: 0; border: 1px solid var(--border); border-left: 3px solid var(--c, var(--brand-blue)); border-radius: var(--radius-control); padding: 1px 8px; background: var(--surface); cursor: pointer; transition: background-color .15s, border-color .15s, box-shadow .15s; }
.ae-row:hover { border-color: color-mix(in srgb, var(--brand-cyan) 50%, var(--border)); border-left-color: var(--c, var(--brand-blue)); }
.ae-row.is-playing { background: color-mix(in srgb, var(--brand-cyan) 13%, var(--surface)); border-color: var(--brand-cyan); box-shadow: 0 0 0 1px var(--brand-cyan); }
.ae-row.is-open { padding-bottom: 8px; }
.ae-row.off { border-left-color: var(--border); background: var(--surface-subtle); }
.ae-row.off .ae-row-cap { text-decoration: line-through; color: var(--text-muted); }
.ae-row.off .ae-row-why, .ae-row.off .ae-row-tools { opacity: .55; }
.ae-row-top { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 30px; }
.ae-row-top .ae-keep { flex: none; }
.ae-row-jump { flex: none; min-width: 50px; border: 0; background: none; padding: 2px 3px; border-radius: 8px; font: inherit; font-size: 12px; font-variant-numeric: tabular-nums; color: var(--accent-text); cursor: pointer; text-align: left; }
.ae-row-jump:disabled { color: var(--text-muted); cursor: default; }
.ae-row-jump:hover:not(:disabled), .ae-row-jump:focus-visible { background: var(--info-soft); outline: none; }
[data-theme="dark"] .ae-row-jump:not(:disabled) { color: var(--brand-cyan); }
.ae-row-top .ae-code { flex: none; font-size: 13px; }
.ae-row-cap { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-row.is-open .ae-row-cap, .ae-row.is-playing .ae-row-cap { white-space: normal; overflow-wrap: anywhere; }
.ae-row-cap.is-none { font-style: italic; }
.ae-cap-input.input { flex: 1 1 auto; min-width: 0; height: 30px; padding: 2px 8px; font-size: 14px; }
.ae-cap-edit, .ae-row-more { flex: none; opacity: .5; background: none; border: 0; color: var(--text-muted); cursor: pointer; font-size: 13px; padding: 3px 5px; border-radius: 8px; }
.ae-row:hover .ae-cap-edit, .ae-cap-edit:focus-visible, .ae-row:hover .ae-row-more, .ae-row-more:focus-visible, .ae-row.is-open .ae-row-more { opacity: 1; color: var(--accent-text); }
.ae-mine { flex: none; font-size: 10px; color: var(--brand-blue); cursor: default; }
.ae-len { flex: none; font-variant-numeric: tabular-nums; }
.ae-row-why { flex: 1 1 100%; margin: 0; }
.ae-row-why .ae-beat { color: var(--accent-text); font-weight: 600; }
.ae-tool-l { min-width: 30px; font-weight: 600; }
.ae-tool-mid { color: var(--text-muted); }
/* "Your changes (N)": every tracked change on one line, with its own undo */
.ae-tray { margin-bottom: 6px; font-size: 13px; }
.ae-tray-list { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 2px; max-height: 80px; overflow-y: auto; scrollbar-width: thin; }
.ae-tray-i { display: flex; align-items: center; gap: 6px; padding: 0 2px 0 8px; border-radius: 8px; background: var(--surface-subtle); min-width: 0; line-height: 24px; }
.ae-tray-i .ae-tray-x { padding: 0 8px; min-height: 24px; line-height: 24px; }
.ae-tray-say { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-tray-x { flex: none; opacity: 1; font-size: 13px; }
.ae-revise-say { font-weight: 600; color: var(--foreground); }
/* Mit's first live test (Sep 19): a piece whose picture is held for a few frames says so, small and plain */
.ae-row-held { margin-top: 3px; font-size: 12px; }
.ae-held { font-weight: 500; }
.ae-target-only { margin-top: 2px; font-size: 12px; }
.ae-qa-look .ae-flags li { margin: 2px 0; }
/* the change process (Sep 19, Mit: "i requested changes and they didnt apply"): what a change run did, said every time — and the person's own caption fixes */
.ae-change { padding: 8px 14px; margin-bottom: 10px; border-left: 3px solid var(--success); font-size: 14px; }
.ae-change-more[open] > summary { margin-bottom: 6px; }
.ae-und-more { margin-top: 8px; font-size: 13px; }
.ae-clips-later { margin: 0 0 8px; }
.ae-change.is-nothing { border-left-color: var(--warn); background: var(--warn-tint); }
.ae-change ul { margin: 6px 0 0; padding-left: 18px; }
.ae-change li { margin: 2px 0; }
.ae-change-say { list-style: none; padding-left: 0 !important; font-weight: 500; }
.ae-change-ask { margin: 0 0 4px; overflow-wrap: anywhere; }
.ae-change-ai, .ae-change-cannot { margin-top: 10px; }
.ae-change-cannot .ae-qa-l { color: var(--warn); font-weight: 600; }
.ae-change-short { margin: 10px 0 0; }
.ae-ask-can { margin: 0 0 8px; }
.ae-version-did { display: block; margin-top: 2px; }
.ae-run-short { margin: 8px 0 0; }
.ae-fixes { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.ae-fix-list { list-style: none; margin: 6px 0 8px; padding: 0; display: grid; gap: 6px; }
.ae-fix { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 8px; align-items: center; padding: 6px 8px; border: 1px solid var(--border); border-radius: var(--radius-small); }
.ae-fix.is-lost { border-color: color-mix(in srgb, var(--warn) 50%, var(--border)); background: var(--warn-tint); }
.ae-fix-words { overflow-wrap: anywhere; font-size: 14px; }
.ae-fix-from { color: var(--text-muted); text-decoration: line-through; text-decoration-thickness: 1px; }
.ae-fix-where { grid-column: 1; font-size: 12px; }
.ae-fix-x { grid-column: 2; grid-row: 1 / span 2; opacity: 1; }
.ae-fix-none, .ae-fix-note { margin: 6px 0; font-size: 13px; }
.ae-fix-add { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 8px; align-items: center; }
.ae-fix-add .btn { grid-column: 2; justify-self: start; }
/* the headline (Sep 19): its boxes on the left, the live picture of the ad's first frame on the right; one column when the card is narrow */
.ae-hl-opt.is-on { grid-column: 1 / -1; }
.ae-hl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 210px); gap: 14px 18px; align-items: start; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.ae-hl-form { display: grid; gap: 6px; min-width: 0; }
.ae-hl-form > .help, .ae-hl-form label.help { margin-top: 4px; }
.ae-hl-from { margin: 0; font-size: 13px; }
.ae-hl-from.is-ask { color: var(--warn); }
.ae-hl-line { display: grid; gap: 4px; }
.ae-hl-line[hidden], .ae-hl-small[hidden], .ae-hl-from[hidden], .ae-hl-form .btn[hidden] { display: none; }
.ae-hl-chips { display: flex; flex-wrap: wrap; gap: 4px; min-height: 0; }
.ae-hl-chip { cursor: pointer; border: 1px solid var(--border); background: var(--surface, transparent); color: var(--text); font: inherit; font-size: 13px; padding: 2px 9px; border-radius: 999px; min-height: 26px; }
.ae-hl-chip:hover:not(:disabled), .ae-hl-chip:focus-visible { border-color: var(--danger); }
.ae-hl-chip.is-red { color: white; background: var(--danger); border-color: var(--danger); font-weight: 600; }
.ae-hl-chip:disabled { opacity: .55; cursor: default; }
.ae-hl-bad { color: var(--warn); font-size: 12px; flex-basis: 100%; }
.ae-hl-form > .btn { justify-self: start; }
.ae-hl-hint { margin: 2px 0 4px; font-size: 13px; }
.ae-hl-pick { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.ae-hl-pick > .help { margin: 0; min-width: 44px; }
.ae-hl-secs .input { width: 74px; }
.ae-hl-whole { margin-left: 6px; }
.ae-hl-see { display: grid; gap: 6px; justify-items: center; position: sticky; top: 8px; }
.ae-hl-img { display: block; width: 100%; max-width: 210px; max-height: 380px; object-fit: contain; border-radius: var(--radius-small); border: 1px solid var(--border); background: var(--surface-subtle); }
.ae-hl-img.is-off { opacity: .35; }
.ae-hl-seehelp { margin: 0; font-size: 12px; text-align: center; }
.ae-hl-small { margin: 0; font-size: 13px; color: var(--warn); text-align: center; }
.ae-qa-headline { overflow-wrap: anywhere; }
/* the panel follows ITS OWN width, not the window's (Sep 19, the page review): in the narrow Choices column of step 1, and on the review page beside
   the sidebar, the boxes were squeezed to ~120 px next to the picture and the usual second line did not fit its own box. Under 560 px of panel the
   picture goes under the boxes. (These rules sit AFTER .ae-hl's own columns, or they would lose to them.) */
.ae-hl-opt.is-on { container-type: inline-size; }
@container (max-width: 560px) { .ae-hl { grid-template-columns: minmax(0, 1fr); } .ae-hl-see { position: static; } }
@media (max-width: 640px) { .ae-hl { grid-template-columns: minmax(0, 1fr); } .ae-hl-see { position: static; } .ae-hl-chip { min-height: 32px; padding: 4px 11px; } }
.ae-row-tools { display: flex; align-items: center; gap: 6px 14px; flex-wrap: wrap; margin-top: 4px; padding-left: 58px; cursor: default; }
.ae-tool { display: inline-flex; align-items: center; gap: 4px; }
.ae-tool .help { margin-right: 2px; }
.ae-move { margin-left: auto; }
.ae-nudge.btn-sm { min-height: 28px; min-width: 30px; padding: 0 7px; font-size: 13px; font-variant-numeric: tabular-nums; }
.ae-last.btn-sm { min-height: 28px; }
.ae-actions { position: sticky; bottom: 0; z-index: 3; margin: 8px -18px -16px; padding: 8px 18px 12px; border-top: 1px solid var(--border); background: var(--surface);
  border-radius: 0 0 var(--radius-card) var(--radius-card); }
.ae-actions-sum { margin-bottom: 6px; }
.ae-actions-btns .btn { white-space: normal; }
.ae-ask textarea.input { width: 100%; min-height: 76px; resize: vertical; }
.ae-ask[hidden] { display: none; }

/* ---- step 4: done ---- */
.ae-done-h { font-weight: 600; font-size: 16px; color: var(--success); margin-bottom: 12px; }
.ae-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.ae-dl .btn { white-space: normal; text-align: center; text-decoration: none; }
.ae-done .ae-edit .ae-qa { margin-top: 16px; }

/* ---- narrow screens ---- */
@media (max-width: 1000px) {
  .ae-cols, .ae-review { grid-template-columns: minmax(0, 1fr); }
  .ae-work-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .ae-work-grid .ae-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 14px; }
  .ae-work-grid .ae-step { font-size: 13px; }
  .ae-side, .ae-watch { position: static; max-height: none; overflow: visible; }
  .ae-video { max-height: 56vh; width: auto; max-width: 100%; margin: 0 auto; }
  .ae-rows-box { max-height: none; overflow: visible; }
}
@media (max-width: 640px) {
  .ae-card { padding: 14px; }
  .ae-actions { position: static; margin: 12px -14px -14px; padding: 10px 14px 12px; }   /* three full-width buttons must not cover the rows on a phone */
  .ae-head .ae-title { flex-basis: 100%; max-width: none; }
  .ae-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* a phone: the nine steps become one row of dots, and only the step the studio is on keeps its words */
  .ae-work-grid .ae-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; }
  .ae-work-grid .ae-step:not(.now) > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .ae-work-grid .ae-step.now { margin: 0 6px 0 2px; }
  .ae-room-box { padding: 10px; }
  .ae-wall { grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)); gap: 8px 6px; }
  .ae-tile-code, .ae-tile-len { left: 4px; font-size: 10px; padding: 0 4px; }
  .ae-tile-len { bottom: 4px; max-width: calc(100% - 26px); }
  .ae-tile-tick { right: 3px; bottom: 4px; width: 16px; height: 16px; font-size: 10px; }
  .ae-stage { align-items: flex-start; gap: 10px; }
  .ae-stage[data-stage="sound"], .ae-stage[data-stage="captions"] { flex-wrap: wrap; }
  .ae-stage[data-stage="sound"] .ae-stage-words, .ae-stage[data-stage="captions"] .ae-stage-words { flex-basis: 100%; }
  .ae-cb { grid-template-columns: 40px minmax(0, 1fr) 112px; gap: 6px; font-size: 11px; }
  .ae-qa-grid { grid-template-columns: minmax(0, 1fr); }
  .ae-row-tools { gap: 10px; padding-left: 0; }
  .ae-row-top { flex-wrap: wrap; }
  .ae-row-cap, .ae-cap-input.input { order: 5; flex-basis: 100%; white-space: normal; }
  .ae-cap-edit, .ae-row-more { opacity: 1; min-width: 32px; min-height: 32px; }
  .ae-row-top .ae-keep { margin-left: auto; }
  .ae-fade-mark { width: 26px; height: 22px; }
  .ae-strip { height: 30px; }
  .ae-move { margin-left: 0; }
  .ae-nudge.btn-sm { min-height: 38px; min-width: 42px; }
  .ae-actions-btns .btn, .ae-go .btn, .ae-ask .btn { flex: 1 1 100%; }
  .ae-actions-btns > span { display: none; }
  .ae-items { grid-template-columns: minmax(0, 1fr); }
}
