:root {
  color-scheme: light;
  --bg: #F2F2F2;
  --paper: #F7F6F2;
  --ink: #1A1A1A;
  --muted: rgba(26,26,26,.64);
  --faint: rgba(26,26,26,.43);
  --line: rgba(26,26,26,.19);
  --line-strong: #1A1A1A;
  --wash: rgba(26,26,26,.035);
  --blue: #1649D8;
  --blue-soft: rgba(22,73,216,.08);
  --green: #237A4B;
  --amber: #9A6512;
  --danger: #A23C43;
  font-family: "Aptos", "Segoe UI Variable", "Helvetica Neue", sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --bg: #1A1A1A;
    --paper: #202020;
    --ink: #F2F2F2;
    --muted: rgba(242,242,242,.64);
    --faint: rgba(242,242,242,.43);
    --line: rgba(242,242,242,.18);
    --line-strong: #F2F2F2;
    --wash: rgba(242,242,242,.045);
    --blue: #8BA8FF;
    --blue-soft: rgba(139,168,255,.09);
    --green: #7ED7A5;
    --amber: #E9C078;
    --danger: #FFADB3;
  }
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: #F2F2F2;
  --paper: #F7F6F2;
  --ink: #1A1A1A;
  --muted: rgba(26,26,26,.64);
  --faint: rgba(26,26,26,.43);
  --line: rgba(26,26,26,.19);
  --line-strong: #1A1A1A;
  --wash: rgba(26,26,26,.035);
  --blue: #1649D8;
  --blue-soft: rgba(22,73,216,.08);
  --green: #237A4B;
  --amber: #9A6512;
  --danger: #A23C43;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #1A1A1A;
  --paper: #202020;
  --ink: #F2F2F2;
  --muted: rgba(242,242,242,.64);
  --faint: rgba(242,242,242,.43);
  --line: rgba(242,242,242,.18);
  --line-strong: #F2F2F2;
  --wash: rgba(242,242,242,.045);
  --blue: #8BA8FF;
  --blue-soft: rgba(139,168,255,.09);
  --green: #7ED7A5;
  --amber: #E9C078;
  --danger: #FFADB3;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; }
body { overflow: hidden; background: var(--bg); color: var(--ink); }
button, a, textarea, select { font: inherit; }
button:focus-visible, a:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
[hidden] { display: none !important; }

.chat-atmosphere { position: fixed; inset: 0; overflow: hidden; pointer-events: none; }
.chat-atmosphere::before { position: absolute; inset: 0; background: var(--bg); content: ""; }
.chat-grid {
  position: absolute;
  inset: 0;
  opacity: .36;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(135deg, black, transparent 82%);
}
.signal-orbit { display: none; }

.chat-app { position: relative; z-index: 1; min-height: 100vh; }
.topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 72px;
  padding: 0 clamp(18px,2.4vw,34px);
  border-bottom: 1px solid var(--line-strong);
  background: color-mix(in srgb, var(--bg) 94%, transparent);
  backdrop-filter: blur(18px);
}
.chat-brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; color: var(--ink); text-decoration: none; }
.chat-brand img { width: 34px; height: 34px; }
.chat-brand > span { display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: 0; }
.chat-brand b, .chat-brand strong { font: 500 21px/1 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.chat-brand strong { color: var(--blue); font-style: italic; font-weight: 400; }
.chat-brand small { grid-column: 1 / -1; margin-top: 4px; color: var(--faint); font: 730 9px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; text-transform: uppercase; }
.topbar-center { display: flex; align-items: center; gap: 9px; color: var(--muted); font: 750 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .11em; text-transform: uppercase; }
.live-dot { width: 7px; height: 7px; background: var(--green); animation: pulse 1.8s ease-in-out infinite; }
.topbar-account { display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: var(--muted); font-size: 12px; }
.archive-link { padding-bottom: 2px; border-bottom: 1px solid currentColor; color: var(--ink); text-decoration: none; }

.chat-workspace {
  display: grid;
  grid-template-columns: 286px minmax(0,1fr);
  width: 100%;
  height: calc(100vh - 72px);
}

.conversation-rail {
  display: flex;
  min-height: 0;
  flex-direction: column;
  border-right: 1px solid var(--line-strong);
  background: color-mix(in srgb, var(--paper) 92%, transparent);
}
.rail-account {
  display: flex;
  min-height: 72px;
  padding: 14px 20px;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid var(--line-strong);
}
.rail-account img { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line-strong); object-fit: cover; }
.rail-account-copy { min-width: 0; }
.rail-account-copy span {
  display: block;
  color: var(--blue);
  font: 800 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.rail-account-copy strong {
  display: block;
  margin-top: 7px;
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rail-heading { display: flex; min-height: 124px; padding: 24px 20px; align-items: flex-end; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line-strong); }
.rail-kicker, .stage-index, .message-citations-heading span {
  color: var(--blue);
  font: 800 11px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .11em;
}
.rail-heading h1 { margin: 12px 0 0; font: 500 32px/1 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.rail-heading-actions { display: flex; gap: 7px; }
.new-thread-button, .close-threads-button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--line-strong);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 20px;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.new-thread-button:hover { transform: rotate(90deg); background: var(--ink); color: var(--bg); }
.close-threads-button { display: none; font-size: 14px; }
.conversation-list { flex: 1; min-height: 0; overflow-y: auto; padding: 0; }
.conversation-item {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 24px;
  gap: 9px;
  width: 100%;
  padding: 17px 15px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease;
}
.conversation-item::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--blue); content: ""; transform: scaleY(0); transform-origin: top; transition: transform 160ms ease; }
.conversation-item:hover { background: var(--wash); }
.conversation-item.is-active { background: var(--blue-soft); }
.conversation-item.is-active::before { transform: scaleY(1); }
.conversation-number { padding-top: 2px; color: var(--faint); font: 760 11px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.conversation-copy { min-width: 0; }
.conversation-copy strong, .conversation-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conversation-copy strong { font: 500 15px/1.25 Georgia, "Times New Roman", serif; }
.conversation-copy span { margin-top: 6px; color: var(--faint); font-size: 11px; }
.conversation-delete { align-self: start; border: 0; background: transparent; color: transparent; cursor: pointer; font-size: 14px; }
.conversation-item:hover .conversation-delete, .conversation-item.is-active .conversation-delete { color: var(--faint); }
.conversation-delete:hover { color: var(--danger) !important; }
.conversation-delete:disabled, .new-thread-button:disabled { cursor: progress; opacity: .45; }
.conversation-empty { padding: 34px 18px; color: var(--faint); font-size: 11px; line-height: 1.7; text-align: center; }
.conversation-empty.is-loading { animation: pulse 1.1s ease-in-out infinite; }
.rail-note { margin-top: auto; padding: 20px; border-top: 1px solid var(--line-strong); }
.rail-note span { color: var(--blue); font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .11em; }
.rail-note p { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

.dialogue-stage { display: grid; grid-template-rows: auto minmax(0,1fr) auto; min-width: 0; min-height: 0; background: color-mix(in srgb, var(--bg) 95%, transparent); }
.stage-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 28px;
  min-height: 112px;
  padding: 20px clamp(24px,4vw,58px);
  align-items: end;
  border-bottom: 1px solid var(--line-strong);
}
.stage-heading-copy { min-width: 0; }
.stage-heading h2 { margin: 11px 0 0; overflow: hidden; font: 500 clamp(23px,2.5vw,36px)/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.045em; text-overflow: ellipsis; white-space: nowrap; }
.stage-actions { display: flex; flex: 0 0 auto; align-items: flex-end; gap: 18px; }
.stage-mobile-actions { display: flex; gap: 6px; }
.mobile-threads-button { display: none; }
.model-control, .cost-readout { display: grid; gap: 7px; }
.model-control { min-width: 160px; }
.model-control span, .cost-readout > span { color: var(--faint); font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }
.model-control select { min-height: 34px; padding: 0 9px; border: 0; border-bottom: 1px solid var(--line-strong); background: transparent; color: var(--ink); font: 740 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.model-control select option { background-color: var(--paper); color: var(--ink); }
.cost-readout { min-width: 150px; text-align: left; }
.cost-readout > div { display: flex; min-height: 34px; align-items: center; gap: 7px; }
.cost-readout small { color: var(--green); font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.current-cost { color: var(--ink); font: 800 12px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }

.message-scroll { position: relative; min-height: 0; overflow-y: auto; scroll-behavior: smooth; }
.message-list { display: grid; gap: 34px; width: 100%; max-width: 980px; margin: 0 auto; padding: 42px clamp(24px,5vw,72px) 70px; }
.empty-dialogue { display: grid; width: min(100%,980px); min-height: 100%; margin: 0 auto; padding: clamp(54px,9vh,110px) clamp(30px,6vw,82px) 52px; align-content: start; justify-items: start; animation: rise 420ms ease-out both; }
.empty-mark { display: flex; align-items: center; gap: 13px; margin-bottom: 42px; color: var(--faint); font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.empty-mark i { position: relative; display: block; width: 140px; height: 1px; background: var(--line-strong); }
.empty-mark i::after { position: absolute; top: -4px; right: 0; width: 9px; height: 9px; background: var(--blue); content: ""; }
.empty-kicker { color: var(--blue); font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }
.empty-dialogue h3 { max-width: 760px; margin: 17px 0 0; font: 500 clamp(42px,6vw,82px)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }
.empty-dialogue > p { max-width: 610px; margin: 24px 0 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.prompt-suggestions { display: grid; width: min(100%,720px); margin-top: 38px; border-top: 1px solid var(--line); }
.prompt-suggestions button { position: relative; padding: 14px 34px 14px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font-size: 13px; line-height: 1.35; text-align: left; transition: color 160ms ease, padding-left 160ms ease; }
.prompt-suggestions button::after { position: absolute; top: 50%; right: 3px; color: var(--blue); content: "↗"; transform: translateY(-50%); }
.prompt-suggestions button:hover { padding-left: 8px; color: var(--ink); }

.message { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 16px; animation: rise 260ms ease-out both; }
.message.is-user { grid-template-columns: minmax(0,1fr) 42px; }
.message.is-user .message-avatar { grid-column: 2; }
.message.is-user .message-body { grid-row: 1; grid-column: 1; justify-self: end; width: min(86%,760px); }
.message-avatar { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.message.is-user .message-avatar { background: var(--ink); color: var(--bg); }
.message-body { min-width: 0; }
.message-meta { display: flex; align-items: center; gap: 9px; margin: 0 0 8px; color: var(--faint); font: 720 11px/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .04em; }
.message.is-user .message-meta { justify-content: flex-end; }
.message-time::before { margin-right: 7px; content: "/"; }
.message-edit-button { margin-left: auto; padding: 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--faint); cursor: pointer; font-size: 11px; opacity: 0; transition: opacity 150ms ease, border-color 150ms ease; }
.message:hover .message-edit-button, .message-edit-button:focus-visible { opacity: 1; }
.message-edit-button:hover { border-color: currentColor; color: var(--ink); }
.message-content { color: var(--ink); overflow-wrap: anywhere; }
.message.is-assistant .message-content { padding: 20px 22px; border: 1px solid var(--line); border-left: 3px solid var(--blue); background: color-mix(in srgb, var(--paper) 88%, transparent); }
.message.is-user .message-content { padding: 16px 18px; border: 1px solid var(--line-strong); background: var(--ink); color: var(--bg); white-space: pre-wrap; }
.message.is-user.is-editing .message-content { background: var(--bg); color: var(--ink); white-space: normal; }
.message-edited-label { margin-left: auto; color: var(--faint); font-size: 10px; font-style: italic; }
.message-status { display: inline-flex; align-items: center; gap: 7px; margin-top: 9px; color: var(--faint); font-size: 11px; }
.message-status i { width: 6px; height: 6px; background: var(--blue); animation: pulse 1s ease-in-out infinite; }
.stream-caret { display: inline-block; width: 7px; height: 14px; margin-left: 3px; background: var(--blue); animation: blink .8s steps(2,end) infinite; vertical-align: -2px; }
.message.is-failed .message-content { border-color: var(--danger); color: var(--danger); }

.message-edit-form { display: grid; gap: 12px; }
.message-edit-form textarea { width: 100%; min-height: 120px; padding: 12px; resize: vertical; border: 1px solid var(--line-strong); outline: 0; background: transparent; color: var(--ink); font-size: 14px; line-height: 1.65; }
.message-edit-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.message-edit-footer > span { color: var(--faint); font-size: 11px; }
.message-edit-footer > div { display: flex; gap: 7px; }
.message-edit-cancel, .message-edit-submit, .send-button, .stop-button { min-height: 36px; padding: 0 13px; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); cursor: pointer; font-size: 11px; font-weight: 780; }
.message-edit-submit, .send-button { background: var(--ink); color: var(--bg); }
.message-edit-cancel:disabled, .message-edit-submit:disabled { cursor: progress; opacity: .5; }

.message-content p { margin: 0 0 13px; }
.message-content p:last-child { margin-bottom: 0; }
.message-content h1, .message-content h2, .message-content h3, .message-content h4 { margin: 22px 0 9px; font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.3; }
.message-content h1 { font-size: 24px; }
.message-content h2 { font-size: 21px; }
.message-content h3 { font-size: 18px; }
.message-content h4 { font-size: 16px; }
.message-content ul, .message-content ol { display: grid; gap: 6px; margin: 10px 0 16px; padding-left: 24px; }
.message-content strong { font-weight: 780; }
.message-content em { color: var(--muted); }
.message.is-user .message-content em { color: inherit; }
.message-content del { color: var(--faint); }
.message-content a { color: var(--blue); text-underline-offset: 3px; }
.message.is-user .message-content a { color: inherit; }
.message-content hr { height: 1px; margin: 21px 0; border: 0; background: var(--line); }
.message-content code { padding: 2px 5px; border: 1px solid var(--line); background: var(--wash); font: 12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.message-content pre { overflow-x: auto; padding: 15px; border: 1px solid var(--line); background: var(--wash); }
.message-content pre code { padding: 0; border: 0; background: transparent; }
.message-content blockquote { margin: 14px 0; padding: 3px 0 3px 15px; border-left: 2px solid var(--amber); color: var(--muted); }
.citation { display: inline-grid; min-width: 28px; height: 20px; margin: 0 2px; padding: 0 5px; place-items: center; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); cursor: pointer; font: 800 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; vertical-align: 1px; }

.message-citations { margin-top: 26px; padding-top: 17px; border-top: 1px solid var(--line); }
.message-citations-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.message-citations-heading strong { color: var(--muted); font-size: 11px; font-weight: 650; }
.message-citation-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(230px,100%),1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.message-citation-card { display: grid; grid-template-columns: 31px minmax(0,1fr) auto; gap: 10px; min-width: 0; padding: 12px; align-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; color: inherit; text-decoration: none; transition: background 160ms ease; }
.message-citation-card:hover, .message-citation-card.is-highlighted { background: var(--blue-soft); }
.message-citation-ref { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); color: var(--blue); font: 800 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.message-citation-copy { min-width: 0; }
.message-citation-copy strong, .message-citation-copy > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-citation-copy strong { font-size: 12px; font-weight: 730; }
.message-citation-copy > span { margin-top: 5px; color: var(--faint); font-size: 11px; }
.message-citation-arrow { color: var(--blue); font-size: 12px; }

.composer {
  width: min(calc(100% - 42px), 940px);
  margin: 0 auto 22px;
  padding: 15px 16px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  backdrop-filter: blur(18px);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.composer:focus-within { transform: translateY(-2px); box-shadow: 8px 8px 0 var(--blue-soft); }
.composer-field { display: block; }
.composer textarea { width: 100%; max-height: 170px; padding: 0; resize: none; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 14px; line-height: 1.65; }
.composer textarea::placeholder { color: var(--faint); }
.composer-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.composer-footer > span { color: var(--faint); font-size: 11px; }
.composer-actions { display: flex; gap: 7px; }
.send-button { display: inline-flex; min-width: 88px; align-items: center; justify-content: space-between; gap: 20px; }
.send-button:hover, .message-edit-submit:hover { background: var(--blue); border-color: var(--blue); }
.stop-button { color: var(--danger); }
.stop-button:hover { border-color: var(--danger); }
.send-button:disabled { cursor: progress; opacity: .5; }

.auth-gate { position: relative; z-index: 2; display: grid; min-height: 100vh; padding: clamp(28px,7vw,96px); place-content: center; justify-items: start; background: var(--bg); }
.auth-gate::before { position: fixed; inset: 0; opacity: .35; background-image: linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(135deg,black,transparent 80%); content: ""; pointer-events: none; }
.auth-gate > * { position: relative; z-index: 1; }
.auth-gate img { width: 52px; height: 52px; }
.auth-gate > span { margin-top: 42px; color: var(--blue); font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .13em; }
.auth-gate h1 { max-width: 800px; margin: 18px 0 0; font: 500 clamp(42px,7vw,84px)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }
.auth-gate p { color: var(--muted); }
.auth-gate a { margin-top: 26px; padding: 13px 20px; border: 1px solid var(--line-strong); background: var(--ink); color: var(--bg); font-size: 13px; font-weight: 800; text-decoration: none; }

.loading-thread { padding: 50px 0; color: var(--faint); font: 750 11px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; text-align: center; animation: pulse 1.1s ease-in-out infinite; }
.message-content { font-size: 15px; line-height: 1.75; }

@keyframes rise { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulse { 50% { opacity: .38; } }
@keyframes blink { 50% { opacity: 0; } }

@media (max-width: 980px) {
  .chat-workspace { grid-template-columns: 238px minmax(0,1fr); }
  .rail-account, .rail-heading { padding-inline: 16px; }
  .stage-heading { padding-inline: 24px; }
}

@media (max-width: 720px) {
  body { overflow: hidden; }
  .topbar { grid-template-columns: 1fr auto; height: 56px; padding: 0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left)); }
  .topbar-center { display: none; }
  .chat-brand small { display: none; }
  .chat-brand img { width: 30px; height: 30px; }
  .chat-brand b, .chat-brand strong { font-size: 18px; }
  .chat-workspace { display: block; height: calc(100dvh - 56px); }
  .conversation-rail { position: fixed; z-index: 8; top: 56px; right: 0; bottom: 0; left: 0; display: none; border-right: 0; background: var(--bg); }
  .conversation-rail.is-open { display: flex; }
  .close-threads-button, .mobile-threads-button { display: grid; }
  .mobile-threads-button { min-height: 30px; padding: 0 9px; place-items: center; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); cursor: pointer; font-size: 11px; }
  .dialogue-stage { height: 100%; }
  .stage-heading { grid-template-columns: 1fr; gap: 8px; min-height: 98px; padding: 9px 12px; align-items: end; }
  .stage-index { font-size: 11px; }
  .stage-heading h2 { overflow: hidden; max-width: 100%; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
  .stage-actions { display: grid; grid-template-columns: max-content minmax(0,1fr) auto; width: 100%; align-items: end; gap: 6px; }
  .model-control { min-width: 0; }
  .model-control span { display: none; }
  .model-control select { width: 100%; min-height: 30px; padding-inline: 8px; font-size: 11px; }
  .cost-readout { min-width: 0; }
  .cost-readout > span { font-size: 11px; letter-spacing: .04em; }
  .cost-readout > div { min-height: 30px; gap: 5px; }
  .current-cost { font-size: 11px; }
  .message-list { gap: 22px; padding: 18px 10px 30px; }
  .empty-dialogue { padding: 24px 16px 20px; }
  .empty-mark { display: none; }
  .empty-kicker { font-size: 11px; }
  .empty-dialogue h3 { margin-top: 10px; font-size: 34px; line-height: .98; }
  .empty-dialogue > p { margin-top: 14px; font-size: 13px; line-height: 1.6; }
  .prompt-suggestions { margin-top: 18px; }
  .prompt-suggestions button { padding-block: 10px; font-size: 12px; }
  .message, .message.is-user { grid-template-columns: 32px minmax(0,1fr); gap: 10px; }
  .message-avatar { width: 30px; height: 30px; }
  .message.is-assistant .message-content, .message.is-user .message-content { padding: 14px; }
  .message.is-user .message-avatar { grid-column: 1; }
  .message.is-user .message-body { grid-row: 1; grid-column: 2; width: 100%; }
  .message.is-user .message-meta { justify-content: flex-start; }
  .message-edit-button { opacity: 1; }
  .message-edit-footer { align-items: flex-start; flex-direction: column; }
  .message-edit-footer > div { align-self: flex-end; }
  .message-citation-list { grid-template-columns: 1fr; }
  .composer { width: calc(100% - 12px); margin: 0 6px max(6px, env(safe-area-inset-bottom)); padding: 10px; }
  .composer textarea { font-size: 14px; line-height: 1.5; }
  .composer-footer > span { display: none; }
  .composer-footer { justify-content: flex-end; margin-top: 8px; padding-top: 8px; }
  .composer button { min-height: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
}
