/* Z2PL shared stylesheet entry.
 * foundation.css is the byte-identical pre-V3 base.css. It retains navigation,
 * reveal, visibility and responsive behavior. v3.css changes presentation only.
 * Page styles still load separately. V3 uses html:root specificity deliberately
 * so later page styles cannot reintroduce the superseded dark/boxed sections.
 * Visual authority: ../ui-research/v3-continuous-canvas.md.
 * Visibility update: ../ui-research/v3-visibility.md (owner decision, 2026-09-25).
 */
@import url("./foundation.css");
@import url("./v3.css");
@import url("./site-nav.css");

/* The owner reopened all public navigation, including Pricing and Docs.
 * Override the preserved trial rule here; do not alter the foundation blob.
 * Conditional [hidden], inert slides, dialogs and account states remain intact.
 */
html:root .nav .nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  flex-shrink: 0;
}

/* Show the current destination in blue while keeping other links neutral. */
html:root .nav .nav-links a[aria-current="page"] {
  color: var(--link-blue);
}
html:root .nav .nav-links a:focus-visible {
  outline: none;
}

/* Playground and Pricing share the Championship opening layout. */
html:root .section > .family-headline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  column-gap: 40px;
  align-items: end;
}
html:root .section > .family-headline .eyebrow {
  grid-column: 1 / -1;
  color: var(--link-blue);
  margin-bottom: 15px;
}
html:root .section:first-child > .family-headline h2 {
  grid-column: 1;
  margin: 0;
  max-width: none;
  font-size: clamp(48px, 5.6vw, 80px);
  line-height: 1.05;
  letter-spacing: -.04em;
}
html:root .section > .family-headline .section-sub {
  grid-column: 2;
  max-width: 32ch;
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .005em;
  color: var(--ink-dim);
  padding-bottom: 3px;
}
@media (min-width: 1280px) {
  html:root #playground > .family-headline .section-sub {
    max-width: none;
    white-space: nowrap;
  }
}
@media (min-width: 735px) and (max-width: 1279px) {
  html:root #playground > .family-headline { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
  html:root #playground > .family-headline .section-sub { grid-column: 1; max-width: none; }
}
@media (max-width: 734px) {
  html:root .section > .family-headline { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
  html:root .section > .family-headline .eyebrow,
  html:root .section > .family-headline h2,
  html:root .section > .family-headline .section-sub { grid-column: 1; }
  html:root .section:first-child > .family-headline h2 { font-size: clamp(40px, 6.5vw, 48px); }
}

/* Keep every destination visible on phones without squeezing the utility icons.
 * Search and sticky offsets already derive from --nav-h. Do not force .nav
 * itself to display: the Designer's existing phone-size notice still owns that.
 */
@media (max-width: 600px) {
  html:root { --nav-h: 88px; }
  html:root .nav .nav-inner {
    display: grid;
    grid-template-columns: minmax(20px, 1fr) auto;
    grid-template-rows: 44px 44px;
    gap: 0 12px;
  }
  html:root .nav .brand { grid-column: 1; grid-row: 1; justify-self: start; }
  html:root .nav .nav-right { grid-column: 2; grid-row: 1; }
  html:root .nav .nav-links {
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
    gap: 24px;
    overflow-x: auto;
  }
}
