@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:2px;height:20px;left:13px;top:4px;background:linear-gradient(to bottom,rgba(56,214,199,.35) 0 28%,transparent 28% 72%,rgba(56,214,199,.35) 72%)}.nv-product-icon.is-topic::after{width:20px;height:2px;left:4px;top:13px;background:linear-gradient(to right,rgba(56,214,199,.35) 0 28%,transparent 28% 72%,rgba(56,214,199,.35) 72%)}.nv-product-icon.is-topic i{width:7px;height:7px;left:10.5px;top:10.5px;background:var(--nv-accent);border-radius:50%;box-shadow:0 0 0 3px rgba(56,214,199,.12)}.nv-product-icon.is-topic i::before,.nv-product-icon.is-topic i::after{width:1px;height:18px;left:3px;top:-5px;background:linear-gradient(to bottom,rgba(56,214,199,.28) 0 25%,transparent 25% 75%,rgba(56,214,199,.28) 75%)}.nv-product-icon.is-topic i::before{transform:rotate(45deg)}.nv-product-icon.is-topic i::after{transform:rotate(-45deg)}
.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{background:url("../icons/nav-dna.svg") center/23px 23px no-repeat}
.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{content:">>>";inset:0;display:grid;place-items:center;color:var(--nv-accent);font-family:Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:-2px;line-height:1;transform:translate(-1px,-1px)}
.nv-product-icon.is-deal i{width:20px;height:11px;left:4px;top:7px;border-bottom:2px solid var(--nv-accent);border-radius:0 0 52% 52%;transform:rotate(-29deg);transform-origin:50% 50%}
.nv-product-icon.is-workforce::before{width:7px;height:7px;left:10px;top:4px;border:1.6px solid var(--nv-accent);border-radius:50%}.nv-product-icon.is-workforce::after{width:13px;height:12px;left:7px;top:13px;border:1.6px solid var(--nv-accent);border-bottom:0;border-radius:7px 7px 2px 2px}.nv-product-icon.is-workforce i{width:1px;height:8px;left:14px;top:16px;background:rgba(56,214,199,.55)}
.nv-product-icon.is-projects::before{width:16px;height:18px;left:6px;top:5px;border:1px solid rgba(56,214,199,.55);border-radius:2px}.nv-product-icon.is-projects::after{width:4px;height:2px;left:9px;top:10px;border-left:1.5px solid var(--nv-accent);border-bottom:1.5px solid var(--nv-accent);transform:rotate(-45deg);box-shadow:5px 5px 0 -1px var(--nv-panel),6px 6px 0 -1px var(--nv-accent)}.nv-product-icon.is-projects i{width:6px;height:1px;right:7px;top:11px;background:rgba(56,214,199,.55);box-shadow:0 6px 0 rgba(56,214,199,.55)}
.nv-product-icon.is-memory::before{width:18px;height:18px;left:5px;top:5px;border:1px solid rgba(56,214,199,.45);border-radius:50%}.nv-product-icon.is-memory::after{width:10px;height:10px;left:9px;top:9px;border:1.5px solid var(--nv-accent);border-radius:50%}
.nv-product-icon.is-about::before{content:"∞";inset:0;display:grid;place-items:center;color:var(--nv-accent);font-family:Arial,sans-serif;font-size:24px;font-weight:400;line-height:1;transform:translateY(-1px)}
.nv-product-icon.is-collaboration{background:url("../icons/nav-handshake.svg") center/23px 23px no-repeat}
.nv-product-icon.is-contact::before{width:19px;height:14px;left:4px;top:6px;border:1.5px solid var(--nv-accent);border-radius:4px}.nv-product-icon.is-contact::after{width:7px;height:7px;left:7px;top:16px;border-left:1.5px solid var(--nv-accent);transform:skew(-28deg)}
.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-product-dropdown { width: 292px; }
.nv-about-dropdown { width: 280px; }
.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-dropdown a.nv-dropdown-group-link { display:flex; grid-template-columns:none; align-items:baseline; justify-content:space-between; gap:12px; margin:5px 7px 4px; padding:8px 4px 6px; border-bottom:1px solid var(--nv-line); border-radius:0; color:inherit; }
.nv-dropdown a.nv-dropdown-group-link:hover { border-bottom-color:rgba(56,214,199,.5); background:transparent; }
.nv-dropdown-sublist { display:grid; gap:2px; margin:0 0 5px; padding-left:0; border-left:0; }
.nv-dropdown-sublist a { padding:10px; }
.nv-dropdown-sublist a > b { width:30px; height:30px; }

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

.nv-icon-button,
.nv-vivi-nav-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-vivi-nav-button { width:38px; min-width:38px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0; overflow:hidden; }
.nv-vivi-nav-button span { width:100%; height:100%; display:grid; flex:1 1 auto; place-items:center; border-radius:inherit; }
.nv-vivi-nav-button .nv-vivi-nav-avatar { position:relative; overflow:hidden; border:0; background:#ececec; box-shadow:none; }
.nv-vivi-nav-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.nv-vivi-nav-button .nv-vivi-nav-avatar::after { content:attr(data-label); position:absolute; left:50%; bottom:1px; transform:translateX(calc(-50% + 1px)); color:#fff; font-size:11px; line-height:1; font-weight:700; letter-spacing:-.2px; text-shadow:0 1px 2px rgba(0,0,0,.5); pointer-events:none; }
.nv-follow-button,
.nv-account-button { padding: 7px 12px; }
.nv-icon-button:hover,
.nv-vivi-nav-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; padding-left: 8px; color: var(--nv-muted); font-size: 13px; line-height: 1.75; }
.nv-footer-intro p span { display: block; }
.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-column a.nv-footer-product-family { display:flex; align-items:baseline; gap:7px; }
.nv-footer-product-family span { font-weight:400; }
.nv-footer-product-family small { color:var(--nv-accent); font-size:9px; font-weight:400; letter-spacing:.05em; text-transform:uppercase; }
.nv-footer-subnav { margin:2px 0 12px 4px; padding-left:12px; border-left:1px solid var(--nv-line-strong); }
.nv-footer-column .nv-footer-subnav a { margin:7px 0; color:var(--nv-dim); font-size:11px; }
.nv-footer-column a.nv-footer-product-root { font-weight:400; }
.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-footer-legal { display:grid; gap:3px; }

.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 { display:block; width:100%; padding: 14px; border: 1px solid var(--nv-line); border-radius: 10px; color:var(--nv-text); background: rgba(255,255,255,.02); cursor:pointer; text-align:left; }
.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-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.nv-vivi-launcher { position:fixed; z-index:1180; right:18px; bottom:18px; width:126px; height:154px; display:block; padding:0; border:0; border-radius:22px; color:var(--nv-text); background:transparent; cursor:pointer; }
.nv-vivi-launcher[hidden] { display:none; }
.nv-vivi-launcher:focus-visible { outline:2px solid color-mix(in srgb,var(--nv-accent) 72%,transparent); outline-offset:4px; }
.nv-vivi-launcher[aria-expanded="true"] { opacity: 0; pointer-events: none; }
.nv-vivi-companion { position:absolute; z-index:1; inset:0 0 24px; display:block; transition:transform .2s ease; pointer-events:none; }
.nv-vivi-companion img { position:absolute; left:50%; bottom:0; display:block; max-width:none; transform:translateX(-50%); }
.nv-vivi-companion .is-full { width:auto; height:132px; filter:drop-shadow(0 15px 18px rgba(0,0,0,.25)); }
.nv-vivi-companion .is-avatar { display:none; }
.nv-vivi-launcher-label { position:absolute; z-index:2; right:9px; bottom:0; left:9px; min-height:42px; display:grid; place-content:center; gap:1px; box-sizing:border-box; padding:7px 12px; border:1px solid color-mix(in srgb,var(--nv-accent) 38%,var(--nv-line)); border-radius:999px; background:color-mix(in srgb,var(--nv-panel) 94%,transparent); box-shadow:0 12px 32px rgba(0,0,0,.2); backdrop-filter:blur(16px); text-align:center; transition:border-color .2s ease,transform .2s ease; }
.nv-vivi-launcher:hover .nv-vivi-companion { transform:translateY(-5px); }
.nv-vivi-launcher:hover .nv-vivi-launcher-label { border-color:color-mix(in srgb,var(--nv-accent) 68%,transparent); transform:translateY(-1px); }
.nv-vivi-launcher strong { font-size: 13px; line-height: 1.1; }
.nv-vivi-launcher small { color: var(--nv-dim); font-size: 10px; line-height: 1.1; }
.nv-vivi-panel { position: fixed; z-index: 1190; right: 24px; bottom: 24px; width: min(390px, calc(100vw - 32px)); max-height: min(720px, calc(100vh - var(--nv-header-height) - 36px)); box-sizing:border-box; overflow: hidden; border: 1px solid var(--nv-line-strong); border-radius: 18px; color: var(--nv-text); background: color-mix(in srgb, var(--nv-panel) 97%, transparent); box-shadow: 0 24px 70px rgba(0,0,0,.34); backdrop-filter: blur(20px); }
.nv-vivi-panel[hidden] { display: none; }
.nv-vivi-head { position:relative; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px 11px 18px; border-bottom: 1px solid var(--nv-line); }
.nv-vivi-panel .nv-vivi-head { min-height:78px; padding:10px 14px 10px 16px; }
.nv-vivi-head > div:first-child { display: grid; gap: 2px; }
.nv-vivi-panel .nv-vivi-head > .nv-vivi-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.nv-vivi-identity > div { display:grid; gap:2px; min-width:0; }
.nv-vivi-avatar { width:56px; height:56px; flex:0 0 56px; overflow:hidden; border:1px solid color-mix(in srgb,var(--nv-accent) 46%,var(--nv-line)); border-radius:15px; background:#ececec; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.nv-vivi-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.nv-vivi-head strong { color: var(--nv-accent); font-size: 16px; }
.nv-vivi-head span { color: var(--nv-dim); font-size: 10px; }
.nv-vivi-head button { width: 34px; height: 34px; border: 0; border-radius: 9px; color: var(--nv-muted); background: transparent; cursor: pointer; font-size: 22px; }
.nv-vivi-head button:hover { color: var(--nv-text); background: var(--nv-accent-soft); }
.nv-vivi-head-actions { display:flex; align-items:center; gap:2px; }
.nv-vivi-head-actions [data-nv-vivi-menu] { font-size:14px; letter-spacing:1px; }
.nv-vivi-menu { position:absolute; z-index:3; top:70px; right:12px; width:min(260px,calc(100vw - 44px)); display:grid; gap:4px; padding:8px; border:1px solid var(--nv-line-strong); border-radius:11px; background:var(--nv-panel-strong); box-shadow:0 18px 44px rgba(0,0,0,.34); }
.nv-vivi-menu[hidden] { display:none; }
.nv-vivi-menu button { width:100%; height:auto; min-height:36px; padding:8px 10px; border-radius:7px; color:var(--nv-muted); font-size:11px; text-align:left; }
.nv-vivi-menu span { padding:7px 10px 2px; color:var(--nv-dim); font-size:9px; line-height:1.5; }
.nv-vivi-menu kbd { justify-self:start; margin:0 10px 7px; padding:3px 6px; border:1px solid var(--nv-line); border-radius:5px; color:var(--nv-muted); background:rgba(255,255,255,.03); font:600 9px/1.2 ui-monospace,monospace; }
.nv-vivi-chat-view,.nv-vivi-contribution-view { max-height: calc(min(720px, 100vh - var(--nv-header-height) - 36px) - 78px); overflow: auto; }
.nv-vivi-privacy { margin: 13px 14px 0; padding: 9px 11px; border-radius: 9px; color: var(--nv-dim); background: rgba(255,255,255,.025); font-size: 10px; line-height: 1.55; }
.nv-vivi-quick { display: flex; flex-wrap: wrap; gap: 7px; padding: 11px 14px 0; }
.nv-vivi-quick button,.nv-vivi-organize,.nv-vivi-back { min-height: 31px; padding: 6px 9px; border: 1px solid var(--nv-line); border-radius: 8px; color: var(--nv-muted); background: transparent; cursor: pointer; font-size: 10px; }
.nv-vivi-quick button:hover,.nv-vivi-organize:hover,.nv-vivi-back:hover { color: var(--nv-accent); border-color: rgba(56,214,199,.4); background: var(--nv-accent-soft); }
.nv-vivi-messages { min-height: 230px; max-height: 350px; display: grid; align-content: start; gap: 12px; overflow-y: auto; padding: 15px 14px; }
.nv-vivi-message { width:min(94%,350px); display:grid; gap:5px; }
.nv-vivi-message.is-user { justify-self: end; }
.nv-vivi-message .nv-vivi-message-head { display:flex !important; align-items:center !important; gap:7px !important; min-height:18px !important; line-height:1 !important; }
.nv-vivi-message .nv-vivi-message-head > strong { color:var(--nv-dim) !important; font-size:10px !important; line-height:1 !important; font-weight:760 !important; letter-spacing:.06em !important; text-transform:uppercase !important; }
.nv-vivi-message .nv-vivi-message-head > .nv-vivi-source { display:inline-flex !important; align-items:center !important; min-height:16px !important; padding:2px 6px !important; border:1px solid var(--nv-line) !important; border-radius:999px !important; color:var(--nv-dim) !important; background:rgba(255,255,255,.025) !important; font-size:7px !important; line-height:1 !important; font-weight:750 !important; letter-spacing:.02em !important; }
.nv-vivi-source.is-configured_ai { color:var(--nv-accent); border-color:color-mix(in srgb,var(--nv-accent) 38%,var(--nv-line)); background:var(--nv-accent-soft); }
.nv-vivi-source.is-frontend_error { color:#d66b78; }
.nv-vivi-message-content { padding:10px 11px; border:1px solid var(--nv-line); border-radius:11px 11px 11px 3px; color:var(--nv-muted); background:rgba(255,255,255,.025); }
.nv-vivi-message.is-user .nv-vivi-message-content { color:var(--nv-text); border-color:rgba(56,214,199,.24); border-radius:11px 11px 3px 11px; background:var(--nv-accent-soft); }
.nv-vivi-message.is-introduction { width:100%; max-width:none; }
.nv-vivi-message.is-introduction .nv-vivi-message-content { padding:0; overflow:hidden; }
.nv-vivi-message.is-introduction .nv-vivi-rich { padding:12px 13px 14px; }
.nv-vivi-introduction-visual { position:relative; height:150px; margin:0; overflow:hidden; background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--nv-accent) 15%,transparent),transparent 52%); }
.nv-vivi-introduction-visual::after { content:''; position:absolute; inset:auto 0 0; height:34%; background:linear-gradient(transparent,rgba(255,255,255,.025)); }
.nv-vivi-introduction-visual img { position:absolute; left:50%; bottom:-4px; width:auto; height:158px; max-width:none; transform:translateX(-50%); }
.nv-vivi-rich { display:grid; gap:8px; font-size:12px; line-height:1.65; }
.nv-vivi-rich h3 { margin:3px 0 0; color:var(--nv-text); font-size:12px; line-height:1.4; letter-spacing:.01em; }
.nv-vivi-rich h3:first-child { margin-top:0; }
.nv-vivi-rich p { margin:0; }
.nv-vivi-rich ul,.nv-vivi-rich ol { display:grid; gap:5px; margin:0; padding-left:18px; }
.nv-vivi-rich li { padding-left:1px; }
.nv-vivi-rich strong { color:var(--nv-text); font-weight:760; }
.nv-vivi-rich blockquote { margin:0; padding:7px 9px; border-left:2px solid color-mix(in srgb,var(--nv-accent) 44%,transparent); border-radius:0 7px 7px 0; color:var(--nv-dim); background:rgba(255,255,255,.025); font-size:10px; }
.nv-vivi-user-content { display:grid; gap:8px; }
.nv-vivi-user-question { margin:0; font-size:12px; line-height:1.65; white-space:pre-wrap; }
.nv-vivi-user-quote { margin:0; padding:7px 9px; border:1px solid color-mix(in srgb,var(--nv-line) 82%,transparent); border-radius:8px; color:var(--nv-dim); background:color-mix(in srgb,var(--nv-panel) 45%,transparent); font-size:10px; }
.nv-vivi-user-quote summary { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--nv-dim); cursor:pointer; font-size:9px; font-weight:700; letter-spacing:.04em; list-style:none; }
.nv-vivi-user-quote summary::-webkit-details-marker { display:none; }
.nv-vivi-user-quote summary::after { content:'展开全文'; font-weight:500; letter-spacing:0; }
.nv-vivi-user-quote[open] summary::after { content:'收起'; }
.nv-vivi-user-quote blockquote { max-height:150px; margin:7px 0 0; overflow:auto; color:var(--nv-muted); font-size:10px; line-height:1.65; white-space:pre-wrap; }
.nv-vivi-thinking { color: var(--nv-dim); font-size: 10px; }
.nv-vivi-composer { display: grid; grid-template-columns: 1fr 38px; gap: 8px; margin: 0 14px; padding: 11px 0 9px; border-top: 1px solid var(--nv-line); }
.nv-vivi-composer textarea { min-height: 42px; max-height: 110px; resize: vertical; padding: 10px 11px; border: 1px solid var(--nv-line-strong); border-radius: 10px; color: var(--nv-text); background: rgba(255,255,255,.025); font: inherit; font-size: 12px; line-height: 1.5; }
.nv-vivi-composer button { align-self: end; width: 38px; height: 38px; border: 0; border-radius: 10px; color: #041615; background: var(--nv-accent); cursor: pointer; font-size: 18px; }
.nv-vivi-organize { width: calc(100% - 28px); margin: 0 14px 14px; }
.nv-vivi-contribution-view { padding: 14px; }
.nv-vivi-contribution-view form { display: grid; gap: 12px; }
.nv-vivi-contribution-view h2 { margin: 3px 0 0; font-size: 17px; }
.nv-vivi-contribution-view form > p { margin: -5px 0 2px; color: var(--nv-dim); font-size: 10px; line-height: 1.55; }
.nv-vivi-back { justify-self: start; margin-bottom: 12px; border: 0; padding-left: 0; }
.nv-vivi-target-preview,.nv-note-quote { display:grid; gap:7px; padding:11px 12px; border:1px solid var(--nv-line); border-radius:10px; background:rgba(255,255,255,.025); }
.nv-vivi-target-preview > span,.nv-note-quote > span { color:var(--nv-muted); font-size:11px; font-weight:700; }
.nv-vivi-target-preview blockquote,.nv-note-quote blockquote { max-height:130px; margin:0; overflow:auto; color:var(--nv-text); font-size:12px; line-height:1.65; white-space:pre-wrap; }
.nv-vivi-target-preview blockquote { padding-left:10px; border-left:2px solid color-mix(in srgb,var(--nv-accent) 55%,transparent); }
.nv-vivi-target-preview small,.nv-note-quote small { color:var(--nv-dim); font-size:9px; }
.nv-vivi-confirm { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: start; color: var(--nv-muted); font-size: 10px; line-height: 1.55; }
.nv-vivi-confirm input { margin-top: 2px; accent-color: var(--nv-accent); }
.nv-vivi-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; }
.nv-vivi-submit-status { display: grid; gap: 4px; color: var(--nv-dim); font-size: 10px; line-height: 1.5; }
.nv-vivi-submit-status strong { color: var(--nv-accent); font-size: 12px; }
.nv-vivi-cited { outline: 2px solid color-mix(in srgb, var(--nv-accent) 55%, transparent); outline-offset: 5px; transition: outline-color .2s ease; }
.nv-selection-tools { position:fixed; z-index:1185; transform:translate(-50%,-100%); display:inline-flex; align-items:center; gap:4px; padding:4px; border:1px solid color-mix(in srgb,var(--nv-accent) 38%,var(--nv-line)); border-radius:12px; background:var(--nv-panel-strong); box-shadow:0 12px 32px rgba(0,0,0,.3); backdrop-filter:blur(16px); }
.nv-selection-tools[hidden] { display:none; }
.nv-selection-tools button { min-height:36px; display:inline-flex; align-items:center; gap:6px; padding:7px 10px 7px 8px; border:0; border-radius:8px; color:var(--nv-text); background:transparent; cursor:pointer; font:650 10px/1 var(--nv-font-sans); white-space:nowrap; }
.nv-selection-tools button:hover,.nv-selection-tools button:focus-visible { color:var(--nv-accent); outline:none; background:var(--nv-accent-soft); }
.nv-selection-tools span { width:20px; height:20px; display:grid; place-items:center; border-radius:6px; color:var(--nv-text); background:rgba(255,255,255,.07); font-size:11px; font-weight:850; }
.nv-selection-tools span.is-vivi { border-radius:50%; color:#041615; background:var(--nv-accent); font-size:9px; }
.nv-note-panel { position:fixed; z-index:1192; right:24px; bottom:24px; width:min(390px,calc(100vw - 32px)); max-height:min(720px,calc(100vh - var(--nv-header-height) - 36px)); box-sizing:border-box; overflow:hidden; border:1px solid var(--nv-line-strong); border-radius:18px; color:var(--nv-text); background:color-mix(in srgb,var(--nv-panel) 97%,transparent); box-shadow:0 24px 70px rgba(0,0,0,.34); backdrop-filter:blur(20px); }
.nv-note-panel[hidden] { display:none; }
.nv-note-form { display:grid; gap:13px; max-height:calc(min(720px,100vh - var(--nv-header-height) - 36px) - 64px); overflow:auto; padding:14px; }
.nv-note-form textarea { min-height:150px; }
.nv-note-form > p { margin:-3px 0 0; color:var(--nv-dim); font-size:10px; line-height:1.55; }
.nv-note-status { display:grid; gap:4px; color:var(--nv-dim); font-size:10px; line-height:1.5; }
.nv-note-status strong { color:var(--nv-accent); font-size:12px; }
.nv-note-status a { color:var(--nv-accent); }
.nv-saved-highlight { margin:0; padding:0 1px; border-bottom:2px solid color-mix(in srgb,var(--nv-accent) 68%,transparent); border-radius:2px; color:inherit; background:linear-gradient(transparent 66%,color-mix(in srgb,var(--nv-accent) 20%,transparent) 66%); cursor:pointer; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.nv-saved-highlight:hover,.nv-saved-highlight:focus-visible { outline:2px solid color-mix(in srgb,var(--nv-accent) 42%,transparent); outline-offset:2px; }
.nv-note-actions { position:fixed; z-index:1194; transform:translate(-50%,-100%); display:flex; gap:4px; padding:5px; border:1px solid var(--nv-line-strong); border-radius:11px; background:var(--nv-panel-strong); box-shadow:0 12px 32px rgba(0,0,0,.3); }
.nv-note-actions[hidden] { display:none; }
.nv-note-actions button { min-height:36px; padding:7px 11px; border:0; border-radius:7px; color:var(--nv-text); background:transparent; cursor:pointer; font:650 10px/1 var(--nv-font-sans); white-space:nowrap; }
.nv-note-actions button:hover,.nv-note-actions button:focus-visible { color:var(--nv-accent); outline:none; background:var(--nv-accent-soft); }
.nv-note-actions button.is-danger { color:var(--nv-danger); }
.nv-note-highlight { outline:2px solid color-mix(in srgb,#e5ad2f 65%,transparent); outline-offset:4px; animation:nv-note-pulse 1.4s ease 2; }
@keyframes nv-note-pulse { 50% { outline-color:color-mix(in srgb,var(--nv-accent) 70%,transparent); } }
[data-theme="light"] .nv-vivi-panel,[data-theme="light"] .nv-note-panel { background: rgba(255,255,255,.96); }
[data-theme="light"] .nv-vivi-menu,[data-theme="light"] .nv-selection-tools,[data-theme="light"] .nv-note-actions { background:#fff; }

.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; }

.nv-shell-mounted main :is(h1,h2,h3,h4) { text-wrap:balance; }
.nv-shell-mounted main :is(p,li,blockquote) { text-wrap:pretty; text-wrap-style:pretty; }

.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: 900px) {
    .nv-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; }
    .nv-footer-intro { grid-column: 1 / -1; }
}

@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-vivi-nav-button { min-width:38px; width:38px; padding:0; }
    .nv-account-button { flex: 0 0 auto; min-width: 42px; padding: 7px 6px; white-space: nowrap; }
    .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; }
    .nv-vivi-launcher { right:14px; bottom:14px; width:auto; height:auto; min-height:48px; display:inline-flex; align-items:center; gap:9px; padding:7px 14px 7px 8px; border:1px solid color-mix(in srgb,var(--nv-accent) 34%,var(--nv-line)); border-radius:999px; background:color-mix(in srgb,var(--nv-panel) 94%,transparent); box-shadow:0 12px 34px rgba(0,0,0,.2); backdrop-filter:blur(16px); }
    .nv-vivi-companion { position:relative; inset:auto; width:34px; height:34px; flex:0 0 34px; overflow:hidden; border:1px solid color-mix(in srgb,var(--nv-accent) 52%,var(--nv-line)); border-radius:50%; background:#ececec; }
    .nv-vivi-companion img { position:static; transform:none; }
    .nv-vivi-companion .is-full { display:none; }
    .nv-vivi-companion .is-avatar { display:block; width:100%; height:100%; object-fit:cover; }
    .nv-vivi-launcher-label { position:static; min-height:0; display:grid; place-content:initial; gap:1px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; text-align:left; }
    .nv-vivi-launcher:hover .nv-vivi-companion,.nv-vivi-launcher:hover .nv-vivi-launcher-label { transform:none; }
    .nv-vivi-avatar { width:52px; height:52px; flex-basis:52px; border-radius:14px; }
    .nv-vivi-panel { right: 0; bottom: 0; width: 100%; max-height: calc(100vh - 18px); border-radius: 18px 18px 0 0; }
    .nv-note-panel { right:0; bottom:0; width:100%; max-height:calc(100vh - 18px); border-radius:18px 18px 0 0; }
    .nv-note-form { max-height:calc(100vh - 82px); padding:16px; }
    .nv-selection-tools { max-width:calc(100vw - 20px); }
    .nv-selection-tools button { min-height:42px; padding:8px 11px; font-size:11px; }
    .nv-note-actions { left:12px !important; right:12px; top:auto !important; bottom:12px; transform:none; justify-content:stretch; padding:7px; border-radius:13px; }
    .nv-note-actions button { flex:1; min-height:44px; font-size:11px; }
    .nv-vivi-chat-view,.nv-vivi-contribution-view { max-height: calc(100vh - 82px); }
    .nv-vivi-messages { max-height: calc(100vh - 330px); }
}

.nv-beta-account-flow[hidden] { display: none !important; }
.nv-beta-account-flow { min-height:280px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;align-content:center;align-items:start;padding:clamp(18px,3vw,34px);border:1px solid color-mix(in srgb,var(--nv-accent) 34%,var(--nv-line));border-radius:18px;color:var(--nv-text);background:linear-gradient(135deg,var(--nv-accent-soft),transparent 58%),var(--nv-panel); }
.nv-beta-account-signal { width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:#041512;background:var(--nv-accent);font-size:23px;font-weight:900; }
.nv-beta-account-copy small { color:var(--nv-accent);font:750 10px Montserrat,sans-serif;letter-spacing:.14em; }
.nv-beta-account-copy h3 { margin:9px 0 0;color:var(--nv-text);font-size:clamp(22px,2.6vw,31px);line-height:1.2; }
.nv-beta-account-copy p { margin:11px 0 0;color:var(--nv-muted);font-size:13px;line-height:1.75; }
.nv-beta-account-controls { grid-column:2;display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:10px; }
.nv-beta-account-controls input { width:100%;min-height:48px;padding:0 14px;border:1px solid var(--nv-line-strong);border-radius:10px;color:var(--nv-text);background:var(--nv-panel-strong);font:700 15px var(--nv-font-sans);letter-spacing:.12em;outline:none; }
.nv-beta-account-controls input:focus { border-color:var(--nv-accent);box-shadow:0 0 0 3px var(--nv-accent-soft); }
.nv-beta-account-controls button { min-height:48px;padding:0 16px;border-radius:10px;font:750 12px var(--nv-font-sans);cursor:pointer; }
.nv-beta-verify { border:1px solid var(--nv-accent);color:#041512;background:var(--nv-accent); }
.nv-beta-resend { grid-column:1/-1;justify-self:start;min-height:34px!important;padding:0!important;border:0;color:var(--nv-accent);background:transparent; }
.nv-beta-resend:disabled { color:var(--nv-dim);cursor:default; }

@media (max-width: 560px) {
    .nv-beta-account-flow { grid-template-columns:1fr; }
    .nv-beta-account-signal { width:46px;height:46px; }
    .nv-beta-account-controls { grid-column:1;grid-template-columns:1fr; }
    .nv-beta-resend { grid-column:1; }
}

@media (max-width: 430px) {
    .nv-language-button { display:none; }
    .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; }
}
