/* v309: additive documentation, pricing, and bounded pointer polish.
   The v308 engine and its motion stylesheet remain unchanged. */
.mz-doc-link,.mz-return { text-align:center; margin:24px auto; max-width:65ch; font-size:15px; line-height:1.8; }
.mz-related-panel { border:1px solid #54c98a35; border-radius:14px; padding:clamp(22px,4vw,34px); margin:38px auto; max-width:820px; text-align:center; background:linear-gradient(145deg,#54c98a09,transparent 70%); }
.mz-related-panel h2 { margin:0 auto 16px; }
.mz-related-panel p { margin:12px auto 0; max-width:62ch; }
.mz-doc-actions { display:flex; gap:12px 26px; flex-wrap:wrap; justify-content:center; }
.mz-doc-actions a,.mz-return a,.mz-card-link,.mz-player-fallback a { display:inline-block; padding-block:10px; text-underline-offset:4px; }
.mz-session-link { display:block; width:fit-content; margin:12px auto 0; padding:8px 6px; font-size:14px; line-height:1.6; text-underline-offset:4px; }
#pricing .mz-pricing-lead { max-width:60ch; margin:20px auto 0; }
#pricing .mz-compare { margin:30px auto; border:1px solid #5a7964; border-radius:12px; padding:0; background:transparent; max-width:1100px; }
#pricing .mz-compare>summary { display:flex; justify-content:center; align-items:center; gap:14px; min-height:58px; padding:16px 24px; cursor:pointer; font-size:16px; font-weight:650; list-style:none; text-align:center; border-radius:11px; }
#pricing .mz-compare>summary::-webkit-details-marker { display:none; }
#pricing .mz-compare>summary::after { content:'+'; position:static; display:inline-block; font-size:22px; line-height:1; color:inherit; }
#pricing .mz-compare[open]>summary::after { content:'−'; }
#pricing .mz-compare[open]>summary { color:#173e2a; background:#54c98a16; border-bottom:1px solid #55776144; border-radius:11px 11px 0 0; }
#pricing .mz-compare .mz-compare-body { padding:8px clamp(12px,3vw,26px) 24px; }
#pricing .mz-compare .tbl-wrap { margin:22px auto 18px; }
#pricing .mz-compare .restraint { margin:28px auto 0; }
#pricing .mz-compare .tbl-note { max-width:75ch; font-size:14px; line-height:1.7; }
.mz-resource-page .mz-resource-section { padding:34px 0 64px; }
.mz-resource-page .mz-resource-section>.wrap { max-width:1120px; }
.mz-resource-page .mz-breadcrumbs { background:transparent; border:0; position:static; margin:0 auto 34px; padding:0; }
.mz-resource-page .mz-breadcrumbs li { font-size:13px; }
.mz-resource-page .mz-resource-hero { max-width:820px; margin:0 auto 36px; text-align:center; }
.mz-resource-page .mz-resource-hero h1 { max-width:26ch; margin:22px auto; font-size:clamp(31px,4.3vw,48px); line-height:1.12; letter-spacing:-.025em; }
.mz-resource-page .mz-resource-hero .sub { max-width:57ch; margin:20px auto; font-size:clamp(17px,1.7vw,20px); line-height:1.7; }
.mz-resource-page .mz-resource-hero .eyebrow { margin:0 0 18px; font-size:12px; letter-spacing:.15em; color:#78dba5; }
.mz-resource-page .mz-byline,.mz-resource-page .mz-session-meta { font-size:13px; color:#bdc8c1; line-height:1.8; margin:16px auto; }
.mz-resource-page .mz-doc-toc { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; max-width:800px; margin:0 auto 34px; padding:0; border:0; background:transparent; position:static; }
.mz-doc-toc a { font-size:13px; line-height:1.4; padding:12px 14px; display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:1px solid #ffffff24; border-radius:8px; text-align:center; text-decoration:none; color:#d4e6dc; background:#ffffff03; }
.mz-doc-toc a:hover,.mz-doc-toc a:focus-visible { border-color:#78dba5; background:#54c98a0c; }
.mz-resource-page .mz-article-body { max-width:760px; margin:0 auto; text-align:center; }
.mz-resource-page .mz-article-body h2 { max-width:32ch; font-size:clamp(24px,2.6vw,30px); margin:46px auto 20px; line-height:1.25; letter-spacing:-.015em; color:#78dba5; }
.mz-resource-page .mz-article-body p { max-width:65ch; margin:0 auto 20px; font-size:17px; line-height:1.8; letter-spacing:0; text-align:center; color:#e7eee9; }
.mz-resource-page .mz-article-body a,.mz-resource-page .mz-related-panel a { text-underline-offset:4px; text-decoration-thickness:1px; }
.mz-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:32px auto 42px; }
.mz-resource-card { display:flex; flex-direction:column; align-items:center; text-align:center; padding:30px 26px 22px; border:1px solid #ffffff23; border-radius:14px; background:linear-gradient(140deg,#192127,#14191d); color:#edf5f0; text-decoration:none; min-width:0; }
.mz-resource-page .mz-resource-card .eyebrow { font-size:11px; letter-spacing:.13em; margin:0 0 18px; color:#8edeb0; }
.mz-resource-page .mz-resource-card h2 { font-size:25px; line-height:1.25; letter-spacing:-.018em; max-width:24ch; margin:0 auto 16px; color:#f1f6f3; }
.mz-resource-page .mz-resource-card p { margin:0 auto 14px; font-size:16px; line-height:1.75; max-width:45ch; color:#cfdad3; }
.mz-resource-card .mz-card-link { margin-top:auto; color:#8edeb0; font-size:14px; }
.mz-resource-card:focus-visible { outline-offset:4px; }
.mz-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:28px auto; }
.mz-definition-grid.mz-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mz-definition-grid>div { min-width:0; border:1px solid #ffffff21; border-radius:12px; padding:22px 18px; background:#ffffff03; }
.mz-resource-page .mz-definition-grid h3 { color:#d0efdd; font-size:17px; line-height:1.4; margin:0 0 12px; letter-spacing:0; }
.mz-resource-page .mz-definition-grid p { font-size:15px; line-height:1.75; margin:0; color:#cdd9d1; }
.mz-resource-page .mz-formula { font-family:'IBM Plex Mono',monospace; font-size:15px; color:#98e2b7; }
.mz-table-scroll { max-width:100%; overflow-x:auto; border:1px solid #ffffff25; border-radius:12px; margin:28px auto; }
.mz-doc-table { width:100%; min-width:530px; border-collapse:collapse; font-size:15px; line-height:1.65; }
.mz-doc-table caption { padding:16px; font-size:13px; color:#bccfc2; }
.mz-doc-table th,.mz-doc-table td { padding:17px 14px; border-top:1px solid #ffffff20; text-align:center; vertical-align:top; }
.mz-doc-table th { color:#c9f3da; font-weight:650; }
.mz-doc-table td { color:#e2eae5; }
.mz-doc-table thead { background:#54c98a0b; }
.mz-resource-page .mz-watch-hero { margin-bottom:22px; }
.mz-resource-page .mz-watch-hero h1 { font-size:clamp(28px,3.2vw,39px); max-width:31ch; }
.mz-watch-player { width:100%; aspect-ratio:16/9; overflow:hidden; background:#080c0a; border:1px solid #54c98a45; border-radius:14px; box-shadow:0 20px 50px -25px #000; }
.mz-watch-player iframe { display:block; width:100%; height:100%; border:0; }
.mz-player-fallback { text-align:center; font-size:14px; margin:12px auto 30px; }
.mz-resource-page .mz-session-description { font-size:18px; }
@media(max-width:650px) {
 .mz-resource-grid,.mz-definition-grid,.mz-definition-grid.mz-three { grid-template-columns:1fr; }
 .mz-resource-page .mz-resource-section>.wrap { padding-inline:20px; }
 .mz-resource-page .mz-breadcrumbs { margin-bottom:28px; }
 .mz-resource-page .mz-article-body p { font-size:16px; line-height:1.8; }
 .mz-resource-page .mz-resource-hero h1 { max-width:22ch; }
 .mz-resource-card { padding:26px 22px 18px; }
 .mz-resource-page .mz-resource-card h2 { font-size:24px; }
 .mz-watch-player { border-radius:9px; }
 .mz-resource-page .mz-definition-grid p { font-size:15px; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .mz-resource-card { transition:transform .2s cubic-bezier(.2,.7,.3,1),border-color .2s; }
 .mz-resource-card:hover { transform:translateY(-3px); border-color:#78dba566; }
 #top .mz-tactile-label { display:inline-block; transform:translate(var(--mz-tx,0px),var(--mz-ty,0px)); transition:transform .16s cubic-bezier(.2,.7,.3,1); }
 #top .mz-panel-glow { position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:6; overflow:hidden; opacity:0; transition:opacity .2s; }
 #top .mz-panel-glow::before { content:''; position:absolute; left:0; top:0; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,#83edaa10,transparent 70%); transform:translate(calc(var(--mz-gx,0px) - 120px),calc(var(--mz-gy,0px) - 120px)); }
 #top .hero-panel:hover .mz-panel-glow { opacity:1; }
}
@media print {
 .mz-resource-page .mz-doc-toc,.mz-watch-player { display:none; }
 .mz-resource-grid,.mz-definition-grid { display:block; }
 .mz-resource-card,.mz-definition-grid>div { break-inside:avoid; margin-bottom:18px; }
}
/* Keep navigation available on long new articles and align anchor landings. */
body.mz-resource-page>nav { position:sticky; top:0; z-index:100; background:#0f1115; }
@media(max-width:650px) {
 .mz-table-scroll { overflow:visible; border:0; }
 .mz-doc-table { display:block; min-width:0; width:100%; }
 .mz-doc-table caption { display:block; text-align:center; padding:0 8px 18px; }
 .mz-doc-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .mz-doc-table tbody { display:block; }
 .mz-doc-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr); border:1px solid #ffffff24; border-radius:12px; margin:0 0 16px; overflow:hidden; }
 .mz-doc-table tbody th { display:block; border:0; padding:18px; background:#54c98a0b; }
 .mz-doc-table tbody td { display:block; padding:18px; }
 .mz-doc-table td::before { content:attr(data-label); display:block; color:#9ddbb8; font:500 11px/1.7 'IBM Plex Mono',monospace; letter-spacing:.04em; margin-bottom:10px; }
}

/* MIZAN v329 stylesheet boundary */
/* v311: surface-aware readability. Existing engine/motion files are untouched. */
:root {
  --mz-proof-label: #14653f;
  --mz-proof-body: #3f5447;
  --mz-proof-muted: #53635a;
  --mz-proof-surface: #f3f8f4;
  --mz-proof-hover: #e9f3ec;
  --mz-proof-rule: #82a18d;
}
[data-theme="dark"] {
  --mz-proof-label: #8edeb0;
  --mz-proof-body: #d2e4d9;
  --mz-proof-muted: #bdc8c1;
  --mz-proof-surface: #17241d;
  --mz-proof-hover: #1e3025;
  --mz-proof-rule: #577d65;
}
.thL {
  --mz-proof-label: #14653f;
  --mz-proof-body: #3f5447;
  --mz-proof-muted: #53635a;
  --mz-proof-surface: #f3f8f4;
  --mz-proof-hover: #e9f3ec;
  --mz-proof-rule: #82a18d;
}
.mz-proof-shortcuts a {
  /* The legacy dark link rule has five :not() selectors; keep this card's
     supporting copy distinct from its green title without changing all links. */
  color: var(--mz-proof-body) !important;
  background: var(--mz-proof-surface);
  border-color: var(--mz-proof-rule);
  font-size: 14px;
  line-height: 1.65;
  padding: 20px 16px;
  gap: 8px;
}
.mz-proof-shortcuts a span { color: var(--mz-proof-label); font-weight: 700; }
.mz-proof-shortcuts a:hover,
.mz-proof-shortcuts a:focus-visible {
  background: var(--mz-proof-hover);
  border-color: var(--mz-proof-label);
}
.mz-proof-shortcuts a:focus-visible {
  outline: 2px solid var(--mz-proof-label);
  outline-offset: 4px;
}
.mz-proof-caption { color: var(--mz-proof-muted); font-size: 14px; line-height: 1.75; }
.mz-accent { color: var(--accent-on-light); }
[data-theme="dark"] .mz-accent,
.thD .mz-accent,
.thL .founder .mz-accent,
.thL .card.hit .mz-accent { color: var(--accent-on-dark); }
#proof > .wrap > .sub { max-width: 60ch; }
#proof .sub > .mz-text-block { margin-top: 1em; }
#top .hero-sub { max-width: 48ch; }
#top .hero-lines { font-size: 16px; line-height: 1.65; }
.mz-about-page main .who-k { font-size: 13px; letter-spacing: .1em; }
/* A recording-page link navigates; only the chart image opens the viewer. */
figure a.mz-session-link { cursor: pointer; color: var(--accent-on-dark); }
/* Long centered headings break at words instead of leaving a single orphan. */
main h1, main h2 { text-wrap: balance; }
@media (forced-colors: active) {
  .mz-proof-shortcuts a { border: 1px solid LinkText; }
  .mz-proof-shortcuts a, .mz-proof-shortcuts a span, .mz-accent { color: LinkText; }
}

/* MIZAN v329 stylesheet boundary */
/* Image inspection shares one coordinate system on mouse, touch and keyboard. */
.mz-viewer{width:100vw;max-width:100vw;}
.mz-viewer .mz-viewer-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));}
.mz-viewer .mz-viewer-label{margin-right:0;flex:1;white-space:nowrap;}
.mz-viewer .mz-viewer-scale{color:#b5d7c3;font:12px 'IBM Plex Mono',monospace;min-width:45px;text-align:right;}
.mz-viewer .mz-viewer-tools{display:flex;align-items:center;gap:6px;}
.mz-viewer .mz-viewer-tools button{min-width:44px;min-height:44px;font-size:16px;}
.mz-viewer .mz-viewer-tools button[aria-label="Zoom in"]{background:#17613f;border-color:#8edeb0;}
.mz-viewer .mz-viewer-stage{position:relative;display:block;padding:0;overflow:hidden;touch-action:none;overscroll-behavior:none;min-height:100px;user-select:none;-webkit-user-select:none;cursor:zoom-in;}
.mz-viewer .mz-viewer-stage>img{position:absolute;inset:0 auto auto 0;display:block;margin:0;padding:0;border:0;width:auto;height:auto;max-width:none;max-height:none;object-fit:contain;transform-origin:0 0;transition:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;will-change:transform;cursor:inherit;border-radius:2px;}
.mz-viewer .mz-viewer-stage>img[hidden]{display:none;}
.mz-viewer .mz-viewer-stage.is-zoomed{display:block;cursor:grab;}
.mz-viewer .mz-viewer-stage.is-dragging{cursor:grabbing;}
.mz-viewer .mz-viewer-foot{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;gap:10px;}
.mz-viewer .mz-viewer-foot #mzEvidenceCaption{max-height:3em;font-size:13px;line-height:1.5;overflow:auto;scrollbar-width:thin;scrollbar-color:#52745f #11171e;}
.mz-viewer .mz-viewer-foot .mz-viewer-help{color:#9fddb9!important;font-size:12px;line-height:1.5;max-height:none;margin-bottom:5px;}
.mz-photo-trigger{cursor:zoom-in;}
.mz-photo-trigger:focus-visible{outline:3px solid #54c98a;outline-offset:5px;}
@media(max-width:600px){
 .mz-viewer .mz-viewer-head{gap:5px 12px;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));}
 .mz-viewer .mz-viewer-tools{width:100%;justify-content:space-between;}
 .mz-viewer .mz-viewer-tools a{flex:1;}
 .mz-viewer .mz-viewer-foot{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 12px max(8px,env(safe-area-inset-bottom));}
 .mz-viewer .mz-viewer-nav{gap:5px;flex-wrap:wrap;max-width:100px;}
 .mz-viewer .mz-viewer-nav>span{order:3;width:100%;text-align:center;font-size:11px;}
 .mz-viewer .mz-viewer-foot #mzEvidenceCaption{font-size:12px;}
 .mz-viewer .mz-viewer-foot .mz-viewer-help{font-size:11px;}
}
@media(max-height:480px){
 .mz-viewer .mz-viewer-head{padding-block:4px;}
 .mz-viewer .mz-viewer-foot{padding-block:4px;}
 .mz-viewer .mz-viewer-foot #mzEvidenceCaption{max-height:1.5em;}
 .mz-viewer .mz-viewer-help{display:none;}
}

/* MIZAN v329 stylesheet boundary */
/* Brand marks, quiet spacing, and comfortable touch targets. No external icon font. */
body footer .mz-social-links {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:8px; width:100%; max-width:320px; margin:22px auto 0; padding:0;
  position:static; background:transparent; border:0; box-shadow:none;
}
body footer .mz-social-links a {
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px;
  width:44px; height:44px; min-width:44px; min-height:44px; margin:0; padding:10px;
  box-sizing:border-box; border:0; border-radius:10px; background:transparent;
  color:var(--text-on-dark-muted,#b9b8b2)!important; text-decoration:none;
  transition:color 160ms ease,background-color 160ms ease,transform 160ms ease;
}
body footer .mz-social-links a:visited {color:var(--text-on-dark-muted,#b9b8b2)!important}
body footer .mz-social-links svg {display:block;width:22px;height:22px;flex-shrink:0;fill:currentColor}
body footer .mz-social-links a:hover,body footer .mz-social-links a:focus-visible {
  color:var(--accent-on-dark,#54c98a)!important;background:rgba(84,201,138,.08);
}
body footer .mz-social-links a:focus-visible {outline:2px solid var(--accent-on-dark,#54c98a);outline-offset:3px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body footer .mz-social-links a:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){body footer .mz-social-links a{transition:none}}

/* MIZAN v329 stylesheet boundary */
/* v320: readable supporting copy; preserve the existing layout and motion. */
.mz-clarity-home .trial-note{font-family:Archivo,system-ui,sans-serif;letter-spacing:0;line-height:1.65;max-width:44ch}
.mz-clarity-home .mz-hero-boundary{max-width:45ch}
.mz-clarity-home .sim-note:not(.sim-actions){max-width:58ch;margin-inline:auto}
/* Printed guides need a complete foreground/background pair too. */
@media print{
 html body,html body main,html body main :is(section,article,aside,details,.wrap,.tool,.card,.callout,.mz-resource-card,.mz-related-panel,.mz-quick-start,.mz-guide-note,.mz-method-check,.mz-support-template,.mz-case,.bridge,.read-box){background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}
 html body main :is(h1,h2,h3,h4,h5,p,li,span,a,b,strong,em,small,summary,figcaption,th,td){color:#000!important;text-shadow:none!important}
 html body main a{text-decoration:underline!important}
 html body main :is(table,thead,tbody,tr,th,td,.btn){background:#fff!important;border-color:#777!important}
 html body main :is(.btn,.mz-chart-open,.mz-reseed,.mz-billing,.mz-tool-search,.mz-case-controls),html body :is(.mz-menu-open,.mz-viewer,.mz-social-links){print-color-adjust:exact}
 html body main .mz-resource-card{break-inside:avoid;border-color:#777!important}
}

/* MIZAN v329 stylesheet boundary */
/* MIZAN v328: the no-script menu occupies its own row below the main bar. */
.mz-static-nav { display:none; }
.mz-viewer #mzEvidenceCaption:focus-visible {
  outline:2px solid var(--accent-on-dark,#54c98a);
  outline-offset:2px;
}
@media (max-width:1100px) {
  body .mz-static-nav {
    display:block;
    position:static;
    inset:auto;
    z-index:auto;
    width:100%;
    padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));
    border:0;
    border-bottom:1px solid var(--rule-on-dark,#262a31);
    background:var(--surface-night,#0f1115);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    text-align:center;
  }
  .mz-static-nav .mz-static-nav-links {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    max-width:1080px;
    margin:0 auto;
  }
  .mz-static-nav a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:10px 12px;
    border:1px solid var(--rule-on-dark-strong,#2e333b);
    border-radius:8px;
    color:var(--text-on-dark-soft,#e7e6e1);
    font-size:14px;
    line-height:1.5;
    text-decoration:none;
  }
  .mz-static-nav a[aria-current="page"] {
    border-color:var(--accent-on-dark,#54c98a);
    color:var(--text-on-dark,#f5f4f0);
  }
  .mz-static-nav a:focus-visible {
    outline:2px solid var(--accent-on-dark,#54c98a);
    outline-offset:2px;
  }
}
@media print { .mz-static-nav { display:none !important; } }
