/* Hallmark · existing PostDeploy public surface · Open Runde / lime / ink; no new visual system. */
/* Critique: preserve Rust section order and figures; refine reading measure and mobile navigation. */
/* Waivers: incumbent long hero, sample terminal and source section density are required IA. */
@import url('/app.css');
@import url('/site-layout.css');
:root {
  --color-interactive-primary: var(--color-accent);
  --color-interactive-ink: var(--color-ink);
  --color-interactive-tint: var(--color-paper-3);
  --color-interactive-wash: var(--color-paper-2);
  --alp-gray-0: var(--color-paper);
  --alp-interactive-hover: var(--color-accent-deep);
  --alp-interactive-ink-hover: var(--color-ink-2);
  --alp-radius-dot: 999px;
  --alp-radius-frame: 12px;
  --color-surface-sunken: var(--color-paper-2);
  --color-surface-inverse: var(--color-ink);
  --color-surface-inverse-control: var(--color-ink-2);
  --color-text-primary: var(--color-ink);
  --color-text-secondary: var(--color-ink-2);
  --color-text-tertiary: var(--color-ink-2);
  --color-text-inverse: var(--color-paper);
  --color-text-inverse-muted: #C7CCBE;
  --color-text-inverse-code: #E5E9DF;
  --color-border-default: var(--color-rule);
  --color-border-inverse: var(--color-muted);
  --font-public: var(--font-body);
  --font-mono: var(--font-outlier);
  --container-content: 1200px;
}
.site { font-size: 16px; }
.site * { box-sizing: border-box; }
.site h1,.site h2,.site h3,.site p,.site figure,.site pre,.site dl { margin: 0; }
.site a { color: inherit; text-underline-offset: .2em; }
.site a:hover { text-decoration: underline; }
.site :is(a,summary):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.site main { max-width: none; padding: 0; }
.site nav { padding: 0; border: 0; gap: 24px; }
.site nav a { border: 0; min-height: 44px; display: inline-flex; align-items: center; padding: 8px 0; }
.site nav a[aria-current] { text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 3px; }
#site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--color-rule); background: var(--color-paper); }
.site-bar { position: relative; max-width: var(--container-content); margin: auto; height: 72px; padding: 0 44px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.site-primary { margin-inline: auto; gap: 30px !important; font-size: 14px; font-weight: 600; }
.site-actions { display: flex; align-items: center; gap: 18px; }
.site-auth { display: flex; align-items: center; gap: 18px; font-size: 14px; font-weight: 600; }
.site-cta { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 11px 20px; background: var(--color-accent); border-radius: var(--alp-radius-dot); font-weight: 700; text-decoration: none; white-space: nowrap; }
.site-cta:hover { background: var(--color-accent-deep); }
.site-cta:active { background: var(--color-accent-deep); }
.site :is(h1,h2,h3) { text-wrap: balance; }
#site-menu { display: none; }
#site-menu summary { min-height: 44px; min-width: 44px; cursor: pointer; display: flex; align-items: center; justify-content: center; list-style: none; }
#site-menu summary::-webkit-details-marker { display: none; }
.site-footer-wrap { max-width: var(--container-content); margin: auto; padding: 48px 44px; display: flex; justify-content: space-between; gap: 32px; }
#site-footer { background: var(--color-paper-2); border-top: 1px solid var(--color-rule); }
#site-footer p { margin-top: 16px; max-width: 320px; color: var(--color-ink-2); }
#site-footer nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px 48px; }
.site-reading { max-width: var(--container-content); margin: auto; display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 56px; padding: 64px 44px 96px; }
.site-docs { display: flex; flex-direction: column; align-self: start; gap: 4px !important; }
.site-docs p { font-weight: 600; margin-bottom: 12px; }
.site-docs a { font-size: 14px; }
.site-prose { max-width: 70ch; min-width: 0; margin: auto; padding: 64px 24px 96px; }
.site-reading .site-prose { padding: 0; width: 100%; }
.site-prose h1 { font-size: clamp(32px,4vw,48px); line-height: 1.15; letter-spacing: -.03em; margin-bottom: 24px; }
.site-prose h2 { font-size: 24px; margin: 48px 0 16px; }
.site-prose h3 { font-size: 19px; margin: 32px 0 12px; }
.site-prose p,.site-prose ul,.site-prose ol { line-height: 1.8; margin: 16px 0; }
.site-prose li { margin: 12px 0; }
.site-lede { font-size: 19px; color: var(--color-ink-2); }
.site-table { overflow-x: auto; max-width: 100%; margin-block: 24px; }
.site-table:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.site-prose table { min-width: 540px; font-size: 14px; }
.site-prose td:last-child { min-width: 0; }
.site-prose th,.site-prose td { padding: 12px; }
.site-prose pre { max-height: none; border-radius: 8px; margin: 24px 0; }
.site-prose code { font-size: .875em; }
.site-prose pre code { color: var(--color-graphite-ink); }
.site-prose a { text-decoration: underline; }
.site .pd-display { max-width: none; }
.site .pd-ink :is(h1,h2,h3) { color: var(--color-text-inverse); }
.site a.pd-pill-ink { color: var(--pd-paper); }
.site a.pd-pill-lime { color: var(--pd-ink); }
.site .pd-hero-note { margin-top: 20px; }
.site .pd-hero-title { margin-bottom: 0; }
.site .pd-caps,.site .pd-included { list-style: none; padding-inline: 0; }
.site .pd-line { animation: none; opacity: 1; }
.site .pd-term-body { max-height: none; background: var(--color-ink); }
.site .pd-demo-body { padding: 32px; }
.site .pd-caption { margin-top: 20px; }
.site .mt-3 { margin-top: 12px; }.site .mt-4 { margin-top: 16px; }.site .mt-6 { margin-top: 24px; }.site .mt-12 { margin-top: 48px; }
.sr-only { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: clip; }
@media (max-width: 1055px) {
  .site-primary { display: none !important; }
  .site-actions { margin-left: auto; }
  .site-footer-wrap { flex-direction: column; }
  #site-menu { display: block; }
  #site-menu nav { position: absolute; top: 100%; left: 0; right: 0; padding: 12px; background: var(--color-paper); border-bottom: 1px solid var(--color-rule); display: flex; flex-direction: column; gap: 0; box-shadow: 0 8px 24px rgb(23 27 18 / .12); }
  #site-menu nav a { padding: 0 16px; border-radius: 4px; font-size: 14px; }
  #site-menu nav a:hover { background: var(--color-paper-2); }
  #site-menu nav a[aria-current] { background: var(--color-paper-3); text-decoration: none; font-weight: 600; }
  #site-menu [data-site-menu-auth] { display: flex; flex-direction: column; gap: 0; }
  .site-reading { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .site-docs { flex-direction: row; flex-wrap: wrap; column-gap: 24px !important; }
  .site-docs p { flex-basis: 100%; }
}
@media (max-width: 639px) {
  .site-bar { padding: 0 20px; gap: 16px; }
  .site-auth > a[href="/sign-in"] { display: none; }
  #site-menu { margin-left: auto; }
  .site-footer-wrap { padding: 48px 20px; flex-direction: column; gap: 32px; }
  #site-footer nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 48px; }
  .site-reading { padding: 32px 20px 64px; }
  .site-prose { padding: 40px 20px 64px; }
  .site .pd-demo-body { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .site * { animation: none !important; scroll-behavior: auto; } }

.site .site-primary a[aria-current] { text-decoration: none; border-bottom: 2px solid var(--color-accent); }
.auth-page { min-height: 100dvh; background: var(--color-paper); }
.auth-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px; }
.auth-bar p { margin: 0; font-size: 14px; color: var(--color-ink-2); }
.auth-bar p a { color: var(--color-ink); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--color-accent); padding-bottom: 1px; }
.auth-page main { max-width: none; margin: 0; padding: 12vh 20px 96px; }
.auth-page .signin { width: 100%; max-width: none; margin: 0; padding: 0; }
.auth-page .page-head { display: block; text-align: center; margin: 0 0 32px; padding: 0; border: 0; }
.auth-page h1 { margin: 0 auto; font-size: 28px; line-height: 36px; font-weight: 600; }
.auth-page .page-head p { max-width: 448px; margin: 12px auto 0; font-size: 16px; line-height: 24px; }
.auth-page form, .auth-page .auth-note, .auth-page .error { width: 100%; max-width: 400px; margin-inline: auto; }
.auth-page form { display: block; }
.auth-page label { display: block; margin-bottom: 16px; font-size: 14px; color: var(--color-ink); font-weight: 500; }
.auth-page label .quiet { display: block; font-weight: 400; }
.auth-page input:not([type="hidden"]) { display: block; width: 100%; height: 44px; margin-top: 6px; padding: 0 12px; font-size: 16px; background: var(--color-paper); }
.auth-page button { width: 100%; height: 44px; margin-top: 8px; border-radius: 8px; background: var(--color-ink); color: var(--color-paper); font-weight: 600; }
.auth-page button:hover:not(:disabled) { background: var(--color-ink-2); }
.auth-page button:disabled { cursor: not-allowed; opacity: .6; }
.auth-page #password-help { margin-top: -10px; margin-bottom: 16px; }
@media (max-width: 479px) { .site-actions .site-auth { display: none; } }
.site .pd-hero-actions + .pd-hero-note { margin-top: 20px; }
.site .pd-included a { color: var(--color-text-primary); }
.site .pd-trust + .pd-hero-actions { margin-block-start: 3rem; }
.site figure.pd-wrap { margin-inline: auto; }
