/* V69: premium sans typography and restrained control depth.
   The interface uses one humanist sans system. Monospace remains reserved for
   genuine code and keyboard/computer-output semantics. */
:root {
  --mp2-interface-sans: "Aptos", "Segoe UI Variable Text", "Segoe UI", Helvetica, Arial, sans-serif;
  --mp2-display-sans: "Aptos Display", "Segoe UI Variable Display", "Aptos", "Segoe UI", Helvetica, Arial, sans-serif;
  --mp2-code: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --mp2-control-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .2),
    0 1px 0 rgba(2, 15, 22, .55),
    0 .55rem 1.2rem rgba(2, 15, 22, .2);
  --mp2-control-shadow-hover:
    inset 0 1px 0 rgba(255, 255, 255, .26),
    0 2px 0 rgba(2, 15, 22, .48),
    0 .8rem 1.65rem rgba(2, 15, 22, .27);

  /* Existing labels, navigation, buttons, status copy, diagrams, and
     citations consume these aliases. Repointing both removes the mechanical
     terminal voice without touching every mature component rule. */
  --sans: var(--mp2-interface-sans);
  --display: var(--mp2-display-sans);
  --font-display: var(--mp2-display-sans);
  --mono: var(--mp2-interface-sans);
  --font-mono: var(--mp2-interface-sans);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--mp2-interface-sans);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: var(--mp2-display-sans) !important;
}

/* Preserve scholarly typography inside citation-style paper thumbnails. */
.paper-thumb--citation > strong {
  font-family: var(--serif);
}

/* Real code retains a code face after the interface aliases move to sans. */
code,
pre,
kbd,
samp,
.method-field pre,
.method-field pre code {
  font-family: var(--mp2-code) !important;
  font-variant-ligatures: none;
}

/* Replace the last intentionally editorial serif treatments on public-page
   copy while keeping hierarchy through weight, spacing, and color. */
.hero h1.hero-title--signal strong {
  color: #d5e5e4;
  font-family: var(--mp2-display-sans) !important;
  font-style: normal;
  font-weight: 520;
  letter-spacing: -.045em;
  line-height: 1.08;
}

.hero__lead,
.hero__lead--human {
  font-family: var(--mp2-interface-sans);
}

.eyebrow,
.section-label,
.section-kicker,
.card-kicker,
.text-link,
.site-header nav a,
.site-footer a,
.navigator-agent h1,
.navigator-agent p,
.navigator-answer__label,
.navigator-answer__sources,
.navigator-composer__meta,
.story-briefing,
.method-briefing {
  font-family: var(--mp2-interface-sans);
}

.text-link {
  font-weight: 650;
  letter-spacing: .01em;
}

/* Primary action language: softly modeled surfaces, a top highlight, and
   clear hover/press travel. Geometry is rounded rather than clipped so the
   shadow can render outside the control. */
:is(
  .button,
  .site-header nav .nav-cta,
  .nav-toggle,
  .navigator-send,
  .navigator-expand,
  .story-player__control,
  .story-ask button,
  .research-navigator__inner button,
  .library-controls button,
  .library-empty button,
  .education-lab__presets button,
  .method-card__open,
  .method-briefing__footer button
) {
  position: relative;
  border-radius: .55rem;
  clip-path: none !important;
  box-shadow: var(--mp2-control-shadow);
  font-family: var(--mp2-interface-sans);
  font-weight: 720;
  letter-spacing: .012em;
  transform: translateY(0);
  transition:
    background-color 160ms ease,
    background-image 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    color 160ms ease,
    filter 160ms ease,
    transform 160ms ease;
}

:is(
  .button,
  .site-header nav .nav-cta,
  .nav-toggle,
  .navigator-send,
  .navigator-expand,
  .story-player__control,
  .story-ask button,
  .research-navigator__inner button,
  .library-controls button,
  .library-empty button,
  .education-lab__presets button,
  .method-card__open,
  .method-briefing__footer button
):hover:not(:disabled):not([aria-disabled="true"]) {
  box-shadow: var(--mp2-control-shadow-hover);
  transform: translateY(-2px);
}

:is(
  .button,
  .site-header nav .nav-cta,
  .nav-toggle,
  .navigator-send,
  .navigator-expand,
  .story-player__control,
  .story-ask button,
  .research-navigator__inner button,
  .library-controls button,
  .library-empty button,
  .education-lab__presets button,
  .method-card__open,
  .method-briefing__footer button
):active:not(:disabled):not([aria-disabled="true"]) {
  box-shadow:
    inset 0 2px 5px rgba(2, 15, 22, .32),
    inset 0 1px 0 rgba(255, 255, 255, .1),
    0 1px 0 rgba(2, 15, 22, .3);
  transform: translateY(1px);
}

:is(
  .button,
  .site-header nav .nav-cta,
  .nav-toggle,
  .navigator-send,
  .navigator-expand,
  .story-player__control,
  .story-ask button,
  .research-navigator__inner button,
  .library-controls button,
  .library-empty button,
  .education-lab__presets button,
  .method-card__open,
  .method-briefing__footer button
):focus-visible {
  outline: 2px solid #f0d28e;
  outline-offset: 3px;
  box-shadow:
    0 0 0 4px #081b27,
    0 0 0 6px rgba(240, 210, 142, .55),
    var(--mp2-control-shadow-hover);
}

.button--primary,
.navigator-send,
.story-ask button {
  border-color: rgba(3, 35, 49, .3);
  background-color: #61d6a3;
  background-image: linear-gradient(180deg, #79e1b5 0%, #54cf97 55%, #46ba83 100%);
  color: #061d28;
}

.button--primary:hover:not(:disabled):not([aria-disabled="true"]),
.navigator-send:hover:not(:disabled),
.story-ask button:hover:not(:disabled) {
  background-color: #74dfb0;
  background-image: linear-gradient(180deg, #8ae9c1 0%, #63dba5 56%, #4cc38a 100%);
  color: #061923;
}

.button--dark,
.button--quiet,
.site-header nav .nav-cta.nav-ai,
.navigator-expand,
.research-navigator__inner button,
.library-controls button,
.library-empty button,
.method-briefing__footer button {
  background-image: linear-gradient(180deg, rgba(34, 76, 89, .98), rgba(10, 42, 55, .98));
}

.button--story {
  min-height: 4rem;
  border-color: rgba(3, 35, 49, .34);
}

.button--story small {
  font-family: var(--mp2-interface-sans);
  font-weight: 650;
  letter-spacing: .055em;
}

/* Compact prompt and mode controls keep their chip/tab roles, with shallower
   tactile feedback than the primary actions above. */
:is(.navigator-prompts button, .navigator-modes button) {
  font-family: var(--mp2-interface-sans);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .075), 0 .25rem .7rem rgba(0, 9, 15, .14);
}

:is(.navigator-prompts button, .navigator-modes button):hover:not(:disabled) {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 .45rem .9rem rgba(0, 9, 15, .2);
  transform: translateY(-1px);
}

:is(.navigator-prompts button, .navigator-modes button):active:not(:disabled) {
  box-shadow: inset 0 2px 4px rgba(0, 9, 15, .28);
  transform: translateY(1px);
}

:is(
  .button--disabled,
  .button[aria-disabled="true"],
  button:disabled,
  button[aria-disabled="true"]
) {
  cursor: not-allowed;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
  filter: saturate(.65);
  opacity: .5;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .button,
    .site-header nav .nav-cta,
    .nav-toggle,
    .navigator-send,
    .navigator-expand,
    .story-player__control,
    .story-ask button,
    .research-navigator__inner button,
    .library-controls button,
    .library-empty button,
    .education-lab__presets button,
    .method-card__open,
    .method-briefing__footer button,
    .navigator-prompts button,
    .navigator-modes button
  ) {
    transition: none;
  }

  :is(
    .button,
    .site-header nav .nav-cta,
    .nav-toggle,
    .navigator-send,
    .navigator-expand,
    .story-player__control,
    .story-ask button,
    .research-navigator__inner button,
    .library-controls button,
    .library-empty button,
    .education-lab__presets button,
    .method-card__open,
    .method-briefing__footer button,
    .navigator-prompts button,
    .navigator-modes button
  ):is(:hover, :active) {
    transform: none !important;
  }
}
