@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/NotoSansSC-Variable.ttf") format("truetype-variations");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat-SemiBold.ttf") format("truetype");
    font-style: normal;
    font-weight: 600 900;
    font-display: swap;
}

:root {
    --nv-bg: #070b11;
    --nv-panel: #0e151f;
    --nv-panel-strong: #131d29;
    --nv-line: rgba(151, 170, 190, 0.19);
    --nv-line-strong: rgba(151, 170, 190, 0.34);
    --nv-text: #f3f7f9;
    --nv-muted: #9baab9;
    --nv-dim: #6f8091;
    --nv-accent: #38d6c7;
    --nv-accent-soft: rgba(56, 214, 199, 0.1);
    --nv-danger: #ff8ea3;
    --nv-header-height: 68px;
    --nv-font-sans: "Montserrat", "Noto Sans SC", sans-serif;
    --nv-font-display: "Montserrat", "Noto Sans SC", sans-serif;
    /* Chinese display copy and body copy share one open-source family.
       Hierarchy comes from weight, scale and spacing—not a second CJK typeface. */
    --nv-font-serif: "Montserrat", "Noto Sans SC", sans-serif;
}

[data-theme="light"] {
    --nv-bg: #f3f7f7;
    --nv-panel: #ffffff;
    --nv-panel-strong: #edf4f4;
    --nv-line: rgba(46, 75, 82, 0.14);
    --nv-line-strong: rgba(46, 75, 82, 0.26);
    --nv-text: #16262b;
    --nv-muted: #60727a;
    --nv-dim: #89979d;
    --nv-accent: #159e94;
    --nv-accent-soft: rgba(21, 158, 148, 0.09);
    --nv-danger: #c44761;
    --v2-panel: rgba(255, 255, 255, 0.96);
    --v2-panel-soft: rgba(245, 250, 250, 0.94);
    --v2-border: rgba(55, 82, 90, 0.14);
    --v2-border-strong: rgba(55, 82, 90, 0.26);
    --v2-text: #17272d;
    --v2-muted: #60727a;
    --v2-dim: #89979d;
    --v2-cyan: #159e94;
    --v2-blue: #2f93b8;
}

body.nv-shell-mounted {
    margin: 0;
    color: var(--nv-text);
    background-color: var(--nv-bg);
    font-family: var(--nv-font-sans);
}

#nv-particle-canvas { position: fixed; inset: 0; z-index: 0; width: 100vw; height: 100vh; pointer-events: none; opacity: .92; transition: opacity .25s ease; }
[data-theme="light"] #nv-particle-canvas { opacity: .58; }
.nv-shell-mounted > main,
.nv-site-footer { position: relative; z-index: 1; }

body.nv-shell-mounted :is(h1, h2, h3) {
    overflow-wrap: break-word;
    text-wrap: balance;
}

body.nv-shell-mounted :is(p, li) {
    overflow-wrap: break-word;
    text-wrap: pretty;
}

body.nv-shell-lock {
    overflow: hidden;
}

.nv-site-header,
.nv-site-footer,
.nv-overlay,
.nv-toast {
    box-sizing: border-box;
    color: var(--nv-text);
    font-family: var(--nv-font-sans);
}

.nv-site-header *,
.nv-site-footer *,
.nv-overlay *,
.nv-toast * {
    box-sizing: border-box;
}

.nv-site-header button,
.nv-site-footer button,
.nv-overlay button,
.nv-overlay input,
.nv-overlay textarea,
.nv-overlay select {
    font: inherit;
}

.nv-site-header a,
.nv-site-footer a,
.nv-overlay a {
    color: inherit;
    text-decoration: none;
}

.nv-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: var(--nv-header-height);
    border-bottom: 1px solid var(--nv-line);
    background: rgba(7, 11, 17, 0.92);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.nv-header-inner {
    width: min(1480px, calc(100% - 40px));
    min-height: var(--nv-header-height);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 28px;
}

.nv-wordmark {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--nv-text);
    font-size: 15px;
    font-weight: 780;
    letter-spacing: .055em;
}

.nv-wordmark-mark {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(56, 214, 199, .48);
    border-radius: 50%;
    color: var(--nv-accent);
    font-size: 11px;
    letter-spacing: -.04em;
    box-shadow: inset 0 0 20px rgba(56, 214, 199, .12);
}

.nv-wordmark em {
    color: var(--nv-accent);
    font-style: normal;
}

.nv-logo-lockup { display: inline-flex; align-items: center; min-height: 48px; }
.nv-logo-visual { position: relative; width: 156px; height: 48px; flex: none; overflow: hidden; }
.nv-logo-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nv-logo-image--dark { mix-blend-mode: screen; }
.nv-logo-image--light { display: none; mix-blend-mode: multiply; }
[data-theme="light"] .nv-logo-image--dark { display: none; }
[data-theme="light"] .nv-logo-image--light { display: block; }
.nv-logo-image[hidden] { display: none !important; }
.nv-logo-lockup.is-fallback .nv-logo-visual { display: none; }
.nv-logo-text { color: var(--nv-text); font-size: 15px; font-weight: 790; letter-spacing: .055em; }
.nv-logo-text[hidden] { display: none; }

.nv-primary-nav {
    display: flex;
    align-items: stretch;
    align-self: stretch;
    gap: 4px;
}

.nv-nav-item,
.nv-nav-link {
    position: relative;
    min-height: 100%;
    display: flex;
    align-items: center;
}

.nv-nav-item > summary,
.nv-nav-link {
    min-height: 100%;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 13px;
    border: 0;
    color: var(--nv-muted);
    background: transparent;
    cursor: pointer;
    list-style: none;
    font-size: 14px;
}

.nv-nav-item > summary::-webkit-details-marker { display: none; }
.nv-nav-item > summary::after { content: '⌄'; color: var(--nv-dim); font-size: 11px; transform: translateY(-1px); }
.nv-nav-item > summary:hover,
.nv-nav-link:hover,
.nv-nav-item[open] > summary,
.nv-nav-item.is-current > summary,
.nv-nav-link.is-current { color: var(--nv-text); }
.nv-nav-item.is-current::after,
.nv-nav-link.is-current::after { content: ''; position: absolute; left: 13px; right: 13px; bottom: 0; height: 2px; background: var(--nv-accent); }

.nv-dropdown {
    position: absolute;
    top: calc(100% - 8px);
    left: 0;
    width: 250px;
    padding: 8px;
    border: 1px solid var(--nv-line-strong);
    border-radius: 12px;
    background: rgba(14, 21, 31, .98);
    box-shadow: 0 22px 60px rgba(0, 0, 0, .42);
    z-index: 1100;
}

.nv-dropdown a {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 10px;
    padding: 10px;
    border-radius: 8px;
    color: var(--nv-muted);
}
.nv-dropdown a:hover { color: var(--nv-text); background: var(--nv-accent-soft); }
.nv-dropdown a > b { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--nv-line); border-radius: 8px; color: var(--nv-accent); font-size: 11px; }
.nv-dropdown a > b.nv-product-icon { position:relative; overflow:hidden; }
.nv-product-icon::before,.nv-product-icon::after,.nv-product-icon i,.nv-product-icon i::before,.nv-product-icon i::after{position:absolute;content:"";display:block;box-sizing:border-box}
.nv-product-icon.is-topic::before{width:8px;height:8px;left:10px;top:10px;border:2px solid var(--nv-accent);border-radius:50%}.nv-product-icon.is-topic::after{width:22px;height:22px;left:3px;top:3px;border:1px solid rgba(56,214,199,.45);border-radius:50%;border-left-color:transparent}
.nv-product-icon.is-industry i{left:5px;right:5px;top:13px;height:1px;background:rgba(56,214,199,.6)}.nv-product-icon.is-industry::before,.nv-product-icon.is-industry::after,.nv-product-icon.is-industry i::before{width:7px;height:7px;top:10px;border:1px solid var(--nv-accent);border-radius:2px;background:var(--nv-panel)}.nv-product-icon.is-industry::before{left:3px}.nv-product-icon.is-industry::after{right:3px}.nv-product-icon.is-industry i::before{left:6px;top:-3px}
.nv-product-icon.is-company::before{width:16px;height:18px;left:6px;top:5px;border:1px solid var(--nv-accent);border-radius:2px}.nv-product-icon.is-company::after{width:2px;height:2px;left:10px;top:9px;background:var(--nv-accent);box-shadow:6px 0 var(--nv-accent),0 5px var(--nv-accent),6px 5px var(--nv-accent),3px 10px var(--nv-accent)}
.nv-product-icon.is-ontology::before{width:6px;height:6px;left:11px;top:4px;border:1.5px solid var(--nv-accent);border-radius:50%;background:var(--nv-panel);box-shadow:-7px 15px 0 -1px var(--nv-panel),-7px 15px 0 0 var(--nv-accent),7px 15px 0 -1px var(--nv-panel),7px 15px 0 0 var(--nv-accent)}.nv-product-icon.is-ontology i{left:7px;top:9px;width:14px;height:12px}.nv-product-icon.is-ontology i::before,.nv-product-icon.is-ontology i::after{width:1px;height:13px;top:-1px;background:rgba(56,214,199,.62);transform-origin:top}.nv-product-icon.is-ontology i::before{left:5px;transform:rotate(31deg)}.nv-product-icon.is-ontology i::after{right:5px;transform:rotate(-31deg)}
.nv-product-icon.is-method::before{width:18px;height:14px;left:5px;top:7px;border:1px solid var(--nv-accent);border-radius:3px}.nv-product-icon.is-method::after{width:6px;height:6px;left:8px;top:11px;border:1px solid rgba(56,214,199,.65);box-shadow:7px 0 0 -1px var(--nv-panel),7px 0 0 0 rgba(56,214,199,.65)}
.nv-dropdown a span { display: block; }
.nv-dropdown a strong { display: block; font-size: 13px; font-weight: 650; }
.nv-dropdown a small { display: block; margin-top: 2px; color: var(--nv-dim); font-size: 11px; line-height: 1.4; }
.nv-wiki-dropdown { width: 292px; }
.nv-dropdown-group-label { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:5px 7px 4px; padding:8px 4px 6px; border-bottom:1px solid var(--nv-line); }
.nv-dropdown-group-label:not(:first-child) { margin-top:10px; }
.nv-dropdown-group-label span { color:var(--nv-accent); font-size:11px; font-weight:750; letter-spacing:.08em; }
.nv-dropdown-group-label small { color:var(--nv-dim); font-size:9px; }

.nv-header-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nv-icon-button,
.nv-follow-button,
.nv-account-button,
.nv-mobile-button {
    min-height: 38px;
    border: 1px solid var(--nv-line);
    border-radius: 9px;
    color: var(--nv-muted);
    background: rgba(255, 255, 255, .025);
    cursor: pointer;
}
.nv-icon-button { min-width: 38px; padding: 7px 9px; }
.nv-follow-button,
.nv-account-button { padding: 7px 12px; }
.nv-icon-button:hover,
.nv-follow-button:hover,
.nv-account-button:hover { color: var(--nv-text); border-color: rgba(56, 214, 199, .45); }
.nv-follow-button.is-active { color: var(--nv-accent); border-color: rgba(56, 214, 199, .45); background: var(--nv-accent-soft); }
.nv-account-button.is-signed-in { width: 38px; padding: 0; border-radius: 50%; color: #071012; background: var(--nv-accent); border-color: var(--nv-accent); font-weight: 800; }
.nv-mobile-button { display: none; min-width: 38px; padding: 7px; }

.nv-site-footer {
    margin-top: 76px;
    border-top: 1px solid var(--nv-line);
    background: #080d14;
}
.nv-footer-divider { width: 34px; height: 1px; margin: 18px 0 16px; background: var(--nv-line-strong); }
.nv-footer-inner { width: min(1400px, calc(100% - 40px)); margin: 0 auto; padding: 46px 0 24px; }
.nv-footer-main { display: grid; grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(120px, 1fr)); gap: 38px; }
.nv-footer-intro p { max-width: 330px; margin: 16px 0 18px; color: var(--nv-muted); font-size: 13px; line-height: 1.75; }
.nv-footer-report { min-height: 39px; padding: 8px 14px; border: 1px solid rgba(56, 214, 199, .4); border-radius: 9px; color: var(--nv-accent); background: var(--nv-accent-soft); cursor: pointer; }
.nv-footer-column h2 { margin: 0 0 13px; color: var(--nv-text); font-size: 13px; font-weight: 700; }
.nv-footer-column a,
.nv-footer-column button { display: block; width: fit-content; margin: 9px 0; padding: 0; border: 0; color: var(--nv-muted); background: none; cursor: pointer; font-size: 12px; text-align: left; }
.nv-footer-column a:hover,
.nv-footer-column button:hover { color: var(--nv-accent); }
.nv-footer-bottom { display: flex; justify-content: space-between; gap: 22px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--nv-line); color: var(--nv-dim); font-size: 11px; line-height: 1.6; }

.nv-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(2, 5, 9, .76);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
.nv-overlay.is-open { display: flex; }
.nv-overlay.is-drawer { align-items: stretch; justify-content: flex-end; padding: 0; background: rgba(2,5,9,.5); }
.nv-overlay.is-drawer .nv-dialog { width: min(520px, 100%); max-height: 100vh; height: 100%; border-width: 0 0 0 1px; border-radius: 0; animation: nv-drawer-in .22s ease-out; }
@keyframes nv-drawer-in { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }
.nv-dialog {
    width: min(520px, 100%);
    max-height: min(760px, calc(100vh - 40px));
    overflow: auto;
    border: 1px solid var(--nv-line-strong);
    border-radius: 16px;
    background: var(--nv-panel);
    box-shadow: 0 28px 90px rgba(0, 0, 0, .58);
}
.nv-dialog.is-wide { width: min(760px, 100%); }
.nv-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px 16px; border-bottom: 1px solid var(--nv-line); }
.nv-dialog-head h2 { margin: 0; color: var(--nv-text); font-size: 20px; line-height: 1.25; }
.nv-dialog-head p { margin: 6px 0 0; color: var(--nv-muted); font-size: 12px; line-height: 1.6; }
.nv-close { width: 34px; height: 34px; flex: none; border: 1px solid var(--nv-line); border-radius: 8px; color: var(--nv-muted); background: transparent; cursor: pointer; }
.nv-dialog-body { padding: 22px 24px 26px; }
.nv-auth-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 20px; }
.nv-auth-tab { min-height: 38px; border: 1px solid var(--nv-line); border-radius: 8px; color: var(--nv-muted); background: rgba(255,255,255,.02); cursor: pointer; }
.nv-auth-tab.is-active { color: var(--nv-text); border-color: rgba(56,214,199,.45); background: var(--nv-accent-soft); }
.nv-auth-panel[hidden] { display: none; }
.nv-field { display: grid; gap: 7px; margin-top: 15px; }
.nv-field > span { color: var(--nv-muted); font-size: 12px; }
.nv-field input,
.nv-field textarea,
.nv-field select { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid var(--nv-line-strong); border-radius: 9px; outline: none; color: var(--nv-text); background: #091019; }
.nv-field input::placeholder,
.nv-field textarea::placeholder { color: var(--nv-dim); opacity: 1; }
.nv-field textarea { min-height: 100px; resize: vertical; line-height: 1.6; }
.nv-field input:focus,
.nv-field textarea:focus,
.nv-field select:focus { border-color: rgba(56, 214, 199, .68); box-shadow: 0 0 0 3px rgba(56, 214, 199, .08); }
.nv-code-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.nv-secondary-button,
.nv-primary-button { min-height: 43px; padding: 9px 14px; border-radius: 9px; cursor: pointer; }
.nv-secondary-button { border: 1px solid var(--nv-line-strong); color: var(--nv-muted); background: rgba(255,255,255,.025); }
.nv-primary-button { width: 100%; margin-top: 18px; border: 1px solid var(--nv-accent); color: #071012; background: var(--nv-accent); font-weight: 750; }
.nv-primary-button:disabled { opacity: .5; cursor: wait; }
.nv-form-note { margin: 12px 0 0; color: var(--nv-dim); font-size: 11px; line-height: 1.65; }
.nv-preview-code { display: none; margin-top: 12px; padding: 10px 12px; border: 1px dashed rgba(255,202,88,.45); border-radius: 8px; color: #ffca58; background: rgba(255,202,88,.05); font-size: 12px; }
.nv-preview-code.is-visible { display: block; }
.nv-qr-wrap { display: grid; place-items: center; padding: 8px 0 2px; text-align: center; }
.nv-faux-qr { width: 164px; height: 164px; margin: 4px 0 16px; border: 10px solid #fff; background: repeating-conic-gradient(#0b1017 0 25%, #fff 0 50%) 0 / 18px 18px; box-shadow: 0 12px 36px rgba(0,0,0,.35); }
.nv-qr-wrap strong { font-size: 14px; }
.nv-qr-wrap p { max-width: 330px; margin: 8px auto 0; color: var(--nv-muted); font-size: 12px; line-height: 1.6; }

.nv-search-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 16px; }
.nv-search-card { padding: 14px; border: 1px solid var(--nv-line); border-radius: 10px; background: rgba(255,255,255,.02); }
.nv-search-card:hover { border-color: rgba(56,214,199,.45); }
.nv-search-card small { display: block; color: var(--nv-accent); font-size: 10px; }
.nv-search-card strong { display: block; margin-top: 5px; font-size: 13px; }

.nv-account-summary { display: grid; grid-template-columns: 46px 1fr; gap: 13px; align-items: center; padding: 14px; border: 1px solid var(--nv-line); border-radius: 11px; background: rgba(255,255,255,.02); }
.nv-account-avatar { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: #071012; background: var(--nv-accent); font-weight: 800; }
.nv-account-summary strong { display: block; font-size: 14px; }
.nv-account-summary small { display: block; margin-top: 3px; color: var(--nv-muted); font-size: 11px; }
.nv-account-nav { display: flex; gap: 6px; margin: 18px 0 14px; overflow-x: auto; }
.nv-account-nav button { flex: none; min-height: 35px; padding: 7px 11px; border: 1px solid var(--nv-line); border-radius: 8px; color: var(--nv-muted); background: transparent; cursor: pointer; }
.nv-account-nav button.is-active { color: var(--nv-text); border-color: rgba(56,214,199,.45); background: var(--nv-accent-soft); }
.nv-account-panel[hidden] { display: none; }
.nv-empty { padding: 24px 14px; border: 1px dashed var(--nv-line-strong); border-radius: 10px; color: var(--nv-dim); font-size: 12px; text-align: center; }
.nv-list { display: grid; gap: 8px; }
.nv-list-item { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 12px 13px; border: 1px solid var(--nv-line); border-radius: 9px; background: rgba(255,255,255,.018); }
.nv-list-item strong { display: block; font-size: 13px; }
.nv-list-item small { display: block; margin-top: 4px; color: var(--nv-dim); font-size: 10px; }
.nv-status { align-self: start; padding: 4px 7px; border-radius: 999px; color: var(--nv-accent); background: var(--nv-accent-soft); font-size: 10px; white-space: nowrap; }
.nv-account-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--nv-line); }
.nv-text-button { border: 0; color: var(--nv-muted); background: transparent; cursor: pointer; font-size: 12px; }
.nv-text-button.is-danger { color: var(--nv-danger); }

.nv-toast { position: fixed; right: 22px; bottom: 22px; z-index: 1300; max-width: min(390px, calc(100% - 44px)); padding: 11px 14px; border: 1px solid rgba(56,214,199,.45); border-radius: 9px; color: var(--nv-accent); background: #0b121b; box-shadow: 0 16px 46px rgba(0,0,0,.45); font-size: 12px; opacity: 0; transform: translateY(8px); pointer-events: none; transition: 180ms ease; }
.nv-toast.is-visible { opacity: 1; transform: translateY(0); }

.nv-page-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 7px; min-height: 38px; }
.nv-page-action { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--nv-line-strong); border-radius: 10px; color: var(--nv-muted); background: color-mix(in srgb, var(--nv-panel) 88%, transparent); cursor: pointer; font-size: 19px; line-height: 1; }
.nv-page-action:hover { color: var(--nv-accent); border-color: color-mix(in srgb, var(--nv-accent) 55%, transparent); }
.nv-page-action.is-active { color: #e5ad2f; border-color: rgba(229, 173, 47, .48); background: rgba(229, 173, 47, .08); }
.nv-version-button { padding: 0; border: 0; border-bottom: 1px dashed currentColor; color: inherit; background: none; cursor: pointer; font-weight: inherit; }

.nv-edit-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.nv-edit-choice-grid button,
.nv-edit-choice-grid a { min-height: 94px; display: block; padding: 14px; border: 1px solid var(--nv-line); border-radius: 10px; color: var(--nv-muted); background: rgba(255,255,255,.018); cursor: pointer; text-align: left; }
.nv-edit-choice-grid button:hover,
.nv-edit-choice-grid a:hover { border-color: color-mix(in srgb, var(--nv-accent) 50%, transparent); background: var(--nv-accent-soft); }
.nv-edit-choice-grid strong { display: block; color: var(--nv-text); font-size: 13px; }
.nv-edit-choice-grid span { display: block; margin-top: 6px; font-size: 11px; line-height: 1.55; }
.nv-edit-banner { position: sticky; top: var(--nv-header-height); z-index: 990; min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 8px 20px; border-bottom: 1px solid rgba(56,214,199,.36); color: var(--nv-accent); background: color-mix(in srgb, var(--nv-panel) 95%, transparent); font-size: 12px; }
.nv-edit-banner button { border: 0; color: var(--nv-text); background: transparent; cursor: pointer; text-decoration: underline; }
.nv-edit-target { position: relative; }
.nv-section-edit { display: none; position: absolute; z-index: 8; top: 10px; right: 12px; width: 30px; height: 30px; align-items: center; justify-content: center; margin: 0; padding: 0; border: 1px solid color-mix(in srgb, var(--nv-accent) 42%, transparent); border-radius: 8px; color: var(--nv-accent); background: color-mix(in srgb, var(--nv-panel) 96%, var(--nv-accent-soft)); box-shadow: 0 6px 18px rgba(0,0,0,.12); cursor: pointer; font-size: 14px; line-height: 1; }
.nv-edit-mode .nv-section-edit { display: inline-flex; }
.nv-version-current { display: grid; grid-template-columns: 1fr auto; gap: 5px 14px; margin-bottom: 14px; padding: 14px; border: 1px solid var(--nv-line); border-radius: 10px; background: var(--nv-accent-soft); }
.nv-version-current small { grid-column: 1 / -1; color: var(--nv-muted); }
.nv-version-current strong { color: var(--nv-text); }
.nv-version-current span { color: var(--nv-muted); font-size: 11px; }

.v2-hero-side,
.topic-hero-side,
.company-hero-side { display: grid; align-content: start; gap: 10px; min-width: 0; }
.v2-hero-side > .nv-page-actions,
.topic-hero-side > .nv-page-actions,
.company-hero-side > .nv-page-actions { justify-self: end; }
.ip-title-actions { display: inline-flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.ip-title-actions .nv-page-actions { min-height: auto; }
.company-report-meta { margin: 20px 0 40px; padding: 13px 16px; border: 1px solid var(--nv-line); border-radius: 10px; color: var(--nv-dim); background: color-mix(in srgb, var(--nv-panel) 80%, transparent); font-size: 11px; line-height: 1.7; }

.nv-shell-mounted .v2-primary-tabs { top: var(--nv-header-height); }
.nv-shell-mounted .topic-anchor-nav { top: var(--nv-header-height); }
.nv-shell-mounted #ip-industry-page { width: min(1400px, calc(100% - 40px)); margin: 24px auto 0; }

[data-theme="light"] .nv-site-header { background: #fff; }
[data-theme="light"] .nv-site-footer { background: #edf4f4; }
[data-theme="light"] .nv-dropdown,
[data-theme="light"] .nv-toast { background: rgba(255,255,255,.98); }
[data-theme="light"] .nv-field input,
[data-theme="light"] .nv-field textarea,
[data-theme="light"] .nv-field select { color: #16262b; border-color: rgba(46,75,82,.28); background: #f8fbfb; }
[data-theme="light"] .nv-field input::placeholder,
[data-theme="light"] .nv-field textarea::placeholder { color: #7c8c92; }
[data-theme="light"] body.dna-v2-body { background: radial-gradient(circle at 16% 0%, rgba(21,158,148,.09), transparent 30%), #f3f7f7; }
[data-theme="light"] .dna-v2-body .v2-primary-tabs { background: rgba(243,247,247,.92); }
[data-theme="light"] .dna-v2-body .v2-company-summary,
[data-theme="light"] .dna-v2-body .v2-section-head p { color: #53676f; }

@media (max-width: 1040px) {
    .nv-primary-nav { display: none; }
    .nv-mobile-button { display: inline-block; }
    .nv-site-header.is-menu-open .nv-primary-nav { position: absolute; top: var(--nv-header-height); left: 0; right: 0; display: grid; align-self: auto; gap: 0; padding: 10px 20px 16px; border-bottom: 1px solid var(--nv-line); background: rgba(7,11,17,.98); }
    .nv-site-header.is-menu-open .nv-nav-item,
    .nv-site-header.is-menu-open .nv-nav-link { display: block; min-height: 44px; }
    .nv-site-header.is-menu-open .nv-nav-item > summary,
    .nv-site-header.is-menu-open .nv-nav-link { min-height: 44px; padding: 0 8px; }
    .nv-site-header.is-menu-open .nv-dropdown { position: static; width: 100%; margin-bottom: 8px; box-shadow: none; }
    .nv-site-header.is-menu-open .nv-nav-item.is-current::after,
    .nv-site-header.is-menu-open .nv-nav-link.is-current::after { display: none; }
    [data-theme="light"] .nv-site-header.is-menu-open .nv-primary-nav { background: #fff; }
}

@media (max-width: 760px) {
    :root { --nv-header-height: 60px; }
    .nv-header-inner { width: min(100% - 24px, 1480px); min-height: var(--nv-header-height); gap: 12px; }
    .nv-wordmark-mark { width: 30px; height: 30px; }
    .nv-logo-lockup { min-height: 40px; }
    .nv-logo-visual { width: 132px; height: 40px; }
    .nv-logo-text { font-size: 13px; }
    .nv-header-actions { gap: 6px; }
    .nv-follow-button { max-width: 102px; overflow: hidden; white-space: nowrap; }
    .nv-footer-inner { width: min(100% - 28px, 1400px); padding-top: 34px; }
    .nv-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; }
    .nv-footer-intro { grid-column: 1 / -1; }
    .nv-footer-bottom { flex-direction: column; }
    .nv-dialog-head { padding: 19px 18px 14px; }
    .nv-dialog-body { padding: 18px; }
    .nv-search-grid { grid-template-columns: 1fr; }
    .nv-edit-choice-grid { grid-template-columns: 1fr; }
    .nv-shell-mounted #ip-industry-page { width: min(100% - 24px, 1400px); margin-top: 14px; }
    .ip-title-actions { width: 100%; justify-content: space-between; }
}

@media (max-width: 430px) {
    .nv-follow-button { display: none; }
    .nv-footer-main { grid-template-columns: 1fr; }
    .nv-footer-intro { grid-column: auto; }
    .nv-auth-tabs { grid-template-columns: 1fr; }
    .nv-code-row { grid-template-columns: 1fr; }
}
