/* A document-first workbench: neutral cards, monochrome metadata, one code surface. */
.nm-plugin-card, .nm-plugin-document, .nm-plugin-catalog, .nm-plugin-toast {
    --nm-plugin-paper:#fff;
    --nm-plugin-ink:#171717;
    --nm-plugin-secondary:#737373;
    --nm-plugin-line:#e5e5e5;
    --nm-plugin-hover-line:#d4d4d4;
    --nm-plugin-blue:#2563eb;
    --nm-plugin-terminal:#18212c;
}
.nm-site .nm-plugin-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.nm-site .nm-plugin-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--nm-plugin-line); border-radius:12px; background:var(--nm-plugin-paper); color:var(--nm-plugin-ink); box-shadow:0 1px 2px rgba(0,0,0,.02); transition:border-color .18s ease,box-shadow .18s ease; }
.nm-site .nm-plugin-card:hover { border-color:var(--nm-plugin-hover-line); box-shadow:0 6px 18px -10px rgba(0,0,0,.15); }
.nm-site .nm-plugin-card-main { display:flex; flex:1; flex-direction:column; gap:16px; min-width:0; padding:20px 20px 16px; color:inherit; }
.nm-site .nm-plugin-card-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.nm-site .nm-plugin-card-heading>div { min-width:0; }
.nm-site .nm-plugin-mark { display:flex; flex:none; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--nm-plugin-line); border-radius:10px; background:var(--nm-plugin-paper); color:var(--nm-plugin-ink); }
.nm-site .nm-plugin-mark .nm-plugin-icon { width:22px; height:22px; }
.nm-site .nm-plugin-kind, .nm-site .nm-plugin-eyebrow { margin:0; color:var(--nm-plugin-secondary); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; font-weight:500; line-height:1.5; letter-spacing:.06em; }
.nm-site .nm-plugin-card-heading h3 { margin:4px 0 0; color:var(--nm-plugin-ink); font-size:16px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.nm-site .nm-plugin-card-description { display:-webkit-box; min-height:42px; margin:0; overflow:hidden; color:var(--nm-plugin-secondary); font-size:13px; line-height:1.65; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.nm-site .nm-plugin-tags { display:flex; flex-wrap:wrap; gap:8px 16px; color:var(--nm-plugin-secondary); font-size:12px; line-height:1.5; }
.nm-site .nm-plugin-tags>span { display:inline-flex; align-items:center; gap:4px; }
.nm-site .nm-plugin-tags .nm-plugin-icon { flex:none; width:14px; height:14px; }
.nm-site .nm-plugin-card-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin:0 20px; padding:12px 0; border-top:1px solid var(--nm-plugin-line); }
.nm-site .nm-plugin-doc-link { display:inline-flex; align-items:center; gap:6px; min-height:40px; color:var(--nm-plugin-secondary); font-size:12px; }
.nm-site .nm-plugin-doc-link .nm-plugin-icon { width:14px; height:14px; transition:transform .18s ease; }
.nm-site .nm-plugin-doc-link:hover { color:var(--nm-plugin-blue); }
.nm-site .nm-plugin-doc-link:hover .nm-plugin-icon { transform:translateX(3px); }
.nm-site .nm-plugin-copy { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:7px 10px; border:1px solid var(--nm-plugin-line); border-radius:7px; background:var(--nm-plugin-paper); color:var(--nm-plugin-ink); font:inherit; font-size:12px; font-weight:500; line-height:1.4; cursor:pointer; transition:border-color .18s ease,transform .14s ease; }
.nm-site .nm-plugin-copy .nm-plugin-icon { width:14px; height:14px; }
.nm-site .nm-plugin-copy:hover { border-color:var(--nm-plugin-hover-line); }
.nm-site .nm-plugin-copy:active { transform:scale(.98); }
.nm-site .nm-plugin-copy:disabled { opacity:.55; cursor:wait; }
.nm-site :is(.nm-plugin-card,.nm-plugin-document,.nm-plugin-catalog) :is(a,button,pre,code):focus-visible { outline:2px solid var(--nm-plugin-blue); outline-offset:3px; }
.nm-site .nm-plugin-copy-fallback { max-height:240px; margin:0 20px 20px; padding:12px; overflow:auto; border:1px solid var(--nm-plugin-line); border-radius:8px; background:#fafafa; color:var(--nm-plugin-ink); font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.nm-site .nm-plugin-copy-fallback[hidden] { display:none; }
.nm-plugin-archive .nm-content, .nm-plugin-page .nm-content { display:flex; flex-direction:column; min-height:100vh; }
.nm-site .nm-plugin-catalog { flex:1; padding-top:36px; padding-bottom:64px; }
.nm-site .nm-plugin-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; color:var(--nm-plugin-secondary); font-size:13px; }
.nm-site .nm-plugin-breadcrumb a { color:inherit; }
.nm-site .nm-plugin-breadcrumb [aria-current] { color:var(--nm-plugin-ink); }
.nm-site .nm-plugin-catalog-heading { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:20px 32px; margin-bottom:32px; }
.nm-site .nm-plugin-catalog-heading .nm-plugin-eyebrow { margin-bottom:12px; font-size:12px; }
.nm-site .nm-plugin-catalog-heading h1 { margin:0 0 12px; color:var(--nm-plugin-ink); font-size:36px; font-weight:650; line-height:1.3; letter-spacing:-.6px; }
.nm-site .nm-plugin-catalog-heading p:not(.nm-plugin-eyebrow) { margin:0; color:var(--nm-plugin-secondary); font-size:14px; line-height:1.7; }
.nm-site .nm-plugin-catalog-heading .nm-plugin-catalog-count { font-size:12px; font-variant-numeric:tabular-nums; }
.nm-site .nm-plugin-category-nav { display:flex; gap:8px; max-width:100%; margin-bottom:28px; padding:3px 3px 8px; overflow-x:auto; scrollbar-width:thin; }
.nm-site .nm-plugin-category-nav a { flex:none; min-height:40px; padding:9px 14px; border:1px solid var(--nm-plugin-line); border-radius:999px; background:var(--nm-plugin-paper); color:var(--nm-plugin-secondary); font-size:13px; line-height:20px; white-space:nowrap; transition:border-color .18s ease,color .18s ease; }
.nm-site .nm-plugin-category-nav a:hover { border-color:var(--nm-plugin-hover-line); color:var(--nm-plugin-ink); }
.nm-site .nm-plugin-category-nav a[aria-current="page"] { border-color:var(--nm-plugin-blue); color:var(--nm-plugin-blue); font-weight:600; }
.nm-site .nm-plugin-catalog .nm-plugin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nm-site .nm-plugin-empty { padding:24px; border:1px solid var(--nm-plugin-line); border-radius:12px; background:var(--nm-plugin-paper); color:var(--nm-plugin-secondary); font-size:14px; line-height:1.8; }
.nm-site .nm-plugin-empty h2 { margin:0 0 8px; color:var(--nm-plugin-ink); font-size:20px; font-weight:600; }
.nm-site .nm-plugin-document { flex:1; padding-top:36px; padding-bottom:64px; color:var(--nm-plugin-ink); }
.nm-site .nm-plugin-document-heading { margin-bottom:40px; }
.nm-site .nm-plugin-document-title { display:flex; align-items:center; gap:16px; }
.nm-site .nm-plugin-document-title .nm-plugin-mark { width:48px; height:48px; border-radius:12px; }
.nm-site .nm-plugin-document-title .nm-plugin-eyebrow { margin-bottom:6px; font-size:11px; }
.nm-site .nm-plugin-document-title h1 { margin:0; color:var(--nm-plugin-ink); font-size:32px; font-weight:650; line-height:1.3; letter-spacing:-.4px; overflow-wrap:anywhere; }
.nm-site .nm-plugin-document-summary { max-width:800px; margin:20px 0 16px; color:var(--nm-plugin-secondary); font-size:15px; line-height:1.8; }
.nm-site .nm-plugin-doc-grid { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(0,1fr); align-items:start; gap:40px; }
.nm-site .nm-plugin-editorial { min-width:0; }
.nm-site .nm-plugin-dependencies { margin-bottom:32px; padding:0 0 24px; border-bottom:1px solid var(--nm-plugin-line); }
.nm-site .nm-plugin-dependencies h2, .nm-site .nm-plugin-prose h2 { margin:0 0 12px; color:var(--nm-plugin-ink); font-size:20px; font-weight:600; line-height:1.5; }
.nm-site .nm-plugin-dependencies p { margin:0; color:#525252; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.nm-site .nm-plugin-prose { color:#404040; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.nm-site .nm-plugin-prose h2 { margin-top:32px; }
.nm-site .nm-plugin-prose h3 { margin:24px 0 10px; color:var(--nm-plugin-ink); font-size:16px; font-weight:600; line-height:1.5; }
.nm-site .nm-plugin-prose p, .nm-site .nm-plugin-prose ul, .nm-site .nm-plugin-prose ol { margin:0 0 16px; }
.nm-site .nm-plugin-prose ul, .nm-site .nm-plugin-prose ol { padding-left:20px; }
.nm-site .nm-plugin-prose ul { list-style:disc; }
.nm-site .nm-plugin-prose ol { list-style:decimal; }
.nm-site .nm-plugin-prose li { margin:6px 0; }
.nm-site .nm-plugin-prose a, .nm-site .nm-plugin-source a { color:var(--nm-plugin-blue); text-decoration:underline; text-underline-offset:3px; }
.nm-site .nm-plugin-prose :not(pre)>code { padding:2px 5px; border-radius:4px; background:#ededed; color:#262626; font:12px ui-monospace,SFMono-Regular,Consolas,monospace; }
.nm-site .nm-plugin-prose pre { max-height:350px; padding:16px; overflow:auto; border:1px solid var(--nm-plugin-line); border-radius:8px; background:#fafafa; font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace; }
.nm-site .nm-plugin-source { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:32px; padding-top:20px; border-top:1px solid var(--nm-plugin-line); color:var(--nm-plugin-secondary); font-size:12px; line-height:1.7; }
.nm-site .nm-plugin-install { position:sticky; top:88px; min-width:0; }
.nm-site .nm-plugin-install-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
.nm-site .nm-plugin-install-heading h2 { margin:0; color:var(--nm-plugin-ink); font-size:16px; font-weight:600; }
.nm-site .nm-plugin-install-heading>span { color:var(--nm-plugin-secondary); font-size:12px; }
.nm-site .nm-plugin-terminal { overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:var(--nm-plugin-terminal); color:#eef0f4; box-shadow:0 8px 28px -14px rgba(0,0,0,.28); }
.nm-site .nm-plugin-terminal-head { display:flex; align-items:center; gap:8px; min-height:56px; padding:8px 12px; background:rgba(255,255,255,.03); }
.nm-site .nm-plugin-terminal-dots { display:inline-flex; flex:none; gap:4px; }
.nm-site .nm-plugin-terminal-dots i { width:7px; height:7px; border-radius:50%; background:#ff6c68; }
.nm-site .nm-plugin-terminal-dots i:nth-child(2) { background:#f8c74a; }
.nm-site .nm-plugin-terminal-dots i:nth-child(3) { background:#3bce75; }
.nm-site .nm-plugin-terminal-label { color:#9ca6b4; font:10px ui-monospace,SFMono-Regular,Consolas,monospace; }
.nm-site .nm-plugin-terminal-head .nm-plugin-copy { min-height:36px; margin-left:auto; border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.05); color:#eef0f4; }
.nm-site .nm-plugin-terminal-head .nm-plugin-copy:hover { border-color:rgba(255,255,255,.35); }
.nm-site .nm-plugin-environment-tabs { display:flex; gap:4px; padding:0 8px; overflow-x:auto; border-bottom:1px solid rgba(255,255,255,.09); scrollbar-width:thin; }
.nm-site .nm-plugin-environment-tabs a { flex:none; min-height:44px; padding:12px 8px; border-bottom:2px solid transparent; color:#a7b0bd; font-size:11px; font-weight:500; line-height:1.5; white-space:nowrap; }
.nm-site .nm-plugin-environment-tabs a:hover { color:#fff; }
.nm-site .nm-plugin-environment-tabs a[aria-selected="true"] { border-bottom-color:#eef0f4; color:#fff; }
.nm-site .nm-plugin-code-panel[hidden], .nm-site .nm-plugin-environment-note[hidden] { display:none; }
.nm-site .nm-plugin-code-panel pre { max-height:350px; margin:0; padding:20px 16px; overflow:auto; color:#e4e8ee; font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace; white-space:pre; tab-size:2; scrollbar-width:thin; scrollbar-color:#647081 transparent; }
.nm-site .nm-plugin-code-panel code { font:inherit; }
.nm-site .nm-plugin-terminal :is(a,button,pre):focus-visible { outline-color:#a6c7ff; outline-offset:-3px; }
.nm-site .nm-plugin-environment-note, .nm-site .nm-plugin-nojs { margin:16px 0 0; color:var(--nm-plugin-secondary); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.nm-plugin-toast { position:fixed; z-index:10000; right:24px; bottom:24px; max-width:min(420px,calc(100vw - 32px)); padding:12px 18px; border:1px solid #b7e8c6; border-radius:10px; background:#dcfce7; color:var(--nm-plugin-ink); box-shadow:0 6px 20px -8px rgba(0,0,0,.18); font-size:13px; line-height:1.5; opacity:0; pointer-events:none; transform:translateY(6px); transition:opacity .18s ease,transform .18s ease; }
.nm-plugin-toast[data-visible="true"] { opacity:1; transform:translateY(0); }
.nm-plugin-toast[data-state="error"] { border-color:#e5e5e5; background:#fff; }
@media(max-width:1200px) { .nm-site .nm-plugin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nm-site .nm-plugin-doc-grid { gap:28px; } }
@media(max-width:900px) { .nm-site .nm-plugin-doc-grid { grid-template-columns:1fr; gap:32px; } .nm-site .nm-plugin-install { position:static; } }
@media(max-width:600px) {
    .nm-site .nm-plugin-grid, .nm-site .nm-plugin-catalog .nm-plugin-grid { grid-template-columns:1fr; gap:16px; }
    .nm-site .nm-plugin-catalog, .nm-site .nm-plugin-document { padding-top:24px; padding-bottom:40px; }
    .nm-site .nm-plugin-breadcrumb { margin-bottom:24px; }
    .nm-site .nm-plugin-catalog-heading h1 { font-size:28px; }
    .nm-site .nm-plugin-document-title h1 { font-size:26px; }
    .nm-site .nm-plugin-document-title { gap:12px; }
    .nm-site .nm-plugin-document-title .nm-plugin-mark { width:40px; height:40px; border-radius:10px; }
    .nm-site .nm-plugin-document-heading { margin-bottom:32px; }
    .nm-site .nm-plugin-document-summary { font-size:14px; }
    .nm-plugin-toast { right:16px; bottom:16px; }
}
@media(prefers-reduced-motion:reduce) { .nm-site .nm-plugin-copy, .nm-site .nm-plugin-category-nav a, .nm-site .nm-plugin-doc-link .nm-plugin-icon, .nm-plugin-toast { transform:none!important; transition:none; } }
