.landing {
  margin: 0;
  color: var(--aiac-ink);
  background: var(--aiac-cream);
  font: 1rem/1.5 Inter, system-ui, sans-serif;
}
.landing header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  padding: 1rem max(1rem, calc((100vw - 56rem) / 2));
  border-bottom: 1px solid var(--aiac-line);
  background: var(--aiac-paper);
}
.landing header .aiac-wordmark { width: 9.25rem; }
.landing nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.landing nav a { color: var(--aiac-green); font-size: .9rem; font-weight: 600; text-decoration: none; }
.landing nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: .25em; }
.landing main { width: min(56rem, calc(100% - 2rem)); margin: clamp(3rem, 9vw, 8rem) auto; }
.landing h1 {
  max-width: 19ch;
  margin: 0 0 .75rem;
  font: 500 clamp(2rem, 5vw, 3.5rem)/1.08 "Instrument Serif", Georgia, serif;
  letter-spacing: -.045em;
}
.landing main p { max-width: 50ch; }
.landing .primary-link {
  display: inline-block;
  padding: .65rem 1rem;
  border-radius: .55rem;
  background: var(--aiac-orange);
  color: #25180f;
  font-weight: 700;
  text-decoration: none;
}

.studio { display: block; }
.studio-container { width: min(100% - 2rem, 66rem); margin-inline: auto; padding-block: clamp(2rem, 5vw, 4.75rem); }
.studio-heading { max-width: 47rem; margin: 0 auto clamp(1.5rem, 3vw, 2.5rem); text-align: center; }
.studio-heading p { max-width: 56ch; margin: .85rem auto 0; color: var(--aiac-muted); font-size: clamp(.98rem, 2vw, 1.13rem); line-height: 1.6; }
.studio-status { margin: 0 auto 1rem; color: var(--aiac-rust); text-align: center; overflow-wrap: anywhere; }
.studio-status:empty { display: none; }
.studio-workspace, .studio #drafts { display: grid; gap: 1rem; min-width: 0; }
.studio-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid var(--aiac-line);
  border-radius: 1.35rem;
  background: var(--aiac-paper);
  box-shadow: 0 8px 24px #07382c09;
}
.studio-panel h2 { margin: 0; font-size: 1.15rem; font-weight: 680; }
.studio-auth { width: min(100%, 28rem); margin-inline: auto; }
.studio-panel label:not(.studio-upload-area, .source-review) { display: grid; gap: .45rem; font-weight: 600; }
.studio-panel :is(input:not([type="checkbox"], .sr-only), textarea) {
  width: 100%;
  min-width: 0;
  padding: .65rem .75rem;
  border: 1px solid #c4d1c4;
  border-radius: .55rem;
  background: var(--aiac-paper);
  color: var(--aiac-ink);
  font: inherit;
  font-weight: 400;
}
.studio-panel textarea { resize: vertical; }
.studio-panel button {
  width: fit-content;
  max-width: 100%;
  padding: .65rem 1rem;
  border: 1px solid transparent;
  border-radius: .55rem;
  background: var(--aiac-green);
  color: #fff;
  font-weight: 650;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.studio-panel button:hover:not(:disabled) { background: #195746; }
.studio-panel button:disabled { opacity: .5; cursor: not-allowed; }
.studio-panel :is(.secondary, #segments button, #history button) {
  color: var(--aiac-green);
  background: var(--aiac-mint);
  text-align: start;
}
.studio-panel :is(.secondary, #segments button, #history button):hover:not(:disabled) { background: #d5e6d7; }
.studio-panel .actions, .studio #history { display: flex; flex-wrap: wrap; gap: .55rem; }
.studio-upload { justify-items: center; background: linear-gradient(180deg, #edf2e8, var(--aiac-paper)); }
.studio-upload-area {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: .65rem;
  width: 100%;
  min-height: 10rem;
  padding: 1rem;
  border: 1px dashed #a7c2ad;
  border-radius: 1rem;
  background: var(--aiac-paper);
  text-align: center;
  cursor: pointer;
}
.studio-upload-area:hover, .studio-upload-area:focus-within { border-color: var(--aiac-green); background: #f5f8ef; }
.studio-upload-area:focus-within { outline: 2px solid var(--aiac-rust); outline-offset: 3px; }
.studio-upload-icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--aiac-mint);
  color: var(--aiac-green);
  font-size: 1.35rem;
}
.studio-upload-title { font-size: 1.03rem; font-weight: 650; }
.studio-muted { color: var(--aiac-muted); font-size: .9rem; overflow-wrap: anywhere; }
.studio #segments { display: grid; gap: .4rem; max-height: 13rem; overflow: auto; margin: 0; padding-inline-start: 1.5rem; list-style: decimal; }
.studio :is(audio, video) { width: 100%; max-height: 22rem; }
.studio #player:empty { display: none; }
.studio #drafts:empty { display: none; }
.studio #drafts > section { display: grid; gap: .85rem; min-width: 0; padding: 1rem; border: 1px solid var(--aiac-line); border-radius: .9rem; }
.studio .source-references { border-left: 2px solid var(--aiac-line); padding-left: .75rem; }
.studio .source-references summary { color: var(--aiac-green); cursor: pointer; }
.studio .source-references ul { list-style: none; padding: 0; margin: .75rem 0; }
.studio .source-references li { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .75rem; margin-bottom: .6rem; }
.studio .source-references p { flex: 1 1 15rem; margin: 0; }
.studio .source-review { display: flex; align-items: baseline; gap: .5rem; margin: .75rem 0; }
.studio #guest-history { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
