/* Application-owned styles shared by public, status and account pages. */
:root {
  --page-intro-space: clamp(3.5rem, 7vw, 5.75rem);
}

.status-page__content { min-height: 58vh; padding: var(--page-intro-space) 0 var(--ac-space-section); }
.status-page__content .ac-eyebrow { color: var(--landing-highlight); }
.status-page__content h1 { max-width: 12ch; color: var(--ac-color-text-inverse); font-size: clamp(3.5rem, 6vw, 6rem); letter-spacing: -0.035em; line-height: 1; }
.status-page__content > p:not(.ac-eyebrow) {
  max-width: 34rem;
  margin-block: 1.75rem;
  color: var(--landing-muted);
  font-size: 1.125rem;
}

/* Founding form and one-time confirmation. Inverse colours live in landing.css. */
.founding-join__panel {
  border: 1px solid var(--ac-color-control-border);
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--ac-color-surface);
}
.founding-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.founding-form .ac-field :is(input, select, textarea):is(:disabled, [readonly]) {
  border-color: var(--ac-color-control-border);
  background: var(--ac-color-canvas);
  color: var(--ac-color-text-muted);
  cursor: not-allowed;
  opacity: 1;
}
.founding-form .ac-field :is(input, select, textarea).input-validation-error { border-color: var(--ac-color-accent); }
.founding-form .ac-consent input:disabled { outline: 1px solid var(--ac-color-control-border); outline-offset: 1px; cursor: not-allowed; opacity: 0.65; }
.founding-form .ac-consent input:disabled + label { color: var(--ac-color-text-muted); }
.founding-field--full, .founding-submit, .founding-form .form-validation-summary { grid-column: 1 / -1; }
.founding-submit { display: flex; gap: 1rem 1.5rem; align-items: center; }
.founding-submit p { max-width: 31rem; margin: 0; color: var(--ac-color-text-muted); font-size: 0.82rem; }
.founding-submit .ac-button { flex: 0 0 auto; white-space: nowrap; }
.founding-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-validation-summary { display: block; margin-top: 0.5rem; border-left: 0.1875rem solid var(--ac-color-accent); padding-left: 0.6rem; color: var(--ac-color-text); font-size: 0.8125rem; }
.form-validation-summary:empty { display: none; }
.form-validation-summary ul { margin-bottom: 0; padding-left: 1rem; }

.founding-code { margin-block: 2rem; border-block: 1px solid var(--ac-color-control-border); padding-block: 1.5rem; }
.founding-code > span { display: block; color: var(--ac-color-text-muted); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.founding-code > strong { display: block; margin-block: 0.25rem 0.75rem; color: var(--ac-color-accent); font-family: var(--ac-font-editorial); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 500; letter-spacing: 0.04em; }
.founding-code__guidance { max-width: 40rem; margin: 0; color: var(--ac-color-text-muted); line-height: 1.65; }
.founding-code__link { min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
.founding-code__share { margin-top: 1.5rem; border-top: 1px solid var(--ac-color-border); padding-top: 1.25rem; }
.founding-code__share > p { margin: 0; color: var(--ac-color-text-muted); line-height: 1.55; }
.founding-code__share-row { display: flex; gap: 0.75rem; align-items: stretch; margin-top: 0.75rem; }
.founding-code__share-row .founding-code__link { display: flex; flex: 1 1 auto; align-items: center; border: 1px solid var(--ac-color-control-border); border-radius: 0.25rem; padding: 0.75rem 0.875rem; background: var(--ac-color-canvas); color: var(--ac-color-text); font-size: 0.9rem; line-height: 1.4; text-decoration-color: var(--ac-color-accent); text-decoration-thickness: 0.125rem; }
.founding-code__copy { flex: 0 0 auto; min-height: 2.75rem; border: 1px solid var(--ac-color-text); border-radius: 0.25rem; padding: 0.7rem 1rem; background: var(--ac-color-surface); color: var(--ac-color-text); cursor: pointer; font: inherit; font-size: 0.875rem; font-weight: 600; }
.founding-code__copy:hover { background: var(--ac-color-text); color: var(--ac-color-surface); }
.founding-code__copy-status { display: block; min-height: 1.25rem; margin-top: 0.5rem; color: var(--ac-color-text-muted); font-size: 0.8rem; }

.community-form-shell__layout, .community-welcome__layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.community-form-shell, .community-welcome { padding: var(--page-intro-space) 0 clamp(4.5rem, 8vw, 7.5rem); }
.community-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 2rem; }
.community-form-shell { min-height: 70vh; background: var(--ac-color-canvas); }
.community-form-shell__layout { grid-template-columns: minmax(18rem, 0.8fr) minmax(28rem, 1.2fr); }
.community-form-introduction { position: sticky; top: 7rem; max-width: 35rem; }
.community-form-introduction h1, .community-welcome h1 { max-width: 11ch; margin-top: 1rem; font-size: clamp(3.25rem, 6vw, 6.5rem); line-height: 0.93; }
.community-form-introduction > p:not(.ac-eyebrow):not(.community-form-introduction__boundary) { max-width: 34rem; margin-top: 1.5rem; color: var(--ac-color-text-muted); line-height: 1.65; }
.community-form-introduction__boundary { max-width: 34rem; margin-top: 2rem; border-left: 0.1875rem solid var(--ac-color-accent); padding-left: 1rem; font-size: 0.9rem; }
.community-form-shell .founding-join__panel { padding: clamp(1.5rem, 4vw, 3rem); }
.community-welcome { min-height: 70vh; background: var(--ac-color-canvas); }
.community-welcome__layout { grid-template-columns: minmax(10rem, 0.35fr) minmax(20rem, 0.65fr); max-width: 70rem; }
.community-welcome__mark img { display: block; width: min(100%, 11rem); height: auto; }
.community-welcome__content > p:not(.ac-eyebrow) { max-width: 42rem; margin-top: 1.5rem; color: var(--ac-color-text-muted); font-size: 1.1rem; line-height: 1.65; }
.community-welcome .founding-code { max-width: 42rem; margin-top: 2.5rem; border: 1px solid var(--ac-color-control-border); padding: clamp(1.5rem, 4vw, 2.25rem); background: var(--ac-color-surface); }

@media (max-width: 64rem) {
  .community-form-shell__layout, .community-welcome__layout { grid-template-columns: 1fr; }
  .community-form-introduction { position: static; }
  .community-welcome__mark img { width: 7rem; }
}
@media (max-width: 48rem) {
  .founding-form { grid-template-columns: 1fr; }
  .founding-field--full, .founding-submit, .founding-form .form-validation-summary { grid-column: 1; }
  .founding-submit { align-items: stretch; flex-direction: column; }
  .founding-submit .ac-button { width: 100%; }
  .founding-code__share-row { flex-direction: column; }
  .founding-code__copy { width: 100%; }
  .community-form-shell__layout { gap: 2rem; }
  .community-form-introduction h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .community-form-introduction > p:not(.ac-eyebrow):not(.community-form-introduction__boundary) { margin-top: 1rem; }
  .community-form-introduction__boundary { margin-top: 1.25rem; }
  .community-welcome h1 { font-size: clamp(3rem, 16vw, 5rem); }
  .community-actions { align-items: stretch; flex-direction: column; }
  .community-actions .ac-button { justify-content: center; }
}
@media (forced-colors: active) {
  .founding-join__panel, .founding-code, .founding-form .ac-consent input, .community-form-introduction__boundary, .community-form-shell .founding-join__panel, .community-welcome .founding-code { border-color: CanvasText; }
}
