/* ============================================================
   markdownviewerextension.com — shared stylesheet
   Implements design/*.dc.html (see design/DESIGN-NOTES.md).
   Tokens + theme block copied verbatim from the design helmet.
   ============================================================ */

:root{
  --mdv-bg:#ffffff; --mdv-chrome:#fbfbfc; --mdv-panel:#f9fafb; --mdv-panel2:#f0f1f4;
  --mdv-border:#e7e9ed; --mdv-text:#14171b; --mdv-body:#2a3038; --mdv-text2:#5c6470;
  --mdv-muted:#8a919c; --mdv-accent:#3056d3; --mdv-accent-bg:#e8edfb; --mdv-code-bg:#fcfcfd;
  --mdv-tip-ac:#1f8a5b; --mdv-warn-ic:#c98a2a; --mdv-danger:#d64545;
  --mdv-hl-yellow:#f2c94c; --mdv-hl-green:#6fcf97; --mdv-hl-blue:#7aa5f8; --mdv-hl-pink:#eb7ab8;
  --mdv-shadow:0 8px 24px rgba(20,23,27,0.07);
  --mdv-shadow-lg:0 24px 64px -16px rgba(20,23,27,0.18),0 6px 20px -6px rgba(20,23,27,0.08);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-mdv-theme="light"]){
    --mdv-bg:#15171b; --mdv-chrome:#1b1e24; --mdv-panel:#181b20; --mdv-panel2:#262b33;
    --mdv-border:#262a31; --mdv-text:#f0f1f4; --mdv-body:#c6cbd2; --mdv-text2:#9aa1ab;
    --mdv-muted:#767e89; --mdv-accent:#5b7cf0; --mdv-accent-bg:#232c47; --mdv-code-bg:#14161b;
    --mdv-tip-ac:#4dba8c; --mdv-warn-ic:#d9a83c; --mdv-danger:#e57373;
    --mdv-shadow:0 8px 24px rgba(0,0,0,0.35);
    --mdv-shadow-lg:0 24px 64px -16px rgba(0,0,0,0.6),0 6px 20px -6px rgba(0,0,0,0.4);
    color-scheme:dark;
  }
}
:root[data-mdv-theme="dark"]{
  --mdv-bg:#15171b; --mdv-chrome:#1b1e24; --mdv-panel:#181b20; --mdv-panel2:#262b33;
  --mdv-border:#262a31; --mdv-text:#f0f1f4; --mdv-body:#c6cbd2; --mdv-text2:#9aa1ab;
  --mdv-muted:#767e89; --mdv-accent:#5b7cf0; --mdv-accent-bg:#232c47; --mdv-code-bg:#14161b;
  --mdv-tip-ac:#4dba8c; --mdv-warn-ic:#d9a83c; --mdv-danger:#e57373;
  --mdv-shadow:0 8px 24px rgba(0,0,0,0.35);
  --mdv-shadow-lg:0 24px 64px -16px rgba(0,0,0,0.6),0 6px 20px -6px rgba(0,0,0,0.4);
  color-scheme:dark;
}

html{scroll-behavior:smooth;}
body{margin:0;background:var(--mdv-bg);color:var(--mdv-body);font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;}
a{color:var(--mdv-accent);}
::selection{background:var(--mdv-accent-bg);}
summary{list-style:none;}
summary::-webkit-details-marker{display:none;}
[data-mdv-marker]::before{content:"+";}
details[open] [data-mdv-marker]::before{content:"−";}
:focus-visible{outline:2px solid var(--mdv-accent);outline-offset:2px;}
code.mv-kbd{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;font-weight:500;background:var(--mdv-panel2);padding:2px 6px;border-radius:4px;color:var(--mdv-text);}

/* ---------- layout ---------- */
.mv-container{max-width:1120px;margin:0 auto;padding:0 24px;}
.mv-section{padding:88px 0;scroll-margin-top:72px;}
.mv-section--line{border-top:1px solid var(--mdv-border);}

/* ---------- type ---------- */
.mv-eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--mdv-accent);}

/* Host for a live engine render inside a feature visual. */
.mv-live{border:1px solid var(--mdv-border);border-radius:6px;overflow:hidden;background:var(--mdv-bg);}
.mv-h1{margin:14px 0 0;font-size:clamp(44px,6vw,62px);line-height:1.02;font-weight:700;letter-spacing:-0.028em;color:var(--mdv-text);}
.mv-h1--page{margin:12px 0 0;font-size:clamp(32px,4vw,44px);line-height:1.1;letter-spacing:-0.025em;}
.mv-h2{margin:10px 0 0;font-size:clamp(26px,3.2vw,32px);line-height:1.15;font-weight:700;letter-spacing:-0.022em;color:var(--mdv-text);text-wrap:pretty;}
.mv-h2--feature{font-size:clamp(24px,2.8vw,30px);line-height:1.2;letter-spacing:-0.02em;}
.mv-lede{margin:20px 0 0;font-size:19px;line-height:1.6;color:var(--mdv-body);max-width:34em;text-wrap:pretty;}
.mv-sub{margin:10px 0 0;font-size:15.5px;line-height:1.6;color:var(--mdv-text2);max-width:56em;}
.mv-note{margin:16px 0 0;font-size:13px;color:var(--mdv-muted);}
.mv-mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}

/* ---------- nav ---------- */
.mv-nav{position:sticky;top:0;z-index:60;background:var(--mdv-chrome);border-bottom:1px solid var(--mdv-border);}
@supports ((backdrop-filter:blur(1px)) and (background:color-mix(in srgb,#000 50%,transparent))){
  .mv-nav{background:color-mix(in srgb,var(--mdv-chrome) 82%,transparent);backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4);}
}
.mv-nav-inner{max-width:1120px;margin:0 auto;padding:0 24px;min-height:56px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.mv-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--mdv-text);padding:8px 0;}
/* The product logo is a solid CIRCLE with a white M (see the extension's
   public/icons/) — not a rounded square. */
.mv-brand-mark{width:28px;height:28px;border-radius:50%;background:var(--mdv-accent);color:#ffffff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;}
.mv-brand-name{font-weight:600;font-size:15px;letter-spacing:-0.01em;}
.mv-nav-links{margin-left:auto;display:flex;align-items:center;gap:2px;flex-wrap:wrap;}
.mv-nav-link{text-decoration:none;color:var(--mdv-text2);font-size:14px;font-weight:500;padding:7px 11px;border-radius:6px;}
.mv-nav-link:hover{color:var(--mdv-text);background:var(--mdv-panel2);}
.mv-nav-link.is-active{color:var(--mdv-text);font-weight:600;background:var(--mdv-panel2);}

/* ---------- buttons ---------- */
.mv-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;}
.mv-btn--primary{background:var(--mdv-accent);border-color:var(--mdv-accent);color:#ffffff;}
@supports (background:color-mix(in srgb,#000 50%,transparent)){
  .mv-btn--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--mdv-accent) 86%,#ffffff) 0%,var(--mdv-accent) 64%);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--mdv-accent) 55%,transparent),inset 0 1px 0 rgba(255,255,255,0.22);}
}
.mv-btn--primary:hover{filter:brightness(0.97);transform:translateY(-1px);color:#ffffff;}
.mv-btn--secondary{background:var(--mdv-accent-bg);border-color:var(--mdv-accent-bg);color:var(--mdv-accent);}
.mv-btn--secondary:hover{filter:brightness(0.97);}
.mv-btn--md{height:40px;padding:0 18px;font-size:14px;}
.mv-btn--sm{height:34px;padding:0 14px;font-size:13.5px;}

/* ---------- hero ---------- */
.mv-hero{padding:76px 0 88px;background:radial-gradient(56% 52% at 78% 0%,var(--mdv-accent-bg) 0%,transparent 62%);}
.mv-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px 64px;align-items:center;}
.mv-hero-grid > div{min-width:0;}
.mv-cta-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;}
.mv-chips{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.mv-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border:1px solid var(--mdv-border);border-radius:999px;background:var(--mdv-bg);font-size:12.5px;font-weight:500;color:var(--mdv-body);white-space:nowrap;}
.mv-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--mdv-tip-ac);}
.mv-chip--planned{border-style:dashed;background:transparent;color:var(--mdv-muted);}
.mv-chip-badge{font-size:10px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--mdv-muted);background:var(--mdv-panel2);padding:2px 6px;border-radius:4px;}

/* hero browser-tab shell */
.mv-shell{background:var(--mdv-chrome);border:1px solid var(--mdv-border);border-radius:12px;box-shadow:var(--mdv-shadow-lg);overflow:hidden;max-width:560px;margin:0 auto;}
.mv-shell-tabs{display:flex;align-items:flex-end;gap:6px;padding:8px 10px 0;}
.mv-shell-tab{position:relative;top:1px;z-index:1;display:flex;align-items:center;gap:8px;background:var(--mdv-bg);border:1px solid var(--mdv-border);border-bottom-color:var(--mdv-bg);border-radius:8px 8px 0 0;padding:7px 12px;font-size:12px;font-weight:500;color:var(--mdv-text);}
.mv-shell-tab .mv-brand-mark{width:14px;height:14px;border-radius:50%;font-size:9px;}
.mv-shell-tab-x{color:var(--mdv-muted);font-size:13px;line-height:1;}
.mv-shell-plus{color:var(--mdv-muted);font-size:16px;padding:0 6px 8px;}
.mv-shell-addr{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--mdv-border);}
.mv-shell-arrows{color:var(--mdv-muted);font-size:13px;letter-spacing:2px;white-space:nowrap;}
.mv-shell-url{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--mdv-panel2);border-radius:999px;padding:5px 12px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--mdv-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mv-shell-dots{color:var(--mdv-muted);font-size:13px;}
.mv-shell-progress{height:2px;background:var(--mdv-panel2);}
.mv-shell-progress > span{display:block;width:36%;height:100%;background:var(--mdv-accent);}
.mv-shell-doc{background:var(--mdv-bg);border-top:1px solid var(--mdv-border);max-height:520px;overflow:hidden;}
/* Static (pre-JS / crawler) fallback inside the shell — hidden automatically
   once the engine attaches its shadow root. */
.mv-shell-fallback{padding:22px 26px 24px;}
.mv-shell-fallback h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-0.015em;color:var(--mdv-text);padding-bottom:9px;border-bottom:1px solid var(--mdv-border);}
.mv-shell-fallback p{margin:12px 0 0;font-size:13px;line-height:1.7;color:var(--mdv-body);}

/* ---------- trust bar ---------- */
.mv-trust{border-top:1px solid var(--mdv-border);border-bottom:1px solid var(--mdv-border);background:var(--mdv-chrome);}
.mv-trust-inner{max-width:1120px;margin:0 auto;padding:15px 24px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;font-size:13.5px;font-weight:500;color:var(--mdv-text2);}
.mv-trust-inner .dot{color:var(--mdv-muted);}

/* ---------- playground ---------- */
.mv-pg-frame{margin-top:28px;border:1px solid var(--mdv-border);border-radius:12px;overflow:hidden;background:var(--mdv-bg);box-shadow:var(--mdv-shadow-lg);}
.mv-pg-toolbar{display:flex;align-items:center;gap:4px;padding:7px 8px;background:var(--mdv-chrome);border-bottom:1px solid var(--mdv-border);flex-wrap:wrap;}
.mv-pg-tab{height:28px;padding:0 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--mdv-text2);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;}
.mv-pg-tab:hover{background:var(--mdv-panel2);color:var(--mdv-text);}
.mv-pg-tab.is-active{background:var(--mdv-bg);border-color:var(--mdv-border);color:var(--mdv-text);font-weight:600;}
.mv-pg-actions{margin-left:auto;display:flex;gap:4px;}
.mv-pg-file{margin-left:6px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;color:var(--mdv-muted);background:var(--mdv-panel2);padding:3px 8px;border-radius:4px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mv-pg-frame.is-drag{outline:2px dashed var(--mdv-accent);outline-offset:-2px;}
.mv-pg-editor[hidden]{display:none;}
.mv-pg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1px;background:var(--mdv-border);}
/* Cap the editor cell: without it, the line-number <pre>'s natural height
   (one row per source line) stretches the grid row far past the preview's
   640px cap, exposing a gray gap below the preview. Gutter + textarea scroll
   internally instead (scroll positions synced in JS). */
.mv-pg-editor{background:var(--mdv-code-bg);display:flex;align-items:stretch;min-height:480px;max-height:640px;}
.mv-pg-gutter{overflow:hidden;flex:none;width:44px;user-select:none;}
.mv-pg-gutter pre{margin:0;padding:14px 10px 14px 0;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;line-height:1.65;color:var(--mdv-muted);text-align:right;}
.mv-pg-ta{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--mdv-body);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;line-height:1.65;padding:14px 16px;resize:none;}
.mv-pg-preview{background:var(--mdv-bg);min-height:480px;max-height:640px;overflow:auto;}
.mv-pg-cta{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;background:var(--mdv-accent-bg);border:1px solid var(--mdv-accent-bg);border-radius:10px;padding:18px 22px;}
.mv-pg-cta p{margin:0;flex:1 1 340px;font-size:14.5px;line-height:1.55;color:var(--mdv-text);}

/* ---------- feature rows ---------- */
.mv-feature{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:48px 72px;align-items:center;}
.mv-feature + .mv-feature{margin-top:88px;}
.mv-feature > div{min-width:0;}
.mv-feature--rev{direction:rtl;}
.mv-feature--rev > div{direction:ltr;}
.mv-flist{margin:18px 0 0;padding:0;list-style:none;}
.mv-flist li{display:flex;gap:11px;margin:0 0 10px;}
.mv-flist li:last-child{margin-bottom:0;}
.mv-flist li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--mdv-accent);margin-top:9px;}
.mv-flist span{font-size:15px;line-height:1.6;color:var(--mdv-body);}
.mv-visual{background:var(--mdv-panel);border:1px solid var(--mdv-border);border-radius:14px;padding:22px;box-shadow:var(--mdv-shadow);}
.mv-visual-caption{margin:12px 0 0;text-align:center;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--mdv-muted);}
.mv-shot{aspect-ratio:16/10;border:1px solid var(--mdv-border);border-radius:6px;overflow:hidden;background:var(--mdv-bg);display:flex;align-items:center;justify-content:center;}
.mv-shot img{width:100%;height:100%;object-fit:cover;display:block;}
/* Screenshots that keep their own aspect ratio (full-app captures are ~1.92:1,
   not the 16:10 slot the design reserved). */
.mv-shot--free{aspect-ratio:auto;}
.mv-shot--free img{height:auto;}
/* Light/dark screenshot swap — follows the same theme mechanism as the tokens
   (system preference, overridable via html[data-mdv-theme]). */
.mv-shot .shot-dark{display:none;}
@media (prefers-color-scheme:dark){
  :root:not([data-mdv-theme="light"]) .mv-shot .shot-light{display:none;}
  :root:not([data-mdv-theme="light"]) .mv-shot .shot-dark{display:block;}
}
:root[data-mdv-theme="dark"] .mv-shot .shot-light{display:none;}
:root[data-mdv-theme="dark"] .mv-shot .shot-dark{display:block;}
.mv-shot-placeholder{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;color:var(--mdv-muted);text-align:center;padding:12px;}
/* ---------- cards / steps ---------- */
.mv-cards{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;}
.mv-card{background:var(--mdv-panel);border:1px solid var(--mdv-border);border-radius:12px;padding:20px 22px;box-shadow:var(--mdv-shadow);}
.mv-card .t{margin:0;font-size:15.5px;font-weight:600;color:var(--mdv-text);}
.mv-card .d{margin:8px 0 0;font-size:13.5px;line-height:1.6;color:var(--mdv-text2);}
.mv-steps{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;}
.mv-step{background:var(--mdv-panel);border:1px solid var(--mdv-border);border-radius:12px;padding:20px 22px;box-shadow:var(--mdv-shadow);}
.mv-step .n{margin:0;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;font-weight:600;color:var(--mdv-accent);}
.mv-step .t{margin:10px 0 0;font-size:15.5px;font-weight:600;line-height:1.5;color:var(--mdv-text);}

/* ---------- FAQ ---------- */
.mv-faq-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.mv-faq-all{font-size:14px;font-weight:500;color:var(--mdv-accent);text-decoration:none;padding-bottom:4px;}
.mv-faq-all:hover{text-decoration:underline;}
.mv-faq{margin-top:24px;border-top:1px solid var(--mdv-border);}
.mv-qa{border-bottom:1px solid var(--mdv-border);}
.mv-qa summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 2px;cursor:pointer;font-size:15.5px;font-weight:500;color:var(--mdv-text);}
.mv-qa summary [data-mdv-marker]{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:16px;color:var(--mdv-muted);flex:none;}
.mv-qa p{margin:0;padding:0 2px 18px;max-width:70ch;font-size:14.5px;line-height:1.65;color:var(--mdv-text2);}
.mv-qa--sm summary{padding:16px 2px;font-size:15px;}
.mv-qa--sm p{padding-bottom:16px;}

/* ---------- footer ---------- */
.mv-footer{border-top:1px solid var(--mdv-border);background:var(--mdv-chrome);padding:52px 0 56px;}
.mv-footer-grid{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:36px;}
.mv-footer .copy{margin:14px 0 0;font-size:13px;color:var(--mdv-muted);}
.mv-ftitle{margin:0 0 14px;font-size:11.5px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--mdv-muted);}
.mv-fcol{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.mv-flink{font-size:14px;color:var(--mdv-text2);text-decoration:none;}
.mv-flink:hover{color:var(--mdv-accent);}
.mv-flink--mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;}

/* ---------- text pages (support / legal) ---------- */
.mv-page-head{border-bottom:1px solid var(--mdv-border);padding:56px 0 40px;}
.mv-page-sub{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--mdv-text2);max-width:58ch;}
.mv-page-meta{margin:14px 0 0;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;color:var(--mdv-muted);}
.mv-two{padding:48px 0 88px;}
.mv-two-inner{max-width:1120px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;gap:48px 56px;align-items:flex-start;}
.mv-toc{flex:0 1 220px;min-width:180px;position:sticky;top:84px;}
.mv-toc-title{margin:0 0 12px;font-size:11.5px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--mdv-muted);}
.mv-toc-list{display:flex;flex-direction:column;border-left:1px solid var(--mdv-border);}
.mv-toc-list a{font-size:13.5px;color:var(--mdv-text2);text-decoration:none;padding:6px 0 6px 14px;}
.mv-toc-list a:hover{color:var(--mdv-accent);}
.mv-article{flex:1 1 480px;min-width:0;max-width:720px;}
.mv-article--narrow{max-width:680px;}
.mv-sect{scroll-margin-top:84px;}
.mv-sect + .mv-sect{margin-top:44px;}
.mv-sect > h2{margin:0 0 14px;font-size:20px;font-weight:700;letter-spacing:-0.01em;color:var(--mdv-text);padding-bottom:10px;border-bottom:1px solid var(--mdv-border);}
.mv-sect p{margin:0 0 14px;font-size:15px;line-height:1.75;color:var(--mdv-body);}
.mv-sect p:last-child{margin-bottom:0;}
.mv-sect ul{margin:0;padding-left:22px;}
.mv-sect li{font-size:15px;line-height:1.75;margin:0 0 8px;color:var(--mdv-body);}
.mv-sect li:last-child{margin-bottom:0;}
.mv-sect strong{font-weight:600;color:var(--mdv-text);}
.mv-sect table{width:100%;border-collapse:collapse;margin:0 0 14px;}
.mv-sect th{text-align:left;font-size:13px;font-weight:600;color:var(--mdv-text);padding:9px 10px;border-bottom:2px solid var(--mdv-border);}
.mv-sect td{font-size:14px;color:var(--mdv-body);padding:9px 10px;border-bottom:1px solid var(--mdv-border);}
.mv-sect td.yes{font-weight:600;color:var(--mdv-tip-ac);}
.mv-sect td.note{font-size:13.5px;color:var(--mdv-text2);}
.mv-contact-card{margin-top:20px;background:var(--mdv-panel);border:1px solid var(--mdv-border);border-radius:10px;padding:22px 24px;}
.mv-contact-card .t{margin:0;font-size:15px;font-weight:600;color:var(--mdv-text);}
.mv-contact-card .mail{display:inline-block;margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px;color:var(--mdv-accent);text-decoration:none;}
.mv-contact-card .mail:hover{text-decoration:underline;}
.mv-contact-card .d{margin:12px 0 0;font-size:13.5px;line-height:1.6;color:var(--mdv-text2);}

/* ---------- what's new timeline ---------- */
.mv-narrow{max-width:860px;margin:0 auto;padding:0 24px;}
.mv-tl-row{display:flex;flex-wrap:wrap;gap:16px 0;}
.mv-tl-meta{flex:0 0 170px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-right:24px;}
.mv-tl-badge{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;font-weight:600;color:var(--mdv-text2);background:var(--mdv-panel2);padding:3px 9px;border-radius:6px;}
.mv-tl-badge.is-latest{color:var(--mdv-accent);background:var(--mdv-accent-bg);}
.mv-tl-date{font-size:13px;color:var(--mdv-muted);}
.mv-tl-latest{font-size:10.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--mdv-tip-ac);border:1px solid var(--mdv-tip-ac);padding:2px 8px;border-radius:999px;}
.mv-tl-body{flex:1 1 400px;min-width:0;position:relative;border-left:1px solid var(--mdv-border);padding:0 0 48px 32px;}
.mv-tl-row:last-child .mv-tl-body{padding-bottom:8px;}
.mv-tl-dot{position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--mdv-border);border:2px solid var(--mdv-bg);}
.mv-tl-dot.is-latest{background:var(--mdv-accent);}
.mv-tl-body h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-0.01em;color:var(--mdv-text);}
.mv-tl-body ul{margin:12px 0 0;padding-left:20px;}
.mv-tl-body li{font-size:14.5px;line-height:1.7;margin:0 0 6px;color:var(--mdv-body);}
