[v-cloak] { display: none; }

:root {
    --v2-panel: rgba(12, 16, 24, 0.92);
    --v2-panel-soft: rgba(15, 21, 31, 0.72);
    --v2-border: rgba(145, 164, 184, 0.16);
    --v2-border-strong: rgba(145, 164, 184, 0.28);
    --v2-text: #f4f7fa;
    --v2-muted: #9aa8b7;
    --v2-dim: #697889;
    --v2-cyan: #38d6c7;
    --v2-blue: #55c6f2;
    --v2-pink: #ff8ea3;
    --v2-amber: #ffca58;
    --v2-red: #f26f87;
    --v2-green: #72df9f;
    --v2-purple: #b58cff;
    --v2-radius: 14px;
}

body.dna-v2-body {
    background:
        radial-gradient(circle at 16% 0%, rgba(56, 214, 199, 0.08), transparent 28%),
        radial-gradient(circle at 96% 18%, rgba(85, 198, 242, 0.06), transparent 24%),
        #070b11;
    color: var(--v2-text);
    font-size: 15px;
}

.dna-v2-body button,
.dna-v2-body input,
.dna-v2-body select {
    font: inherit;
}

.v2-shell {
    width: min(1440px, calc(100% - 40px));
    margin: 0 auto;
    padding-bottom: 72px;
}

.v2-site-header {
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid var(--v2-border);
}

.v2-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    color: var(--v2-text);
    font-weight: 760;
    letter-spacing: -0.02em;
}

.v2-brand-mark {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(56, 214, 199, 0.5);
    border-radius: 50%;
    color: var(--v2-cyan);
    font-size: 11px;
    box-shadow: inset 0 0 18px rgba(56, 214, 199, 0.12);
}

.v2-brand span:last-child em {
    color: var(--v2-cyan);
    font-style: normal;
}

.v2-header-actions {
    display: flex;
    gap: 9px;
}

.v2-link-button,
.v2-action-button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 13px;
    border: 1px solid var(--v2-border-strong);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.025);
    color: var(--v2-muted);
    cursor: pointer;
}

.v2-link-button:hover,
.v2-action-button:hover {
    color: var(--v2-text);
    border-color: rgba(56, 214, 199, 0.5);
}

.v2-company-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: end;
    padding: 42px 0 30px;
}

.v2-company-hero::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, var(--v2-cyan), rgba(56, 214, 199, 0.06) 45%, transparent);
}

.v2-eyebrow {
    color: var(--v2-cyan);
    font-size: 12px;
    font-weight: 760;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.v2-company-title {
    font-size: clamp(32px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: -0.045em;
    margin: 0;
}

.v2-company-en {
    margin-top: 8px;
    color: var(--v2-dim);
    font-size: 13px;
}

.v2-company-summary {
    max-width: 920px;
    margin: 18px 0 0;
    color: #c5d0da;
    font-size: 16px;
    line-height: 1.75;
}

.v2-hero-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    gap: 8px;
    min-width: 270px;
}

.v2-meta-cell {
    min-height: 70px;
    padding: 12px 14px;
    background: var(--v2-panel-soft);
    border: 1px solid var(--v2-border);
    border-radius: 10px;
}

.v2-meta-cell small {
    display: block;
    color: var(--v2-dim);
    font-size: 11px;
    margin-bottom: 4px;
}

.v2-meta-cell strong {
    color: var(--v2-text);
    font-size: 15px;
}

.v2-primary-tabs {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 7px;
    padding: 14px 0;
    background: rgba(7, 11, 17, 0.9);
    backdrop-filter: blur(16px);
}

.v2-tab {
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.018);
    color: var(--v2-muted);
    cursor: pointer;
    transition: 160ms ease;
}

.v2-tab:hover {
    color: var(--v2-text);
    border-color: var(--v2-border-strong);
}

.v2-tab.active {
    color: #071012;
    border-color: var(--v2-cyan);
    background: var(--v2-cyan);
    box-shadow: 0 8px 28px rgba(56, 214, 199, 0.16);
    font-weight: 760;
}

.v2-panel {
    padding-top: 22px;
}

.v2-panel-intro {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px;
    margin-bottom: 22px;
}

.v2-panel-intro h2,
.v2-section-head h3 {
    margin: 0;
    color: var(--v2-text);
    letter-spacing: -0.025em;
}

.v2-panel-intro h2 { font-size: 25px; }
.v2-section-head h3 { font-size: 18px; }

.v2-panel-intro p,
.v2-section-head p {
    color: var(--v2-muted);
    line-height: 1.7;
    margin: 6px 0 0;
}

.v2-panel-intro p { max-width: 820px; }

.v2-note {
    flex: 0 0 min(380px, 34%);
    padding: 12px 14px;
    border-left: 2px solid var(--v2-amber);
    background: rgba(255, 202, 88, 0.055);
    color: #c8b884;
    font-size: 12px;
    line-height: 1.7;
}

.v2-card {
    background: var(--v2-panel);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

.v2-section {
    margin-top: 18px;
    padding: 22px;
    background: var(--v2-panel-soft);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

.v2-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
}

.v2-section-meta {
    color: var(--v2-dim);
    font-size: 12px;
}

.v2-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.v2-stat-card {
    min-height: 138px;
    padding: 18px;
    background: var(--v2-panel);
    border: 1px solid var(--v2-border);
    border-top: 2px solid var(--accent, var(--v2-cyan));
    border-radius: 12px;
}

.v2-stat-card small {
    color: var(--v2-dim);
    font-size: 11px;
}

.v2-stat-card strong {
    display: block;
    margin-top: 9px;
    font-size: 22px;
    line-height: 1.25;
}

.v2-stat-card p {
    margin-top: 8px;
    color: var(--v2-muted);
    font-size: 12px;
    line-height: 1.6;
}

.v2-diagnosis-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.v2-diagnosis-card {
    padding: 18px;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
    border: 1px solid var(--v2-border);
}

.v2-diagnosis-card .tag,
.v2-label-tag {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent, var(--v2-cyan)) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent, var(--v2-cyan)) 35%, transparent);
    color: var(--accent, var(--v2-cyan));
    font-size: 11px;
}

.v2-diagnosis-card h4 {
    margin: 13px 0 7px;
    font-size: 17px;
}

.v2-diagnosis-card p {
    color: var(--v2-muted);
    font-size: 13px;
    line-height: 1.65;
}

.v2-pathway {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 26px;
    align-items: stretch;
}

.v2-path-node {
    position: relative;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid var(--v2-border);
    background: rgba(255,255,255,.025);
}

.v2-path-node:not(:last-child)::after {
    content: '→';
    position: absolute;
    right: -21px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--v2-dim);
}

.v2-path-node small { color: var(--v2-dim); }
.v2-path-node strong { display: block; margin-top: 5px; font-size: 14px; }

.v2-disclaimer {
    margin: 0 0 18px;
    padding: 15px 17px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    border: 1px solid rgba(255, 202, 88, 0.28);
    background: rgba(255, 202, 88, 0.045);
    border-radius: 11px;
    color: #c8b884;
    font-size: 12px;
    line-height: 1.7;
}

.v2-disclaimer strong { color: var(--v2-amber); white-space: nowrap; }

.v2-strategy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.v2-strategy-card {
    padding: 20px;
    background: var(--v2-panel);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

.v2-strategy-card header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
}

.v2-strategy-card h3 { margin: 8px 0 0; font-size: 19px; }

.v2-progress-ring {
    flex: 0 0 auto;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--v2-cyan) calc(var(--progress) * 1%), rgba(255,255,255,.06) 0);
    position: relative;
}

.v2-progress-ring::before {
    content: '';
    position: absolute;
    inset: 6px;
    border-radius: inherit;
    background: #0d131c;
}

.v2-progress-ring span { position: relative; font-size: 13px; font-weight: 760; }

.v2-strategy-result {
    margin: 16px 0 10px;
    padding: 12px 14px;
    background: rgba(56, 214, 199, 0.05);
    border-left: 2px solid var(--v2-cyan);
    color: #c9d6df;
}

.v2-strategy-card p {
    color: var(--v2-muted);
    font-size: 13px;
    line-height: 1.7;
}

.v2-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.v2-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid var(--v2-border);
    color: var(--v2-muted);
    background: rgba(255,255,255,.025);
    font-size: 11px;
}
.v2-chip-row button.v2-chip { font:inherit; cursor:pointer; }
.v2-action-button.subtle { border-style:dashed; background:transparent; }

.v2-subtabs {
    display: inline-flex;
    gap: 5px;
    padding: 4px;
    background: rgba(255,255,255,.025);
    border: 1px solid var(--v2-border);
    border-radius: 10px;
}

.v2-subtab {
    min-width: 92px;
    min-height: 34px;
    padding: 6px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--v2-muted);
    cursor: pointer;
}

.v2-subtab.active {
    background: rgba(56, 214, 199, 0.12);
    color: var(--v2-cyan);
}

.v2-level-indicator {
    display: flex;
    gap: 5px;
    align-items: center;
    color: var(--v2-dim);
    font-size: 12px;
}

.v2-level-indicator span.active { color: var(--v2-cyan); }

.v2-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 18px;
    color: var(--v2-dim);
    font-size: 12px;
}

.v2-breadcrumb button,
.v2-breadcrumb a {
    padding: 0;
    border: 0;
    background: none;
    color: var(--v2-muted);
    cursor: pointer;
}

.v2-breadcrumb button:hover,
.v2-breadcrumb a:hover { color: var(--v2-cyan); }

.v2-heatmap {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
}

.v2-heat-cell {
    position: relative;
    min-height: 112px;
    padding: 14px;
    text-align: left;
    border: 1px solid color-mix(in srgb, var(--tone, var(--v2-dim)) 28%, var(--v2-border));
    border-radius: 11px;
    color: var(--v2-text);
    background:
        linear-gradient(155deg, color-mix(in srgb, var(--tone, var(--v2-dim)) 15%, transparent), transparent 62%),
        var(--v2-panel);
    cursor: pointer;
    overflow: hidden;
}

.v2-heat-cell:hover,
.v2-heat-cell.active {
    border-color: var(--tone, var(--v2-cyan));
    transform: translateY(-1px);
}

.v2-heat-cell.active::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: var(--tone, var(--v2-cyan));
}

.v2-heat-cell strong { display: block; font-size: 14px; }
.v2-heat-cell small { display: block; margin-top: 4px; color: var(--v2-muted); }

.v2-score-row {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 12px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 10px;
}

.v2-score-row b { color: var(--tone, var(--v2-text)); font-size: 23px; line-height: 1; }
.v2-score-row em { color: var(--v2-dim); font-size: 10px; font-style: normal; }

.v2-capability-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.v2-capability-cell {
    min-height: 128px;
    padding: 15px;
    border: 1px solid var(--v2-border);
    border-radius: 11px;
    background: var(--v2-panel);
    color: var(--v2-text);
    text-align: left;
    cursor: pointer;
}

.v2-capability-cell:hover,
.v2-capability-cell.active { border-color: var(--domain-color, var(--v2-cyan)); }

.v2-capability-cell h4 { margin: 0 0 7px; font-size: 15px; }
.v2-capability-cell p { color: var(--v2-muted); font-size: 12px; line-height: 1.55; }

.v2-capability-foot {
    display: flex;
    justify-content: space-between;
    margin-top: 13px;
    color: var(--v2-dim);
    font-size: 11px;
}

.v2-capability-foot strong { color: var(--domain-color, var(--v2-text)); font-size: 17px; }

.v2-gene-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.v2-gene-card {
    min-height: 188px;
    padding: 17px;
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    background: var(--v2-panel);
    cursor: pointer;
    text-align: left;
    color: var(--v2-text);
}

.v2-gene-card:hover,
.v2-gene-card.active { border-color: var(--domain-color, var(--v2-cyan)); }

.v2-gene-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.v2-gene-maturity {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    margin-left: auto;
    color: var(--domain-color, var(--v2-cyan));
}

.v2-gene-maturity b { font-size: 20px; line-height: 1; }
.v2-gene-maturity small { color: var(--v2-dim); font-size: 9px; white-space: nowrap; }
.v2-score-breakdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:10px 0; }
.v2-score-breakdown span { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border:1px solid #dce5ea; background:#f7fafb; }
.v2-score-breakdown small { color:#647583; line-height:1.3; }
.v2-score-breakdown b { color:#14272e; white-space:nowrap; }
@media (max-width:760px) { .v2-score-breakdown { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.v2-gene-standard-link {
    color: var(--v2-text);
    font-size: 15px;
    font-weight: 730;
    line-height: 1.35;
}

.v2-gene-standard-link:hover { color: var(--domain-color, var(--v2-cyan)); }

.v2-gene-score {
    color: var(--domain-color, var(--v2-cyan));
    font-size: 22px;
    font-weight: 760;
}

.v2-gene-card p {
    margin: 11px 0;
    color: var(--v2-muted);
    font-size: 12px;
    line-height: 1.6;
}

.v2-gene-card footer {
    display: flex;
    justify-content: space-between;
    gap: 9px;
    color: var(--v2-dim);
    font-size: 10px;
}

.v2-instance-panel {
    margin-top: 12px;
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--domain-color, var(--v2-cyan)) 38%, var(--v2-border));
    border-radius: var(--v2-radius);
    background:
        linear-gradient(150deg, color-mix(in srgb, var(--domain-color, var(--v2-cyan)) 8%, transparent), transparent 48%),
        var(--v2-panel);
}

.v2-instance-head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--v2-border);
}

.v2-instance-head h3 { margin: 6px 0 5px; font-size: 22px; }
.v2-instance-head p { color: var(--v2-muted); max-width: 800px; }

.v2-instance-score {
    flex: 0 0 auto;
    display: flex;
    gap: 18px;
}

.v2-instance-score div { text-align: right; }
.v2-instance-score strong { display: block; font-size: 25px; color: var(--domain-color, var(--v2-cyan)); }
.v2-instance-score small { color: var(--v2-dim); }

.v2-instance-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 10px;
    margin-top: 16px;
}

.v2-instance-block {
    padding: 15px;
    background: rgba(255,255,255,.022);
    border: 1px solid var(--v2-border);
    border-radius: 10px;
}

.v2-instance-block h4 { margin: 0 0 9px; font-size: 13px; color: var(--v2-text); }
.v2-instance-block p,
.v2-instance-block li { color: var(--v2-muted); font-size: 12px; line-height: 1.65; }
.v2-instance-block ul { padding-left: 17px; margin: 0; }

.v2-evidence-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.v2-evidence-card {
    padding: 14px 15px;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    background: rgba(255,255,255,.02);
}

.v2-evidence-card.support { border-left: 2px solid var(--v2-green); }
.v2-evidence-card.counter { border-left: 2px solid var(--v2-red); }
.v2-evidence-card strong { display: block; margin-bottom: 5px; font-size: 12px; }
.v2-evidence-card p { color: var(--v2-muted); font-size: 12px; line-height: 1.65; }

.v2-network-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 12px;
}

.v2-relation-filters { display: flex; gap: 7px; flex-wrap: wrap; }

.v2-filter-button {
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid var(--v2-border);
    border-radius: 999px;
    color: var(--v2-muted);
    background: rgba(255,255,255,.02);
    cursor: pointer;
}

.v2-filter-button.active { color: var(--v2-text); border-color: var(--filter-color, var(--v2-cyan)); }

.v2-network-board {
    position: relative;
    height: 640px;
    overflow: hidden;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background:
        radial-gradient(circle at 50% 50%, rgba(56,214,199,.04), transparent 45%),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        #090e15;
    background-size: auto, 42px 42px, 42px 42px, auto;
}

.v2-network-board canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.v2-bubble {
    position: absolute;
    left: calc(var(--x) * 1%);
    top: calc(var(--y) * 1%);
    width: var(--size);
    height: var(--size);
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    padding: 8px;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--bubble-color) 62%, white 8%);
    color: var(--v2-text);
    background: color-mix(in srgb, var(--bubble-color) 19%, #0b1119 81%);
    box-shadow: inset 0 0 24px color-mix(in srgb, var(--bubble-color) 12%, transparent), 0 8px 26px rgba(0,0,0,.28);
    text-align: center;
    cursor: pointer;
    transition: opacity 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.v2-bubble:hover,
.v2-bubble.active { transform: translate(-50%, -50%) scale(1.07); border-width: 2px; z-index: 5; }
.v2-bubble.dimmed { opacity: 0.18; }
.v2-bubble strong { font-size: clamp(10px, 1vw, 13px); line-height: 1.3; }
.v2-bubble small { display: block; color: var(--v2-muted); font-size: 9px; margin-top: 3px; }

.v2-network-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.v2-neighbor-list { display: grid; gap: 7px; }

.v2-neighbor-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 9px 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.023);
    color: var(--v2-muted);
    font-size: 12px;
}

.v2-relation-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--relation-color); }

.v2-metric-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr);
    gap: 12px;
}

.v2-metric-tree {
    min-height: 560px;
    padding: 18px;
    overflow: auto;
    background: var(--v2-panel);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

.metric-tree-node { position: relative; margin-left: 22px; padding-top: 8px; }
.metric-tree-node.root { margin-left: 0; }
.metric-tree-node:not(.root)::before {
    content: '';
    position: absolute;
    left: -14px;
    top: 0;
    bottom: 50%;
    width: 12px;
    border-left: 1px solid var(--v2-border-strong);
    border-bottom: 1px solid var(--v2-border-strong);
}

.metric-node-button {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    padding: 10px 12px;
    color: var(--v2-text);
    text-align: left;
    background: rgba(255,255,255,.025);
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    cursor: pointer;
}

.metric-node-button:hover,
.metric-node-button.active { border-color: var(--v2-cyan); }
.metric-node-button small { display: block; color: var(--v2-dim); font-size: 10px; margin-top: 2px; }
.metric-node-value { color: var(--v2-cyan); text-align: right; font-weight: 690; }
.metric-node-value small { color: var(--v2-dim); font-weight: 400; }

.v2-metric-detail {
    padding: 19px;
    align-self: start;
    position: sticky;
    top: 82px;
}

.v2-metric-detail h3 { margin: 7px 0 6px; font-size: 21px; }
.v2-metric-main-value { margin: 16px 0; font-size: 34px; color: var(--v2-cyan); font-weight: 760; }

.v2-detail-list {
    display: grid;
    gap: 0;
    margin-top: 14px;
}

.v2-detail-row {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--v2-border);
    font-size: 12px;
}

.v2-detail-row dt { color: var(--v2-dim); }
.v2-detail-row dd { color: var(--v2-muted); margin: 0; }

.v2-timeline {
    position: relative;
    display: grid;
    gap: 0;
    margin-top: 10px;
}

.v2-timeline::before {
    content: '';
    position: absolute;
    left: 139px;
    top: 10px;
    bottom: 10px;
    width: 1px;
    background: var(--v2-border-strong);
}

.v2-event {
    position: relative;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 72px;
    gap: 38px;
    padding: 15px 0;
}

.v2-event::before {
    content: '';
    position: absolute;
    left: 134px;
    top: 24px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--event-color, var(--v2-cyan));
    box-shadow: 0 0 0 5px rgba(7, 11, 17, 1);
}

.v2-event-date { color: var(--v2-muted); font-size: 12px; text-align: right; padding-top: 2px; }
.v2-event-content { padding: 15px 17px; background: var(--v2-panel); border: 1px solid var(--v2-border); border-radius: 11px; }
.v2-event-content small { color: var(--event-color, var(--v2-cyan)); }
.v2-event-content h3 { margin: 5px 0; font-size: 16px; }
.v2-event-content p { color: var(--v2-muted); font-size: 12px; line-height: 1.65; }
.v2-event-confidence { color: var(--v2-dim); font-size: 11px; padding-top: 18px; }

/* Standard ontology pages */
.ontology-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
    padding: 42px 0 26px;
    border-bottom: 1px solid var(--v2-border);
}

.ontology-hero h1 {
    margin: 0;
    max-width: 950px;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.12;
    letter-spacing: -0.04em;
}

.ontology-hero p { max-width: 850px; margin-top: 13px; color: var(--v2-muted); line-height: 1.75; }

.ontology-id-card {
    min-width: 220px;
    padding: 15px;
    background: var(--v2-panel);
    border: 1px solid var(--v2-border);
    border-radius: 11px;
}

.ontology-id-card small { display: block; color: var(--v2-dim); }
.ontology-id-card code { display: block; color: var(--v2-cyan); margin-top: 4px; word-break: break-all; }

.ontology-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 14px 0;
    border-bottom: 1px solid var(--v2-border);
}

.ontology-tab {
    min-width: 94px;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--v2-muted);
    background: transparent;
    cursor: pointer;
    white-space: nowrap;
}

.ontology-tab.active { color: var(--v2-cyan); border-color: rgba(56,214,199,.35); background: rgba(56,214,199,.07); }

.ontology-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 14px;
    padding-top: 18px;
}

.ontology-main { min-width: 0; }
.ontology-side { align-self: start; position: sticky; top: 18px; }

.ontology-definition {
    padding: 24px;
    background: var(--v2-panel);
    border: 1px solid var(--v2-border);
    border-top: 2px solid var(--object-color, var(--v2-cyan));
    border-radius: var(--v2-radius);
}

.ontology-definition h2 { margin: 0 0 10px; font-size: 20px; }
.ontology-definition > p { color: #c7d2db; font-size: 16px; line-height: 1.8; }

.ontology-formula {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
    margin-top: 18px;
}

.ontology-formula div {
    position: relative;
    padding: 13px;
    border: 1px solid var(--v2-border);
    border-radius: 9px;
    background: rgba(255,255,255,.025);
}

.ontology-formula div:not(:last-child)::after {
    content: '→';
    position: absolute;
    right: -18px;
    top: 50%;
    color: var(--v2-dim);
}

.ontology-formula small { display: block; color: var(--v2-dim); }
.ontology-formula strong { display: block; margin-top: 5px; font-size: 12px; }

.ontology-item-list { display: grid; gap: 8px; }

.ontology-item-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 15px;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    background: rgba(255,255,255,.02);
}

.ontology-item-card:hover { border-color: var(--object-color, var(--v2-cyan)); }
.ontology-item-card h4 { margin: 0 0 4px; font-size: 14px; }
.ontology-item-card p { color: var(--v2-muted); font-size: 12px; line-height: 1.55; }
.ontology-item-card span { color: var(--v2-dim); font-size: 11px; }

.ontology-side-card {
    margin-bottom: 10px;
    padding: 16px;
    background: var(--v2-panel);
    border: 1px solid var(--v2-border);
    border-radius: 11px;
}

.ontology-side-card h3 { margin: 0 0 10px; font-size: 13px; }
.ontology-side-card p,
.ontology-side-card li { color: var(--v2-muted); font-size: 12px; line-height: 1.65; }
.ontology-side-card ul { padding-left: 17px; }

.ontology-boundary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ontology-boundary-card {
    padding: 16px;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    background: rgba(255,255,255,.02);
}

.ontology-boundary-card.in { border-left: 2px solid var(--v2-green); }
.ontology-boundary-card.out { border-left: 2px solid var(--v2-red); }
.ontology-boundary-card h4 { margin: 0 0 8px; font-size: 13px; }
.ontology-boundary-card li { color: var(--v2-muted); font-size: 12px; line-height: 1.65; margin-left: 18px; }

.ontology-indicator-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.ontology-indicator-card {
    padding: 14px;
    border: 1px solid var(--v2-border);
    border-radius: 9px;
    background: rgba(255,255,255,.022);
}

.ontology-indicator-card strong { display: block; font-size: 12px; color: var(--indicator-color, var(--v2-cyan)); }
.ontology-indicator-card p { margin-top: 7px; color: var(--v2-muted); font-size: 11px; line-height: 1.55; }

.ontology-instance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ontology-instance-card {
    padding: 17px;
    border: 1px solid var(--v2-border);
    border-radius: 11px;
    background: var(--v2-panel);
}

.ontology-instance-card header { display: flex; justify-content: space-between; gap: 12px; }
.ontology-instance-card h3 { margin: 0; font-size: 16px; }
.ontology-instance-card p { color: var(--v2-muted); font-size: 12px; line-height: 1.65; margin-top: 10px; }
.ontology-instance-score { color: var(--v2-cyan); font-size: 20px; font-weight: 760; }

.ontology-rule-card {
    padding: 17px;
    border: 1px solid var(--v2-border);
    border-radius: 11px;
    background: var(--v2-panel);
}

.ontology-rule-card + .ontology-rule-card { margin-top: 9px; }
.ontology-rule-card p { color: #c5d0da; line-height: 1.75; }
.ontology-rule-meta { display: flex; gap: 15px; flex-wrap: wrap; margin-top: 12px; color: var(--v2-dim); font-size: 11px; }

.ontology-version-row {
    display: grid;
    grid-template-columns: 110px 110px minmax(0, 1fr);
    gap: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--v2-border);
    color: var(--v2-muted);
    font-size: 12px;
}

/* V2.1 analysis-first additions */
.v2-dna-thesis {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 4vw, 44px);
    border: 1px solid rgba(56,214,199,.24);
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 0%, rgba(56,214,199,.11), transparent 35%),
        linear-gradient(145deg, rgba(17,28,37,.96), rgba(10,15,22,.96));
}

.v2-dna-thesis h2 { max-width: 1150px; margin: 0; font-size: clamp(24px,3.2vw,42px); line-height: 1.35; letter-spacing: -.035em; }
.v2-dna-thesis > p { max-width: 1020px; margin: 15px 0 0; color: #afbdc9; font-size: 15px; line-height: 1.75; }
.v2-business-flow { display: grid; grid-template-columns: repeat(var(--flow-count,5),minmax(0,1fr)); gap: 20px; margin-top: 28px; }
.v2-business-flow article { position: relative; min-height: 132px; padding: 15px; border: 1px solid var(--v2-border); border-radius: 11px; background: rgba(255,255,255,.026); }
.v2-business-flow article:not(:last-child)::after { content:'→'; position:absolute; right:-16px; top:47%; color:var(--v2-cyan); }
.v2-business-flow small { color:var(--v2-cyan); }
.v2-business-flow strong,.v2-business-flow span,.v2-business-flow a { display:block; }
.v2-business-flow .v2-flow-glyph { position:relative; display:block; width:48px; height:34px; margin:8px 0 11px; border:1px solid color-mix(in srgb,var(--v2-cyan) 38%,transparent); border-radius:9px; background:color-mix(in srgb,var(--v2-cyan) 7%,transparent); color:var(--v2-cyan); }
.v2-flow-glyph :is(i,b,em) { position:absolute; display:block; box-sizing:border-box; margin:0; }
.v2-flow-glyph.is-signal i { left:20px; top:12px; width:8px; height:8px; border-radius:50%; background:currentColor; }.v2-flow-glyph.is-signal b,.v2-flow-glyph.is-signal em { left:14px; top:6px; width:20px; height:20px; border:1px solid currentColor; border-radius:50%; opacity:.55; }.v2-flow-glyph.is-signal em { left:9px; top:1px; width:30px; height:30px; opacity:.25; }
.v2-flow-glyph.is-home i { left:15px; top:14px; width:18px; height:13px; border:2px solid currentColor; border-top:0; }
.v2-flow-glyph.is-home b { left:15px; top:8px; width:18px; height:18px; border-left:2px solid currentColor; border-top:2px solid currentColor; transform:rotate(45deg); }
.v2-flow-glyph.is-home em { left:22px; top:20px; width:5px; height:7px; background:currentColor; }
.v2-flow-glyph.is-network :is(i,b,em) { width:8px; height:8px; border:2px solid currentColor; border-radius:50%; }
.v2-flow-glyph.is-network i { left:20px; top:5px; }.v2-flow-glyph.is-network b { left:8px; top:21px; }.v2-flow-glyph.is-network em { right:8px; top:21px; }
.v2-flow-glyph.is-network::before,.v2-flow-glyph.is-network::after { content:''; position:absolute; top:16px; width:15px; height:1px; background:currentColor; }.v2-flow-glyph.is-network::before { left:11px; transform:rotate(-48deg); }.v2-flow-glyph.is-network::after { right:11px; transform:rotate(48deg); }
.v2-flow-glyph.is-service i { left:8px; top:12px; width:23px; height:12px; border:2px solid currentColor; }.v2-flow-glyph.is-service b { left:31px; top:16px; width:9px; height:8px; border:2px solid currentColor; border-left:0; }.v2-flow-glyph.is-service em,.v2-flow-glyph.is-service::after { content:''; position:absolute; top:23px; width:6px; height:6px; border:2px solid currentColor; border-radius:50%; background:var(--v2-panel); }.v2-flow-glyph.is-service em { left:13px; }.v2-flow-glyph.is-service::after { left:31px; }
.v2-flow-glyph.is-relationship i,.v2-flow-glyph.is-relationship b { top:9px; width:14px; height:14px; border:2px solid currentColor; border-radius:50%; }.v2-flow-glyph.is-relationship i { left:9px; }.v2-flow-glyph.is-relationship b { right:9px; }.v2-flow-glyph.is-relationship em { left:20px; top:16px; width:8px; height:2px; background:currentColor; }
.v2-flow-glyph.is-feedback i { left:13px; top:5px; width:22px; height:22px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; }.v2-flow-glyph.is-feedback b { right:9px; top:7px; width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:7px solid currentColor; transform:rotate(26deg); }.v2-flow-glyph.is-feedback em { left:20px; top:15px; width:8px; height:2px; background:currentColor; }
.v2-flow-glyph.is-research i { left:18px; top:5px; width:12px; height:8px; border:2px solid currentColor; border-top:0; }.v2-flow-glyph.is-research b { left:13px; top:12px; width:22px; height:16px; border:2px solid currentColor; border-radius:4px 4px 9px 9px; }.v2-flow-glyph.is-research em { left:18px; top:19px; width:12px; height:4px; border-radius:50%; background:currentColor; opacity:.45; }
.v2-flow-glyph.is-shield i { left:14px; top:5px; width:20px; height:24px; border:2px solid currentColor; border-radius:10px 10px 13px 13px; }.v2-flow-glyph.is-shield b { left:20px; top:15px; width:9px; height:5px; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); }
.v2-flow-glyph.is-distribution i,.v2-flow-glyph.is-distribution b,.v2-flow-glyph.is-distribution em { width:7px; height:7px; border:2px solid currentColor; border-radius:50%; }.v2-flow-glyph.is-distribution i { left:20px; top:13px; background:currentColor; }.v2-flow-glyph.is-distribution b { left:7px; top:5px; }.v2-flow-glyph.is-distribution em { right:7px; bottom:5px; }.v2-flow-glyph.is-distribution::before,.v2-flow-glyph.is-distribution::after { content:''; position:absolute; left:14px; width:19px; height:1px; background:currentColor; }.v2-flow-glyph.is-distribution::before { top:12px; transform:rotate(27deg); }.v2-flow-glyph.is-distribution::after { top:23px; transform:rotate(27deg); }
.v2-flow-glyph.is-economics i { left:9px; bottom:6px; width:7px; height:10px; background:currentColor; opacity:.45; }.v2-flow-glyph.is-economics b { left:20px; bottom:6px; width:7px; height:17px; background:currentColor; opacity:.7; }.v2-flow-glyph.is-economics em { left:31px; bottom:6px; width:7px; height:24px; background:currentColor; }
.v2-flow-glyph.is-code::before { content:'‹ / ›'; position:absolute; inset:5px 0 0; text-align:center; font:700 17px/24px monospace; }
.v2-flow-glyph.is-compute i { left:13px; top:6px; width:22px; height:22px; border:2px solid currentColor; }.v2-flow-glyph.is-compute b { left:19px; top:12px; width:10px; height:10px; background:currentColor; opacity:.45; }.v2-flow-glyph.is-compute::before,.v2-flow-glyph.is-compute::after { content:''; position:absolute; left:8px; top:10px; width:32px; height:2px; border-left:4px dotted currentColor; border-right:4px dotted currentColor; }
.v2-flow-glyph.is-social i,.v2-flow-glyph.is-social b,.v2-flow-glyph.is-social em { width:10px; height:10px; border:2px solid currentColor; border-radius:50%; }.v2-flow-glyph.is-social i { left:19px; top:4px; }.v2-flow-glyph.is-social b { left:8px; top:20px; }.v2-flow-glyph.is-social em { right:8px; top:20px; }
.v2-flow-glyph.is-model i,.v2-flow-glyph.is-model b,.v2-flow-glyph.is-model em { left:10px; width:28px; height:7px; border:2px solid currentColor; transform:skewX(-24deg); }.v2-flow-glyph.is-model i { top:5px; }.v2-flow-glyph.is-model b { top:14px; }.v2-flow-glyph.is-model em { top:23px; }
.v2-flow-glyph.is-apps :is(i,b,em) { width:10px; height:10px; border:2px solid currentColor; border-radius:2px; }.v2-flow-glyph.is-apps i { left:11px; top:6px; }.v2-flow-glyph.is-apps b { right:11px; top:6px; }.v2-flow-glyph.is-apps em { left:19px; top:20px; }
.v2-flow-glyph.is-ads i { left:9px; top:10px; width:22px; height:14px; border:2px solid currentColor; transform:skewY(-12deg); }.v2-flow-glyph.is-ads b { left:31px; top:7px; width:8px; height:20px; border:2px solid currentColor; border-left:0; }.v2-flow-glyph.is-ads em { left:14px; top:24px; width:6px; height:6px; background:currentColor; }
.v2-flow-glyph.is-constraint::before { content:'[  H800  ]'; position:absolute; inset:7px 0 0; text-align:center; font:700 8px/20px monospace; letter-spacing:1px; }
.v2-flow-glyph.is-architecture i,.v2-flow-glyph.is-architecture b,.v2-flow-glyph.is-architecture em { top:9px; width:9px; height:17px; border:2px solid currentColor; }.v2-flow-glyph.is-architecture i { left:7px; }.v2-flow-glyph.is-architecture b { left:20px; }.v2-flow-glyph.is-architecture em { left:33px; }
.v2-flow-glyph.is-reasoning i { left:9px; top:14px; width:9px; height:9px; border:2px solid currentColor; border-radius:50%; }.v2-flow-glyph.is-reasoning b,.v2-flow-glyph.is-reasoning em { right:8px; width:9px; height:9px; border:2px solid currentColor; border-radius:50%; }.v2-flow-glyph.is-reasoning b { top:5px; }.v2-flow-glyph.is-reasoning em { bottom:5px; }.v2-flow-glyph.is-reasoning::before,.v2-flow-glyph.is-reasoning::after { content:''; position:absolute; left:17px; width:18px; height:1px; background:currentColor; }.v2-flow-glyph.is-reasoning::before { top:14px; transform:rotate(-25deg); }.v2-flow-glyph.is-reasoning::after { top:23px; transform:rotate(25deg); }
.v2-flow-glyph.is-open i { left:17px; top:13px; width:18px; height:15px; border:2px solid currentColor; border-radius:3px; }.v2-flow-glyph.is-open b { left:20px; top:4px; width:13px; height:14px; border:2px solid currentColor; border-right:0; border-bottom:0; border-radius:9px 0 0 0; }
.v2-flow-glyph.is-cloud i { left:9px; top:15px; width:30px; height:12px; border:2px solid currentColor; border-radius:9px; }.v2-flow-glyph.is-cloud b { left:15px; top:7px; width:15px; height:15px; border:2px solid currentColor; border-radius:50%; background:var(--v2-panel); }
.v2-flow-glyph.is-battery i { left:9px; top:9px; width:28px; height:16px; border:2px solid currentColor; border-radius:3px; }.v2-flow-glyph.is-battery b { right:7px; top:14px; width:4px; height:7px; background:currentColor; }.v2-flow-glyph.is-battery em { left:14px; top:13px; width:14px; height:8px; background:linear-gradient(90deg,currentColor 46%,transparent 46% 56%,currentColor 56%); }
.v2-flow-glyph.is-platform :is(i,b,em) { left:10px; height:4px; border:1px solid currentColor; border-radius:4px; }.v2-flow-glyph.is-platform i { top:8px; width:28px; }.v2-flow-glyph.is-platform b { top:15px; width:23px; }.v2-flow-glyph.is-platform em { top:22px; width:18px; }
.v2-flow-glyph.is-portfolio :is(i,b,em) { bottom:7px; width:8px; border:2px solid currentColor; border-radius:2px; }.v2-flow-glyph.is-portfolio i { left:8px; height:10px; }.v2-flow-glyph.is-portfolio b { left:20px; height:18px; }.v2-flow-glyph.is-portfolio em { right:8px; height:14px; }
.v2-flow-glyph.is-factory i { left:8px; bottom:7px; width:32px; height:13px; border:2px solid currentColor; }.v2-flow-glyph.is-factory b { left:11px; bottom:20px; width:5px; height:8px; border:2px solid currentColor; border-bottom:0; }.v2-flow-glyph.is-factory em { left:20px; bottom:11px; width:15px; height:4px; background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 6px); }
.v2-flow-glyph.is-price i { left:13px; top:6px; width:22px; height:22px; border:2px solid currentColor; border-radius:50%; }.v2-flow-glyph.is-price b { left:19px; top:12px; width:10px; height:2px; background:currentColor; box-shadow:0 5px 0 currentColor; }.v2-flow-glyph.is-price em { left:23px; top:10px; width:2px; height:13px; background:currentColor; }
.v2-flow-glyph.is-warehouse i { left:7px; top:12px; width:34px; height:15px; border:2px solid currentColor; }.v2-flow-glyph.is-warehouse b { left:7px; top:7px; width:34px; height:10px; border-left:2px solid currentColor; border-top:2px solid currentColor; transform:skewY(-10deg); }.v2-flow-glyph.is-warehouse em { left:14px; top:17px; width:20px; height:6px; background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 6px); }
.v2-flow-glyph.is-store i { left:9px; top:13px; width:30px; height:14px; border:2px solid currentColor; }.v2-flow-glyph.is-store b { left:7px; top:7px; width:34px; height:8px; border:2px solid currentColor; background:repeating-linear-gradient(90deg,currentColor 0 5px,transparent 5px 10px); opacity:.78; }.v2-flow-glyph.is-store em { left:22px; top:18px; width:7px; height:9px; border-left:2px solid currentColor; }
.v2-flow-glyph.is-supply i,.v2-flow-glyph.is-supply b { top:11px; width:11px; height:11px; border:2px solid currentColor; border-radius:3px; }.v2-flow-glyph.is-supply i { left:7px; }.v2-flow-glyph.is-supply b { right:7px; }.v2-flow-glyph.is-supply em { left:19px; top:16px; width:10px; height:2px; background:currentColor; }.v2-flow-glyph.is-supply::after { content:''; position:absolute; right:17px; top:13px; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:6px solid currentColor; }
.v2-flow-glyph.is-spark i,.v2-flow-glyph.is-spark b { left:23px; top:6px; width:2px; height:22px; background:currentColor; }.v2-flow-glyph.is-spark b { transform:rotate(90deg); }.v2-flow-glyph.is-spark em { left:16px; top:9px; width:16px; height:16px; border:2px solid currentColor; transform:rotate(45deg); }
.v2-business-flow strong { margin-top:5px; font-size:14px; }
.v2-business-flow span { margin-top:5px; color:var(--v2-muted); font-size:11px; line-height:1.55; }
.v2-business-flow a { margin-top:10px; color:#b9d9d6; font-size:10px; }
.v2-value-loop { display:grid; gap:12px; margin-top:24px; }
.v2-flow-lane { --lane-color:var(--v2-cyan); position:relative; padding:14px; border:1px solid color-mix(in srgb,var(--lane-color) 32%,var(--v2-border)); border-radius:12px; background:linear-gradient(135deg,color-mix(in srgb,var(--lane-color) 5%,transparent),rgba(255,255,255,.012)); }
.v2-flow-lane.is-enterprise { --lane-color:var(--v2-amber); }
.v2-flow-lane > header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:0 2px 10px; border-bottom:1px solid color-mix(in srgb,var(--lane-color) 24%,var(--v2-border)); }
.v2-flow-lane > header span { color:var(--lane-color); font-size:10px; font-weight:760; letter-spacing:.05em; }
.v2-flow-lane > header small { color:var(--v2-dim); font-size:8px; }
.v2-flow-lane .v2-business-flow { margin-top:12px; gap:14px; }
.v2-flow-lane .v2-business-flow article { min-height:146px; border-color:color-mix(in srgb,var(--lane-color) 25%,var(--v2-border)); background:color-mix(in srgb,var(--lane-color) 3%,rgba(255,255,255,.015)); }
.v2-flow-lane .v2-business-flow article:not(:last-child)::after,.v2-flow-lane .v2-business-flow small { color:var(--lane-color); }
.v2-flow-lane .v2-business-flow a { color:color-mix(in srgb,var(--lane-color) 72%,#d9e2e8); }
.v2-flow-coupling { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:10px; align-items:center; padding:3px 14px; color:var(--v2-dim); font-size:8px; }
.v2-flow-coupling i { height:1px; background:linear-gradient(90deg,var(--v2-cyan),var(--v2-amber)); }
.v2-flow-coupling strong { color:#d2dce2; font-size:9px; text-align:center; }

.v2-radar-layout { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr); gap:28px; align-items:center; }
.v2-radar-wrap { position:relative; min-height:430px; }
.v2-radar-canvas { position:absolute; inset:0; width:100%; height:100%; }
.v2-radar-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:104px; height:104px; border-radius:50%; background:#0b1219; border:1px solid rgba(56,214,199,.35); box-shadow:0 0 35px rgba(56,214,199,.12); }
.v2-radar-center strong { font-size:13px; }
.v2-radar-center span { color:var(--v2-dim); font-size:10px; }
.v2-domain-score-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.v2-domain-score-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; min-height:80px; padding:12px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.02); }
.v2-domain-score-row:hover { border-color:var(--tone); }
.v2-domain-score-row > span { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:8px; align-items:center; }
.v2-domain-score-row i { width:8px; height:8px; border-radius:50%; background:var(--tone); }
.v2-domain-score-row strong { font-size:13px; }
.v2-domain-score-row small { grid-column:2; color:var(--v2-dim); font-size:9px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.v2-domain-score-row > b { align-self:center; color:var(--tone); font-size:22px; }

.v2-enterprise-insights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.v2-enterprise-insight { padding:20px; border:1px solid var(--v2-border); border-radius:12px; background:var(--v2-panel); }
.v2-enterprise-insight h4 { margin:0 0 15px; font-size:18px; line-height:1.45; }
.v2-enterprise-insight > p { color:var(--v2-muted); font-size:12px; line-height:1.7; }
.v2-composition-chart { display:flex; height:12px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.04); }
.v2-composition-chart span { min-width:2px; }
.v2-chart-legend { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:9px; }
.v2-chart-legend span { color:var(--v2-muted); font-size:10px; }
.v2-chart-legend i { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:2px; }
.v2-chart-legend b { color:#cbd6df; }
.v2-insight-boundary { padding:10px 11px; border-left:2px solid var(--v2-amber); background:rgba(255,202,88,.04); color:#bba96f; font-size:11px; line-height:1.6; }
.v2-insight-boundary strong { margin-right:8px; color:var(--v2-amber); }

.v2-method-note { flex:0 0 min(360px,34%); border:1px solid var(--v2-border); border-radius:9px; color:var(--v2-muted); font-size:11px; }
.v2-method-note summary { padding:10px 12px; cursor:pointer; color:var(--v2-cyan); }
.v2-method-note p { padding:0 12px 12px; margin:0; font-size:11px; }
.v2-strategy-card { padding:23px; }
.v2-strategy-card header { align-items:stretch; }
.v2-strategy-kpis { display:grid; grid-template-columns:repeat(3,minmax(80px,1fr)); gap:6px; min-width:300px; }
.v2-strategy-kpis span { padding:9px 10px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.025); }
.v2-strategy-kpis small,.v2-strategy-kpis b { display:block; }
.v2-strategy-kpis small { color:var(--v2-dim); font-size:9px; }
.v2-strategy-kpis b { margin-top:4px; color:var(--v2-cyan); font-size:14px; }
.v2-strategy-reason-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:12px; }
.v2-strategy-reason-grid section { padding:15px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.018); }
.v2-strategy-reason-grid h4 { margin:0 0 7px; font-size:12px; color:#d9e1e7; }
.v2-strategy-reason-grid h4:not(:first-child) { margin-top:15px; }
.v2-strategy-reason-grid ul { margin:0; padding-left:17px; }
.v2-strategy-reason-grid li,.v2-strategy-reason-grid p { color:var(--v2-muted); font-size:11px; line-height:1.65; }
.v2-level-kicker,.v2-card-level { display:block; color:var(--domain-color,var(--v2-cyan)); font-size:10px; font-weight:760; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.v2-card-level { color:var(--v2-dim); margin:0; }
.v2-capability-cell h4 { margin-top:5px; }
.v2-gene-card { min-height:230px; }
.v2-gene-card h4 { margin:12px 0; font-size:14px; line-height:1.55; }
.v2-gene-standard-link { font-size:11px; color:var(--domain-color,var(--v2-cyan)); font-weight:600; }
.v2-gene-signal-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:12px 0; }
.v2-gene-signal-row span { padding:7px; border:1px solid var(--v2-border); border-radius:7px; background:rgba(255,255,255,.018); }
.v2-gene-signal-row small,.v2-gene-signal-row b { display:block; }
.v2-gene-signal-row small { color:var(--v2-dim); font-size:8px; }
.v2-gene-signal-row b { margin-top:3px; font-size:11px; }
.v2-gene-signal-row .positive b { color:var(--v2-green); }
.v2-gene-signal-row .risk b { color:var(--v2-red); }
.v2-gene-signal-row .uncertain b { color:var(--v2-amber); }
.v2-no-signal { margin:12px 0; padding:10px; color:var(--v2-dim); font-size:10px; border:1px dashed var(--v2-border); border-radius:7px; }
.v2-instance-status { flex:0 0 auto; text-align:right; }
.v2-instance-status span,.v2-instance-status small { display:block; }
.v2-instance-status span { color:var(--domain-color,var(--v2-cyan)); font-weight:760; }
.v2-instance-status small { margin-top:5px; color:var(--v2-dim); font-size:10px; }
.v2-gene-instance-grid { display:grid; gap:10px; margin-top:16px; }
.v2-instance-section { padding:16px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.018); }
.v2-instance-section-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-end; margin-bottom:12px; }
.v2-instance-section-head small { color:var(--domain-color,var(--v2-cyan)); font-size:9px; }
.v2-instance-section-head h4 { margin:3px 0 0; font-size:14px; }
.v2-instance-section-head > span,.v2-instance-section-head > a { color:var(--v2-dim); font-size:9px; }
.v2-carrier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.v2-carrier-grid article { padding:13px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(0,0,0,.12); }
.v2-carrier-grid article > span { display:inline-flex; padding:2px 6px; border-radius:999px; background:rgba(56,214,199,.08); color:var(--v2-cyan); font-size:9px; }
.v2-carrier-grid h5 { margin:8px 0 5px; font-size:12px; }
.v2-carrier-grid p { color:var(--v2-muted); font-size:10px; line-height:1.55; }
.v2-carrier-grid dl { margin:8px 0 0; }
.v2-carrier-grid dl div { display:grid; grid-template-columns:44px 1fr; gap:5px; padding-top:6px; border-top:1px solid var(--v2-border); font-size:9px; }
.v2-carrier-grid dt { color:var(--v2-dim); }
.v2-carrier-grid dd { margin:0; color:#aebac5; }
.v2-operation-text { margin:0; color:#c7d2da; font-size:12px; line-height:1.7; }
.v2-metric-chip-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.v2-metric-chip-list span { padding:4px 7px; border:1px solid var(--v2-border); border-radius:999px; color:var(--v2-muted); font-size:9px; }
.v2-empty-state { padding:14px; border:1px dashed var(--v2-border); border-radius:8px; color:var(--v2-dim); font-size:11px; }
.v2-gene-event-list { position:relative; display:grid; gap:0; }
.v2-gene-event-list article { display:grid; grid-template-columns:94px minmax(0,1fr); gap:16px; padding:12px 0; border-top:1px solid var(--v2-border); }
.v2-gene-event-list time { color:var(--v2-cyan); font-size:10px; }
.v2-gene-event-list article > div > span { color:var(--v2-dim); font-size:9px; }
.v2-gene-event-list h5 { margin:4px 0; font-size:12px; }
.v2-gene-event-list p { color:var(--v2-muted); font-size:10px; line-height:1.55; }
.v2-gene-event-list a { color:#84b9cb; font-size:9px; }

.v2-tree-legend { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:10px; }
.v2-tree-legend span,.metric-node-kind { display:inline-flex; padding:2px 6px; border-radius:999px; font-size:8px; font-style:normal; }
.v2-tree-legend .result,.metric-node-button.result .metric-node-kind { color:var(--v2-blue); background:rgba(85,198,242,.09); }
.v2-tree-legend .formula,.metric-node-button.formula .metric-node-kind { color:var(--v2-green); background:rgba(114,223,159,.08); }
.v2-tree-legend .driver,.metric-node-button.driverGroup .metric-node-kind,.metric-node-button.driver .metric-node-kind { color:var(--v2-purple); background:rgba(181,140,255,.09); }
.metric-tree-node.driverGroup::before,.metric-tree-node.driver::before { border-color:rgba(181,140,255,.4); border-style:dashed; }
.metric-node-button { grid-template-columns:minmax(0,1fr) auto 25px; align-items:center; }
.metric-node-select { min-width:0; padding:0; border:0; background:none; color:inherit; text-align:left; cursor:pointer; }
.metric-node-select > span { min-width:0; }
.metric-node-button strong { display:block; margin-top:4px; }
.metric-expand { width:24px; height:24px; border:1px solid var(--v2-border); border-radius:6px; background:rgba(255,255,255,.025); color:var(--v2-muted); cursor:pointer; }
.v2-series-chart { position:relative; height:190px; display:flex; align-items:flex-end; gap:7px; margin:15px 0; padding:22px 4px 25px; border-bottom:1px solid var(--v2-border); }
.v2-series-column { flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:4px; }
.v2-series-column > span { width:70%; max-width:34px; min-height:6px; border-radius:4px 4px 0 0; background:linear-gradient(var(--v2-cyan),rgba(56,214,199,.3)); }
.v2-series-column b { color:#c9d8df; font-size:9px; }
.v2-series-column small { color:var(--v2-dim); font-size:8px; }
.v2-series-chart em { position:absolute; right:0; bottom:4px; color:var(--v2-dim); font-size:8px; font-style:normal; }
.v2-chart-placeholder { display:grid; place-items:center; min-height:100px; margin:13px 0; border:1px dashed var(--v2-border); border-radius:8px; color:var(--v2-dim); font-size:10px; }
.v2-metric-insight { padding:11px 12px; border-left:2px solid var(--v2-cyan); background:rgba(56,214,199,.04); color:#bbc8d1; font-size:11px; line-height:1.65; }
.v2-benchmark-card { margin-top:14px; padding:14px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.018); }
.v2-benchmark-card header { display:flex; justify-content:space-between; gap:12px; }
.v2-benchmark-card small { color:var(--v2-dim); font-size:9px; }
.v2-benchmark-card h4 { margin:3px 0 0; font-size:13px; color:var(--v2-amber); }
.v2-benchmark-card header > span { color:var(--v2-dim); font-size:9px; }
.v2-benchmark-card p { color:var(--v2-muted); font-size:10px; line-height:1.55; }
.v2-benchmark-card dl { margin:0; }
.v2-benchmark-card dl div { display:grid; grid-template-columns:70px 1fr; gap:8px; padding-top:7px; border-top:1px solid var(--v2-border); font-size:9px; }
.v2-benchmark-card dt { color:var(--v2-dim); }
.v2-benchmark-card dd { margin:0; color:#aeb9c4; }
.v2-driver-list { margin-top:14px; }
.v2-driver-list h4 { margin:0; font-size:13px; }
.v2-driver-list > p { color:var(--v2-dim); font-size:9px; }
.v2-driver-list > div { display:grid; grid-template-columns:62px minmax(0,1fr) auto; gap:7px; padding:8px 0; border-top:1px solid var(--v2-border); font-size:9px; }
.v2-driver-list > div span { color:var(--v2-purple); }
.v2-driver-list > div a { color:var(--v2-cyan); font-weight:800; text-decoration:none; }
.v2-driver-list > div a:hover { text-decoration:underline; }
.v2-driver-list > div small { grid-column:2/-1; color:var(--v2-dim); }
.v2-detail-source-links { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:6px; }
.v2-detail-source-links a { color:var(--v2-cyan); text-decoration:none; }
.v2-detail-source-links a:hover { text-decoration:underline; }

.v2-event-action { display:grid; grid-template-columns:.7fr 1fr 1.3fr; gap:6px; margin:11px 0; }
.v2-event-action span { padding:8px; border:1px solid var(--v2-border); border-radius:7px; color:var(--v2-muted); font-size:10px; }
.v2-event-action b { display:block; margin-bottom:3px; color:var(--event-color); font-size:8px; }
.v2-event-results { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.v2-event-results span { padding:7px 9px; border:1px solid var(--v2-border); border-radius:7px; }
.v2-event-results small,.v2-event-results b { display:block; }
.v2-event-results small { color:var(--v2-dim); font-size:8px; }
.v2-event-results b { margin-top:2px; font-size:10px; }
.v2-event-source { display:inline-block; margin-top:11px; color:#7bb1c6; font-size:9px; }

/* Ontology-specific V2.1 */
.ontology-carrier-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.ontology-carrier-card { padding:16px; border:1px solid var(--v2-border); border-radius:10px; background:var(--v2-panel); }
.ontology-carrier-card header { display:flex; justify-content:space-between; gap:10px; }
.ontology-carrier-card header span { color:var(--v2-cyan); font-size:10px; }
.ontology-carrier-card h4 { margin:6px 0; font-size:14px; }
.ontology-carrier-card p { color:var(--v2-muted); font-size:11px; line-height:1.6; }
.ontology-carrier-card dl { margin:10px 0 0; }
.ontology-carrier-card dl div { display:grid; grid-template-columns:70px 1fr; gap:8px; padding-top:8px; border-top:1px solid var(--v2-border); font-size:10px; }
.ontology-carrier-card dt { color:var(--v2-dim); }
.ontology-carrier-card dd { margin:0; color:#b6c1ca; }
.ontology-indicator-card ul { margin:9px 0 0; padding-left:15px; color:var(--v2-dim); font-size:9px; line-height:1.6; }
.ontology-question-list { display:grid; gap:7px; }
.ontology-question-list div { padding:10px 12px; border-left:2px solid var(--v2-amber); background:rgba(255,202,88,.035); color:#c0b17f; font-size:11px; }
.ontology-method { margin-top:10px; padding:0 12px; border:1px solid var(--v2-border); border-radius:9px; }
.ontology-method summary { padding:10px 0; color:var(--v2-dim); font-size:10px; cursor:pointer; }
.ontology-method p { color:var(--v2-muted); font-size:10px; line-height:1.6; }
.ontology-method ul { margin:0 0 12px; padding-left:17px; color:var(--v2-muted); font-size:10px; line-height:1.7; }
.ontology-method li strong { color:#c6d0d8; }
.ontology-instance-card { display:block; }
.ontology-instance-card:hover { border-color:var(--object-color,var(--v2-cyan)); }
.ontology-instance-meta { display:flex; gap:8px; flex-wrap:wrap; color:var(--v2-dim); font-size:9px; }

@media (max-width: 1120px) {
    .v2-heatmap { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .v2-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-gene-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ontology-indicator-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v2-business-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .v2-business-flow article::after { display:none; }
    .v2-carrier-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 860px) {
    .v2-shell { width: min(100% - 24px, 1440px); }
    .v2-company-hero,
    .ontology-hero { grid-template-columns: 1fr; }
    .v2-hero-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; }
    .v2-primary-tabs { overflow-x: auto; display: flex; }
    .v2-tab { min-width: 112px; }
    .v2-panel-intro { display: block; }
    .v2-note { margin-top: 12px; }
    .v2-strategy-grid,
    .v2-diagnosis-grid,
    .v2-instance-grid,
    .v2-network-detail,
    .v2-metric-layout,
    .ontology-grid { grid-template-columns: 1fr; }
    .v2-pathway { grid-template-columns: 1fr; gap: 8px; }
    .v2-path-node:not(:last-child)::after { content: '↓'; right: 50%; top: auto; bottom: -19px; }
    .v2-heatmap { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v2-metric-detail,
    .ontology-side { position: static; }
    .ontology-formula { grid-template-columns: 1fr; gap: 8px; }
    .ontology-formula div:not(:last-child)::after { content: '↓'; right: 50%; top: auto; bottom: -18px; }
    .ontology-indicator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-radar-layout { grid-template-columns:1fr; }
    .v2-enterprise-insights { grid-template-columns:1fr; }
    .v2-strategy-reason-grid { grid-template-columns:1fr; }
    .v2-strategy-card header { display:block; }
    .v2-strategy-kpis { min-width:0; margin-top:14px; }
}

@media (max-width: 620px) {
    .v2-site-header { align-items: flex-start; padding: 12px 0; }
    .v2-header-actions { flex-direction: column; }
    .v2-company-hero { padding-top: 28px; }
    .v2-hero-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-panel-intro h2 { font-size: 22px; }
    .v2-section { padding: 16px; }
    .v2-stat-grid,
    .v2-strategy-grid,
    .v2-heatmap,
    .v2-capability-grid,
    .v2-gene-list,
    .v2-evidence-grid,
    .ontology-boundary-grid,
    .ontology-indicator-grid,
    .ontology-instance-grid { grid-template-columns: 1fr; }
    .v2-heat-cell { min-height: 104px; }
    .v2-instance-head { display: block; }
    .v2-instance-score { margin-top: 14px; }
    .v2-network-board { height: auto; min-height: 0; overflow: visible; padding: 7px 0; }
    .v2-network-board canvas { display: none; }
    .v2-bubble { position: static; transform: none; width: 100%; height: auto; min-height: 58px; border-radius: 10px; margin: 7px; }
    .v2-network-board .v2-bubble.is-capability { width:calc(100% - 14px); height:auto; min-height:48px; border-radius:9px; }
    .v2-network-cluster-label { display:none; }
    .v2-network-legend > em { width:100%; margin-left:0; }
    .v2-bubble:hover,
    .v2-bubble.active { transform: none; }
    .v2-event { grid-template-columns: 74px minmax(0, 1fr); gap: 22px; }
    .v2-event-confidence { display: none; }
    .v2-timeline::before { left: 84px; }
    .v2-event::before { left: 79px; }
    .ontology-id-card { min-width: 0; }
    .ontology-version-row { grid-template-columns: 80px 88px minmax(0, 1fr); gap: 8px; }
    .v2-business-flow,.v2-domain-score-list,.v2-carrier-grid,.ontology-carrier-grid { grid-template-columns:1fr; }
    .v2-radar-wrap { min-height:320px; }
    .v2-radar-center { width:82px; height:82px; }
    .v2-strategy-kpis { grid-template-columns:1fr; }
    .v2-gene-signal-row { grid-template-columns:1fr; }
    .v2-instance-section-head { align-items:flex-start; flex-direction:column; gap:6px; }
    .v2-gene-event-list article { grid-template-columns:1fr; gap:4px; }
    .v2-event-action { grid-template-columns:1fr; }
    .metric-tree-node { margin-left:12px; }
    .metric-node-button { grid-template-columns:minmax(0,1fr) auto 25px; gap:8px; }
}

/* Enterprise DNA V2.2 — insight-first company views */
.v2-dna-thesis h2,
.v2-panel-intro h2,
.v2-section-head h3,
.v2-capability-divider h3,
.v2-enterprise-insight h4,
.v2-gene-insight-card h4 {
    text-wrap: balance;
}

.v2-dna-thesis h2 {
    max-width: 31em;
    font-size: clamp(24px, 2.85vw, 40px);
    line-height: 1.38;
}

.v2-business-flow { position: relative; }

.v2-flow-return {
    display: grid;
    grid-template-columns: auto minmax(90px, 1fr) auto;
    align-items: center;
    gap: 11px;
    margin: 14px 14px 0;
    color: var(--v2-cyan);
    font-size: 11px;
}

.v2-flow-return strong { grid-column: 1; grid-row: 1; }
.v2-flow-return i { grid-column: 2; grid-row: 1; position: relative; height: 1px; background: linear-gradient(90deg, rgba(56,214,199,.9), rgba(56,214,199,.18)); }
.v2-flow-return i::before { content: ''; position: absolute; left: -1px; top: -4px; width: 7px; height: 7px; border-left: 1px solid var(--v2-cyan); border-bottom: 1px solid var(--v2-cyan); transform: rotate(45deg); }
.v2-flow-return > span { grid-column: 3; grid-row: 1; font-weight: 700; }
.v2-flow-return small { grid-column: 1 / -1; color: var(--v2-dim); text-align: center; font-size: 9px; }

.v2-domain-genome-scroller {
    overflow-x: auto;
    padding: 6px 0 8px;
    scrollbar-color: rgba(56,214,199,.3) transparent;
}

.v2-domain-genome {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--domain-count, 8), minmax(142px, 1fr));
    min-width: max(100%, calc(var(--domain-count, 8) * 142px));
    background: repeating-linear-gradient(to bottom, rgba(141,150,168,.09) 0, rgba(141,150,168,.09) 1px, transparent 1px, transparent 43px);
    border-bottom: 1px solid var(--v2-border);
}

.v2-domain-genome-item {
    min-width: 0;
    color: inherit;
    border-right: 1px solid rgba(141,150,168,.11);
    transition: background .2s ease;
}

.v2-domain-genome-item:hover { background: color-mix(in srgb, var(--tone) 5%, transparent); }
.v2-domain-genome-item:last-child { border-right: 0; }

.v2-genome-position { position: relative; height: 218px; }
.v2-genome-position > small { position: absolute; left: 13px; top: 7px; color: var(--v2-dim); font-size: 9px; }
.v2-genome-position > span { position: absolute; left: calc(50% - 5px); bottom: 16px; width: 10px; height: calc(var(--score) * 1.72px); min-height: 8px; border-radius: 7px 7px 2px 2px; background: linear-gradient(to top, color-mix(in srgb, var(--tone) 28%, transparent), var(--tone)); box-shadow: 0 0 25px color-mix(in srgb, var(--tone) 20%, transparent); }
.v2-genome-position > span::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.22); }
.v2-genome-position > span i { position: absolute; left: 50%; top: 0; width: 18px; height: 18px; transform: translate(-50%,-50%); border-radius: 50%; background: #081018; border: 3px solid var(--tone); box-shadow: 0 0 0 5px color-mix(in srgb, var(--tone) 13%, transparent); }
.v2-genome-position > b { position: absolute; left: 50%; bottom: calc(var(--score) * 1.72px + 31px); transform: translateX(-50%); color: var(--tone); font-size: 18px; white-space: nowrap; }

.v2-genome-copy { min-height: 205px; padding: 15px 13px 18px; border-top: 2px solid var(--tone); }
.v2-genome-copy em { display: block; color: var(--tone); font-size: 9px; font-style: normal; letter-spacing: .08em; }
.v2-genome-copy strong { display: block; margin-top: 5px; font-size: 15px; }
.v2-genome-copy p { margin: 9px 0; color: var(--v2-muted); font-size: 10px; line-height: 1.62; }
.v2-genome-copy > small { display: block; color: #d1dbe3; font-size: 10px; font-weight: 700; }

.v2-enterprise-insights { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.v2-enterprise-insight { position: relative; overflow: hidden; padding: 23px; }
.v2-enterprise-insight::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--v2-cyan); opacity: .75; }
.v2-enterprise-insight.visual-doubleDonut::before { background: var(--v2-pink); }
.v2-enterprise-insight.visual-trend::before { background: var(--v2-green); }
.v2-enterprise-insight.visual-riskChain::before { background: var(--v2-red); }
.v2-insight-role { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: rgba(56,214,199,.08); color: var(--v2-cyan); font-size: 9px; font-weight: 760; letter-spacing: .08em; }
.v2-enterprise-insight h4 { margin: 11px 0 16px; font-size: 19px; line-height: 1.5; }
.v2-mini-loop { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; align-items: center; margin: 8px 0 15px; }
.v2-mini-loop span { position: relative; min-height: 55px; display: grid; place-items: center; padding: 8px; border: 1px solid var(--v2-border); border-radius: 8px; color: #c7d4dc; font-size: 9px; text-align: center; }
.v2-mini-loop i { position: absolute; right: -8px; color: var(--v2-cyan); font-style: normal; z-index: 1; }
.v2-mini-loop span:last-child i { right: auto; left: -8px; bottom: -13px; transform: rotate(90deg); }
.v2-double-rings { display: flex; justify-content: center; gap: 24px; margin: 7px 0 17px; }
.v2-share-ring,.v2-global-ring { width: 136px; height: 136px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--ring-color,var(--v2-green)) calc(var(--ring-value) * 1%), rgba(141,150,168,.12) 0); }
.v2-share-ring::before,.v2-global-ring::before { content: ''; grid-area: 1/1; width: 104px; height: 104px; border-radius: 50%; background: #0a1118; }
.v2-share-ring span,.v2-global-ring span { grid-area: 1/1; position: relative; z-index: 1; display: grid; place-items: center; text-align: center; }
.v2-share-ring b,.v2-global-ring b { font-size: 21px; color: var(--ring-color,var(--v2-green)); }
.v2-share-ring small,.v2-global-ring small { max-width: 88px; margin-top: 3px; color: var(--v2-muted); font-size: 8px; line-height: 1.4; }
.v2-index-trend { position: relative; height: 182px; display: flex; gap: 8px; align-items: flex-end; padding: 20px 8px 29px; margin-bottom: 13px; border-bottom: 1px solid var(--v2-border); }
.v2-index-period { flex: 1; height: 100%; display: grid; grid-template-rows: 1fr auto; gap: 5px; }
.v2-index-period > div { display: flex; align-items: flex-end; justify-content: center; gap: 4px; }
.v2-index-period span { width: 18px; min-height: 5px; border-radius: 4px 4px 0 0; }
.v2-index-period span.revenue { background: linear-gradient(var(--v2-blue),rgba(85,198,242,.25)); }
.v2-index-period span.profit { background: linear-gradient(var(--v2-green),rgba(114,223,159,.25)); }
.v2-index-period small { color: var(--v2-dim); font-size: 8px; text-align: center; }
.v2-index-legend { position: absolute; left: 8px; right: 8px; top: 0; display: flex; gap: 12px; color: var(--v2-dim); font-size: 8px; }
.v2-index-legend span::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 2px; }
.v2-index-legend .revenue::before { background: var(--v2-blue); }
.v2-index-legend .profit::before { background: var(--v2-green); }
.v2-index-legend em { margin-left: auto; font-style: normal; }
.v2-risk-chain { display: flex; align-items: stretch; margin: 10px 0 15px; overflow-x: auto; }
.v2-risk-chain span { display: flex; align-items: center; flex: 1 0 92px; }
.v2-risk-chain b { flex: 1; min-height: 55px; display: grid; place-items: center; padding: 8px; border: 1px solid rgba(242,111,135,.24); border-radius: 8px; background: rgba(242,111,135,.035); color: #d9c1c7; font-size: 9px; text-align: center; }
.v2-risk-chain i { padding: 0 4px; color: var(--v2-red); font-style: normal; }
.v2-insight-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin: 10px 0 14px; }
.v2-insight-stats span { padding: 9px; border: 1px solid var(--v2-border); border-radius: 7px; background: rgba(255,255,255,.018); }
.v2-insight-stats small,.v2-insight-stats b { display: block; }
.v2-insight-stats small { color: var(--v2-dim); font-size: 8px; }
.v2-insight-stats b { margin-top: 4px; color: #dce5eb; font-size: 12px; }
.v2-insight-callout { margin: 13px 0; padding: 10px 12px; border-left: 2px solid var(--v2-amber); background: rgba(255,202,88,.04); color: #bdaf84; font-size: 11px; line-height: 1.65; }
.v2-insight-callout strong { margin-right: 8px; color: var(--v2-amber); }

.v2-strategy-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.v2-strategy-card { min-width: 0; }
.v2-strategy-card header { display: block; }
.v2-strategy-card > header h3 { max-width:1100px; margin:12px 0 0; font-size:clamp(19px,2vw,27px); line-height:1.38; }
.v2-strategy-body { margin-top:17px; padding:15px 17px; border-left:2px solid var(--accent,var(--v2-cyan)); background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 5%,transparent); }
.v2-strategy-body .v2-strategy-result { margin:0; padding:0; border:0; background:none; color:var(--v2-text); font-size:12px; font-weight:700; line-height:1.72; }
.v2-strategy-analysis { margin:8px 0 0; font-size:11px!important; line-height:1.78!important; }
.v2-strategy-visual { min-height: 205px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; margin: 14px 0; padding: 16px; border: 1px solid var(--v2-border); border-radius: 11px; background: radial-gradient(circle at 80% 0,rgba(56,214,199,.06),transparent 38%),rgba(255,255,255,.012); }
.v2-world-map { position: relative; height: 160px; overflow: hidden; border-radius: 80px 46px 70px 52px; background: radial-gradient(ellipse at 18% 42%,rgba(85,198,242,.14) 0 14%,transparent 15%),radial-gradient(ellipse at 43% 33%,rgba(85,198,242,.13) 0 12%,transparent 13%),radial-gradient(ellipse at 62% 52%,rgba(85,198,242,.12) 0 15%,transparent 16%),radial-gradient(ellipse at 82% 37%,rgba(85,198,242,.12) 0 10%,transparent 11%),linear-gradient(rgba(141,150,168,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(141,150,168,.05) 1px,transparent 1px); background-size:auto,auto,auto,auto,24px 24px,24px 24px; border:1px solid var(--v2-border); }
.v2-world-map span { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--v2-green); box-shadow: 0 0 0 4px rgba(114,223,159,.12),0 0 13px rgba(114,223,159,.55); }
.v2-world-map .dot-1{left:13%;top:37%}.v2-world-map .dot-2{left:24%;top:56%}.v2-world-map .dot-3{left:39%;top:34%}.v2-world-map .dot-4{left:49%;top:55%}.v2-world-map .dot-5{left:58%;top:27%}.v2-world-map .dot-6{left:66%;top:47%}.v2-world-map .dot-7{left:74%;top:31%}.v2-world-map .dot-8{left:82%;top:59%}.v2-world-map .dot-9{left:90%;top:40%}.v2-world-map .dot-10{left:70%;top:68%}
.v2-world-map em { position: absolute; left: 13px; bottom: 9px; color: var(--v2-muted); font-size: 8px; font-style: normal; }
.v2-global-ring { --ring-color:var(--v2-green); flex: 0 0 auto; }
.v2-portfolio-tier { grid-column: 1/-1; display: grid; grid-template-columns: 1.6fr repeat(var(--portfolio-items,6),1fr); gap: 5px; align-items: end; min-height: 118px; }
.v2-portfolio-tier span { min-height: 58px; display: grid; place-items: center; padding: 7px; border:1px solid var(--v2-border); border-radius:8px 8px 3px 3px; color:var(--v2-muted); font-size:7px; text-align:center; }
.v2-portfolio-tier .head { min-height: 105px; border-color: rgba(56,214,199,.35); background: rgba(56,214,199,.055); color: var(--v2-cyan); }
.v2-portfolio-tier em { font-style:normal; font-size:16px; }
.v2-portfolio-caption { grid-column:1/-1; display:flex; justify-content:center; gap:8px; color:var(--v2-muted); font-size:9px; }
.v2-category-shift { grid-column:1/-1; display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center; }
.v2-category-shift > div { padding:15px; border:1px solid var(--v2-border); border-radius:9px; }
.v2-category-shift small,.v2-category-shift b { display:block; }
.v2-category-shift small { color:var(--v2-dim); font-size:9px; }
.v2-category-shift span { display:block; height:14px; margin:10px 0; border-radius:999px; background:rgba(141,150,168,.11); }
.v2-category-shift i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--v2-pink),rgba(255,142,163,.35)); }
.v2-category-shift b { color:#e1cbd0; font-size:12px; }
.v2-category-shift em { color:var(--v2-pink); font-size:10px; font-style:normal; }
.v2-quality-signals { grid-column:1/-1; height:168px; display:flex; justify-content:center; align-items:flex-end; gap:18px; padding:22px 8px 0; }
.v2-quality-signals span { height:100%; width:min(108px,28%); display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:6px; }
.v2-quality-signals i { width:52%; min-height:12px; border-radius:5px 5px 0 0; background:linear-gradient(var(--v2-blue),rgba(85,198,242,.22)); }
.v2-quality-signals .profit i { background:linear-gradient(var(--v2-green),rgba(114,223,159,.22)); }
.v2-quality-signals .risk i { background:linear-gradient(var(--v2-red),rgba(242,111,135,.22)); }
.v2-quality-signals small { color:var(--v2-dim); font-size:8px; }
.v2-quality-signals b { font-size:11px; }
.v2-strategy-logic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.v2-strategy-logic-grid section,.v2-strategy-choice section { padding:13px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.014); }
.v2-strategy-logic-grid small { color:var(--v2-cyan); font-size:9px; font-weight:700; }
.v2-strategy-logic-grid p,.v2-strategy-choice p { margin:7px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.65; }
.v2-strategy-choice { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:7px; }
.v2-strategy-choice.is-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v2-strategy-choice h4 { margin:0; color:#d4dee5; font-size:10px; }
.v2-strategy-reasoning { display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); align-items:stretch; gap:7px; margin-top:14px; overflow:visible; }
.v2-strategy-reasoning section { min-width:0; padding:12px; border-top:2px solid color-mix(in srgb,var(--accent,var(--v2-cyan)) 55%,transparent); background:linear-gradient(180deg,color-mix(in srgb,var(--accent,var(--v2-cyan)) 6%,transparent),rgba(255,255,255,.01)); }
.v2-strategy-reasoning small { color:var(--v2-cyan); font-size:8px; font-weight:700; letter-spacing:.04em; }
.v2-strategy-reasoning p { margin:7px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.v2-strategy-reasoning > i { display:none; }
.v2-strategy-narrative { margin-top:14px; padding:14px 15px; border-left:2px solid var(--accent,var(--v2-cyan)); background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 5%,transparent); }
.v2-strategy-narrative p { margin:0; font-size:11px; line-height:1.72; }
.v2-strategy-flow-graphic { grid-column:1/-1; }
.v2-strategy-flow-graphic > strong { display:block; margin-bottom:14px; color:var(--v2-text); font-size:11px; }
.v2-strategy-flow-graphic > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:18px; align-items:stretch; }
.v2-strategy-flow-graphic span { position:relative; min-height:72px; display:grid; place-items:center; padding:12px; border:1px solid color-mix(in srgb,var(--accent,var(--v2-cyan)) 35%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 6%,transparent); color:var(--v2-text); font-size:10px; line-height:1.5; text-align:center; }
.v2-strategy-flow-graphic i { display:none; }
.v2-strategy-flow-graphic p { margin:12px 0 0; color:var(--accent,var(--v2-cyan)); font-size:9px; text-align:center; }
.v2-strategy-comparison,.v2-strategy-conversion,.v2-strategy-ratio,.v2-strategy-milestones,.v2-strategy-governance,.v2-strategy-distribution { grid-column:1/-1; width:100%; }
.v2-strategy-comparison > strong,.v2-strategy-conversion > strong,.v2-strategy-ratio > strong,.v2-strategy-milestones > strong,.v2-strategy-governance > strong,.v2-strategy-distribution > strong { display:block; margin-bottom:14px; font-size:11px; }
.v2-strategy-comparison > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:9px; }
.v2-strategy-comparison span { padding:12px; border:1px solid var(--v2-border); border-top:2px solid var(--v2-blue); border-radius:9px; background:rgba(85,198,242,.035); }
.v2-strategy-comparison span.risk { border-top-color:var(--v2-red); background:rgba(242,111,135,.035); }.v2-strategy-comparison span.up { border-top-color:var(--v2-green); background:rgba(114,223,159,.035); }
.v2-strategy-comparison small,.v2-strategy-comparison mark { display:block; color:var(--v2-dim); font-size:8px; background:none; }.v2-strategy-comparison p { display:flex; align-items:center; gap:7px; margin:9px 0 4px; }.v2-strategy-comparison em { color:var(--v2-muted); font-size:10px; font-style:normal; }.v2-strategy-comparison i { color:var(--accent,var(--v2-cyan)); font-style:normal; }.v2-strategy-comparison b { font-size:15px; }
.v2-strategy-conversion > div { display:grid; gap:10px; }.v2-strategy-conversion span { display:grid; grid-template-columns:minmax(90px,.65fr) minmax(120px,1.5fr) minmax(150px,1fr); gap:10px; align-items:center; }.v2-strategy-conversion small { color:var(--v2-muted); font-size:9px; }.v2-strategy-conversion span > i { height:12px; overflow:hidden; border-radius:999px; background:rgba(141,150,168,.12); }.v2-strategy-conversion span > i b { display:block; height:100%; min-width:8px; border-radius:inherit; background:linear-gradient(90deg,var(--accent,var(--v2-cyan)),color-mix(in srgb,var(--accent,var(--v2-cyan)) 28%,transparent)); }.v2-strategy-conversion em { color:var(--v2-text); font-size:9px; font-style:normal; }.v2-strategy-conversion .missing > i { border:1px dashed rgba(141,150,168,.35); background:transparent; }
.v2-strategy-evidence-paths { grid-column:1/-1; width:100%; }
.v2-strategy-evidence-paths > strong,.v2-strategy-return-loop > strong { display:block; margin-bottom:14px; font-size:11px; }
.evidence-path-lanes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.evidence-path-lanes section { min-height:112px; padding:14px; border-top:2px solid var(--v2-blue); border-radius:9px; background:color-mix(in srgb,var(--v2-blue) 6%,transparent); }
.evidence-path-lanes section:nth-child(2) { border-top-color:#7c3aed; background:color-mix(in srgb,#7c3aed 6%,transparent); }
.evidence-path-lanes small,.evidence-path-lanes b,.evidence-path-lanes p,.evidence-convergence small,.evidence-convergence b { display:block; }
.evidence-path-lanes small,.evidence-convergence small { color:var(--v2-dim); font-size:8px; }
.evidence-path-lanes b { margin-top:7px; font-size:13px; }
.evidence-path-lanes p { margin:7px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.v2-strategy-evidence-paths > i { display:block; margin:10px 0; color:var(--accent,var(--v2-cyan)); font-size:8px; font-style:normal; text-align:center; }
.evidence-convergence { padding:13px; border:1px solid color-mix(in srgb,var(--accent,var(--v2-cyan)) 42%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 7%,transparent); text-align:center; }
.evidence-convergence b { margin-top:5px; font-size:12px; }
.v2-strategy-evidence-paths footer { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:10px; }
.v2-strategy-evidence-paths footer span { padding:5px 8px; border:1px solid var(--v2-border); border-radius:999px; color:var(--v2-muted); font-size:8px; }
.v2-strategy-ratio > div { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; gap:12px; }.v2-strategy-ratio span { padding:14px; border:1px solid var(--v2-border); border-radius:9px; text-align:center; }.v2-strategy-ratio small,.v2-strategy-ratio b { display:block; }.v2-strategy-ratio small { color:var(--v2-dim); font-size:8px; }.v2-strategy-ratio span b { margin-top:5px; font-size:18px; }.v2-strategy-ratio > div > i { height:16px; overflow:hidden; border-radius:999px; background:rgba(141,150,168,.13); }.v2-strategy-ratio > div > i em { display:block; height:100%; min-width:8px; border-radius:inherit; background:var(--accent,var(--v2-cyan)); }.v2-strategy-ratio > p { margin:12px 0 0; color:var(--v2-muted); text-align:center; }.v2-strategy-ratio > p b { color:var(--accent,var(--v2-cyan)); }
.v2-strategy-milestones > div,.v2-strategy-governance > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(126px,1fr)); align-items:stretch; gap:8px; }.v2-strategy-milestones span,.v2-strategy-governance span { display:flex; flex-direction:column; min-height:88px; padding:12px; border:1px solid color-mix(in srgb,var(--accent,var(--v2-cyan)) 30%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 5%,transparent); }.v2-strategy-milestones small,.v2-strategy-governance small { color:var(--v2-dim); font-size:8px; }.v2-strategy-milestones b,.v2-strategy-governance b { margin-top:8px; font-size:12px; }.v2-strategy-milestones em { margin-top:auto; color:var(--v2-muted); font-size:8px; font-style:normal; }.v2-strategy-milestones i,.v2-strategy-governance i { align-self:center; color:var(--accent,var(--v2-cyan)); font-size:8px; font-style:normal; text-align:center; }
.v2-strategy-return-loop { grid-column:1/-1; width:100%; }
.return-loop-top { display:grid; grid-template-columns:minmax(190px,.8fr) auto minmax(280px,1.2fr); gap:9px; align-items:center; }
.return-loop-top > section,.return-loop-top .platform span,.return-routes section,.return-validation { padding:13px; border:1px solid color-mix(in srgb,var(--accent,var(--v2-cyan)) 32%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 5%,transparent); }
.return-loop-top > i,.return-split,.return-merge { color:var(--accent,var(--v2-cyan)); font-size:8px; font-style:normal; text-align:center; }
.return-loop-top .platform { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.return-loop-top small,.return-loop-top b,.return-loop-top p,.return-routes small,.return-routes b,.return-routes p,.return-validation small,.return-validation b { display:block; }
.return-loop-top small,.return-routes small,.return-validation small { color:var(--v2-dim); font-size:8px; }
.return-loop-top b,.return-routes b { margin-top:6px; font-size:11px; }
.return-loop-top p,.return-routes p { margin:6px 0 0; color:var(--v2-muted); font-size:8px; line-height:1.5; }
.return-split,.return-merge { display:block; margin:9px 0; }
.return-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.return-routes section:first-child { border-top:2px solid var(--v2-blue); }
.return-routes section:last-child { border-top:2px solid #7c3aed; }
.return-validation { text-align:center; border-color:color-mix(in srgb,var(--v2-green) 50%,var(--v2-border)); background:color-mix(in srgb,var(--v2-green) 7%,transparent); }
.return-validation b { margin-top:5px; font-size:12px; }
.v2-strategy-return-loop > p { margin:10px 0 0; color:var(--accent,var(--v2-cyan)); font-size:8px; text-align:center; }
.v2-strategy-governance span.control { border-color:rgba(124,58,237,.42); }.v2-strategy-governance span.partner { border-color:rgba(230,155,0,.42); }
.v2-strategy-distribution .center { max-width:360px; margin:0 auto 10px; padding:12px; border:1px solid var(--accent,var(--v2-cyan)); border-radius:9px; color:var(--v2-text); text-align:center; }.v2-strategy-distribution section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.v2-strategy-distribution section span { padding:12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); }.v2-strategy-distribution section b,.v2-strategy-distribution section small { display:block; }.v2-strategy-distribution section b { font-size:10px; }.v2-strategy-distribution section small { margin-top:6px; color:var(--v2-muted); font-size:8px; }.v2-strategy-distribution > p { margin:10px 0 0; color:var(--accent,var(--v2-cyan)); font-size:8px; text-align:center; }
.v2-strategy-callout { margin:2px 0 14px; padding:11px 13px; border-left:2px solid var(--v2-amber); background:rgba(255,202,88,.04); color:#bdaf84; font-size:10px; line-height:1.65; }
.v2-strategy-source { margin-top:15px; }
.v2-strategy-source > summary { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.v2-strategy-source > summary em { flex:0 0 auto; color:color-mix(in srgb,var(--v2-dim) 70%,transparent); font-size:8px; font-style:normal; letter-spacing:.08em; }
.v2-source-capabilities { display:flex!important; flex-wrap:wrap; align-items:center; gap:6px; }
.v2-source-capabilities span { padding:4px 7px; border:1px solid var(--v2-border); border-radius:999px; color:var(--v2-muted); font-size:8px; }

.v2-domain-tabs-scroll { overflow-x:auto; padding-bottom:6px; }
.v2-domain-tabs-row { display:flex; gap:8px; min-width:max-content; }
.v2-domain-tab-card { width:154px; min-height:95px; padding:12px; border:1px solid var(--v2-border); border-top:2px solid color-mix(in srgb,var(--tone) 45%,transparent); border-radius:9px; background:rgba(255,255,255,.015); color:inherit; text-align:left; cursor:pointer; }
.v2-domain-tab-card:hover,.v2-domain-tab-card.active { border-color:var(--tone); background:color-mix(in srgb,var(--tone) 7%,transparent); }
.v2-domain-tab-card em,.v2-domain-tab-card strong,.v2-domain-tab-card small { display:block; }
.v2-domain-tab-card em { color:var(--tone); font-size:8px; font-style:normal; letter-spacing:.06em; }
.v2-domain-tab-card strong { margin-top:5px; font-size:13px; }
.v2-domain-tab-card small { margin-top:8px; color:var(--v2-muted); font-size:9px; line-height:1.4; }
.v2-capability-tabs { display:flex; gap:8px; overflow-x:auto; padding-bottom:5px; }
.v2-capability-tab { flex:1 0 240px; min-width:0; padding:13px 15px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.014); color:inherit; text-align:left; cursor:pointer; }
.v2-capability-tab:hover,.v2-capability-tab.active { border-color:var(--domain-color); background:color-mix(in srgb,var(--domain-color) 6%,transparent); }
.v2-capability-tab span,.v2-capability-tab strong,.v2-capability-tab small { display:block; }
.v2-capability-tab span { color:var(--domain-color); font-size:8px; }
.v2-capability-tab strong { margin-top:4px; font-size:13px; }
.v2-capability-tab small { margin-top:7px; color:var(--v2-muted); font-size:9px; line-height:1.5; }
.v2-capability-divider { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:17px; border-bottom:1px solid var(--v2-border); }
.v2-capability-divider span { color:var(--domain-color); font-size:9px; letter-spacing:.08em; }
.v2-capability-divider h3 { max-width:1050px; margin:6px 0 0; font-size:21px; line-height:1.5; }
.v2-capability-operating-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:13px; }
.v2-capability-operating-grid section { padding:10px 11px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }
.v2-capability-operating-grid small { display:block; color:var(--domain-color); font-size:8px; letter-spacing:.06em; }
.v2-capability-operating-grid p { margin:5px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.v2-capability-exclusive-signals { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:10px; }
.v2-capability-exclusive-signals > span { color:var(--v2-dim); font-size:8px; }
.v2-capability-exclusive-signals > strong { padding:5px 8px; border:1px solid color-mix(in srgb,var(--domain-color) 35%,var(--v2-border)); border-radius:999px; color:var(--v2-text); font-size:8px; font-weight:650; }
.v2-gene-list { display:grid; grid-template-columns:1fr; gap:13px; margin-top:15px; }
.v2-gene-insight-card { position:relative; padding:23px; border:1px solid var(--v2-border); border-left:3px solid color-mix(in srgb,var(--domain-color) 45%,transparent); border-radius:12px; background:linear-gradient(110deg,color-mix(in srgb,var(--domain-color) 3%,transparent),var(--v2-panel)); cursor:default; transition:border-color .2s,transform .2s; }
.v2-gene-insight-card:hover,.v2-gene-insight-card.active { border-color:var(--domain-color); transform:translateY(-1px); }
.v2-gene-insight-card h4 { margin:12px 0 8px; max-width:1100px; font-size:18px; line-height:1.55; }
.v2-gene-explanation { max-width:1100px; color:var(--v2-muted); font-size:12px; line-height:1.72; }
.v2-gene-carrier-summary { margin-top:15px; padding-top:14px; border-top:1px solid var(--v2-border); }
.v2-gene-carrier-summary > strong,.v2-gene-operation > strong { display:block; margin-bottom:8px; color:#d9e2e8; font-size:10px; }
.v2-gene-carrier-summary > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.v2-gene-carrier-summary > div > span { min-width:0; padding:11px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }
.v2-gene-carrier-summary em,.v2-gene-carrier-summary b,.v2-gene-carrier-summary small { display:block; }
.v2-gene-carrier-summary em { color:var(--domain-color); font-size:8px; font-style:normal; }
.v2-gene-carrier-summary b { margin-top:5px; font-size:11px; }
.v2-gene-carrier-summary small { margin-top:5px; color:var(--v2-muted); font-size:9px; line-height:1.5; }
.v2-gene-operation { margin-top:12px; padding:12px 14px; border-left:2px solid var(--domain-color); background:color-mix(in srgb,var(--domain-color) 4%,transparent); }
.v2-gene-operation p { margin:0; color:#c5d0d8; font-size:11px; line-height:1.7; }
.v2-gene-event-brief { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:12px; }
.v2-gene-event-brief a { display:grid; grid-template-columns:76px minmax(0,1fr); gap:10px; padding:10px 11px; border:1px solid var(--v2-border); border-radius:8px; color:inherit; }
.v2-gene-event-brief time { color:var(--domain-color); font-size:9px; }
.v2-gene-event-brief strong,.v2-gene-event-brief small { display:block; }
.v2-gene-event-brief strong { font-size:10px; }
.v2-gene-event-brief small { margin-top:4px; color:var(--v2-muted); font-size:8px; line-height:1.45; }
.v2-source-inline { margin-top:13px; border-top:1px solid var(--v2-border); }
.v2-source-inline summary { padding-top:11px; color:var(--v2-dim); font-size:9px; cursor:pointer; }
.v2-source-inline div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
.v2-source-inline p { margin:0; padding:10px; border:1px solid var(--v2-border); border-radius:7px; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.v2-source-inline strong { color:#cbd5dc; }
.v2-neighbor-row button { margin-left:auto; border:0; background:none; color:var(--v2-cyan); font-size:9px; cursor:pointer; }

.v2-page-sources { margin-top:26px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.01); }
.v2-page-sources > summary { padding:13px 15px; color:var(--v2-dim); font-size:10px; cursor:pointer; }
.v2-page-sources > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 15px 15px; }
.v2-page-sources section { padding:12px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }
.v2-page-sources h4 { margin:0 0 6px; color:#cbd5dc; font-size:10px; }
.v2-page-sources p,.v2-page-sources li { margin:0; color:var(--v2-muted); font-size:9px; line-height:1.65; }
.v2-page-sources ul { margin:0; padding-left:16px; }

.v2-metric-stage { padding:20px; border:1px solid var(--v2-border); border-radius:12px; background:var(--v2-panel-soft); }
.v2-metric-stage-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:15px; }
.v2-metric-stage-head span { color:var(--v2-cyan); font-size:9px; letter-spacing:.08em; }
.v2-metric-stage-head h3 { margin:5px 0 0; font-size:18px; line-height:1.5; }
.v2-tree-legend { align-items:center; }
.v2-tree-legend em { margin-left:auto; color:var(--v2-dim); font-size:9px; font-style:normal; }
.v2-metric-tree-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; align-items:start; }
.v2-metric-tree { min-width:0; padding:11px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(5,9,14,.42); }
.metric-tree-node { margin-left:0; padding-top:7px; }
.metric-tree-node:not(.root)::before { display:none; }
.metric-tree-children { position:relative; margin-left:14px; padding-left:20px; border-left:1px solid rgba(85,198,242,.25); }
.metric-tree-children > .metric-tree-node::before { content:''; display:block; position:absolute; left:-20px; top:32px; width:19px; height:1px; border:0; background:rgba(85,198,242,.25); }
.metric-node-button { min-height:58px; border-radius:8px; background:rgba(255,255,255,.016); }
.metric-tree-node.root > .metric-node-button { border-color:rgba(56,214,199,.28); background:rgba(56,214,199,.035); }
.metric-node-button.active { box-shadow:0 0 0 1px var(--v2-cyan) inset; }
.metric-node-value { white-space:nowrap; }
.v2-drawer-backdrop { position:fixed; inset:0; z-index:80; border:0; background:rgba(1,4,7,.55); cursor:pointer; }
.v2-metric-drawer { position:fixed; right:0; top:0; z-index:81; width:min(640px,calc(100vw - 26px)); height:100vh; overflow-y:auto; padding:28px 28px 50px; background:#0a1018; border-left:1px solid rgba(56,214,199,.3); box-shadow:-22px 0 65px rgba(0,0,0,.45); }
.v2-drawer-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding-bottom:16px; border-bottom:1px solid var(--v2-border); }
.v2-drawer-head h3 { margin:7px 0 0; font-size:25px; }
.v2-drawer-head > button,.v2-event-detail header > button { width:34px; height:34px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.025); color:var(--v2-muted); font-size:22px; cursor:pointer; }
.v2-metric-drawer .v2-metric-main-value { margin:22px 0 14px; font-size:40px; }
.v2-metric-drawer .v2-driver-list > div { grid-template-columns:100px minmax(0,1fr) auto; }
.v2-metric-share { margin:18px 0; padding:15px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.014); }
.v2-metric-share > div { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; }
.v2-metric-share small { color:var(--v2-dim); font-size:9px; }
.v2-metric-share b { color:var(--v2-cyan); font-size:13px; }
.v2-metric-share > span { display:block; height:12px; overflow:hidden; border-radius:999px; background:rgba(141,150,168,.11); }
.v2-metric-share i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--v2-cyan),rgba(56,214,199,.35)); }

.v2-event-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; align-items:start; }
.v2-event-layout.open { grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr); }
.v2-event-list { position:relative; display:grid; gap:0; padding-left:26px; }
.v2-event-list::before { content:''; position:absolute; left:8px; top:17px; bottom:17px; width:1px; background:linear-gradient(var(--v2-cyan),rgba(56,214,199,.06)); }
.v2-event-row { position:relative; display:grid; grid-template-columns:98px minmax(0,1fr) auto; gap:13px; align-items:start; padding:15px 15px; border:0; border-bottom:1px solid var(--v2-border); background:transparent; color:inherit; text-align:left; cursor:pointer; }
.v2-event-row::before { content:''; position:absolute; left:-22px; top:20px; width:9px; height:9px; border-radius:50%; background:#081018; border:2px solid var(--event-color); box-shadow:0 0 0 4px color-mix(in srgb,var(--event-color) 10%,transparent); }
.v2-event-row:hover,.v2-event-row.active { background:color-mix(in srgb,var(--event-color) 5%,transparent); }
.v2-event-row time { color:var(--event-color); font-size:10px; }
.v2-event-row small,.v2-event-row strong,.v2-event-row p { display:block; }
.v2-event-row small { color:var(--event-color); font-size:8px; }
.v2-event-row strong { margin-top:4px; font-size:13px; }
.v2-event-row p { margin:5px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.45; }
.v2-event-row > i { color:var(--v2-dim); font-style:normal; }
.v2-event-detail { position:sticky; top:86px; padding:22px; border:1px solid var(--v2-border); border-top:2px solid var(--event-color); border-radius:12px; background:var(--v2-panel); }
.v2-event-detail header { display:flex; justify-content:space-between; gap:20px; }
.v2-event-detail header span { color:var(--event-color); font-size:9px; }
.v2-event-detail header time { margin-left:8px; color:var(--v2-dim); font-size:9px; }
.v2-event-detail h3 { margin:8px 0 0; font-size:21px; line-height:1.45; }
.v2-event-detail section { margin-top:16px; padding-top:14px; border-top:1px solid var(--v2-border); }
.v2-event-detail section h4 { margin:0 0 7px; font-size:11px; }
.v2-event-detail section > p { margin:0; color:var(--v2-muted); font-size:11px; line-height:1.75; }

@media (max-width: 1120px) {
    .v2-strategy-grid { grid-template-columns:1fr; }
    .v2-strategy-card { max-width:none; }
    .v2-gene-carrier-summary > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-page-sources > div { grid-template-columns:1fr 1fr; }
}

@media (max-width: 860px) {
    .v2-business-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-enterprise-insights { grid-template-columns:1fr; }
    .v2-strategy-logic-grid { grid-template-columns:1fr; }
    .v2-strategy-choice { grid-template-columns:1fr; }
    .v2-strategy-choice.is-three { grid-template-columns:1fr; }
    .v2-strategy-reasoning { grid-template-columns:1fr; }
    .v2-strategy-reasoning > i { display:none; }
    .v2-capability-divider { align-items:flex-start; flex-direction:column; }
    .v2-source-inline div { grid-template-columns:1fr; }
    .v2-metric-tree-grid { grid-template-columns:1fr; }
    .v2-event-layout.open { grid-template-columns:1fr; }
    .v2-event-detail { position:static; }
}

@media (max-width: 620px) {
    .v2-dna-thesis h2 { font-size:clamp(22px,7vw,31px); }
    .v2-business-flow { grid-template-columns:1fr; }
    .v2-flow-return { grid-template-columns:auto 1fr auto; margin-inline:0; }
    .v2-domain-genome { min-width:max(100%,calc(var(--domain-count,8) * 125px)); grid-template-columns:repeat(var(--domain-count,8),125px); }
    .v2-genome-position { height:190px; }
    .v2-genome-position > span { height:calc(var(--score) * 1.45px); }
    .v2-genome-position > b { bottom:calc(var(--score) * 1.45px + 31px); }
    .v2-genome-copy { min-height:220px; }
    .v2-double-rings { gap:10px; }
    .v2-share-ring { width:120px; height:120px; }
    .v2-share-ring::before { width:91px; height:91px; }
    .v2-mini-loop { grid-template-columns:1fr; }
    .v2-mini-loop i { right:auto; bottom:-9px; transform:rotate(90deg); }
    .v2-insight-stats { grid-template-columns:1fr; }
    .v2-strategy-visual { grid-template-columns:1fr; }
    .v2-global-ring { margin:auto; }
    .v2-category-shift { grid-template-columns:1fr; }
    .v2-category-shift > em { text-align:center; transform:rotate(90deg); }
    .v2-portfolio-tier { grid-template-columns:repeat(3,1fr); }
    .v2-portfolio-tier .head { grid-column:span 3; }
    .v2-gene-carrier-summary > div,.v2-gene-event-brief { grid-template-columns:1fr; }
    .v2-page-sources > div { grid-template-columns:1fr; }
    .v2-metric-stage { padding:13px; }
    .v2-metric-stage-head { align-items:flex-start; flex-direction:column; }
    .v2-tree-legend em { flex-basis:100%; margin-left:0; }
    .metric-tree-children { margin-left:6px; padding-left:10px; }
    .metric-tree-children > .metric-tree-node::before { left:-10px; width:9px; }
    .v2-metric-drawer { padding:20px 18px 42px; }
    .v2-event-row { grid-template-columns:76px minmax(0,1fr) auto; padding-inline:10px; }
    .v2-event-action { grid-template-columns:1fr; }
}

/* V2.1 · evidence-led hierarchy and analytical dashboards */
.v2-enterprise-insight.visual-absoluteTrend::before { background:var(--v2-green); }
.v2-absolute-trend { height:205px; margin-bottom:52px; }
.v2-absolute-trend .v2-index-period span { position:relative; }
.v2-absolute-trend .v2-index-period span > b { position:absolute; left:50%; top:-15px; transform:translateX(-50%); color:var(--v2-muted); font-size:7px; font-weight:600; white-space:nowrap; }
.v2-margin-shift { position:absolute; left:8px; right:8px; bottom:-39px; display:flex; align-items:center; justify-content:flex-end; gap:8px; min-height:29px; padding:6px 9px; border:1px solid rgba(114,223,159,.17); border-radius:7px; background:rgba(114,223,159,.035); color:var(--v2-muted); font-size:8px; }
.v2-margin-shift b { color:var(--v2-green); font-size:11px; }
.v2-margin-shift i { color:var(--v2-green); font-style:normal; }
.v2-risk-facts { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:center; margin:10px 0 15px; }
.v2-risk-facts > span { min-height:86px; padding:12px; border:1px solid rgba(242,111,135,.22); border-radius:9px; background:rgba(242,111,135,.035); }
.v2-risk-facts > span small,.v2-risk-facts > span b,.v2-risk-facts > span em { display:block; }
.v2-risk-facts > span small { color:var(--v2-red); font-size:8px; }
.v2-risk-facts > span b { margin-top:7px; font-size:12px; }
.v2-risk-facts > span em { margin-top:5px; color:var(--v2-muted); font-size:9px; font-style:normal; }
.v2-risk-facts > i { display:grid; gap:4px; min-width:88px; padding:9px; border-top:1px dashed var(--v2-amber); border-bottom:1px dashed var(--v2-amber); color:var(--v2-amber); text-align:center; font-style:normal; }
.v2-risk-facts > i b { font-size:9px; }.v2-risk-facts > i small { color:var(--v2-muted); font-size:7px; }

.v2-strategy-visual.is-global { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto; }
.v2-world-map { grid-column:1; grid-row:1; position:relative; height:188px; overflow:visible; border:1px solid var(--v2-border); border-radius:10px; background:linear-gradient(rgba(141,150,168,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(141,150,168,.055) 1px,transparent 1px),radial-gradient(circle at 62% 40%,rgba(56,214,199,.045),transparent 55%); background-size:24px 24px,24px 24px,auto; }
.v2-world-map .continent { position:absolute; display:grid; place-items:center; width:auto; height:auto; border-radius:0; box-shadow:none; color:#071017; font-size:7px; font-weight:800; opacity:.92; }
.v2-world-map .continent b { filter:drop-shadow(0 1px rgba(255,255,255,.16)); }
.v2-world-map .continent.stores { background:linear-gradient(135deg,#72df9f,#2ea88d); }
.v2-world-map .continent.reach { background:linear-gradient(135deg,rgba(85,198,242,.72),rgba(85,198,242,.32)); color:#bfe8f7; }
.v2-world-map .north-america { left:5%; top:18%; width:29%; height:40%; clip-path:polygon(2% 24%,15% 8%,33% 3%,43% 13%,55% 10%,66% 21%,82% 20%,96% 36%,83% 49%,75% 68%,60% 74%,54% 96%,42% 86%,37% 63%,22% 57%,13% 43%); }
.v2-world-map .south-america { left:27%; top:56%; width:17%; height:39%; clip-path:polygon(12% 0,70% 5%,92% 23%,76% 47%,66% 72%,42% 100%,33% 76%,21% 58%,8% 34%); }
.v2-world-map .europe { left:47%; top:22%; width:16%; height:20%; clip-path:polygon(4% 37%,18% 15%,35% 20%,48% 0,67% 15%,91% 13%,100% 42%,77% 55%,61% 88%,39% 66%,20% 78%); }
.v2-world-map .africa { left:48%; top:42%; width:19%; height:42%; clip-path:polygon(8% 5%,48% 0,88% 18%,97% 43%,78% 68%,58% 96%,37% 78%,24% 55%,3% 32%); }
.v2-world-map .asia { left:61%; top:18%; width:34%; height:48%; clip-path:polygon(0 27%,14% 6%,33% 0,49% 12%,64% 7%,80% 18%,100% 30%,87% 47%,75% 49%,66% 73%,48% 67%,38% 92%,25% 70%,14% 58%,4% 48%); }
.v2-world-map .oceania { left:79%; top:68%; width:17%; height:22%; clip-path:polygon(5% 30%,26% 12%,45% 22%,62% 2%,96% 36%,83% 71%,55% 86%,31% 70%,12% 82%); }
.v2-map-legend { grid-column:1; grid-row:2; display:flex; gap:13px; color:var(--v2-muted); font-size:8px; }
.v2-map-legend span::before { content:''; display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:2px; vertical-align:-1px; }
.v2-map-legend .stores::before { background:var(--v2-green); }.v2-map-legend .reach::before { background:var(--v2-blue); opacity:.65; }
.v2-map-kpis { grid-column:1; grid-row:3; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.v2-map-kpis span { padding:8px 10px; border:1px solid var(--v2-border); border-radius:7px; }
.v2-map-kpis small,.v2-map-kpis b { display:block; }.v2-map-kpis small { color:var(--v2-dim); font-size:8px; }.v2-map-kpis b { margin-top:3px; font-size:10px; }
.v2-strategy-visual.is-global .v2-global-ring { grid-column:2; grid-row:1/4; }

.v2-domain-heatmap-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.v2-domain-heat-tile { min-height:190px; display:flex; flex-direction:column; padding:17px; border:1px solid var(--v2-border); border-top:3px solid var(--tone); border-radius:11px; background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 8%,transparent),rgba(255,255,255,.01)); color:inherit; text-align:left; cursor:pointer; transition:transform .18s,border-color .18s; }
.v2-domain-heat-tile:hover { transform:translateY(-2px); border-color:var(--tone); }
.v2-domain-heat-tile > span { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.v2-domain-heat-tile em { color:var(--tone); font-size:8px; font-style:normal; }.v2-domain-heat-tile strong { font-size:15px; }
.v2-domain-heat-tile > b { margin-top:22px; color:var(--tone); font-size:15px; }.v2-domain-heat-tile p { margin:10px 0; color:var(--v2-muted); font-size:10px; line-height:1.6; }
.v2-domain-heat-tile > i { margin-top:auto; color:var(--v2-dim); font-size:9px; font-style:normal; }
.v2-ontology-workspace { margin-top:18px; }
.v2-domain-tab-rail,.v2-capability-tab-rail { display:flex; gap:4px; overflow-x:auto; padding:0 8px; }
.v2-domain-tab-rail button,.v2-capability-tab-rail button { flex:0 0 auto; padding:11px 13px; border:1px solid var(--v2-border); border-bottom-color:var(--domain-color); border-radius:8px 8px 0 0; background:rgba(255,255,255,.012); color:var(--v2-muted); font-size:9px; cursor:pointer; }
.v2-domain-tab-rail button.active,.v2-capability-tab-rail button.active { position:relative; z-index:2; margin-bottom:-1px; border-color:var(--domain-color); border-bottom-color:#0b1118; background:#0b1118; color:#e8eef2; }
.v2-domain-tab-rail button.active { border-top:2px solid var(--tone); }
.v2-domain-tab-rail .overview,.v2-capability-tab-rail .overview { color:var(--v2-dim); }
.v2-domain-sheet { padding:25px; border:1px solid var(--domain-color); border-radius:12px; background:linear-gradient(135deg,color-mix(in srgb,var(--domain-color) 3%,transparent),var(--v2-panel)); }
.v2-domain-analysis { margin:18px 0 25px; padding:18px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(3,7,11,.35); }
.v2-domain-analysis-bars { display:grid; gap:10px; }
.v2-domain-analysis-bars > span { display:grid; grid-template-columns:130px minmax(0,1fr) 92px; gap:10px; align-items:center; }
.v2-domain-analysis-bars small { color:var(--v2-muted); font-size:9px; }.v2-domain-analysis-bars > span > i { height:12px; overflow:hidden; border-radius:999px; background:rgba(141,150,168,.1); }.v2-domain-analysis-bars > span > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--domain-color),color-mix(in srgb,var(--domain-color) 30%,transparent)); }.v2-domain-analysis-bars em { color:#d9e2e8; font-size:10px; font-style:normal; text-align:right; }
.v2-domain-analysis-signals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.v2-domain-analysis-signals span { padding:15px; border:1px solid var(--v2-border); border-radius:8px; }.v2-domain-analysis-signals small,.v2-domain-analysis-signals b { display:block; }.v2-domain-analysis-signals small { color:var(--v2-dim); font-size:8px; }.v2-domain-analysis-signals b { margin-top:6px; color:var(--domain-color); font-size:14px; }
.v2-domain-analysis-trend { position:relative; height:190px; display:flex; align-items:flex-end; justify-content:center; gap:24px; padding:20px 20px 30px; }.v2-domain-analysis-trend > span { width:78px; height:100%; display:grid; grid-template-rows:auto 1fr auto; align-items:end; text-align:center; }.v2-domain-analysis-trend > span > b { color:var(--domain-color); font-size:11px; }.v2-domain-analysis-trend > span > i { width:44px; margin:6px auto 4px; border-radius:6px 6px 0 0; background:linear-gradient(var(--domain-color),color-mix(in srgb,var(--domain-color) 20%,transparent)); }.v2-domain-analysis-trend small { color:var(--v2-dim); font-size:8px; }.v2-domain-analysis-trend > em { position:absolute; right:8px; bottom:4px; color:var(--v2-dim); font-size:8px; font-style:normal; }
.v2-level-transition { margin:28px 0 14px; padding-top:20px; border-top:1px solid var(--v2-border); }.v2-level-transition > span { color:var(--domain-color); font-size:9px; letter-spacing:.08em; }.v2-level-transition h3 { margin:6px 0; font-size:18px; }.v2-level-transition p { margin:0; color:var(--v2-muted); font-size:10px; }.v2-level-transition.compact { margin-top:22px; }.v2-level-transition.compact h3 { font-size:15px; }
.v2-capability-heatmap-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.v2-capability-heat-tile { min-height:175px; display:flex; flex-direction:column; padding:17px; border:1px solid var(--v2-border); border-left:3px solid color-mix(in srgb,var(--domain-color) 55%,transparent); border-radius:10px; background:rgba(255,255,255,.012); color:inherit; text-align:left; cursor:pointer; }.v2-capability-heat-tile:hover { border-color:var(--domain-color); }.v2-capability-heat-tile > span { display:flex; justify-content:space-between; gap:10px; }.v2-capability-heat-tile em { color:var(--domain-color); font-size:8px; font-style:normal; }.v2-capability-heat-tile strong { font-size:14px; }.v2-capability-heat-tile p { color:var(--v2-muted); font-size:10px; line-height:1.6; }.v2-capability-heat-tile > div { margin-top:auto; padding:9px 10px; border:1px solid var(--v2-border); border-radius:7px; }.v2-capability-heat-tile > div small,.v2-capability-heat-tile > div b { display:block; }.v2-capability-heat-tile > div small { color:var(--v2-dim); font-size:8px; }.v2-capability-heat-tile > div b { margin-top:4px; color:var(--domain-color); font-size:11px; }.v2-capability-heat-tile > i { margin-top:10px; color:var(--v2-dim); font-size:9px; font-style:normal; }
.v2-capability-reference-line { display:block; margin:2px 0 12px; color:color-mix(in srgb,var(--domain-color) 72%,var(--v2-muted)); font-size:8px; line-height:1.55; }
.v2-capability-tab-rail { margin:28px -1px 0; padding-left:9px; }.v2-capability-sheet { padding:22px; border:1px solid var(--domain-color); border-radius:10px; background:rgba(3,7,11,.27); }
.v2-standard-capability-map { display:grid; gap:7px; margin:15px 0; padding:14px; border:1px solid color-mix(in srgb,var(--domain-color) 34%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--domain-color) 4%,transparent); }
.v2-standard-capability-map > header { display:flex; justify-content:space-between; gap:12px; margin-bottom:2px; }
.v2-standard-capability-map > header strong { color:var(--domain-color); font-size:10px; }
.v2-standard-capability-map > header span { color:var(--v2-dim); font-size:8px; }
.v2-standard-capability-map > a { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:10px 11px; border:1px solid var(--v2-border); border-radius:7px; color:inherit; text-decoration:none; }
.v2-standard-capability-map > a:hover { border-color:var(--domain-color); }
.v2-standard-capability-map > a span { color:var(--v2-muted); font-size:9px; }
.v2-standard-capability-map > a i { color:var(--domain-color); font-style:normal; }
.v2-standard-capability-map > a strong { font-size:10px; }
.v2-standard-capability-map > a em { padding:3px 6px; border-radius:999px; background:color-mix(in srgb,var(--domain-color) 10%,transparent); color:var(--domain-color); font-size:7px; font-style:normal; white-space:nowrap; }
.v2-capability-evidence-band { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:16px 0; }.v2-capability-evidence-band span { padding:12px; border:1px solid var(--v2-border); border-radius:8px; }.v2-capability-evidence-band small,.v2-capability-evidence-band b { display:block; }.v2-capability-evidence-band small { color:var(--v2-dim); font-size:8px; }.v2-capability-evidence-band b { margin-top:5px; color:var(--domain-color); font-size:12px; }
.v2-capability-evidence-visual { margin:17px 0 20px; padding:16px; border:1px solid color-mix(in srgb,var(--domain-color) 32%,var(--v2-border)); border-radius:10px; background:linear-gradient(145deg,color-mix(in srgb,var(--domain-color) 5%,transparent),rgba(255,255,255,.012)); }
.v2-capability-evidence-visual > header { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-bottom:13px; border-bottom:1px solid var(--v2-border); }
.v2-capability-evidence-visual > header span { color:var(--domain-color); font-size:8px; letter-spacing:.08em; }
.v2-capability-evidence-visual > header strong { font-size:12px; }
.v2-capability-evidence-nodes { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; padding-top:14px; }
.v2-capability-evidence-nodes button { min-width:0; padding:12px 0; border:0; border-bottom:1px solid var(--v2-border); background:transparent; color:inherit; text-align:left; cursor:pointer; }
.v2-capability-evidence-nodes small,.v2-capability-evidence-nodes b,.v2-capability-evidence-nodes em { display:block; }
.v2-capability-evidence-nodes small { color:var(--v2-dim); font-size:8px; }
.v2-capability-evidence-nodes b { margin-top:6px; color:var(--domain-color); font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
.v2-capability-evidence-nodes em { margin-top:7px; color:var(--v2-muted); font-size:8px; font-style:normal; line-height:1.5; }
.v2-capability-evidence-nodes button > span { display:block; height:5px; margin-top:10px; overflow:hidden; border-radius:999px; background:var(--v2-border); }
.v2-capability-evidence-nodes button > span i { display:block; width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--domain-color),color-mix(in srgb,var(--domain-color) 18%,transparent)); }
.v2-capability-evidence-nodes button:hover b { text-decoration:underline; text-underline-offset:3px; }
.v2-capability-evidence-nodes.is-single { grid-template-columns:minmax(220px,460px); justify-content:center; }
.v2-capability-operating-patterns { margin:17px 0 20px; padding:16px; border:1px solid var(--v2-border); border-radius:10px; background:color-mix(in srgb,var(--domain-color) 3%,var(--v2-panel)); }
.v2-capability-operating-patterns > header { display:flex; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--v2-border); }
.v2-capability-operating-patterns > header span { color:var(--domain-color); font-size:8px; letter-spacing:.08em; }
.v2-capability-operating-patterns > header strong { color:var(--v2-muted); font-size:9px; font-weight:600; }
.v2-capability-operating-patterns > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; padding-top:12px; }
.v2-capability-operating-patterns article { position:relative; padding:13px 0 14px; border:0; border-bottom:1px solid var(--v2-border); background:transparent; }
.v2-capability-operating-patterns article > strong { color:var(--v2-text); font-size:11px; }
.v2-capability-operating-patterns article p { margin:6px 0 9px; color:var(--v2-muted); font-size:9px; line-height:1.6; }
.v2-capability-operating-patterns article span { display:flex; flex-wrap:wrap; gap:5px; }
.v2-capability-operating-patterns article em { padding:2px 6px; border-radius:999px; background:color-mix(in srgb,var(--domain-color) 9%,transparent); color:var(--domain-color); font-size:7px; font-style:normal; }
.v2-inline-capability-list { display:grid; gap:14px; margin-top:16px; }
.v2-inline-capability-card { scroll-margin-top:120px; padding:18px; border:1px solid var(--v2-border); border-radius:10px; background:var(--v2-panel); }
.v2-inline-capability-card.active { border-color:color-mix(in srgb,var(--domain-color) 65%,var(--v2-border)); box-shadow:0 0 0 1px color-mix(in srgb,var(--domain-color) 18%,transparent); }
.v2-inline-capability-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.v2-inline-capability-card > header > div { min-width:0; }
.v2-inline-capability-card > header span { display:block; color:var(--domain-color); font-size:8px; letter-spacing:.08em; }
.v2-inline-capability-card > header h3 { margin:7px 0 0; font-size:14px; line-height:1.55; }
.v2-inline-capability-card > header h3 strong { color:var(--domain-color); }
.v2-capability-status { display:inline-flex !important; width:max-content; padding:3px 7px; border-radius:999px; font-weight:750; }
.v2-capability-status.is-direct { background:color-mix(in srgb,var(--domain-color) 12%,transparent); color:var(--domain-color) !important; }
.v2-capability-status.is-inferred { background:rgba(255,191,92,.1); color:#d89a35 !important; }
.v2-capability-main-visual { margin-top:16px; }
.v2-capability-visual-caption { margin:10px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.65; }
.v2-capability-contract-map { padding:14px; border:1px solid var(--v2-border); border-radius:10px; }.v2-capability-contract-map > strong { display:block; margin-bottom:12px; font-size:10px; }.v2-capability-contract-map > div { display:flex; align-items:stretch; gap:8px; overflow-x:auto; }.v2-capability-contract-map span { flex:1 0 180px; padding:12px; border:1px solid color-mix(in srgb,var(--domain-color) 32%,var(--v2-border)); border-radius:9px; }.v2-capability-contract-map em,.v2-capability-contract-map b,.v2-capability-contract-map small { display:block; }.v2-capability-contract-map em { color:var(--domain-color); font-size:8px; font-style:normal; }.v2-capability-contract-map b { margin-top:5px; font-size:10px; }.v2-capability-contract-map small { margin-top:6px; color:var(--v2-muted); font-size:8px; line-height:1.5; }.v2-capability-contract-map i { align-self:center; color:var(--domain-color); font-style:normal; }
.v2-capability-mode-matrix { padding:14px; border:1px solid var(--v2-border); border-radius:10px; }.v2-capability-mode-matrix > strong { display:block; margin-bottom:12px; font-size:10px; }.v2-capability-mode-matrix > div { display:grid; grid-template-columns:1.25fr .7fr 1.15fr; gap:8px; padding:10px 0; border-top:1px solid var(--v2-border); }.v2-capability-mode-matrix > div.head { padding:7px 0; border-top:0; color:var(--v2-dim); font-size:8px; }.v2-capability-mode-matrix span,.v2-capability-mode-matrix strong { font-size:9px; line-height:1.5; }.v2-capability-mode-matrix > div > strong { color:var(--domain-color); }
.v2-capability-card-source { margin-top:14px; padding-top:11px; border-top:1px solid var(--v2-border); }
.v2-inline-capability-card .v2-capability-operating-patterns { margin-bottom:0; padding:0; border:0; background:none; }
.v2-inline-capability-card .v2-capability-evidence-visual { margin:14px 0 0; padding:0; border:0; background:none; }
.v2-inline-capability-card .v2-capability-evidence-visual > header { padding:10px 0; }
.v2-pattern-logic { display:flex; align-items:center; gap:8px; color:var(--v2-muted); font-size:9px; }
.v2-pattern-logic b { color:var(--domain-color); font-size:11px; }
.v2-pattern-logic i { color:var(--v2-dim); font-style:normal; }
.v2-pattern-logic span { color:var(--v2-text); }
.v2-pattern-carriers { display:flex; flex-wrap:wrap; gap:4px; }
.v2-pattern-logic > i { width:22px; height:1px; overflow:hidden; background:var(--v2-border); color:transparent; }
.v2-pattern-logic > i::after { content:'›'; display:block; color:var(--domain-color); transform:translate(16px,-8px); }
.v2-object-gene-links { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:12px; }
.v2-object-gene-links > span { color:var(--v2-dim); font-size:8px; letter-spacing:.08em; }
.v2-object-gene-links a,.v2-gene-related-footer a { padding:4px 8px; border:1px solid var(--v2-border); border-radius:999px; color:var(--v2-muted); font-size:8px; text-decoration:none; }
.v2-object-gene-links a:hover,.v2-gene-related-footer a:hover { border-color:var(--domain-color); color:var(--domain-color); }
.v2-object-gene-links.is-footer { margin-top:14px; padding-top:12px; border-top:1px solid var(--v2-border); }
.v2-group-metric-refs { margin:16px 0; }
.v2-shared-metric-chart { min-height:128px; margin:12px 0 6px; }
.v2-standard-capability-path { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:20px 0; padding:16px; border-radius:10px; background:color-mix(in srgb,#38d6c7 7%,var(--v2-panel)); }
.v2-standard-capability-path span { color:var(--v2-muted); font-size:10px; }.v2-standard-capability-path i { color:#38d6c7; font-style:normal; }.v2-standard-capability-path strong { color:#38d6c7; font-size:12px; }
.v2-evidence-meter { margin:20px 0; }.v2-evidence-meter span { display:block; height:8px; overflow:hidden; border-radius:999px; background:var(--v2-border); }.v2-evidence-meter i { display:block; width:100%; height:100%; background:linear-gradient(90deg,#38d6c7,color-mix(in srgb,#38d6c7 18%,transparent)); }.v2-evidence-meter b { display:block; margin-top:8px; color:var(--v2-muted); font-size:9px; }
.v2-gene-directory-flat { --domain-color:#38d6c7; }
.v2-gene-related-footer { margin-top:18px; padding-top:14px; border-top:1px solid var(--v2-border); }
.v2-gene-related-footer > span { display:block; margin-bottom:8px; color:var(--v2-dim); font-size:8px; letter-spacing:.08em; }
.v2-gene-related-footer > div { display:flex; flex-wrap:wrap; gap:6px; }
.v2-gene-carrier-visual { margin-top:15px; padding-top:14px; border-top:1px solid var(--v2-border); }.v2-gene-carrier-visual > strong,.v2-mechanism-flow > strong { display:block; margin-bottom:10px; font-size:10px; }.v2-carrier-orbit { display:grid; grid-template-columns:150px repeat(3,minmax(0,1fr)); gap:8px; align-items:stretch; }.v2-carrier-orbit > b { display:grid; place-items:center; padding:12px; border:1px solid var(--domain-color); border-radius:50%; color:var(--domain-color); font-size:9px; text-align:center; }.v2-carrier-orbit > span { position:relative; padding:12px; border:1px solid var(--v2-border); border-radius:8px; }.v2-carrier-orbit > span::before { content:'→'; position:absolute; left:-8px; top:50%; transform:translateY(-50%); color:var(--domain-color); }.v2-carrier-orbit em,.v2-carrier-orbit strong { display:block; }.v2-carrier-orbit em { color:var(--domain-color); font-size:8px; font-style:normal; }.v2-carrier-orbit strong { margin-top:5px; font-size:10px; }
.v2-mechanism-flow { margin-top:14px; padding:13px; border:1px solid var(--v2-border); border-radius:9px; }.v2-mechanism-flow > div { display:flex; gap:7px; align-items:center; overflow-x:auto; }.v2-mechanism-flow span { flex:1 0 120px; padding:10px; border:1px solid color-mix(in srgb,var(--domain-color) 35%,var(--v2-border)); border-radius:7px; font-size:9px; text-align:center; }.v2-mechanism-flow i { color:var(--domain-color); font-style:normal; }
.v2-gene-evidence-empty { margin-top:14px; padding:22px; border:1px dashed var(--v2-border); border-radius:10px; background:rgba(255,255,255,.01); }.v2-gene-evidence-empty strong { font-size:14px; }.v2-gene-evidence-empty p { margin:8px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.7; }

.v2-metric-dashboard { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:12px; }
.v2-metric-analysis-card { grid-column:span 6; min-width:0; padding:18px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(3,7,11,.38); cursor:pointer; transition:border-color .18s,transform .18s; }.v2-metric-analysis-card:hover { transform:translateY(-2px); border-color:rgba(56,214,199,.42); }.v2-metric-analysis-card.featured { grid-column:span 12; }.v2-metric-analysis-card > header { display:flex; justify-content:space-between; gap:15px; }.v2-metric-analysis-card > header small { color:var(--v2-cyan); font-size:8px; }.v2-metric-analysis-card > header h4 { margin:5px 0 0; font-size:16px; }.v2-metric-analysis-card > header > strong { color:var(--v2-cyan); font-size:17px; white-space:nowrap; }.v2-metric-analysis-card > p { min-height:48px; margin:13px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.65; }.v2-metric-analysis-card > button { margin-top:10px; padding:0; border:0; background:none; color:#80bfcd; font-size:9px; cursor:pointer; }
.v2-metric-card-chart { min-height:190px; margin-top:13px; padding:12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.01); }
.v2-card-line { position:relative; min-height:170px; padding:22px 8px 0; }
.v2-card-line svg { display:block; width:100%; height:118px; overflow:visible; }
.v2-card-line svg polyline { fill:none; stroke:var(--v2-cyan); stroke-width:1.8; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.v2-card-line svg path { fill:color-mix(in srgb,var(--v2-cyan) 20%,transparent); stroke:none; }
.v2-card-line svg circle { fill:var(--v2-panel); stroke:var(--v2-cyan); stroke-width:1.6; vector-effect:non-scaling-stroke; }
.v2-card-line > div { display:flex; justify-content:space-between; gap:7px; margin-top:-5px; }
.v2-card-line > div span { min-width:0; text-align:center; }
.v2-card-line > div b,.v2-card-line > div small { display:block; }
.v2-card-line > div b { color:var(--v2-text); font-size:7px; white-space:nowrap; }
.v2-card-line > div small { margin-top:3px; color:var(--v2-dim); font-size:7px; white-space:nowrap; }
.v2-card-line.compact { min-height:126px; padding-top:10px; }.v2-card-line.compact svg { height:82px; }.v2-card-line.compact > div b { font-size:6px; }
.v2-detail-line { min-height:220px; margin:0 0 20px; padding-top:36px; }.v2-detail-line svg { height:155px; }
.v2-card-trend-bars { position:relative; height:170px; display:flex; align-items:flex-end; gap:12px; padding:20px 8px 24px; }.v2-card-trend-bars > span { flex:1; height:100%; display:grid; grid-template-rows:auto 1fr auto; align-items:end; text-align:center; }.v2-card-trend-bars b { color:var(--v2-muted); font-size:8px; }.v2-card-trend-bars i { width:55%; min-width:12px; margin:5px auto; border-radius:5px 5px 0 0; background:linear-gradient(var(--v2-cyan),rgba(56,214,199,.18)); }.v2-card-trend-bars small { color:var(--v2-dim); font-size:8px; }.v2-card-trend-bars > em { position:absolute; right:4px; bottom:2px; color:var(--v2-dim); font-size:7px; font-style:normal; }
.v2-card-donut-layout { height:165px; display:grid; grid-template-columns:145px 1fr; gap:20px; align-items:center; }.v2-card-donut { width:135px; height:135px; display:grid; place-items:center; border-radius:50%; }.v2-card-donut::before { content:''; grid-area:1/1; width:92px; height:92px; border-radius:50%; background:#0b1118; }.v2-card-donut > span { grid-area:1/1; z-index:1; text-align:center; }.v2-card-donut > span b,.v2-card-donut > span small { display:block; }.v2-card-donut > span b { color:var(--v2-cyan); font-size:18px; }.v2-card-donut > span small { color:var(--v2-dim); font-size:7px; }.v2-card-donut-layout > div:last-child { display:grid; gap:7px; }.v2-card-donut-layout > div:last-child span { display:grid; grid-template-columns:auto 1fr auto; gap:6px; align-items:center; }.v2-card-donut-layout > div:last-child i { width:7px; height:7px; border-radius:2px; }.v2-card-donut-layout small { color:var(--v2-muted); font-size:8px; }.v2-card-donut-layout b { font-size:8px; }
.v2-card-ranked-bars { display:grid; gap:9px; }.v2-card-ranked-bars > span { display:grid; grid-template-columns:95px 1fr 78px; gap:8px; align-items:center; }.v2-card-ranked-bars small { color:var(--v2-muted); font-size:8px; }.v2-card-ranked-bars > span > i { height:11px; overflow:hidden; border-radius:999px; background:rgba(141,150,168,.1); }.v2-card-ranked-bars > span > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--v2-cyan),rgba(56,214,199,.25)); }.v2-card-ranked-bars em { color:#d4dee5; font-size:8px; font-style:normal; text-align:right; }
.v2-card-stack { display:grid; gap:14px; align-content:center; min-height:155px; }.v2-card-stack > div { display:flex; height:28px; overflow:hidden; border-radius:7px; }.v2-card-stack > div span { min-width:3px; }.v2-card-stack > p { display:flex; flex-wrap:wrap; gap:10px; margin:0; color:var(--v2-muted); font-size:8px; }.v2-card-stack > p span { display:flex; align-items:center; gap:4px; }.v2-card-stack > p i { width:7px; height:7px; border-radius:2px; }.v2-card-stack > p b { color:#d9e2e8; }
.v2-card-waterfall { height:165px; display:flex; gap:7px; }.v2-card-waterfall > span { position:relative; flex:1; height:100%; text-align:center; }.v2-card-waterfall b { position:absolute; inset:0 0 auto; color:var(--v2-muted); font-size:7px; }.v2-card-waterfall i { position:absolute; left:15%; width:70%; min-height:3px; border-radius:4px 4px 1px 1px; background:linear-gradient(var(--v2-cyan),rgba(56,214,199,.2)); }.v2-card-waterfall .negative i { background:linear-gradient(var(--v2-red),rgba(242,111,135,.18)); }.v2-card-waterfall .total i { background:linear-gradient(var(--v2-green),rgba(114,223,159,.2)); }.v2-card-waterfall small { position:absolute; inset:auto 0 0; color:var(--v2-dim); font-size:7px; line-height:1.2; }
.v2-card-ratio { min-height:165px; display:grid; place-items:center; }.v2-card-ratio > div { width:138px; height:138px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--v2-cyan) calc(var(--ratio)*1%),rgba(141,150,168,.12) 0); }.v2-card-ratio > div::before { content:''; grid-area:1/1; width:100px; height:100px; border-radius:50%; background:#0b1118; }.v2-card-ratio span { grid-area:1/1; z-index:1; text-align:center; }.v2-card-ratio b,.v2-card-ratio small { display:block; }.v2-card-ratio b { color:var(--v2-cyan); font-size:20px; }.v2-card-ratio small { max-width:80px; margin-top:4px; color:var(--v2-dim); font-size:7px; }
.v2-card-number { min-height:165px; display:grid; place-items:center; align-content:center; gap:6px; }.v2-card-number strong { color:var(--v2-cyan); font-size:34px; }.v2-card-number span { color:var(--v2-muted); font-size:10px; }
.v2-metric-tree-details { margin-top:15px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.01); }.v2-metric-tree-details > summary { padding:14px 16px; color:#c3d0d8; font-size:10px; cursor:pointer; }.v2-metric-tree-details > div { padding:0 14px 14px; }

.v2-event-section-label { display:flex; align-items:baseline; gap:8px; margin-bottom:9px; }.v2-event-section-label b { color:var(--event-color); font-size:13px; letter-spacing:.08em; }.v2-event-section-label span { color:var(--v2-dim); font-size:8px; }.v2-event-what > p { color:#c7d2da!important; font-size:11px!important; }.v2-event-why-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.v2-event-how-grid { display:grid; grid-template-columns:1fr; gap:7px; }.v2-event-why-grid article,.v2-event-how-grid article,.v2-event-impact-grid article { padding:12px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }.v2-event-why-grid small,.v2-event-how-grid small,.v2-event-impact-grid small { color:var(--event-color); font-size:8px; }.v2-event-why-grid p,.v2-event-how-grid p,.v2-event-impact-grid p { margin:6px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.65; }.v2-event-impact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.v2-event-impact-grid h4 { margin:6px 0 0!important; font-size:11px!important; }.v2-event-gene-links { display:grid; gap:7px; }.v2-event-gene-links a { display:grid; grid-template-columns:76px minmax(0,1fr); gap:5px 10px; padding:11px; border:1px solid var(--v2-border); border-radius:8px; color:inherit; }.v2-event-gene-links a span { color:var(--event-color); font-size:8px; }.v2-event-gene-links a strong { font-size:10px; }.v2-event-gene-links a small { grid-column:2; color:var(--v2-muted); font-size:8px; line-height:1.5; }.v2-event-boundary { margin-top:16px; padding:12px 14px; border-left:2px solid var(--v2-amber); background:rgba(255,202,88,.035); }.v2-event-boundary strong { color:var(--v2-amber); font-size:9px; }.v2-event-boundary p { margin:6px 0 0; color:#bdb28f; font-size:9px; line-height:1.65; }

@media (max-width:1120px) {
    .v2-domain-heatmap-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .v2-domain-analysis-signals { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
    .v2-domain-heatmap-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-domain-sheet { padding:18px; }
    .v2-capability-heatmap-grid { grid-template-columns:1fr; }
    .v2-capability-mode-matrix > div { grid-template-columns:1fr; }.v2-capability-mode-matrix > div.head { display:none; }.v2-capability-mode-matrix > div > strong { order:-1; font-size:10px; }
    .v2-capability-evidence-band { grid-template-columns:1fr; }
    .v2-carrier-orbit { grid-template-columns:1fr 1fr; }.v2-carrier-orbit > b { border-radius:8px; }
    .v2-metric-analysis-card,.v2-metric-analysis-card.featured { grid-column:span 12; }
    .v2-event-why-grid { grid-template-columns:1fr; }
    .v2-flow-coupling { grid-template-columns:1fr; text-align:center; }.v2-flow-coupling i { width:1px; height:16px; margin:auto; background:linear-gradient(var(--v2-cyan),var(--v2-amber)); }
}
@media (max-width:620px) {
    .v2-capability-operating-grid { grid-template-columns:1fr; }
    .v2-risk-facts { grid-template-columns:1fr; }.v2-risk-facts > i { min-width:0; }
    .v2-strategy-visual.is-global { grid-template-columns:1fr; grid-template-rows:auto; }.v2-world-map,.v2-map-legend,.v2-map-kpis,.v2-strategy-visual.is-global .v2-global-ring { grid-column:1; grid-row:auto; }.v2-world-map { height:170px; }.v2-map-kpis { grid-template-columns:1fr; }
    .v2-strategy-conversion span { grid-template-columns:1fr; gap:5px; }.v2-strategy-ratio > div { grid-template-columns:1fr; }.v2-strategy-milestones > div,.v2-strategy-governance > div { grid-template-columns:1fr; }.v2-strategy-milestones i,.v2-strategy-governance i { transform:rotate(90deg); }.v2-strategy-distribution section { grid-template-columns:1fr; }
    .evidence-path-lanes,.return-routes,.return-loop-top,.return-loop-top .platform { grid-template-columns:1fr; }
    .return-loop-top > i { transform:rotate(90deg); }
    .v2-strategy-source > summary { display:grid; gap:5px; }
    .v2-domain-heatmap-grid { grid-template-columns:1fr; }.v2-domain-heat-tile { min-height:165px; }
    .v2-domain-analysis-bars > span { grid-template-columns:90px minmax(0,1fr) 72px; }.v2-domain-analysis-signals { grid-template-columns:1fr; }
    .v2-capability-sheet { padding:15px; }.v2-carrier-orbit { grid-template-columns:1fr; }.v2-carrier-orbit > span::before { display:none; }
    .v2-standard-capability-map > header { display:grid; }.v2-standard-capability-map > a { grid-template-columns:1fr auto; }.v2-standard-capability-map > a span { grid-column:1/-1; }
    .v2-capability-evidence-visual > header,.v2-capability-operating-patterns > header,.v2-inline-capability-card > header { display:grid; }.v2-capability-evidence-nodes,.v2-capability-operating-patterns > div { grid-template-columns:1fr; padding-top:10px; }
    .v2-card-donut-layout { grid-template-columns:1fr; height:auto; }.v2-card-donut { margin:auto; }.v2-metric-card-chart { min-height:170px; overflow-x:auto; overscroll-behavior-inline:contain; }.v2-card-ranked-bars > span { grid-template-columns:75px 1fr 65px; }
    .v2-event-impact-grid { grid-template-columns:1fr; }.v2-event-gene-links a { grid-template-columns:1fr; }.v2-event-gene-links a small { grid-column:1; }
}

/* V2.2 · enterprise header, evidence-rich ontology and card-matched metric details */
.v2-hero-meta { grid-template-columns:repeat(3,minmax(112px,1fr)); min-width:500px; }
.v2-meta-cell { min-height:66px; }
.v2-primary-tabs { gap:0; padding:0; border-bottom:1px solid var(--v2-border); background:rgba(7,11,17,.94); }
.v2-tab { min-height:54px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; }
.v2-tab:hover { border-bottom-color:rgba(56,214,199,.32); background:rgba(255,255,255,.015); }
.v2-tab.active { color:var(--v2-cyan); border:0; border-bottom:2px solid var(--v2-cyan); background:linear-gradient(180deg,transparent,rgba(56,214,199,.055)); box-shadow:none; }

.v2-world-map .continent.uncovered { background:linear-gradient(135deg,#5d6672,#343c47); color:#c1c7ce; opacity:.82; }
.v2-world-map .north-america,.v2-world-map .south-america { z-index:1; }
.v2-world-map .central-america { left:28.5%; top:49%; z-index:3; width:10%; height:20%; clip-path:polygon(0 0,33% 7%,47% 30%,70% 36%,100% 68%,79% 86%,57% 62%,37% 55%,22% 32%,4% 25%); }
.v2-world-map .antarctica { left:12%; top:92%; width:76%; height:6%; clip-path:polygon(0 45%,12% 16%,29% 34%,43% 10%,60% 32%,76% 4%,100% 40%,91% 74%,73% 63%,54% 88%,35% 61%,16% 82%); }
.v2-world-map::after { content:''; position:absolute; left:27%; top:7%; width:8%; height:15%; background:linear-gradient(135deg,#5d6672,#343c47); opacity:.82; clip-path:polygon(17% 11%,65% 0,96% 38%,73% 91%,25% 82%,0 45%); }
.v2-map-legend { flex-wrap:wrap; }
.v2-map-legend .uncovered::before { background:#59626e; }

.v2-capability-heat-tile > .v2-capability-tile-evidence { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:0; border:0; background:none; }
.v2-capability-tile-evidence > span { min-width:0; padding:9px 10px; border:1px solid var(--v2-border); border-radius:7px; }
.v2-capability-tile-evidence > span small,.v2-capability-tile-evidence > span b { display:block; }
.v2-capability-tile-evidence > span b { margin-top:4px; overflow-wrap:anywhere; color:var(--domain-color); font-size:10px; }
.v2-capability-evidence-band { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.v2-capability-evidence-band span.summary { border-color:color-mix(in srgb,var(--domain-color) 42%,var(--v2-border)); background:color-mix(in srgb,var(--domain-color) 5%,transparent); }
.v2-capability-evidence-band em { display:block; margin-top:5px; color:var(--v2-dim); font-size:8px; font-style:normal; line-height:1.45; }
.v2-gene-insight-card.status-observed { border-left-color:var(--v2-green); }
.v2-gene-insight-card.status-result { border-left-color:var(--v2-amber); }
.v2-gene-insight-card.status-candidate { border-left-color:#59626e; background:linear-gradient(110deg,rgba(141,150,168,.025),var(--v2-panel)); }
.v2-gene-insight-card.status-observed .v2-card-level { color:var(--v2-green); }
.v2-gene-insight-card.status-result .v2-card-level { color:var(--v2-amber); }
.v2-gene-insight-card.status-candidate .v2-card-level { color:var(--v2-dim); }
.v2-gene-insight-card.status-observed { border-color:color-mix(in srgb,var(--domain-color) 54%,var(--v2-border)); box-shadow:inset 3px 0 0 var(--domain-color); }
.v2-gene-insight-card.status-candidate { background:color-mix(in srgb,var(--v2-panel) 72%,transparent); }
.v2-gene-definition { margin:0 0 12px; color:var(--v2-muted); font-size:10px; line-height:1.65; }
.v2-gene-observation-note { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; margin-top:14px; padding:12px 14px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }
.v2-gene-observation-note strong { color:var(--domain-color); font-size:9px; }
.v2-gene-observation-note span { color:var(--v2-muted); font-size:9px; line-height:1.6; }

.v2-chart-change { position:absolute; left:8px; top:0; padding:4px 7px; border:1px solid rgba(56,214,199,.22); border-radius:999px; background:rgba(56,214,199,.055); color:var(--v2-cyan)!important; font-size:8px!important; font-weight:650; }
.v2-series-chart .v2-chart-change { left:0; top:0; }
.v2-ip-icon-chart { min-height:165px; display:grid; align-content:center; gap:16px; }
.v2-ip-icon-chart > div { display:grid; grid-template-columns:repeat(9,23px); justify-content:center; gap:10px 9px; }
.v2-ip-icon-chart i { position:relative; width:22px; height:22px; border:1px solid rgba(56,214,199,.45); border-radius:9px 9px 11px 11px; background:linear-gradient(145deg,rgba(56,214,199,.34),rgba(56,214,199,.08)); }
.v2-ip-icon-chart i::before,.v2-ip-icon-chart i::after { content:''; position:absolute; top:-4px; width:8px; height:8px; border:1px solid rgba(56,214,199,.45); background:#18353a; transform:rotate(45deg); }
.v2-ip-icon-chart i::before { left:1px; }.v2-ip-icon-chart i::after { right:1px; }
.v2-ip-icon-chart i.new { border-color:rgba(255,202,88,.7); background:linear-gradient(145deg,rgba(255,202,88,.5),rgba(255,202,88,.08)); box-shadow:0 0 13px rgba(255,202,88,.12); }
.v2-ip-icon-chart i.new::before,.v2-ip-icon-chart i.new::after { border-color:rgba(255,202,88,.68); background:#4a3c20; }
.v2-ip-icon-chart > p { display:flex; justify-content:center; gap:11px; margin:0; color:var(--v2-muted); font-size:8px; }.v2-ip-icon-chart > p b { color:var(--v2-amber); }
.v2-metric-drawer { width:min(760px,calc(100vw - 26px)); }
.v2-detail-comparison { display:grid; gap:11px; margin:18px 0; }
.v2-detail-comparison > div { display:grid; grid-template-columns:92px minmax(0,1fr) minmax(0,1fr); gap:8px; padding:12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); }
.v2-detail-comparison > div > strong { grid-row:1/3; align-self:center; font-size:10px; }
.v2-detail-comparison > div > span { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:7px; align-items:center; }
.v2-detail-comparison small { color:var(--v2-dim); font-size:8px; }
.v2-detail-comparison span > i { height:8px; overflow:hidden; border-radius:999px; background:rgba(141,150,168,.09); }
.v2-detail-comparison span > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#56616d,#303944); }
.v2-detail-comparison span.current > i b { background:linear-gradient(90deg,var(--v2-cyan),rgba(56,214,199,.28)); }
.v2-detail-comparison em { color:#d9e2e8; font-size:8px; font-style:normal; white-space:nowrap; }
.v2-detail-comparison mark { grid-column:2/4; padding:4px 7px; border-radius:5px; background:rgba(255,202,88,.055); color:#cdbb79; font-size:8px; }
.v2-detail-breakdown { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:17px 0; }
.v2-detail-breakdown > span { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; padding:12px; border:1px solid var(--v2-border); border-radius:8px; }
.v2-detail-breakdown i { width:9px; height:30px; border-radius:3px; }.v2-detail-breakdown small { color:var(--v2-muted); font-size:9px; }.v2-detail-breakdown b { font-size:11px; }.v2-detail-breakdown em { grid-column:2/4; color:var(--v2-dim); font-size:8px; font-style:normal; }
.v2-detail-waterfall { height:230px; margin:18px 0; padding:14px 6px; border:1px solid var(--v2-border); border-radius:9px; }
.v2-detail-stacked-trend { margin:18px 0; padding:15px; border:1px solid var(--v2-border); border-radius:9px; }
.v2-stacked-periods { height:230px; display:flex; align-items:flex-end; gap:14px; }
.v2-stacked-periods > span { flex:1; height:100%; display:grid; grid-template-rows:auto 1fr auto; align-items:end; text-align:center; }
.v2-stacked-periods > span > b { color:var(--v2-muted); font-size:8px; }.v2-stacked-periods > span > i { width:58%; min-width:25px; display:flex; flex-direction:column; justify-content:flex-end; margin:6px auto; overflow:hidden; border-radius:5px 5px 0 0; }.v2-stacked-periods > span > i em { display:block; width:100%; min-height:2px; }.v2-stacked-periods small { color:var(--v2-dim); font-size:8px; }
.v2-detail-stacked-trend > p { display:flex; gap:13px; margin:12px 0 0; color:var(--v2-muted); font-size:8px; }.v2-detail-stacked-trend > p span { display:flex; align-items:center; gap:5px; }.v2-detail-stacked-trend > p i { width:8px; height:8px; border-radius:2px; }.v2-detail-stacked-trend > p em { margin-left:auto; color:var(--v2-dim); font-style:normal; }
.v2-detail-links { display:flex; flex-wrap:wrap; gap:7px!important; }
.v2-detail-links a,.v2-detail-links button { padding:6px 8px; border:1px solid var(--v2-border); border-radius:6px; background:rgba(255,255,255,.015); color:#80bfcd; font-size:9px; cursor:pointer; }
.v2-detail-links a:hover,.v2-detail-links button:hover { border-color:rgba(56,214,199,.4); color:var(--v2-cyan); }

.v2-event-terms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:13px; }
.v2-event-terms article { padding:12px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }
.v2-event-terms small,.v2-event-terms strong { display:block; }.v2-event-terms small { color:var(--event-color); font-size:8px; }.v2-event-terms strong { margin-top:5px; font-size:11px; }.v2-event-terms p { margin:7px 0 0; color:var(--v2-muted); font-size:8px; line-height:1.6; }
.v2-event-related-sources { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }.v2-event-related-sources small { flex-basis:100%; color:var(--v2-dim); font-size:8px; }.v2-event-related-sources a { padding:5px 7px; border:1px solid var(--v2-border); border-radius:6px; color:#80bfcd; font-size:8px; }
.v2-event-practice { padding:15px!important; border:1px solid rgba(114,223,159,.22)!important; border-radius:9px; background:rgba(114,223,159,.035); }.v2-event-practice > small { color:var(--v2-green); font-size:8px; }.v2-event-practice h4 { margin:6px 0!important; font-size:12px!important; }.v2-event-practice p { color:var(--v2-muted); font-size:9px; line-height:1.65; }

/* V2.3 evidence-led map, gene visuals and connected metric views */
.v2-world-map {
    height:210px;
    overflow:hidden;
    background:radial-gradient(circle at 72% 43%,rgba(56,214,199,.07),transparent 35%),linear-gradient(145deg,#0a1219,#0b1117);
}
.v2-world-map::after { display:none; }
.v2-world-map > img { position:absolute; inset:10px 12px; width:calc(100% - 24px); height:calc(100% - 20px); object-fit:contain; opacity:.48; filter:grayscale(1) invert(.82) sepia(.12) hue-rotate(145deg) saturate(.7); }
.v2-world-map .map-reach { position:absolute; border-radius:50%; border:1px solid rgba(85,198,242,.26); background:radial-gradient(circle,rgba(85,198,242,.16),rgba(85,198,242,.02) 58%,transparent 70%); box-shadow:0 0 24px rgba(85,198,242,.08); }
.v2-world-map .reach-americas { left:10%; top:18%; width:29%; height:61%; }.v2-world-map .reach-europe { left:43%; top:16%; width:22%; height:37%; }.v2-world-map .reach-asia { left:61%; top:19%; width:30%; height:51%; }.v2-world-map .reach-oceania { left:76%; top:63%; width:17%; height:25%; }
.v2-world-map .map-pin { position:absolute; z-index:3; display:flex; align-items:center; gap:4px; color:#dff8f1; font-size:7px; font-weight:700; text-shadow:0 1px 4px #05090d; }
.v2-world-map .map-pin i { width:7px; height:7px; border:2px solid #d9fff3; border-radius:50%; background:var(--v2-green); box-shadow:0 0 0 5px rgba(114,223,159,.12),0 0 18px rgba(114,223,159,.58); }
.v2-world-map .map-pin.reach i { border-color:#e8f9ff; background:var(--v2-blue); box-shadow:0 0 0 5px rgba(85,198,242,.12),0 0 18px rgba(85,198,242,.54); }
.v2-world-map .map-pin.risk i { border-color:#fff0f3; background:var(--v2-red); box-shadow:0 0 0 5px rgba(242,111,135,.12),0 0 18px rgba(242,111,135,.48); }
.v2-world-map .pin-us { left:19%; top:34%; }.v2-world-map .pin-europe { left:48%; top:29%; }.v2-world-map .pin-china { left:72%; top:39%; }.v2-world-map .pin-apac { left:77%; top:55%; }.v2-world-map .pin-australia { left:83%; top:76%; }
.v2-map-legend .stores::before { border-radius:50%; box-shadow:0 0 0 3px rgba(114,223,159,.12); }.v2-map-legend .reach::before { border:1px solid rgba(85,198,242,.55); background:rgba(85,198,242,.12); border-radius:50%; }
.v2-map-legend .risk::before { border:1px solid rgba(242,111,135,.7); background:var(--v2-red); border-radius:50%; box-shadow:0 0 0 3px rgba(242,111,135,.1); }

.v2-capability-ip-mix { grid-column:1/-1; display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; gap:25px; padding:16px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.012); }
.v2-capability-chart-source { grid-column:1/-1; }
.v2-ip-mix-donut { width:132px; height:132px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--domain-color,var(--v2-cyan)) 0 90%,var(--v2-purple) 90% 99.1%,#59626e 99.1% 100%); }
.v2-ip-mix-donut::before { content:''; grid-area:1/1; width:84px; height:84px; border-radius:50%; background:#0b1118; }
.v2-ip-mix-donut > span { grid-area:1/1; z-index:1; text-align:center; }.v2-ip-mix-donut b,.v2-ip-mix-donut small { display:block; }.v2-ip-mix-donut b { color:var(--domain-color,var(--v2-cyan)); font-size:20px; }.v2-ip-mix-donut small { color:var(--v2-dim); font-size:8px; }
.v2-ip-mix-legend { display:grid; gap:9px; }.v2-ip-mix-legend > span { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid var(--v2-border); }.v2-ip-mix-legend i { width:9px; height:9px; border-radius:2px; background:var(--domain-color,var(--v2-cyan)); }.v2-ip-mix-legend i.licensed { background:var(--v2-purple); }.v2-ip-mix-legend i.other { background:#59626e; }.v2-ip-mix-legend small { color:var(--v2-muted); }.v2-ip-mix-legend b { font-size:11px; }
.v2-gene-ip-donut { display:grid; grid-template-columns:132px 1fr; gap:22px; align-items:center; margin-top:14px; padding:14px; border:1px solid var(--v2-border); border-radius:9px; }.v2-gene-ip-donut .v2-ip-mix-donut { width:112px; height:112px; background:conic-gradient(var(--v2-green) 0 35.2%,rgba(85,198,242,.32) 35.2% 100%); }.v2-gene-ip-donut .v2-ip-mix-donut::before { width:72px; height:72px; }

.v2-contract-map,.v2-org-map,.v2-price-ladder { margin-top:14px; padding:14px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); }
.v2-contract-map > strong,.v2-org-map > strong,.v2-price-ladder > strong { display:block; margin-bottom:12px; font-size:10px; }
.v2-contract-map > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.v2-contract-map span { position:relative; padding:12px; border:1px solid color-mix(in srgb,var(--domain-color) 32%,var(--v2-border)); border-radius:8px; }.v2-contract-map span:not(:last-child)::after { content:'⇄'; position:absolute; right:-19px; top:45%; color:var(--domain-color); }.v2-contract-map em,.v2-contract-map b,.v2-contract-map small { display:block; }.v2-contract-map em { color:var(--domain-color); font-size:8px; font-style:normal; }.v2-contract-map b { margin-top:4px; font-size:10px; }.v2-contract-map small { margin-top:6px; color:var(--v2-muted); font-size:8px; line-height:1.55; }
.v2-org-map > div { display:grid; grid-template-columns:150px repeat(3,minmax(0,1fr)); gap:8px; align-items:stretch; }.v2-org-map > div > b { display:grid; place-items:center; padding:12px; border:1px solid var(--domain-color); border-radius:9px; color:var(--domain-color); font-size:10px; text-align:center; }.v2-org-map span { position:relative; padding:11px; border:1px solid var(--v2-border); border-radius:8px; }.v2-org-map span::before { content:'→'; position:absolute; left:-8px; top:50%; color:var(--domain-color); }.v2-org-map em,.v2-org-map span strong { display:block; }.v2-org-map em { color:var(--domain-color); font-size:8px; font-style:normal; }.v2-org-map span strong { margin-top:5px; font-size:9px; }
.v2-price-ladder > div { display:grid; gap:8px; }.v2-price-ladder span { display:grid; grid-template-columns:132px minmax(0,1fr) 132px; gap:8px; align-items:center; }.v2-price-ladder small { color:var(--v2-muted); font-size:8px; }.v2-price-ladder i { width:calc(18% * var(--level)); height:11px; max-width:100%; border-radius:999px; background:linear-gradient(90deg,var(--domain-color),color-mix(in srgb,var(--domain-color) 18%,transparent)); }.v2-price-ladder b { color:#dbe4e9; font-size:8px; text-align:right; }
.v2-source-inline ul { margin:8px 0 0; padding-left:17px; }.v2-source-inline li { margin-top:5px; color:var(--v2-dim); font-size:9px; line-height:1.5; }.v2-source-inline a { color:#80bfcd; }

/* V2.3 · canonical metric references, mechanism-specific diagrams and conditional topics */
.v2-company-tags { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:14px; }
.v2-company-tags > span { color:var(--v2-dim); font-size:8px; letter-spacing:.08em; }
.v2-company-tags a { padding:6px 9px; border:1px solid rgba(56,214,199,.28); border-radius:999px; background:rgba(56,214,199,.045); color:#9edfd9; font-size:8px; text-decoration:none; }
.v2-company-tags a:hover { border-color:var(--v2-cyan); color:#d9fffb; }
.v2-object-name { color:var(--domain-color); font:inherit; font-weight:780; }
.v2-capability-divider h3 > span,.v2-gene-insight-card h4 > span { color:#d6dde3; }
.v2-capability-divider .v2-link-button { flex:0 0 auto; white-space:nowrap; }

.v2-capability-metric-refs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:17px 0 20px; }
.v2-capability-metric-ref { min-width:0; padding:16px; border:1px solid color-mix(in srgb,var(--domain-color) 32%,var(--v2-border)); border-radius:10px; background:linear-gradient(145deg,color-mix(in srgb,var(--domain-color) 4%,transparent),rgba(255,255,255,.012)); color:inherit; transition:border-color .2s,transform .2s; }
.v2-capability-metric-ref:hover { border-color:var(--domain-color); transform:translateY(-1px); }
.v2-capability-metric-main { display:block; color:inherit; text-decoration:none; }
.v2-capability-metric-main > header { display:grid; grid-template-columns:1fr auto; gap:3px 12px; align-items:end; }
.v2-capability-metric-main > header span { grid-column:1/-1; color:var(--domain-color); font-size:7px; letter-spacing:.1em; }
.v2-capability-metric-main > header strong { font-size:12px; }.v2-capability-metric-main > header em { color:#eef5f6; font-size:12px; font-style:normal; }
.v2-capability-metric-main > p { margin:8px 0 0; color:var(--v2-muted); font-size:8px; line-height:1.55; }
.v2-capability-metric-main > small { display:block; margin-top:8px; color:var(--domain-color); font-size:8px; }
.v2-capability-metric-ref > .v2-source-inline { margin-top:11px; }
.v2-capability-metric-ref > .v2-source-inline div { grid-template-columns:1fr; }
.v2-ip-icon-chart.compact { min-height:112px; gap:10px; }.v2-ip-icon-chart.compact > div { grid-template-columns:repeat(9,16px); gap:7px 6px; }.v2-ip-icon-chart.compact i { width:15px; height:15px; border-radius:6px 6px 7px 7px; }.v2-ip-icon-chart.compact i::before,.v2-ip-icon-chart.compact i::after { width:5px; height:5px; top:-3px; }
.v2-card-donut-layout.compact { height:130px; grid-template-columns:112px 1fr; gap:12px; }.v2-card-donut-layout.compact .v2-card-donut { width:105px; height:105px; }.v2-card-donut-layout.compact .v2-card-donut::before { width:72px; height:72px; }
.v2-card-trend-bars.compact { min-height:126px; padding-top:18px; }.v2-card-trend-bars.compact > span { min-width:24px; }.v2-card-stack.compact { min-height:96px; align-content:center; }

.v2-mechanism-funnel,.v2-review-gears,.v2-portfolio-matrix { margin-top:14px; padding:15px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.012); }
.v2-mechanism-funnel > strong,.v2-review-gears > strong,.v2-portfolio-matrix > strong { display:block; margin-bottom:13px; font-size:10px; }
.v2-funnel-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.v2-funnel-inputs span { padding:10px; border:1px solid color-mix(in srgb,var(--domain-color) 32%,var(--v2-border)); border-radius:999px; text-align:center; }
.v2-funnel-inputs em,.v2-funnel-inputs b { display:block; }.v2-funnel-inputs em { color:var(--domain-color); font-size:7px; font-style:normal; }.v2-funnel-inputs b { margin-top:3px; font-size:9px; }
.v2-funnel-body { position:relative; width:78%; height:64px; margin:8px auto 0; display:flex; flex-wrap:wrap; justify-content:center; align-content:flex-start; gap:7px; padding:12px 22% 0; background:linear-gradient(180deg,color-mix(in srgb,var(--domain-color) 14%,transparent),color-mix(in srgb,var(--domain-color) 3%,transparent)); clip-path:polygon(0 0,100% 0,63% 100%,37% 100%); }
.v2-funnel-body i,.v2-funnel-pool i { width:7px; height:7px; border-radius:50%; background:var(--domain-color); box-shadow:0 0 8px color-mix(in srgb,var(--domain-color) 55%,transparent); }
.v2-funnel-pool { width:min(390px,82%); margin:0 auto; padding:11px; border:1px solid var(--domain-color); border-radius:8px; text-align:center; }.v2-funnel-pool b { display:block; color:var(--domain-color); font-size:10px; }.v2-funnel-pool span { display:flex; justify-content:center; gap:7px; margin-top:8px; }

.v2-review-track { display:grid; grid-template-columns:110px auto minmax(270px,1fr) auto 110px; gap:9px; align-items:center; }
.v2-review-track > span { padding:11px 8px; border:1px solid var(--v2-border); border-radius:8px; font-size:9px; text-align:center; }.v2-review-track > span.output { border-color:var(--domain-color); color:var(--domain-color); }.v2-review-track > i { color:var(--domain-color); font-style:normal; }
.v2-review-track .gears { min-height:150px; display:flex; justify-content:center; align-items:center; padding:12px; }
.v2-review-track .gears span { position:relative; width:114px; height:114px; display:grid; place-items:center; align-content:center; margin:0 -8px; padding:17px; border:9px dotted color-mix(in srgb,var(--domain-color) 55%,#25303a); border-radius:50%; background:radial-gradient(circle at center,#0b1118 0 39%,color-mix(in srgb,var(--domain-color) 18%,#101820) 40% 67%,#0b1118 68%); text-align:center; }
.v2-review-track .gears span:nth-child(2) { transform:translateY(28px) rotate(8deg); }.v2-review-track .gears span:nth-child(3) { transform:translateY(-8px) rotate(-7deg); }
.v2-review-track .gears em,.v2-review-track .gears b { position:relative; z-index:1; display:block; }.v2-review-track .gears em { color:var(--domain-color); font-size:7px; font-style:normal; }.v2-review-track .gears b { max-width:82px; margin-top:4px; font-size:8px; line-height:1.35; }

.v2-matrix-head,.v2-matrix-row { display:grid; grid-template-columns:90px repeat(3,minmax(0,1fr)); gap:6px; }
.v2-matrix-head { margin-bottom:6px; }.v2-matrix-head b { padding:6px; color:var(--v2-dim); font-size:7px; text-align:center; }
.v2-matrix-row + .v2-matrix-row { margin-top:6px; }.v2-matrix-row > * { display:flex; align-items:center; min-height:46px; padding:8px; border:1px solid var(--v2-border); border-radius:7px; font-size:8px; line-height:1.4; }
.v2-matrix-row > strong { border-color:color-mix(in srgb,var(--domain-color) 30%,var(--v2-border)); color:var(--domain-color); }.v2-matrix-row .opportunity { border-style:dashed; border-color:rgba(255,202,88,.42); color:#ebce8d; }
.v2-mechanism-cross-links { margin-top:8px; }.v2-mechanism-cross-links a { display:inline-flex; padding:7px 10px; border:1px solid color-mix(in srgb,var(--domain-color) 36%,var(--v2-border)); border-radius:999px; color:var(--domain-color); font-size:8px; text-decoration:none; }

.v2-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.v2-topic-card { min-height:210px; display:flex; flex-direction:column; padding:24px; border:1px solid var(--v2-border); border-radius:12px; background:linear-gradient(135deg,rgba(85,198,242,.055),var(--v2-panel)); color:inherit; text-decoration:none; transition:border-color .2s,transform .2s; }.v2-topic-card:hover { border-color:var(--v2-blue); transform:translateY(-2px); }
.v2-topic-card > span { color:var(--v2-blue); font-size:8px; letter-spacing:.1em; }.v2-topic-card h3 { margin:10px 0 8px; font-size:22px; }.v2-topic-card p { margin:0; color:var(--v2-muted); font-size:11px; line-height:1.75; }.v2-topic-card strong { margin-top:auto; padding-top:20px; color:#9dd9ed; font-size:9px; }
.v2-single-observation { display:grid; gap:9px; margin:15px 0; padding:16px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); }.v2-single-observation span { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }.v2-single-observation small { color:var(--v2-dim); font-size:8px; }.v2-single-observation b { color:var(--v2-cyan); font-size:18px; }.v2-single-observation em { color:var(--v2-dim); font-size:8px; font-style:normal; line-height:1.5; }

@media (max-width:900px) {
    .v2-capability-metric-refs,.v2-topic-grid { grid-template-columns:1fr; }
    .v2-review-track { grid-template-columns:1fr; }.v2-review-track > i { transform:rotate(90deg); text-align:center; }.v2-review-track .gears { min-height:130px; }
}
@media (max-width:620px) {
    .v2-funnel-inputs { grid-template-columns:1fr; }.v2-funnel-body { width:100%; }
    .v2-matrix-head,.v2-matrix-row { grid-template-columns:74px repeat(3,minmax(105px,1fr)); }.v2-portfolio-matrix { overflow-x:auto; }
    .v2-capability-divider h3 { font-size:17px; }.v2-gene-insight-card h4 { font-size:15px; }
    .v2-gene-list,.v2-gene-insight-card { min-width:0; width:100%; }
    .v2-gene-insight-card { overflow:hidden; }
    .v2-gene-insight-card * { min-width:0; overflow-wrap:anywhere; }
}
.v2-metric-card-source { margin-top:14px; }

.v2-metric-tab-rail { display:flex; gap:6px; overflow-x:auto; margin:22px 0 -1px; padding:0 10px; border-bottom:1px solid var(--v2-cyan); }
.v2-metric-tab-rail button { flex:1 0 145px; padding:13px 18px; border:1px solid var(--v2-border); border-bottom-color:var(--v2-cyan); border-radius:9px 9px 0 0; background:rgba(255,255,255,.018); color:var(--v2-muted); font-size:11px; cursor:pointer; }
.v2-metric-tab-rail button.active { position:relative; z-index:2; border-color:var(--v2-cyan); border-bottom-color:#0a1016; background:#0a1016; color:var(--v2-cyan); font-weight:720; }
.v2-metric-stage { border-color:var(--v2-cyan); border-radius:0 12px 12px; background:linear-gradient(180deg,rgba(56,214,199,.018),rgba(3,7,11,.3)); }
.v2-card-trend-bars,.v2-series-chart { padding-top:42px; }
.v2-trend-corner-change { position:absolute; z-index:2; right:7px; top:5px; min-width:max-content; padding:5px 8px; border:1px solid rgba(56,214,199,.25); border-radius:7px; background:#0b171a; color:var(--v2-cyan); line-height:1.15; text-align:right; box-shadow:0 5px 18px rgba(0,0,0,.22); pointer-events:none; }
.v2-trend-corner-change > b,.v2-card-trend-bars .v2-trend-corner-change > b,.v2-series-chart .v2-trend-corner-change > b { display:block; color:var(--v2-cyan); font-size:9px; }
.v2-trend-corner-change > small { display:block; margin-top:2px; color:var(--v2-dim); font-size:7px; }

@media (max-width:1120px) {
    .v2-company-hero { grid-template-columns:1fr; align-items:start; }
    .v2-hero-meta { min-width:0; }
}
@media (max-width:760px) {
    .v2-hero-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-primary-tabs { display:flex; overflow-x:auto; }
    .v2-tab { flex:0 0 120px; }
    .v2-detail-comparison > div { grid-template-columns:72px minmax(0,1fr); }
    .v2-detail-comparison > div > strong { grid-row:auto; }.v2-detail-comparison > div > span,.v2-detail-comparison > div > mark { grid-column:2; }
    .v2-contract-map > div,.v2-org-map > div { grid-template-columns:1fr; }.v2-contract-map span:not(:last-child)::after { content:'↓'; right:50%; top:auto; bottom:-18px; }.v2-org-map span::before { display:none; }
}
@media (max-width:620px) {
    .v2-capability-tile-evidence,.v2-event-terms,.v2-detail-breakdown { grid-template-columns:1fr!important; }
    .v2-gene-observation-note { grid-template-columns:1fr; }
    .v2-ip-icon-chart > div { grid-template-columns:repeat(6,23px); }
    .v2-detail-comparison > div { grid-template-columns:1fr; }.v2-detail-comparison > div > span,.v2-detail-comparison > div > mark { grid-column:1; }
    .v2-capability-ip-mix,.v2-gene-ip-donut { grid-template-columns:1fr; }.v2-ip-mix-donut { margin:auto; }.v2-price-ladder span { grid-template-columns:95px minmax(0,1fr) 100px; }
}

/* Ontology v1.2 · logic graph, exclusive implementation units and falsifiable rules */
.ontology-alias {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 10px;
    margin-top: 14px;
    padding: 10px 12px;
    border-left: 2px solid var(--v2-amber);
    background: rgba(255, 202, 88, .04);
    font-size: 10px;
}

.ontology-object-principle {
    margin-top: 12px !important;
    padding: 11px 13px;
    border-left: 2px solid var(--object-color);
    background: color-mix(in srgb, var(--object-color) 4%, transparent);
    color: var(--v2-muted) !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
}

.ontology-object-principle strong { color: var(--object-color); }

.ontology-alias strong { color: #d8bd7d; }
.ontology-alias span { color: var(--v2-muted); }

.ontology-logic-graph {
    margin-top: 17px;
    padding-top: 16px;
    border-top: 1px solid var(--v2-border);
}

.ontology-logic-track {
    display: flex;
    gap: 7px;
    align-items: stretch;
}

.ontology-logic-node {
    min-width: 0;
    flex: 1 1 0;
    padding: 13px;
    border: 1px solid color-mix(in srgb, var(--object-color) 30%, var(--v2-border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--object-color) 4%, rgba(255,255,255,.012));
}

.ontology-logic-track i {
    display: grid;
    place-items: center;
    color: var(--object-color);
    font-style: normal;
}

.ontology-logic-node small,
.ontology-logic-node strong { display: block; }
.ontology-logic-node small { color: var(--object-color); font-size: 8px; }
.ontology-logic-node strong { margin-top: 6px; color: #d9e3e9; font-size: 10px; line-height: 1.55; }

.ontology-logic-branches {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 9px;
}

.ontology-logic-branches > div {
    padding: 11px 12px;
    border-left: 2px solid var(--object-color);
    background: color-mix(in srgb, var(--object-color) 4%, transparent);
}

.ontology-logic-branches > div.counter {
    border-left-color: var(--v2-red);
    background: rgba(242, 111, 135, .035);
}

.ontology-logic-branches small,
.ontology-logic-branches strong { display: block; }
.ontology-logic-branches small { color: var(--v2-dim); font-size: 8px; }
.ontology-logic-branches strong { margin-top: 5px; color: var(--v2-muted); font-size: 9px; line-height: 1.55; }

.ontology-carrier-card header small {
    color: var(--v2-dim);
    font-size: 8px;
}

.ontology-carrier-card dl div + div { margin-top: 6px; }

.ontology-rule-card header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.ontology-rule-card header > small {
    color: var(--v2-dim);
    font-size: 8px;
    text-align: right;
}

.ontology-rule-card h4 {
    margin: 11px 0 0;
    color: #d7e1e7;
    font-size: 13px;
    line-height: 1.65;
}

.ontology-rule-logic {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 13px 0 0;
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    overflow: hidden;
    background: var(--v2-border);
}

.ontology-rule-logic > div {
    min-width: 0;
    padding: 11px;
    background: var(--v2-panel);
}

.ontology-rule-logic > div.counter { background: rgba(242, 111, 135, .035); }
.ontology-rule-logic dt { color: var(--v2-dim); font-size: 8px; }
.ontology-rule-logic dd { margin: 5px 0 0; color: var(--v2-muted); font-size: 9px; line-height: 1.55; }
.ontology-rule-logic > div.counter dd { color: #d6a0aa; }

@media (max-width: 1000px) {
    .ontology-logic-track { flex-direction: column; }
    .ontology-logic-track i { min-height: 16px; font-size: 0; }
    .ontology-logic-track i::before { content: '↓'; font-size: 10px; }
}

@media (max-width: 620px) {
    .ontology-alias,
    .ontology-logic-branches,
    .ontology-rule-logic { grid-template-columns: 1fr; }
    .ontology-rule-card header { align-items: flex-start; flex-direction: column; }
    .ontology-rule-card header > small { text-align: left; }
}

/* V2.4 · consistent definitions, one-line navigation and mechanism-specific cards */
.v2-primary-tabs {
    display:flex;
    grid-template-columns:none;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:thin;
}
.v2-tab { flex:1 0 104px; white-space:nowrap; }

.v2-capability-divider > div > span { color:var(--domain-color); font-size:9px; letter-spacing:.08em; }
.v2-capability-divider h3 > span {
    color:#d6dde3;
    font-size:inherit;
    font-weight:inherit;
    letter-spacing:inherit;
}
.v2-object-prefix { display:inline; white-space:nowrap; }

.v2-definition-link,
.v2-link-button.v2-definition-link,
.v2-gene-standard-link.v2-definition-link {
    display:inline-flex;
    align-items:center;
    min-height:31px;
    padding:6px 10px;
    border:1px solid color-mix(in srgb,var(--domain-color,var(--v2-cyan)) 38%,var(--v2-border));
    border-radius:7px;
    background:color-mix(in srgb,var(--domain-color,var(--v2-cyan)) 4%,transparent);
    color:var(--domain-color,var(--v2-cyan));
    font-size:9px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
}
.v2-definition-link:hover { border-color:var(--domain-color,var(--v2-cyan)); color:#eafffd; }

.v2-gene-insight-card.status-observed,
.v2-gene-insight-card.status-result,
.v2-gene-insight-card.status-candidate {
    border-left-color:var(--domain-color);
    background:linear-gradient(110deg,color-mix(in srgb,var(--domain-color) 3%,transparent),var(--v2-panel));
}
.v2-gene-insight-card.status-observed .v2-card-level,
.v2-gene-insight-card.status-result .v2-card-level,
.v2-gene-insight-card.status-candidate .v2-card-level { color:var(--domain-color); }

.v2-funnel-body { position:relative; display:block; padding:0; }
.v2-funnel-body i { position:absolute; }
.v2-funnel-body i:nth-child(1) { left:8%; top:10px; }.v2-funnel-body i:nth-child(2) { left:18%; top:29px; }
.v2-funnel-body i:nth-child(3) { left:27%; top:14px; }.v2-funnel-body i:nth-child(4) { left:36%; top:38px; }
.v2-funnel-body i:nth-child(5) { left:46%; top:8px; }.v2-funnel-body i:nth-child(6) { left:56%; top:28px; }
.v2-funnel-body i:nth-child(7) { left:66%; top:15px; }.v2-funnel-body i:nth-child(8) { left:77%; top:35px; }
.v2-funnel-body i:nth-child(9) { left:87%; top:12px; }.v2-funnel-body i:nth-child(10) { left:21%; top:49px; }
.v2-funnel-body i:nth-child(11) { left:31%; top:25px; }.v2-funnel-body i:nth-child(12) { left:41%; top:52px; }
.v2-funnel-body i:nth-child(13) { left:51%; top:40px; }.v2-funnel-body i:nth-child(14) { left:61%; top:50px; }
.v2-funnel-body i:nth-child(15) { left:71%; top:25px; }.v2-funnel-body i:nth-child(16) { left:81%; top:49px; }
.v2-funnel-body i:nth-child(17) { left:13%; top:43px; }.v2-funnel-body i:nth-child(18) { left:91%; top:42px; }

.v2-mechanism-loop,.v2-parallel-map,.v2-balance-map {
    margin-top:14px;
    padding:15px;
    border:1px solid var(--v2-border);
    border-radius:10px;
    background:rgba(255,255,255,.012);
}
.v2-mechanism-loop > strong,.v2-parallel-map > strong,.v2-balance-map > strong { display:block; margin-bottom:13px; font-size:10px; }
.v2-mechanism-loop > div { display:flex; align-items:stretch; gap:6px; }
.v2-mechanism-loop span { flex:1; display:grid; place-items:center; min-height:52px; padding:8px; border:1px solid color-mix(in srgb,var(--domain-color) 32%,var(--v2-border)); border-radius:8px; font-size:8px; line-height:1.4; text-align:center; }
.v2-mechanism-loop i { align-self:center; color:var(--domain-color); font-size:12px; font-style:normal; }

.v2-parallel-map > b { display:block; width:max-content; max-width:100%; margin:0 auto 13px; padding:8px 13px; border:1px solid var(--domain-color); border-radius:999px; color:var(--domain-color); font-size:9px; text-align:center; }
.v2-parallel-map > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:8px; }
.v2-parallel-map span { min-width:0; padding:11px; border:1px solid var(--v2-border); border-top:2px solid var(--domain-color); border-radius:8px; background:rgba(255,255,255,.012); }
.v2-parallel-map em,.v2-parallel-map span strong,.v2-parallel-map small { display:block; }
.v2-parallel-map em { color:var(--domain-color); font-size:7px; font-style:normal; }
.v2-parallel-map span strong { margin-top:5px; font-size:9px; }
.v2-parallel-map small { margin-top:6px; color:var(--v2-muted); font-size:8px; line-height:1.45; }

.v2-balance-map > div { display:grid; grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr); gap:10px; align-items:center; }
.v2-balance-map span { min-height:92px; display:grid; align-content:center; padding:12px; border:1px solid color-mix(in srgb,var(--domain-color) 35%,var(--v2-border)); border-radius:9px; text-align:center; }
.v2-balance-map span em,.v2-balance-map span b,.v2-balance-map span small { display:block; }
.v2-balance-map span em { color:var(--domain-color); font-size:7px; font-style:normal; }
.v2-balance-map span b { margin-top:5px; font-size:10px; }
.v2-balance-map span small { margin-top:5px; color:var(--v2-muted); font-size:8px; line-height:1.45; }
.v2-balance-map > div > i { position:relative; color:var(--v2-amber); font-size:8px; font-style:normal; text-align:center; }
.v2-balance-map > div > i::before { content:'◀━━━━▶'; display:block; margin-bottom:5px; color:var(--domain-color); letter-spacing:-2px; }
.v2-balance-map > p { margin:11px 0 0; color:var(--v2-muted); font-size:8px; line-height:1.55; text-align:center; }

.v2-card-ratio.compact { min-height:126px; }
.v2-card-ratio.compact > div { width:105px; height:105px; }
.v2-card-ratio.compact > div::before { width:74px; height:74px; }

.v2-metric-drawer { overscroll-behavior:contain; }
.v2-drawer-backdrop { touch-action:none; }
html.v2-metric-drawer-open,html.v2-metric-drawer-open body { overflow:hidden; }

@media (max-width:760px) {
    .v2-primary-tabs { display:flex; }
    .v2-tab { flex:0 0 104px; }
    .v2-mechanism-loop > div { overflow-x:auto; padding-bottom:5px; }
    .v2-mechanism-loop span { flex:0 0 120px; }
}
@media (max-width:620px) {
    .v2-balance-map > div { grid-template-columns:1fr; }
    .v2-balance-map > div > i::before { content:'▲'; letter-spacing:0; }
}

/*
 * Enterprise DNA light theme
 *
 * The V2 visual language was originally authored dark-first.  Theme tokens alone
 * are not sufficient because a number of diagrams use opaque dark gradients and
 * pale, hard-coded text.  Keep those treatments untouched in dark mode and map
 * the complete company view to paper-like surfaces when light mode is active.
 */
[data-theme="light"] body.dna-v2-body {
    --v2-panel: #ffffff;
    --v2-panel-soft: #f7fbfa;
    --v2-border: rgba(39, 72, 78, .16);
    --v2-border-strong: rgba(39, 72, 78, .28);
    --v2-text: #152a30;
    --v2-muted: #4e646b;
    --v2-dim: #62757b;
    --v2-cyan: #087f77;
    --v2-blue: #247798;
    --v2-pink: #a94460;
    --v2-amber: #8a6500;
    --v2-red: #a93b51;
    --v2-green: #287d52;
    --v2-purple: #684fb0;
    color-scheme: light;
    color: var(--v2-text);
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-card,
    .v2-section,
    .v2-stat-card,
    .v2-strategy-card,
    .v2-enterprise-insight,
    .v2-capability-cell,
    .v2-gene-card,
    .v2-instance-panel,
    .v2-event-content,
    .v2-domain-sheet,
    .v2-gene-insight-card,
    .v2-event-detail,
    .ontology-id-card,
    .ontology-definition,
    .ontology-side-card,
    .ontology-instance-card,
    .ontology-rule-card,
    .ontology-carrier-card
) {
    background: #ffffff;
    color: var(--v2-text);
    box-shadow: 0 1px 0 rgba(31, 61, 67, .025);
}

/* Business ontology overview */
.ontology-overview-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr);
    gap: clamp(36px, 5vw, 72px);
    align-items: end;
    padding: clamp(46px, 7vw, 86px) 0 clamp(38px, 5vw, 62px);
    border-bottom: 1px solid var(--v2-border);
}

.ontology-overview-copy h1 {
    margin: 9px 0 0;
    font-size: clamp(52px, 7vw, 92px);
    line-height: .98;
    letter-spacing: -.065em;
}

.ontology-overview-copy > p {
    max-width: 760px;
    margin: 25px 0 0;
    color: var(--v2-muted);
    font-size: clamp(16px, 1.55vw, 20px);
    line-height: 1.8;
}

.ontology-overview-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--v2-border);
    border-radius: 16px;
    overflow: hidden;
    background: var(--v2-panel);
}

.ontology-overview-stats article {
    min-height: 122px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px;
}

.ontology-overview-stats article:nth-child(2n) { border-left: 1px solid var(--v2-border); }
.ontology-overview-stats article:nth-child(n+3) { border-top: 1px solid var(--v2-border); }
.ontology-overview-stats strong { color: var(--v2-cyan); font-size: clamp(29px, 3vw, 42px); line-height: 1; }
.ontology-overview-stats span { margin-top: 10px; color: var(--v2-muted); font-size: 12px; }

.ontology-overview-section { padding-top: clamp(66px, 8vw, 104px); }

.novo-identity-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.novo-identity-grid article {
    min-height: 235px;
    padding: 28px;
    border: 1px solid var(--v2-line);
    background: linear-gradient(145deg, rgba(56,214,199,.08), rgba(255,255,255,.02));
}

.novo-identity-grid small,
.novo-identity-grid strong { display: block; }
.novo-identity-grid small { color: var(--v2-accent); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.novo-identity-grid strong { margin-top: 42px; font-size: 26px; }
.novo-identity-grid p { margin: 14px 0 0; color: var(--v2-muted); line-height: 1.75; }

.novo-carrier-rule {
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 24px;
    align-items: start;
    margin-top: 16px;
    padding: 22px 26px;
    border: 1px solid rgba(181,140,255,.35);
    background: rgba(181,140,255,.07);
}
.novo-carrier-rule strong { font-size: 17px; }
.novo-carrier-rule span { color: var(--v2-muted); line-height: 1.7; }
.novo-carrier-rule code { color: #b58cff; font-size: 12px; }

.novo-comparison-table { border-top: 1px solid var(--v2-line); }
.novo-comparison-row {
    display: grid;
    grid-template-columns: minmax(150px,.7fr) minmax(180px,.8fr) minmax(220px,1fr) minmax(280px,1.45fr);
    gap: 20px;
    padding: 20px 16px;
    border-bottom: 1px solid var(--v2-line);
    color: inherit;
    text-decoration: none;
}
.novo-comparison-row:not(.is-head):hover { background: rgba(56,214,199,.06); }
.novo-comparison-row.is-head { color: var(--v2-dim); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.novo-comparison-row strong { color: var(--v2-accent); }
.novo-comparison-row span { color: var(--v2-muted); font-size: 13px; line-height: 1.65; }

.novo-lifecycle-track {
    display: grid;
    grid-template-columns: repeat(4,1fr 28px) 1fr;
    align-items: stretch;
}
.novo-lifecycle-track article { min-height: 190px; padding: 24px 20px; border: 1px solid var(--v2-line); background: var(--v2-card); }
.novo-lifecycle-track article span { color: var(--v2-accent); font: 800 11px/1.4 Montserrat,sans-serif; }
.novo-lifecycle-track article strong { display: block; margin-top: 34px; font-size: 18px; }
.novo-lifecycle-track article p { margin: 10px 0 0; color: var(--v2-muted); font-size: 13px; line-height: 1.65; }
.novo-lifecycle-track > i { display: grid; place-items: center; color: var(--v2-dim); font-style: normal; }

.novo-candidate { scroll-margin-top: 20px; }
.novo-candidate-status { display: grid; grid-template-columns: 130px 1fr; gap: 8px 24px; padding: 24px; border: 1px solid rgba(181,140,255,.38); background: rgba(181,140,255,.08); }
.novo-candidate-status span { align-self:start; justify-self:start; padding: 6px 9px; border: 1px solid rgba(181,140,255,.4); color: #b58cff; font-size: 11px; font-weight: 800; }
.novo-candidate-status strong { font-size: 18px; line-height: 1.6; }
.novo-candidate-status small { grid-column:2; color: var(--v2-muted); line-height: 1.6; }
.novo-candidate-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 14px; }
.novo-candidate-grid article { padding: 24px; border: 1px solid var(--v2-line); background: var(--v2-card); }
.novo-candidate-grid header { display:flex; justify-content:space-between; gap:14px; padding-bottom:16px; border-bottom:1px solid var(--v2-line); }
.novo-candidate-grid header a { color:var(--v2-accent); font-size:11px; text-decoration:none; }
.novo-candidate-grid p { color:var(--v2-muted); line-height:1.75; }
.novo-candidate-grid footer { padding-top:16px; border-top:1px solid var(--v2-line); font-size:13px; line-height:1.65; }
.novo-candidate-grid footer span { display:block; margin-bottom:6px; color:var(--v2-dim); font-size:10px; font-weight:800; letter-spacing:.1em; }

.ontology-overview-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .68fr);
    gap: 40px;
    align-items: end;
    margin-bottom: 28px;
}

.ontology-overview-head h2 { max-width: 800px; margin: 9px 0 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.16; letter-spacing: -.04em; }
.ontology-overview-head > p,
.ontology-overview-head > div > p:last-child { margin: 0; color: var(--v2-muted); line-height: 1.75; }

.ontology-framework-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.ontology-framework-grid > a {
    min-height: 310px;
    display: flex;
    flex-direction: column;
    padding: clamp(25px, 3vw, 36px);
    border: 1px solid var(--v2-border);
    border-top: 2px solid var(--layer-color);
    border-radius: 15px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--layer-color) 8%, transparent), transparent 50%), var(--v2-panel);
    color: inherit;
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease;
}

.ontology-framework-grid > a:hover { border-color: var(--layer-color); transform: translateY(-3px); }
.ontology-framework-grid > a.is-domain { --layer-color: #55c6f2; }
.ontology-framework-grid > a.is-capability { --layer-color: #38d6c7; }
.ontology-framework-grid > a.is-gene { --layer-color: #b58cff; }
.ontology-framework-grid > i { display: grid; place-items: center; color: var(--v2-dim); font-size: 20px; font-style: normal; }
.ontology-framework-grid a > span { color: var(--layer-color); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.ontology-framework-grid h3 { margin: 22px 0 0; font-size: 32px; }
.ontology-framework-grid a > strong { margin-top: 11px; font-size: 16px; }
.ontology-framework-grid a > p { margin: 18px 0 0; color: var(--v2-muted); line-height: 1.75; }
.ontology-framework-grid a > small { margin-top: auto; padding-top: 24px; color: var(--layer-color); }

.ontology-system-map { padding-top: clamp(46px, 6vw, 76px); }
.ontology-system-chain { display:grid; grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr) 90px minmax(0,1fr); gap:10px; align-items:stretch; }
.ontology-system-chain > a { min-height:230px; display:flex; flex-direction:column; padding:28px; border:1px solid var(--v2-border); border-radius:17px; background:linear-gradient(145deg,rgba(56,214,199,.055),transparent 55%),var(--v2-panel); color:inherit; text-decoration:none; transition:border-color .2s ease,transform .2s ease; }
.ontology-system-chain > a:hover { border-color:var(--v2-cyan); transform:translateY(-3px); }
.ontology-system-chain > a small { color:var(--v2-cyan); font-size:10px; font-weight:800; letter-spacing:.11em; }
.ontology-system-chain > a strong { margin-top:24px; font-size:clamp(23px,2.4vw,32px); }
.ontology-system-chain > a span { margin-top:13px; color:var(--v2-muted); line-height:1.65; }
.ontology-system-chain > a em { margin-top:auto; padding-top:22px; color:var(--v2-blue); font-size:12px; font-style:normal; }
.ontology-system-chain > article { min-height:230px; display:flex; flex-direction:column; padding:28px; border:1px solid rgba(181,140,255,.35); border-radius:17px; background:linear-gradient(145deg,rgba(181,140,255,.09),transparent 55%),var(--v2-panel); }
.ontology-system-chain > article small { color:#b58cff; font-size:10px; font-weight:800; letter-spacing:.11em; }
.ontology-system-chain > article strong { margin-top:24px; font-size:clamp(23px,2.4vw,32px); }
.ontology-system-chain > article span { margin-top:13px; color:var(--v2-muted); line-height:1.65; }
.ontology-system-chain > i { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--v2-cyan); font-style:normal; }
.ontology-system-chain > i span { color:var(--v2-dim); font-size:10px; text-align:center; }
.novo-gene-model { display:grid; grid-template-columns:minmax(0,.8fr) 46px minmax(280px,1.4fr) 46px minmax(0,.8fr); gap:10px; align-items:stretch; }
.novo-gene-model > div,.novo-gene-model > article { min-height:190px; display:flex; flex-direction:column; justify-content:center; padding:26px; border:1px solid var(--v2-border); border-radius:16px; background:var(--v2-panel); }
.novo-gene-model > article { border-color:rgba(181,140,255,.42); background:linear-gradient(145deg,rgba(181,140,255,.11),transparent 62%),var(--v2-panel); text-align:center; }
.novo-gene-model small { color:var(--v2-cyan); font-size:10px; font-weight:800; letter-spacing:.1em; }
.novo-gene-model strong { margin-top:16px; font-size:18px; line-height:1.5; }.novo-gene-model article strong{font-size:22px}.novo-gene-model article p{margin:12px 0 0;color:var(--v2-muted);line-height:1.65}
.novo-gene-model > i { display:grid; place-items:center; color:var(--v2-cyan); font-style:normal; }
.novo-gene-model > aside { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-top:6px; }
.novo-gene-model > aside span { padding:13px 10px; border:1px solid var(--v2-border); border-radius:10px; color:var(--v2-muted); background:rgba(255,255,255,.025); text-align:center; font-size:12px; }
.ontology-system-feedback { width:fit-content; display:flex; align-items:center; gap:13px; margin:18px auto 0; padding:10px 17px; border:1px solid var(--v2-border); border-radius:999px; color:var(--v2-muted); font-size:11px; }
.ontology-system-feedback i { color:var(--v2-cyan); font-size:17px; font-style:normal; }
.ontology-system-feedback strong { color:var(--v2-text); font-size:11px; }

.ontology-usage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--v2-border); border-radius: 16px; overflow: hidden; background: var(--v2-panel); }
.ontology-usage-grid article { min-height: 230px; padding: 27px; }
.ontology-usage-grid article + article { border-left: 1px solid var(--v2-border); }
.ontology-usage-grid article > span { color: var(--v2-cyan); font-size: 11px; font-weight: 800; }
.ontology-usage-grid h3 { margin: 34px 0 0; font-size: 18px; }
.ontology-usage-grid p { margin: 12px 0 0; color: var(--v2-muted); line-height: 1.7; }

.ontology-overview-head.is-directory { align-items: end; }
.ontology-directory-search { display: grid; gap: 8px; color: var(--v2-muted); font-size: 11px; }
.ontology-directory-search input { min-height: 46px; padding: 0 14px; border: 1px solid var(--v2-border-strong); border-radius: 10px; color: var(--v2-text); background: var(--v2-panel); outline: none; }
.ontology-directory-search input:focus { border-color: var(--v2-cyan); box-shadow: 0 0 0 3px rgba(56,214,199,.08); }

.ontology-directory-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:18px; border:1px solid var(--v2-border); border-radius:15px; background:var(--v2-panel); overflow:hidden; }
.ontology-directory-tabs button { min-height:112px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:center; gap:7px 14px; padding:20px 24px; border:0; border-right:1px solid var(--v2-border); background:transparent; color:var(--v2-text); text-align:left; cursor:pointer; }
.ontology-directory-tabs button:last-child { border-right:0; }
.ontology-directory-tabs button:hover,.ontology-directory-tabs button.active { background:linear-gradient(145deg,rgba(56,214,199,.11),rgba(85,198,242,.025)); box-shadow:inset 0 -2px var(--v2-cyan); }
.ontology-directory-tabs button span { font-size:20px; font-weight:750; }
.ontology-directory-tabs button strong { color:var(--v2-cyan); font-size:19px; }
.ontology-directory-tabs button small { grid-column:1/-1; color:var(--v2-muted); font-size:11px; }
.ontology-directory-toolbar { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; }
.ontology-directory-toolbar label { display:flex; align-items:center; gap:10px; color:var(--v2-muted); font-size:11px; }
.ontology-directory-toolbar select { min-width:190px; min-height:40px; padding:0 38px 0 12px; border:1px solid var(--v2-border); border-radius:9px; background:var(--v2-panel); color:var(--v2-text); }
.ontology-directory-toolbar p { margin:0 0 0 auto; color:var(--v2-dim); font-size:11px; }
.ontology-object-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ontology-object-directory > a { position:relative; min-height:220px; display:flex; min-width:0; flex-direction:column; padding:22px; border:1px solid var(--v2-border); border-top:2px solid color-mix(in srgb,var(--directory-color) 75%,transparent); border-radius:14px; background:linear-gradient(145deg,color-mix(in srgb,var(--directory-color) 6%,transparent),transparent 55%),var(--v2-panel); color:inherit; text-decoration:none; transition:border-color .2s ease,transform .2s ease; }
.ontology-object-directory > a:hover { border-color:color-mix(in srgb,var(--directory-color) 68%,var(--v2-border)); transform:translateY(-3px); }
.ontology-object-directory .ontology-directory-index { position:absolute; top:20px; right:20px; color:var(--v2-dim); }
.ontology-object-directory > a > small { padding-right:38px; color:var(--directory-color); font-size:10px; letter-spacing:.07em; }
.ontology-object-directory h3 { margin:22px 0 0; font-size:19px; }
.ontology-object-directory p { margin:11px 0 0; color:var(--v2-muted); font-size:12px; line-height:1.65; }
.ontology-object-directory em { margin-top:auto; padding-top:20px; color:var(--v2-blue); font-size:11px; font-style:normal; }

.ontology-directory-list { display: grid; gap: 10px; }
.ontology-directory-domain,
.ontology-directory-capability { border: 1px solid var(--v2-border); border-radius: 13px; background: var(--v2-panel); overflow: hidden; }
.ontology-directory-domain > summary,
.ontology-directory-capability > summary { list-style: none; cursor: pointer; }
.ontology-directory-domain > summary::-webkit-details-marker,
.ontology-directory-capability > summary::-webkit-details-marker { display: none; }
.ontology-directory-domain > summary {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    min-height: 104px;
    padding: 20px 24px;
}
.ontology-directory-domain[open] > summary { border-bottom: 1px solid var(--v2-border); background: rgba(56,214,199,.035); }
.ontology-directory-index { color: var(--v2-cyan); font-size: 11px; font-weight: 800; }
.ontology-directory-domain summary span:nth-child(2),
.ontology-directory-capability summary span { display: grid; gap: 7px; }
.ontology-directory-domain summary strong { font-size: 18px; }
.ontology-directory-domain summary small,
.ontology-directory-capability summary small { color: var(--v2-muted); font-size: 12px; line-height: 1.55; }
.ontology-directory-domain summary em,
.ontology-directory-capability summary em { color: var(--v2-dim); font-size: 11px; font-style: normal; white-space: nowrap; }
.ontology-directory-domain-body { padding: 18px; }
.ontology-directory-object-link { width: fit-content; display: inline-flex; margin: 0 0 12px; color: var(--v2-cyan); font-size: 11px; }
.ontology-directory-capability + .ontology-directory-capability { margin-top: 8px; }
.ontology-directory-capability > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; min-height: 74px; padding: 15px 18px; }
.ontology-directory-capability[open] > summary { border-bottom: 1px solid var(--v2-border); }
.ontology-directory-capability summary strong { font-size: 14px; }
.ontology-directory-capability > div { padding: 16px; }
.ontology-directory-genes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ontology-directory-genes > a { min-height: 94px; display: grid; align-content: center; gap: 7px; padding: 14px; border: 1px solid var(--v2-border); border-radius: 9px; background: rgba(255,255,255,.018); }
.ontology-directory-genes > a:hover { border-color: rgba(181,140,255,.55); background: rgba(181,140,255,.045); }
.ontology-directory-genes strong { font-size: 13px; }
.ontology-directory-genes span { color: var(--v2-muted); font-size: 11px; line-height: 1.55; }
.ontology-overview-method { margin-top: clamp(58px, 8vw, 96px); }

@media (max-width: 980px) {
    .ontology-overview-hero,
    .ontology-overview-head { grid-template-columns: 1fr; }
    .ontology-system-chain { grid-template-columns:1fr; }
    .ontology-system-chain > i { min-height:34px; transform:rotate(90deg); }
    .ontology-system-chain > i span { display:none; }
    .novo-gene-model { grid-template-columns:1fr; }.novo-gene-model > i{min-height:28px;transform:rotate(90deg)}.novo-gene-model > aside{grid-column:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
    .ontology-framework-grid { grid-template-columns: 1fr; }
    .novo-identity-grid,
    .novo-candidate-grid { grid-template-columns: 1fr; }
    .novo-carrier-rule { grid-template-columns: 1fr; }
    .novo-comparison-row { grid-template-columns: 1fr; gap: 7px; }
    .novo-comparison-row.is-head { display:none; }
    .novo-lifecycle-track { grid-template-columns: 1fr; }
    .novo-lifecycle-track > i { min-height: 28px; transform: rotate(90deg); }
    .ontology-framework-grid > i { transform: rotate(90deg); min-height: 24px; }
    .ontology-framework-grid > a { min-height: 250px; }
    .ontology-usage-grid { grid-template-columns: 1fr 1fr; }
    .ontology-usage-grid article:nth-child(3) { border-left: 0; border-top: 1px solid var(--v2-border); }
    .ontology-usage-grid article:nth-child(4) { border-top: 1px solid var(--v2-border); }
    .ontology-object-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
    .ontology-overview-stats,
    .ontology-usage-grid,
    .ontology-directory-genes { grid-template-columns: 1fr; }
    .ontology-system-feedback { width:auto; align-items:flex-start; border-radius:14px; }
    .ontology-directory-tabs,.ontology-object-directory { grid-template-columns:1fr; }
    .ontology-directory-tabs button { min-height:90px; border-right:0; border-bottom:1px solid var(--v2-border); }
    .ontology-directory-tabs button:last-child { border-bottom:0; }
    .ontology-directory-toolbar { display:block; }
    .ontology-directory-toolbar label { align-items:flex-start; flex-direction:column; }
    .ontology-directory-toolbar select { width:100%; }
    .ontology-directory-toolbar p { margin-top:12px; }
    .ontology-overview-stats article + article,
    .ontology-usage-grid article + article { border-left: 0; border-top: 1px solid var(--v2-border); }
    .ontology-directory-domain > summary { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 17px 14px; }
    .ontology-directory-domain summary > em { grid-column: 2; }
    .ontology-directory-capability > summary { grid-template-columns: 1fr; }
    .ontology-directory-domain-body { padding: 12px; }
}

[data-theme="light"] body.dna-v2-body .v2-dna-thesis {
    border-color: rgba(8, 127, 119, .24);
    background:
        radial-gradient(circle at 90% 0%, rgba(8, 127, 119, .10), transparent 38%),
        linear-gradient(145deg, #ffffff, #f2f8f7);
    color: var(--v2-text);
    box-shadow: 0 18px 55px rgba(35, 69, 73, .06);
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-dna-thesis h2,
    .v2-panel-intro h2,
    .v2-section-head h3,
    .v2-capability-divider h3,
    .v2-enterprise-insight h4,
    .v2-gene-insight-card h4,
    .v2-metric-stage-head h3,
    .v2-event-detail h3
) {
    color: var(--v2-text);
    line-height: 1.48;
    text-wrap: pretty;
    word-break: normal;
    overflow-wrap: break-word;
}

[data-theme="light"] body.dna-v2-body .v2-dna-thesis h2 {
    max-width: min(100%, 38em);
    line-height: 1.4;
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-company-summary,
    .v2-dna-thesis > p,
    .v2-section-head p,
    .v2-panel-intro p,
    .v2-enterprise-insight > p,
    .v2-strategy-card p,
    .v2-gene-explanation,
    .ontology-definition > p,
    .ontology-rule-card p
) { color: var(--v2-muted); }

[data-theme="light"] body.dna-v2-body .v2-business-flow article {
    border-color: rgba(39, 72, 78, .17);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 7px 20px rgba(35, 69, 73, .04);
}

[data-theme="light"] body.dna-v2-body .v2-business-flow a,
[data-theme="light"] body.dna-v2-body :is(
    .v2-gene-event-list a,
    .v2-event-source,
    .v2-detail-links a,
    .v2-detail-links button,
    .v2-event-related-sources a,
    .v2-source-inline a,
    .v2-metric-analysis-card > button,
    .v2-topic-card strong
) { color: #176d79; }

[data-theme="light"] body.dna-v2-body .v2-company-tags a {
    border-color: rgba(8, 127, 119, .28);
    background: rgba(8, 127, 119, .055);
    color: var(--v2-cyan);
}

[data-theme="light"] body.dna-v2-body .v2-company-tags a:hover {
    color: #075f59;
}

[data-theme="light"] body.dna-v2-body .v2-domain-genome {
    background: repeating-linear-gradient(
        to bottom,
        rgba(55, 86, 92, .10) 0,
        rgba(55, 86, 92, .10) 1px,
        transparent 1px,
        transparent 43px
    );
}

[data-theme="light"] body.dna-v2-body .v2-domain-genome-item {
    border-right-color: rgba(55, 86, 92, .13);
}

[data-theme="light"] body.dna-v2-body .v2-genome-position > span i,
[data-theme="light"] body.dna-v2-body :is(
    .v2-share-ring,
    .v2-global-ring
)::before,
[data-theme="light"] body.dna-v2-body .v2-card-donut::before,
[data-theme="light"] body.dna-v2-body .v2-card-ratio > div::before,
[data-theme="light"] body.dna-v2-body .v2-ip-mix-donut::before {
    background: #ffffff;
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-genome-copy > small,
    .v2-mini-loop span,
    .v2-insight-stats b,
    .v2-chart-legend b,
    .v2-strategy-reason-grid h4,
    .v2-strategy-choice h4,
    .v2-gene-carrier-summary > strong,
    .v2-gene-operation > strong,
    .v2-gene-operation p,
    .v2-operation-text,
    .v2-series-column b,
    .v2-carrier-grid dd,
    .v2-benchmark-card dd,
    .ontology-carrier-card dd,
    .v2-source-inline strong,
    .v2-page-sources h4,
    .v2-domain-analysis-bars em,
    .v2-card-ranked-bars em,
    .v2-card-stack > p b,
    .v2-metric-tree-details > summary,
    .v2-detail-comparison em,
    .v2-price-ladder b,
    .v2-capability-divider h3 > span,
    .v2-gene-insight-card h4 > span,
    .v2-capability-metric-main > header em,
    .ontology-logic-node strong,
    .ontology-rule-card h4,
    .ontology-method li strong
) { color: var(--v2-text); }

[data-theme="light"] body.dna-v2-body :is(
    .v2-diagnosis-card,
    .v2-path-node,
    .v2-instance-block,
    .v2-evidence-card,
    .v2-carrier-grid article,
    .v2-carrier-orbit > span,
    .v2-neighbor-row,
    .v2-domain-score-row,
    .v2-strategy-kpis span,
    .v2-strategy-reason-grid section,
    .v2-strategy-choice section,
    .v2-domain-tab-card,
    .v2-capability-tab,
    .v2-domain-heat-tile,
    .v2-capability-heat-tile,
    .v2-capability-evidence-band span,
    .v2-gene-carrier-summary > div > span,
    .v2-gene-event-brief a,
    .v2-gene-evidence-empty,
    .v2-source-inline p,
    .v2-page-sources,
    .v2-page-sources section,
    .v2-event-why-grid article,
    .v2-event-impact-grid article,
    .v2-event-gene-links a,
    .v2-event-terms article,
    .v2-capability-ip-mix,
    .v2-contract-map,
    .v2-org-map,
    .v2-price-ladder,
    .v2-capability-metric-ref,
    .v2-metric-card-chart,
    .v2-mechanism-funnel,
    .v2-review-gears,
    .v2-portfolio-matrix,
    .v2-mechanism-loop,
    .v2-mechanism-flow,
    .v2-parallel-map,
    .v2-balance-map,
    .v2-topic-card,
    .v2-single-observation,
    .ontology-item-card,
    .ontology-boundary-card,
    .ontology-indicator-card,
    .ontology-formula,
    .ontology-logic-node
) {
    background: #f8fbfb;
    color: var(--v2-text);
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-mini-loop span,
    .v2-insight-stats span,
    .v2-risk-facts > span,
    .v2-domain-analysis-signals span,
    .v2-capability-tile-evidence > span,
    .v2-detail-breakdown > span,
    .v2-detail-comparison > div,
    .v2-gene-observation-note,
    .v2-event-action span,
    .v2-event-results span,
    .v2-review-track > span,
    .v2-matrix-row > *
) {
    background: #ffffff;
    color: var(--v2-text);
}

[data-theme="light"] body.dna-v2-body .v2-progress-ring {
    background: conic-gradient(var(--v2-cyan) calc(var(--progress) * 1%), rgba(55, 86, 92, .12) 0);
}

[data-theme="light"] body.dna-v2-body .v2-progress-ring::before {
    background: #ffffff;
}

[data-theme="light"] body.dna-v2-body .v2-primary-tabs {
    border-bottom-color: var(--v2-border);
    background: rgba(247, 251, 250, .94);
}

[data-theme="light"] body.dna-v2-body .v2-tab {
    background: transparent;
    color: var(--v2-muted);
}

[data-theme="light"] body.dna-v2-body .v2-tab:hover {
    background: rgba(8, 127, 119, .045);
    color: var(--v2-text);
}

[data-theme="light"] body.dna-v2-body .v2-tab.active {
    background: linear-gradient(180deg, transparent, rgba(8, 127, 119, .075));
    color: var(--v2-cyan);
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-strategy-result,
    .v2-metric-insight,
    .v2-gene-operation,
    .ontology-object-principle
) {
    background: rgba(8, 127, 119, .065);
    color: #36585e !important;
}

[data-theme="light"] body.dna-v2-body .v2-strategy-body .v2-strategy-result {
    background: none;
    color: var(--v2-text) !important;
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-note,
    .v2-disclaimer,
    .v2-insight-boundary,
    .v2-insight-callout,
    .v2-event-boundary,
    .ontology-question-list div,
    .ontology-alias
) {
    background: rgba(138, 101, 0, .07);
    color: #6e570f;
}

[data-theme="light"] body.dna-v2-body .v2-risk-chain b,
[data-theme="light"] body.dna-v2-body .v2-risk-facts > span {
    background: rgba(169, 59, 81, .055);
    color: #643943;
}

[data-theme="light"] body.dna-v2-body .v2-category-shift b,
[data-theme="light"] body.dna-v2-body .ontology-rule-logic > div.counter dd {
    color: #84495a;
}

[data-theme="light"] body.dna-v2-body .v2-event-what > p {
    color: var(--v2-muted) !important;
}

[data-theme="light"] body.dna-v2-body .v2-event-boundary p,
[data-theme="light"] body.dna-v2-body .v2-detail-comparison mark,
[data-theme="light"] body.dna-v2-body .v2-matrix-row .opportunity,
[data-theme="light"] body.dna-v2-body .ontology-alias strong {
    color: #725b19;
}

[data-theme="light"] body.dna-v2-body .v2-strategy-visual {
    background:
        radial-gradient(circle at 80% 0, rgba(8, 127, 119, .07), transparent 40%),
        #f8fbfb;
}

[data-theme="light"] body.dna-v2-body .v2-world-map {
    background:
        radial-gradient(circle at 72% 43%, rgba(8, 127, 119, .08), transparent 35%),
        linear-gradient(145deg, #edf6f5, #f8fbfb);
}

[data-theme="light"] body.dna-v2-body .v2-world-map > img {
    opacity: .52;
    filter: grayscale(1) sepia(.2) hue-rotate(120deg) saturate(.75) contrast(.9);
}

[data-theme="light"] body.dna-v2-body .v2-world-map .map-pin {
    color: #20444b;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .95);
}

[data-theme="light"] body.dna-v2-body .v2-world-map .map-pin i {
    border-color: #ffffff;
}

[data-theme="light"] body.dna-v2-body .v2-world-map .continent.reach {
    color: #173f50;
}

[data-theme="light"] body.dna-v2-body .v2-radar-center {
    background: #ffffff;
}

[data-theme="light"] body.dna-v2-body .v2-network-board {
    background:
        radial-gradient(circle at 50% 50%, rgba(8, 127, 119, .07), transparent 45%),
        linear-gradient(rgba(55, 86, 92, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(55, 86, 92, .07) 1px, transparent 1px),
        #f7fbfa;
    background-size: auto, 42px 42px, 42px 42px, auto;
}

[data-theme="light"] body.dna-v2-body .v2-bubble {
    background: color-mix(in srgb, var(--bubble-color) 11%, #ffffff 89%);
    box-shadow: inset 0 0 24px color-mix(in srgb, var(--bubble-color) 8%, transparent), 0 8px 24px rgba(35, 69, 73, .10);
}

[data-theme="light"] body.dna-v2-body .v2-event::before,
[data-theme="light"] body.dna-v2-body .v2-event-row::before {
    background: #ffffff;
}

[data-theme="light"] body.dna-v2-body :is(
    .v2-domain-analysis,
    .v2-capability-sheet,
    .v2-metric-analysis-card,
    .v2-metric-tree,
    .v2-metric-stage,
    .v2-metric-tree-details,
    .v2-detail-waterfall,
    .v2-detail-stacked-trend,
    .v2-benchmark-card,
    .v2-metric-share
) {
    background: #ffffff;
    color: var(--v2-text);
}

[data-theme="light"] body.dna-v2-body .v2-metric-stage {
    background: linear-gradient(180deg, rgba(8, 127, 119, .035), #ffffff 42%);
    box-shadow: 0 12px 35px rgba(35, 69, 73, .045);
}

[data-theme="light"] body.dna-v2-body .metric-node-button {
    background: #f7fbfa;
    color: var(--v2-text);
}

[data-theme="light"] body.dna-v2-body .metric-tree-node.root > .metric-node-button {
    background: rgba(8, 127, 119, .065);
}

[data-theme="light"] body.dna-v2-body .v2-metric-tab-rail button,
[data-theme="light"] body.dna-v2-body :is(
    .v2-domain-tab-rail button,
    .v2-capability-tab-rail button
) {
    background: #f3f8f7;
    color: var(--v2-muted);
}

[data-theme="light"] body.dna-v2-body .v2-metric-tab-rail button.active,
[data-theme="light"] body.dna-v2-body :is(
    .v2-domain-tab-rail button.active,
    .v2-capability-tab-rail button.active
) {
    border-bottom-color: #ffffff;
    background: #ffffff;
    color: var(--v2-cyan);
}

[data-theme="light"] body.dna-v2-body .v2-trend-corner-change {
    border-color: rgba(8, 127, 119, .30);
    background: #edf8f6;
    box-shadow: 0 5px 16px rgba(35, 69, 73, .10);
}

[data-theme="light"] body.dna-v2-body .v2-metric-drawer {
    background: #ffffff;
    color: var(--v2-text);
    box-shadow: -22px 0 65px rgba(35, 69, 73, .20);
}

[data-theme="light"] body.dna-v2-body .v2-drawer-head > button,
[data-theme="light"] body.dna-v2-body .v2-event-detail header > button,
[data-theme="light"] body.dna-v2-body .metric-expand,
[data-theme="light"] body.dna-v2-body .v2-detail-links button {
    background: #f7fbfa;
    color: var(--v2-muted);
}

[data-theme="light"] body.dna-v2-body .v2-ip-icon-chart i::before,
[data-theme="light"] body.dna-v2-body .v2-ip-icon-chart i::after {
    background: #d9eeeb;
}

[data-theme="light"] body.dna-v2-body .v2-ip-icon-chart i.new::before,
[data-theme="light"] body.dna-v2-body .v2-ip-icon-chart i.new::after {
    background: #f2e5ba;
}

[data-theme="light"] body.dna-v2-body .v2-review-track .gears span {
    border-color: color-mix(in srgb, var(--domain-color) 48%, #dfe9e8);
    background: radial-gradient(
        circle at center,
        #ffffff 0 39%,
        color-mix(in srgb, var(--domain-color) 10%, #f3f8f7) 40% 67%,
        #ffffff 68%
    );
}

[data-theme="light"] body.dna-v2-body .ontology-rule-logic {
    background: var(--v2-border);
}

[data-theme="light"] body.dna-v2-body .ontology-rule-logic > div {
    background: #ffffff;
}

[data-theme="light"] body.dna-v2-body .ontology-rule-logic > div.counter,
[data-theme="light"] body.dna-v2-body .ontology-logic-branches > div.counter {
    background: rgba(169, 59, 81, .055);
}

@media (max-width: 760px) {
    [data-theme="light"] body.dna-v2-body :is(
        .v2-dna-thesis h2,
        .v2-panel-intro h2,
        .v2-section-head h3,
        .v2-capability-divider h3,
        .v2-enterprise-insight h4,
        .v2-gene-insight-card h4
    ) {
        max-width: 100%;
        line-height: 1.52;
        text-wrap: pretty;
    }
}

/* V2.6 · ontology audit, source attribution and relationship graph */
.v2-primary-tabs {
    gap:0;
    padding:0;
    border-bottom:1px solid var(--v2-border);
}
.v2-tab {
    min-height:52px;
    border:0;
    border-bottom:2px solid transparent;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.v2-tab:hover { border-color:transparent; background:rgba(255,255,255,.018); }
.v2-tab.active {
    color:var(--v2-cyan);
    border-color:var(--v2-cyan);
    background:transparent;
    box-shadow:none;
}

.v2-company-summary,
.v2-dna-thesis > p,
.v2-panel-intro p,
.v2-section-head p,
.v2-enterprise-insight > p,
.v2-strategy-card p,
.v2-gene-explanation,
.v2-event-detail p,
.v2-topic-card p,
.ontology-definition > p,
.ontology-item-card p,
.ontology-rule-card dd,
.ontology-instance-card p {
    text-wrap:pretty;
    line-break:strict;
    word-break:normal;
    overflow-wrap:break-word;
}
.v2-dna-thesis h2,
.v2-panel-intro h2,
.v2-section-head h3,
.v2-enterprise-insight h4,
.v2-strategy-card h3,
.v2-capability-divider h3,
.v2-gene-insight-card h4,
.v2-event-detail h3,
.v2-level-transition h3,
.v2-topic-card h3,
.ontology-hero h1,
.ontology-definition h2,
.ontology-rule-card h4,
.ontology-item-card h4 {
    text-wrap:balance;
    line-break:strict;
    word-break:normal;
}
.v2-panel-intro > div:first-child { flex:1 1 720px; min-width:min(100%,620px); }

.v2-source-inline summary {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px 18px;
    flex-wrap:wrap;
    text-wrap:pretty;
}
.v2-source-inline summary span { min-width:0; }
.v2-source-inline summary em {
    margin-left:auto;
    color:var(--v2-dim);
    font-size:8px;
    font-style:normal;
    font-weight:600;
    letter-spacing:.08em;
    opacity:.36;
    filter:saturate(.35);
    pointer-events:none;
    user-select:none;
    white-space:nowrap;
    transition:opacity .16s ease,filter .16s ease;
}
.v2-source-inline summary:hover em,
.v2-source-inline summary:focus-visible em,
.v2-source-inline[open] summary em {
    opacity:.58;
    filter:saturate(.55);
}

.v2-network-toolbar { align-items:flex-start; }
.v2-network-controls { display:grid; gap:9px; min-width:0; }
.v2-network-toolbar.is-gene-atlas-compact {
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:10px;
    padding:8px 10px;
    border:1px solid var(--v2-border);
    border-radius:10px;
    background:rgba(255,255,255,.015);
}
.v2-relation-select { display:flex; flex:0 0 auto; align-items:center; gap:8px; color:var(--v2-muted); font-size:9px; }
.v2-relation-select > span { white-space:nowrap; }
.v2-relation-select select {
    min-width:128px;
    height:34px;
    padding:0 30px 0 11px;
    border:1px solid var(--v2-border-strong);
    border-radius:8px;
    background:var(--v2-panel);
    color:var(--v2-text);
    font:inherit;
    font-weight:750;
    cursor:pointer;
}
.v2-network-toolbar.is-gene-atlas-compact .v2-network-legend {
    flex:1 1 auto;
    flex-wrap:nowrap;
    justify-content:flex-end;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    overflow-x:auto;
}
.v2-network-scope {
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:3px;
    border:1px solid var(--v2-border);
    border-radius:9px;
    background:rgba(255,255,255,.015);
}
.v2-network-scope button {
    min-height:34px;
    padding:6px 11px;
    border:0;
    border-radius:6px;
    background:transparent;
    color:var(--v2-muted);
    cursor:pointer;
    white-space:nowrap;
}
.v2-network-scope button.active { background:rgba(56,214,199,.10); color:var(--v2-cyan); }
.v2-filter-button { display:inline-flex; align-items:center; gap:6px; }
.v2-filter-button small { color:var(--filter-color,var(--v2-dim)); font-size:8px; }
.v2-filter-button:disabled { opacity:.3; cursor:not-allowed; }
.v2-network-legend {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px 14px;
    margin:10px 0;
    padding:10px 12px;
    border:1px solid var(--v2-border);
    border-radius:9px;
    background:rgba(255,255,255,.015);
    color:var(--v2-muted);
    font-size:9px;
}
.v2-network-legend > span { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.v2-network-legend > em { margin-left:auto; color:var(--v2-dim); font-size:8px; font-style:normal; }
.v2-network-legend .edge-key i { width:18px; height:3px; border-radius:999px; }
.v2-network-legend .edge-key.edge-feedback i { background:repeating-linear-gradient(90deg,var(--edge-color) 0 6px,transparent 6px 9px) !important; }
.v2-network-legend .node-key i { display:inline-block; border:2px solid var(--v2-cyan); background:color-mix(in srgb,var(--v2-cyan) 12%,transparent); }
.v2-network-legend .node-key .gene-node { width:12px; height:12px; border-radius:50%; }
.v2-network-legend .node-key .capability-node { width:18px; height:10px; border-radius:3px; border-width:1px; }
.v2-network-board { height:900px; }
.v2-network-cluster-label {
    position:absolute;
    left:calc(var(--x) * 1%);
    top:calc(var(--y) * 1%);
    z-index:1;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    gap:5px;
    padding:4px 7px;
    border:1px solid color-mix(in srgb,var(--cluster-color) 45%,transparent);
    border-radius:999px;
    background:color-mix(in srgb,var(--cluster-color) 8%,#090e15);
    color:var(--cluster-color);
    font-size:9px;
    pointer-events:none;
    white-space:nowrap;
}
.v2-network-cluster-label small { color:var(--v2-dim); font-size:7px; }
.v2-network-board canvas { z-index:0; }
.v2-network-board .v2-bubble { z-index:2; }
.v2-bubble.compact { padding:5px; }
.v2-bubble.compact strong { font-size:10px; }
.v2-bubble.compact small { display:none; }
.v2-network-board .v2-bubble.is-gene { z-index:3; border-width:2px; }
.v2-network-board .v2-bubble.is-capability { width:112px; height:48px; padding:7px 10px; border-radius:12px; }
.v2-network-board .v2-bubble.is-capability strong { font-size:10px; }
.v2-network-board .v2-bubble.is-capability small { display:block; margin-top:2px; font-size:7px; }
.v2-neighbor-row > span:nth-child(2) { min-width:0; }
.v2-neighbor-row > span:nth-child(2) > strong,
.v2-neighbor-row > span:nth-child(2) > small,
.v2-neighbor-row > span:nth-child(2) > em,
.v2-neighbor-row > span:nth-child(2) > a { display:block; }
.v2-neighbor-row > span:nth-child(2) > strong { color:var(--v2-text); font-size:11px; }
.v2-neighbor-row > span:nth-child(2) > small { margin-top:4px; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.v2-neighbor-row > span:nth-child(2) > em { margin-top:4px; color:var(--v2-cyan); font-size:8px; font-style:normal; }
.v2-neighbor-row > span:nth-child(2) > a { margin-top:5px; color:var(--v2-cyan); font-size:8px; text-decoration:none; }
.v2-neighbor-row > span:nth-child(2) > a:hover { text-decoration:underline; }

@media (max-width:1100px) {
    .v2-panel-intro { display:block; }
    .v2-panel-intro .v2-subtabs { margin-top:16px; }
    .v2-network-toolbar:not(.is-gene-atlas-compact) { display:block; }
    .v2-network-toolbar > .v2-section-meta { display:block; margin-top:10px; }
}

@media (max-width:620px) {
    .v2-network-toolbar.is-gene-atlas-compact { align-items:stretch; flex-direction:column; }
    .v2-relation-select { justify-content:space-between; }
    .v2-relation-select select { flex:1 1 auto; min-width:0; }
    .v2-network-toolbar.is-gene-atlas-compact .v2-network-legend { justify-content:flex-start; }
    .v2-network-toolbar.is-gene-atlas-compact .v2-network-legend { flex-wrap:wrap; overflow-x:visible; }
    .v2-network-toolbar.is-gene-atlas-compact .v2-network-legend > em { flex-basis:100%; }
    .v2-network-scope { width:100%; overflow-x:auto; }
    .v2-network-scope button { flex:1 0 auto; }
    .v2-network-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
    .v2-network-cluster-label { position:static; transform:none; grid-column:1/-1; justify-self:start; margin-top:6px; }
    .v2-bubble { margin:0; }
    .v2-bubble.compact small { display:block; }
}

/* Pop Mart company-instance ontology: evidence status is an attribute, not a fourth layer. */
.v2-company-ontology .v2-gene-card-meta {
    display:flex;
    min-width:0;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
}
.v2-company-ontology .v2-gene-status-badge {
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:3px 8px;
    border:1px solid var(--v2-border);
    border-radius:999px;
    font-size:9px;
    font-weight:760;
    letter-spacing:.06em;
    white-space:nowrap;
}
.v2-company-ontology .v2-gene-status-badge.is-direct {
    border-color:rgba(114,223,159,.38);
    background:rgba(114,223,159,.075);
    color:var(--v2-green);
}
.v2-company-ontology .v2-gene-status-badge.is-inferred {
    border-color:rgba(181,140,255,.38);
    background:rgba(181,140,255,.075);
    color:#c6a7ff;
}
.v2-company-ontology .v2-gene-insight-card.status-direct {
    border-left-color:var(--v2-green);
    background:linear-gradient(110deg,rgba(114,223,159,.035),var(--v2-panel));
}
.v2-company-ontology .v2-gene-insight-card.status-inferred {
    border-left-color:#b58cff;
    background:linear-gradient(110deg,rgba(181,140,255,.035),var(--v2-panel));
}
.v2-company-ontology .v2-gene-card-meta .v2-card-level {
    margin:0;
    color:var(--v2-dim);
    letter-spacing:.04em;
    text-transform:none;
}
.v2-company-ontology .v2-gene-explanation { margin:0 0 15px; }
.v2-company-ontology .v2-gene-card-head { align-items:center; }
@media (max-width:620px) {
    .v2-company-ontology .v2-gene-card-head { align-items:flex-start; }
    .v2-company-ontology .v2-gene-standard-link { flex:0 0 auto; }
}
/* Business ontology implementation bridge and reusable method library */
.ontology-implementation-chain{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr);align-items:stretch;gap:10px;margin-top:22px}
.ontology-implementation-chain>a,.ontology-implementation-chain>article{display:flex;min-width:0;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--v2-border);border-radius:18px;background:var(--v2-panel);color:inherit;text-decoration:none}
.ontology-implementation-chain>a:hover{border-color:#38d6c7;transform:translateY(-2px)}
.ontology-implementation-chain small,.ontology-pattern-methods>span,.method-directory-grid>a>span,.method-io article>small{color:var(--v2-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ontology-implementation-chain strong{font-size:20px}.ontology-implementation-chain span{color:var(--v2-muted);line-height:1.65}
.ontology-implementation-chain>i{display:grid;place-items:center;color:#38d6c7;font-size:22px;font-style:normal}
.ontology-pattern-methods{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:12px 0;border-top:1px solid var(--v2-border);border-bottom:1px solid var(--v2-border)}
.ontology-pattern-methods a{padding:5px 9px;border-radius:8px;background:rgba(56,214,199,.09);color:#55c6f2;text-decoration:none;font-size:12px}
.method-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.method-directory-grid>a{display:block;padding:22px;border:1px solid var(--v2-border);border-radius:18px;background:var(--v2-panel);color:inherit;text-decoration:none;transition:.2s ease}
.method-directory-grid>a:hover{transform:translateY(-3px);border-color:#38d6c7}.method-directory-grid h3{margin:10px 0 8px;font-size:20px}.method-directory-grid p{min-height:76px;color:var(--v2-muted);line-height:1.65}.method-directory-grid small{color:#55c6f2}
.method-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;margin-top:22px}.method-section{margin-top:0!important;margin-bottom:20px}.method-aside{margin-top:0!important;margin-bottom:18px}
.method-io{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1.25fr) 28px minmax(0,1fr);gap:10px;align-items:stretch}.method-io>i{display:grid;place-items:center;color:#38d6c7;font-style:normal}.method-io article{padding:18px;border:1px solid var(--v2-border);border-radius:14px;background:rgba(255,255,255,.025)}.method-io li,.method-aside li{margin:8px 0;color:var(--v2-muted);line-height:1.55}.method-application{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:14px;border:1px solid var(--v2-border);border-radius:12px;color:inherit;text-decoration:none}.method-application:hover{border-color:#38d6c7}.method-application span{color:var(--v2-muted);font-size:13px;line-height:1.55}.method-application small{color:#55c6f2}
.ontology-method-foundation{position:relative;overflow:hidden}.ontology-method-foundation:before{content:"";position:absolute;inset:auto 8% -130px 8%;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(56,214,199,.12),transparent 68%);pointer-events:none}.ontology-method-types{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.ontology-method-types span{padding:8px 13px;border:1px solid var(--v2-border);border-radius:999px;background:rgba(56,214,199,.055);color:var(--v2-muted);font-size:12px}.ontology-method-samples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.ontology-method-samples a{display:flex;min-width:0;flex-direction:column;padding:18px;border:1px solid var(--v2-border);border-radius:16px;background:var(--v2-panel);color:inherit;text-decoration:none;transition:.2s ease}.ontology-method-samples a:hover{transform:translateY(-3px);border-color:var(--v2-cyan)}.ontology-method-samples small{color:var(--v2-cyan);font-size:11px;letter-spacing:.08em}.ontology-method-samples h3{margin:10px 0 8px;font-size:18px}.ontology-method-samples p{flex:1;margin:0;color:var(--v2-muted);font-size:13px;line-height:1.65}.ontology-method-samples span{margin-top:15px;color:var(--v2-blue);font-size:12px}
.method-visual-section .v2-section-head>small{max-width:220px;color:var(--v2-dim);font-size:11px;text-align:right}.method-visual{margin-top:16px;border:1px solid var(--v2-border);border-radius:18px;background:rgba(6,11,18,.32);overflow:hidden}.method-bcg{display:grid;grid-template-columns:52px minmax(0,1fr);padding:18px 18px 14px}.method-axis-y{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4px 0 34px;color:var(--v2-dim);font-size:10px}.method-axis-y strong{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--v2-muted);font-size:12px;letter-spacing:.12em}.method-bcg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--v2-border-strong);border-bottom:1px solid var(--v2-border-strong)}.method-bcg-grid article{min-height:128px;padding:18px;border-top:1px solid var(--v2-border);border-right:1px solid var(--v2-border)}.method-bcg-grid article.accent{background:linear-gradient(145deg,rgba(56,214,199,.13),rgba(85,198,242,.05))}.method-bcg-grid small{color:var(--v2-cyan);font-size:10px;letter-spacing:.12em}.method-bcg-grid strong{display:block;margin-top:8px;font-size:18px}.method-bcg-grid p{margin:7px 0 0;color:var(--v2-muted);font-size:12px}.method-axis-x{grid-column:2;display:flex;justify-content:space-between;padding-top:10px;color:var(--v2-dim);font-size:10px}.method-axis-x strong{color:var(--v2-muted);font-size:12px;letter-spacing:.08em}
.method-value-chain{padding:18px}.method-support-activities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.method-support-activities article,.method-primary-activities article{padding:13px 10px;border:1px solid var(--v2-border);border-radius:10px;background:rgba(85,198,242,.055);text-align:center;font-size:12px}.method-primary-activities{display:flex;align-items:stretch;gap:6px;margin-top:12px}.method-primary-activities article{display:grid;flex:1;place-items:center;min-height:76px;background:rgba(56,214,199,.075)}.method-primary-activities i{display:grid;place-items:center;color:var(--v2-cyan);font-style:normal}.method-value-result{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:14px 18px;border-radius:11px;background:linear-gradient(90deg,rgba(56,214,199,.12),rgba(181,140,255,.08))}.method-value-result span{color:var(--v2-muted);font-size:12px}.method-value-result strong{font-size:14px}
.method-raci{padding:14px;overflow-x:auto}.method-raci table{width:100%;min-width:680px;border-collapse:collapse}.method-raci th,.method-raci td{padding:13px;border:1px solid var(--v2-border);text-align:left;font-size:12px}.method-raci thead th{color:var(--v2-cyan);background:rgba(56,214,199,.07)}.method-raci tbody th{color:var(--v2-text)}.method-raci td{color:var(--v2-muted)}
.method-sop{padding:20px}.method-sop-flow{display:flex;align-items:stretch;gap:8px}.method-sop-flow article,.method-sop-exception article{display:flex;flex:1;min-height:82px;flex-direction:column;align-items:center;justify-content:center;padding:12px;border:1px solid var(--v2-border);border-radius:12px;background:rgba(85,198,242,.05);text-align:center}.method-sop-flow article.decision{border-color:rgba(255,202,88,.45);background:rgba(255,202,88,.07)}.method-sop-flow i,.method-sop-exception i{display:grid;place-items:center;color:var(--v2-cyan);font-style:normal}.method-sop-flow small,.method-sop-exception small{margin-bottom:7px;color:var(--v2-muted)}.method-sop-exception{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;color:var(--v2-muted);font-size:11px}.method-sop-exception article{flex:0 1 260px;min-height:64px;border-color:rgba(242,111,135,.35);background:rgba(242,111,135,.05)}.method-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:11px 12px;border:1px solid transparent;border-radius:10px;color:inherit;text-decoration:none}.method-switch:hover,.method-switch.active{border-color:var(--v2-border);background:rgba(56,214,199,.06)}.method-switch span{color:var(--v2-muted);font-size:11px}.method-switch strong{font-size:12px}
[data-theme="light"] body.dna-v2-body .method-visual{background:#f7fbfa}[data-theme="light"] body.dna-v2-body .method-bcg-grid article.accent{background:linear-gradient(145deg,rgba(56,214,199,.16),rgba(85,198,242,.08))}[data-theme="light"] body.dna-v2-body .method-raci thead th{background:#eaf8f6}[data-theme="light"] body.dna-v2-body .method-support-activities article,[data-theme="light"] body.dna-v2-body .method-primary-activities article{background:#f0f8f7}
@media(max-width:900px){.ontology-implementation-chain,.method-io{grid-template-columns:1fr}.ontology-implementation-chain>i,.method-io>i{transform:rotate(90deg);min-height:24px}.ontology-method-samples,.method-support-activities{grid-template-columns:repeat(2,minmax(0,1fr))}.method-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ontology-method-samples,.method-support-activities,.method-directory-grid{grid-template-columns:1fr}.method-directory-grid p{min-height:0}.method-primary-activities,.method-sop-flow{display:grid;grid-template-columns:1fr}.method-primary-activities i,.method-sop-flow i{transform:rotate(90deg)}.method-value-result{display:block}.method-value-result strong{display:block;margin-top:8px}.method-bcg{grid-template-columns:34px minmax(0,1fr);padding:12px 10px}.method-bcg-grid article{min-height:118px;padding:12px}.method-bcg-grid strong{font-size:15px}.method-bcg-grid p{font-size:11px}}

/* NOCE reference model and cross-industry capability framework */
.noce-standard-hero h1 { max-width:880px; text-wrap:balance; }
.noce-heading-pair span { display:block; }
.noce-standard-hero .ontology-overview-copy > p { max-width:860px; }
.noce-hero-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.noce-hero-links a { display:inline-flex; align-items:center; min-height:42px; padding:9px 15px; border:1px solid var(--v2-border-strong); border-radius:11px; color:var(--v2-text); text-decoration:none; font-size:12px; transition:.2s ease; }
.noce-hero-links a:first-child { border-color:rgba(56,214,199,.45); background:rgba(56,214,199,.09); color:var(--v2-cyan); }
.noce-hero-links a:hover { transform:translateY(-2px); border-color:var(--v2-cyan); }
.noce-principle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:28px; }
.noce-principle-grid article { min-height:250px; padding:26px; border:1px solid var(--v2-border); border-radius:20px; background:var(--v2-panel); }
.noce-principle-grid small { color:var(--v2-cyan); font-size:10px; font-weight:800; letter-spacing:.12em; }
.noce-principle-grid h3 { margin:48px 0 0; font-size:22px; line-height:1.35; text-wrap:balance; }
.noce-principle-grid p { margin:14px 0 0; color:var(--v2-muted); font-size:13px; line-height:1.75; }
.noce-layer-stack { display:grid; gap:10px; margin-top:28px; }
.noce-layer-stack article { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:20px; min-height:116px; padding:20px 24px; border:1px solid var(--v2-border); border-radius:17px; background:var(--v2-panel); }
.noce-layer-stack article.is-active { border-color:rgba(56,214,199,.36); background:linear-gradient(100deg,rgba(56,214,199,.08),var(--v2-panel) 62%); }
.noce-layer-stack article > span { color:var(--v2-dim); font-size:26px; font-weight:700; }
.noce-layer-stack article.is-active > span { color:var(--v2-cyan); }
.noce-layer-stack small { color:var(--v2-dim); font-size:9px; letter-spacing:.1em; }
.noce-layer-stack h3 { margin:6px 0 0; font-size:20px; }
.noce-layer-stack p { margin:7px 0 0; color:var(--v2-muted); font-size:12px; line-height:1.6; }
.noce-layer-stack em,.noce-layer-stack a { justify-self:end; color:var(--v2-dim); font-size:10px; font-style:normal; text-decoration:none; white-space:nowrap; }
.noce-layer-stack article.is-active em,.noce-layer-stack a { color:var(--v2-cyan); }
.noce-architecture-map { display:grid; grid-template-columns:230px minmax(0,1fr) 230px; gap:18px; align-items:stretch; margin-top:28px; padding:24px; border:1px solid var(--v2-border); border-radius:24px; background:rgba(6,11,18,.3); }
.noce-flow-rail { position:relative; display:flex; min-width:0; flex-direction:column; padding:20px; border:1px solid var(--rail-color); border-radius:20px; background:color-mix(in srgb,var(--rail-color) 6%,var(--v2-panel)); overflow:hidden; }
.noce-flow-rail::before { content:''; position:absolute; top:124px; bottom:28px; left:34px; width:2px; background:linear-gradient(180deg,var(--rail-color),color-mix(in srgb,var(--rail-color) 20%,transparent)); opacity:.55; }
.noce-flow-rail > header { position:relative; z-index:1; display:flex; flex-direction:column; gap:7px; padding-bottom:17px; }
.noce-flow-rail > header small { color:var(--rail-color); font-size:10px; font-weight:800; letter-spacing:.12em; }
.noce-flow-rail > header strong { font-size:17px; }
.noce-flow-rail > header span { color:var(--v2-muted); font-size:11px; line-height:1.55; }
.noce-flow-rail.is-value-flow { --rail-color:#55c6f2; }
.noce-flow-rail.is-evidence-flow { --rail-color:#72df9f; }
.noce-flow-object { position:relative; z-index:1; display:flex; flex-direction:column; gap:8px; width:100%; padding:17px; border:1px solid color-mix(in srgb,var(--rail-color) 60%,transparent); border-radius:15px; background:color-mix(in srgb,var(--rail-color) 10%,var(--v2-panel)); color:var(--v2-text); text-align:left; cursor:pointer; transition:.18s ease; }
.noce-flow-object:hover,.noce-flow-object:focus-visible { border-color:var(--rail-color); transform:translateY(-2px); outline:none; }
.noce-flow-object small { color:var(--rail-color); font-size:9px; letter-spacing:.08em; }
.noce-flow-object strong { font-size:21px; }
.noce-flow-object span { color:var(--v2-muted); font-size:10px; line-height:1.55; }
.noce-rail-relations { position:relative; z-index:1; display:grid; gap:8px; margin-top:16px; }
.noce-rail-relations > span { display:grid; grid-template-columns:36px minmax(0,1fr) 22px; align-items:center; gap:7px; min-height:48px; padding:8px 9px; border:1px solid color-mix(in srgb,var(--rail-color) 24%,transparent); border-radius:11px; background:color-mix(in srgb,var(--rail-color) 5%,var(--v2-panel)); }
.noce-rail-relations b { display:grid; place-items:center; min-height:25px; border-radius:7px; background:color-mix(in srgb,var(--rail-color) 12%,transparent); color:var(--rail-color); font-size:8px; letter-spacing:.06em; }
.noce-rail-relations em { color:var(--v2-muted); font-size:9px; font-style:normal; line-height:1.4; }
.noce-rail-relations i { color:var(--rail-color); font-size:18px; font-style:normal; font-weight:900; line-height:1; text-align:right; }
.noce-rail-relations.is-feedback > span { grid-template-columns:22px minmax(0,1fr) 36px; }
.noce-rail-relations.is-feedback i { text-align:left; }
.noce-flow-rail ol { position:relative; z-index:1; display:grid; gap:11px; margin:20px 0 0; padding:0; list-style:none; }
.noce-flow-rail li { position:relative; padding:8px 8px 8px 28px; border:1px solid color-mix(in srgb,var(--rail-color) 22%,transparent); border-radius:10px; background:color-mix(in srgb,var(--rail-color) 4%,var(--v2-panel)); color:var(--v2-muted); font-size:10px; }
.noce-flow-rail li::before { content:''; position:absolute; left:11px; top:50%; width:7px; height:7px; border-radius:50%; background:var(--rail-color); transform:translateY(-50%); box-shadow:0 0 0 4px color-mix(in srgb,var(--rail-color) 12%,transparent); }
.noce-flow-rail > i { position:relative; z-index:1; display:grid; place-items:center; width:34px; height:34px; margin:auto auto 0 0; border-radius:50%; background:var(--rail-color); color:#071012; font-size:19px; font-style:normal; font-weight:900; }
.noce-semantic-spine { display:grid; gap:14px; min-width:0; }
.noce-semantic-layer { position:relative; padding:20px; border:1px solid var(--layer-color); border-radius:20px; background:color-mix(in srgb,var(--layer-color) 5%,var(--v2-panel)); }
.noce-semantic-layer:not(:last-child)::after { content:'↓'; position:absolute; z-index:2; left:50%; bottom:-23px; display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--v2-border-strong); border-radius:50%; background:#0b1119; color:var(--v2-cyan); transform:translateX(-50%); }
.noce-semantic-layer.is-why { --layer-color:#6fa8ff; }
.noce-semantic-layer.is-what { --layer-color:#38d6c7; }
.noce-semantic-layer.is-how { --layer-color:#f3b35c; }
.noce-semantic-layer > header { display:grid; grid-template-columns:68px minmax(0,1fr); gap:16px; align-items:center; margin-bottom:17px; }
.noce-semantic-layer > header > span { display:grid; place-items:center; min-height:48px; border:1px solid var(--layer-color); border-radius:13px; background:color-mix(in srgb,var(--layer-color) 10%,transparent); color:var(--layer-color); font-size:12px; font-weight:850; letter-spacing:.13em; }
.noce-semantic-layer > header small { color:var(--layer-color); font-size:9px; font-weight:760; letter-spacing:.09em; }
.noce-semantic-layer > header h3 { margin:6px 0 0; font-size:18px; line-height:1.35; }
.noce-why-context-elements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.noce-why-context-elements button { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; border:1px dashed color-mix(in srgb,#6fa8ff 52%,var(--v2-border)); border-radius:11px; background:color-mix(in srgb,#6fa8ff 5%,transparent); color:var(--v2-text); text-align:left; cursor:pointer; transition:.16s ease; }
.noce-why-context-elements button:hover,.noce-why-context-elements button:focus-visible { border-style:solid; border-color:#6fa8ff; background:color-mix(in srgb,#6fa8ff 9%,transparent); outline:none; }
.noce-why-context-elements small { color:#6fa8ff; font-size:8px; letter-spacing:.08em; }
.noce-why-context-elements strong { font-size:11px; }
.noce-strategy-model-card,.noce-business-model-card { display:grid; grid-template-columns:190px minmax(0,1fr); gap:12px; }
.noce-strategy-model-card { margin-bottom:10px; }
.noce-model-card-title { display:flex; flex-direction:column; justify-content:center; gap:8px; min-height:126px; padding:17px; border:1px solid color-mix(in srgb,var(--layer-color) 55%,transparent); border-radius:15px; background:color-mix(in srgb,var(--layer-color) 9%,transparent); color:var(--v2-text); text-align:left; cursor:pointer; transition:.18s ease; }
.noce-model-card-title:hover,.noce-model-card-title:focus-visible { border-color:var(--layer-color); transform:translateY(-2px); outline:none; }
.noce-model-card-title small { color:var(--layer-color); font-size:9px; letter-spacing:.08em; }
.noce-model-card-title strong { font-size:22px; }
.noce-model-card-title span { color:var(--v2-muted); font-size:10px; line-height:1.55; }
.noce-strategy-elements,.noce-model-elements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.noce-business-model-card .noce-model-elements { grid-template-columns:repeat(2,minmax(0,1fr)); }
.noce-strategy-elements button,.noce-model-elements button,.noce-operating-elements button { min-width:0; padding:12px 9px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.025); color:var(--v2-muted); font-size:10px; line-height:1.45; cursor:pointer; transition:.16s ease; }
.noce-strategy-elements button:hover,.noce-strategy-elements button:focus-visible,.noce-model-elements button:hover,.noce-model-elements button:focus-visible { border-color:#6fa8ff; background:rgba(111,168,255,.08); color:var(--v2-text); outline:none; }
.noce-capability-blueprint-card,.noce-operating-model-card { display:grid; grid-template-columns:190px minmax(0,1fr); gap:12px; }
.noce-capability-class-elements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.noce-capability-class-elements button { display:flex; min-width:0; min-height:58px; flex-direction:column; justify-content:center; padding:10px 12px; border:1px solid color-mix(in srgb,var(--class-color) 36%,var(--v2-border)); border-radius:11px; background:color-mix(in srgb,var(--class-color) 5%,transparent); color:var(--v2-text); text-align:left; cursor:pointer; transition:.16s ease; }
.noce-capability-class-elements button:hover,.noce-capability-class-elements button:focus-visible { border-color:var(--class-color); background:color-mix(in srgb,var(--class-color) 10%,transparent); transform:translateY(-2px); outline:none; }
.noce-capability-class-elements strong { font-size:11px; line-height:1.35; }
.noce-capability-class-elements span { margin-top:5px; color:var(--class-color); font-size:8px; }
.noce-operating-elements small { color:var(--layer-color); font-size:9px; font-weight:800; letter-spacing:.09em; }
.noce-operating-elements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.noce-operating-elements button { display:flex; min-height:66px; flex-direction:column; align-items:flex-start; justify-content:center; padding:12px 14px; }
.noce-operating-elements button:hover,.noce-operating-elements button:focus-visible { border-color:#f3b35c; background:rgba(243,179,92,.07); color:var(--v2-text); outline:none; }
.noce-operating-elements strong { margin-top:7px; color:var(--v2-text); font-size:12px; }
.noce-evidence-steps { position:relative; z-index:1; display:flex; flex:1; flex-direction:column-reverse; justify-content:space-around; gap:16px; padding:12px 0; }
.noce-evidence-steps button { display:flex; flex-direction:column; gap:7px; width:100%; padding:15px 14px; border:1px solid rgba(114,223,159,.25); border-radius:13px; background:rgba(114,223,159,.055); color:var(--v2-text); text-align:left; cursor:pointer; transition:.18s ease; }
.noce-evidence-steps button:hover,.noce-evidence-steps button:focus-visible { border-color:#72df9f; transform:translateY(-2px); outline:none; }
.noce-evidence-steps small { color:#72df9f; font-size:9px; letter-spacing:.1em; }
.noce-evidence-steps strong { font-size:11px; line-height:1.5; }
.noce-flow-object.is-validation-object { margin-bottom:10px; }
.noce-flow-object.is-change-object { margin-bottom:10px; border-color:rgba(181,140,255,.42); background:linear-gradient(135deg,rgba(181,140,255,.1),rgba(114,223,159,.035)); }
.noce-flow-object.is-change-object small { color:#c6a7ff; }
.noce-strategy-elements button,.noce-model-elements button,.noce-capability-class-elements button,.noce-operating-elements button { display:flex; min-height:64px; flex-direction:column; align-items:flex-start; justify-content:center; padding:10px 12px; text-align:left; }
.noce-strategy-elements button > strong,.noce-model-elements button > strong,.noce-operating-elements button > strong { margin:0; color:var(--v2-text); font-size:11px; line-height:1.35; }
.noce-strategy-elements button > span,.noce-model-elements button > span,.noce-operating-elements button > span { margin-top:5px; color:var(--v2-muted); font-size:8px; line-height:1.4; }
.noce-flow-rail.is-evidence-flow::before { top:124px; bottom:30px; background:linear-gradient(0deg,var(--rail-color),color-mix(in srgb,var(--rail-color) 20%,transparent)); }
.noce-evidence-steps { flex:none; justify-content:initial; gap:11px; padding:10px 0; }
.noce-evidence-steps button { min-height:54px; padding:10px 12px; border-radius:10px; }
.noce-evidence-steps strong { font-size:10px; }
.noce-gate-panel { position:relative; z-index:1; display:flex; width:100%; flex-direction:column; gap:6px; margin-top:2px; padding:13px; border:1px solid rgba(114,223,159,.4); border-radius:12px; background:rgba(114,223,159,.075); color:var(--v2-text); text-align:left; cursor:pointer; transition:.18s ease; }
.noce-gate-panel:hover,.noce-gate-panel:focus-visible { border-color:#72df9f; transform:translateY(-2px); outline:none; }
.noce-gate-panel small { color:#72df9f; font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-gate-panel strong { font-size:13px; }
.noce-gate-panel span { color:var(--v2-muted); font-size:8px; line-height:1.55; }
.noce-gene-foundation { grid-column:1/-1; display:grid; grid-template-columns:260px minmax(0,1fr); gap:14px 22px; align-items:center; padding:20px 22px; border:1px solid rgba(181,140,255,.42); border-radius:20px; background:linear-gradient(110deg,rgba(181,140,255,.1),rgba(56,214,199,.045) 56%,rgba(114,223,159,.055)); }
.noce-gene-foundation-title { display:flex; min-width:0; flex-direction:column; gap:7px; padding:0; border:0; background:transparent; color:var(--v2-text); text-align:left; cursor:pointer; }
.noce-gene-foundation-title:hover strong,.noce-gene-foundation-title:focus-visible strong { color:#d6c2ff; }
.noce-gene-foundation-title:focus-visible { outline:1px solid #c8a9ff; outline-offset:8px; }
.noce-gene-foundation-title small { color:#c8a9ff; font-size:9px; font-weight:800; letter-spacing:.1em; }
.noce-gene-foundation-title strong { font-size:22px; transition:.16s ease; }
.noce-gene-foundation-title span { color:var(--v2-muted); font-size:10px; line-height:1.55; }
.noce-gene-facets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.noce-gene-facets a { display:flex; min-width:0; min-height:92px; flex-direction:column; justify-content:center; gap:6px; padding:12px 13px; border:1px solid rgba(181,140,255,.24); border-radius:11px; background:rgba(8,13,20,.28); color:inherit; text-decoration:none; transition:.16s ease; }
.noce-gene-facets a:hover,.noce-gene-facets a:focus-visible { border-color:#c8a9ff; background:rgba(181,140,255,.09); transform:translateY(-2px); outline:none; }
.noce-gene-facets small { color:#ad94d9; font-size:7px; letter-spacing:.04em; }
.noce-gene-facets b { color:#d2c0f3; font-size:11px; line-height:1.35; }
.noce-gene-facets a span { color:var(--v2-muted); font-size:8px; line-height:1.45; }
.noce-gene-foundation > p { grid-column:1/-1; margin:0; padding-top:12px; border-top:1px solid rgba(181,140,255,.18); color:var(--v2-muted); font-size:10px; line-height:1.65; text-align:center; }
.noce-definition-overlay { position:fixed; z-index:5000; inset:0; display:flex; justify-content:flex-end; background:rgba(1,5,9,.7); backdrop-filter:blur(8px); }
.noce-definition-drawer { display:flex; width:min(590px,94vw); height:100%; flex-direction:column; border-left:1px solid var(--v2-border-strong); background:#0a1018; box-shadow:-28px 0 70px rgba(0,0,0,.42); }
.noce-definition-drawer > header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:28px 30px 22px; border-bottom:1px solid var(--v2-border); }
.noce-definition-drawer > header small { color:var(--v2-cyan); font-size:10px; font-weight:800; letter-spacing:.11em; }
.noce-definition-drawer > header h2 { margin:8px 0 0; font-size:28px; }
.noce-definition-drawer > header button { width:38px; height:38px; flex:0 0 auto; border:1px solid var(--v2-border); border-radius:50%; background:transparent; color:var(--v2-muted); font-size:25px; cursor:pointer; }
.noce-definition-drawer > header button:hover { border-color:var(--v2-cyan); color:var(--v2-text); }
.noce-definition-body { flex:1; overflow-y:auto; padding:8px 30px 30px; }
.noce-definition-body > section { padding:21px 0; border-bottom:1px solid var(--v2-border); }
.noce-definition-body h3 { margin:0 0 10px; color:var(--v2-cyan); font-size:12px; letter-spacing:.06em; }
.noce-definition-body p,.noce-definition-body li { color:var(--v2-muted); font-size:13px; line-height:1.8; }
.noce-definition-body p { margin:0; }
.noce-definition-body ul { display:grid; gap:8px; margin:0; padding-left:19px; }
.noce-definition-methods { display:grid; gap:9px; }
.noce-definition-methods a { display:flex; min-width:0; flex-direction:column; gap:6px; padding:14px 15px; border:1px solid var(--v2-border); border-radius:12px; background:rgba(255,255,255,.018); color:inherit; text-decoration:none; transition:.16s ease; }
.noce-definition-methods a:hover,.noce-definition-methods a:focus-visible { border-color:var(--v2-cyan); background:rgba(56,214,199,.055); outline:none; transform:translateY(-1px); }
.noce-definition-methods small { color:var(--v2-cyan); font-size:8px; font-weight:800; letter-spacing:.09em; }
.noce-definition-methods strong { font-size:13px; }
.noce-definition-methods span { color:var(--v2-muted); font-size:10px; line-height:1.55; }
.noce-definition-framework { display:grid; gap:14px; }
.noce-definition-framework > div { display:flex; flex-wrap:wrap; gap:7px; padding:15px; border:1px solid var(--v2-border); border-radius:13px; background:rgba(255,255,255,.018); }
.noce-definition-framework > div > strong { width:100%; font-size:13px; }
.noce-definition-framework > div > p { width:100%; margin-bottom:5px; font-size:11px; }
.noce-definition-framework span { padding:5px 8px; border-radius:8px; background:rgba(56,214,199,.08); color:#bcd8d5; font-size:10px; }
.noce-definition-drawer > footer { padding:18px 30px; border-top:1px solid var(--v2-border); }
.noce-definition-drawer > footer button { width:100%; min-height:46px; border:1px solid rgba(56,214,199,.45); border-radius:12px; background:rgba(56,214,199,.1); color:var(--v2-cyan); cursor:pointer; }
body.noce-drawer-open { overflow:hidden; }
.noce-map-note { max-width:980px; margin:16px auto 0; color:var(--v2-muted); font-size:12px; line-height:1.75; text-align:center; }
.noce-core-capability { scroll-margin-top:24px; }
.noce-capability-tabs { position:relative; z-index:2; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-top:28px; padding-inline:10px; }
.noce-capability-tabs button { display:flex; min-width:0; min-height:66px; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; border:1px solid var(--v2-border); border-bottom-color:var(--v2-border-strong); border-radius:13px 13px 0 0; background:rgba(255,255,255,.018); color:var(--v2-muted); text-align:left; cursor:pointer; transition:.16s ease; }
.noce-capability-tabs button:hover,.noce-capability-tabs button:focus-visible { border-color:var(--class-color); color:var(--v2-text); outline:none; }
.noce-capability-tabs button.active { z-index:2; border-color:var(--class-color); border-bottom-color:color-mix(in srgb,var(--class-color) 8%,#0a1018); background:color-mix(in srgb,var(--class-color) 8%,#0a1018); color:var(--v2-text); }
.noce-capability-tabs span { font-size:13px; font-weight:760; }
.noce-capability-tabs strong { color:var(--class-color); font-size:20px; line-height:1; }
.noce-capability-panel { position:relative; z-index:1; margin-top:-1px; padding:18px; border:1px solid var(--class-color); border-radius:17px; background:color-mix(in srgb,var(--class-color) 8%,#0a1018); }
.noce-capability-search-result { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; padding:12px 14px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.02); }
.noce-capability-search-result span { color:var(--v2-text); font-size:11px; }
.noce-capability-search-result strong { color:var(--class-color); font-size:10px; }
.noce-capability-summary { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-top:18px; padding:22px 24px; border-left:3px solid var(--class-color); border-radius:0 15px 15px 0; background:color-mix(in srgb,var(--class-color) 7%,var(--v2-panel)); }
.noce-capability-summary small { color:var(--class-color); font-size:9px; letter-spacing:.1em; }
.noce-capability-summary h3 { margin:6px 0 0; font-size:24px; }
.noce-capability-summary p { margin:8px 0 0; color:var(--v2-muted); font-size:12px; }
.noce-capability-summary > span { color:var(--class-color); font-size:11px; white-space:nowrap; }
.noce-capability-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.noce-capability-groups > article { overflow:hidden; border:1px solid var(--v2-border); border-top:2px solid var(--class-color); border-radius:17px; background:var(--v2-panel); }
.noce-capability-groups > article > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px 16px; }
.noce-capability-groups header small { color:var(--class-color); font-size:8px; letter-spacing:.08em; }
.noce-capability-groups header h3 { margin:6px 0 0; font-size:19px; }
.noce-capability-groups header > strong { color:var(--class-color); font-size:28px; line-height:1; }
.noce-capability-groups > article > p { min-height:42px; margin:0; padding:0 22px 16px; color:var(--v2-muted); font-size:12px; line-height:1.65; }
.noce-capability-list { border-top:1px solid var(--v2-border); }
.noce-capability-list > div,.noce-capability-list > button { position:relative; display:grid; width:100%; grid-template-columns:122px minmax(0,1fr); gap:12px; padding:14px 22px; border:0; border-top:1px solid color-mix(in srgb,var(--v2-border) 65%,transparent); background:transparent; color:inherit; text-align:left; }
.noce-capability-list > div:first-child,.noce-capability-list > button:first-child { border-top:0; }
.noce-capability-list > button { cursor:pointer; transition:.16s ease; }
.noce-capability-list > button:hover,.noce-capability-list > button:focus-visible { background:color-mix(in srgb,var(--class-color) 7%,transparent); outline:none; }
.noce-capability-list span { color:var(--v2-text); font-size:12px; }
.noce-capability-list p { margin:0; padding-right:34px; color:var(--v2-muted); font-size:10px; line-height:1.55; }
.noce-capability-list code { position:absolute; right:14px; bottom:8px; color:var(--v2-dim); font-size:7px; opacity:.55; }
.noce-capability-list i { position:absolute; top:13px; right:15px; color:var(--class-color); font-size:11px; font-style:normal; opacity:.7; }
.ontology-overview-head.is-directory { display:grid; grid-template-columns:minmax(280px,1fr) minmax(310px,.85fr) 348px; align-items:end; gap:28px; }
.noce-directory-search { width:100%; }
.noce-directory-search input { width:100%; min-height:52px; padding-inline:17px; border-radius:13px; font-size:11px; }
.noce-view-switch { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:6px; border:1px solid var(--v2-border); border-radius:16px; background:rgba(255,255,255,.025); box-shadow:0 10px 28px rgba(0,0,0,.08); }
.noce-view-switch button { min-height:48px; padding:0 14px; border:0; border-radius:11px; background:transparent; color:var(--v2-muted); font-size:12px; font-weight:780; letter-spacing:.01em; cursor:pointer; transition:.16s ease; }
.noce-view-switch button:hover,.noce-view-switch button:focus-visible { color:var(--v2-text); outline:none; }
.noce-view-switch button.active { background:var(--v2-cyan); color:#031411; box-shadow:0 7px 18px rgba(56,214,199,.18); }
.noce-ai-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); align-items:center; gap:34px; margin-top:24px; padding:22px 24px; border:1px solid rgba(56,214,199,.25); border-radius:16px; background:linear-gradient(120deg,rgba(56,214,199,.105),rgba(213,217,90,.035)); }
.noce-ai-intro h3 { margin:7px 0 8px; font-size:21px; }
.noce-ai-intro p:not(.v2-eyebrow) { max-width:760px; margin:0; color:var(--v2-muted); font-size:11px; line-height:1.7; }
.noce-ai-legend-panel { padding:15px 17px; border:1px solid rgba(56,214,199,.24); border-radius:13px; background:rgba(255,255,255,.32); }
.noce-ai-legend-panel > strong { display:block; color:var(--v2-text); font-size:11px; }
.noce-ai-legend-panel > div { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:10px; }
.noce-ai-legend-panel span { display:flex; align-items:center; gap:6px; color:var(--v2-muted); font-size:9px; }
.noce-ai-legend-panel i { width:12px; height:12px; border-radius:3px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08); }
.noce-ai-legend-panel > small { display:block; margin-top:10px; color:var(--v2-dim); font-size:8px; line-height:1.55; }
.noce-ai-controls { display:flex; align-items:flex-end; gap:10px; margin-top:12px; padding:14px 16px; border:1px solid var(--v2-border); border-radius:14px; background:rgba(255,255,255,.018); }
.noce-ai-controls > label { display:flex; min-width:150px; flex-direction:column; gap:6px; }
.noce-ai-controls label > span { color:var(--v2-dim); font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-ai-controls select { height:36px; padding:0 30px 0 10px; border:1px solid var(--v2-border); border-radius:9px; background:var(--v2-panel); color:var(--v2-text); font-size:10px; }
.noce-ai-method-toggle { min-height:36px; margin-left:auto; padding:0 14px; border:1px solid rgba(56,214,199,.38); border-radius:9px; background:rgba(56,214,199,.08); color:var(--v2-cyan); font-size:9px; font-weight:750; cursor:pointer; }
.noce-ai-method { margin-top:12px; padding:24px; border:1px solid rgba(56,214,199,.26); border-radius:16px; background:rgba(4,13,18,.5); }
.noce-ai-method-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.noce-ai-method-head small { color:var(--v2-cyan); font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-ai-method-head h3 { margin:7px 0 0; font-size:20px; }
.noce-ai-method-head > strong { color:var(--v2-cyan); font-size:24px; }
.noce-ai-dimensions { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:18px; }
.noce-ai-dimensions article { display:flex; min-height:172px; flex-direction:column; padding:14px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.02); }
.noce-ai-dimensions small { color:var(--v2-cyan); font-size:8px; font-weight:800; }
.noce-ai-dimensions strong { min-height:48px; margin:7px 0 10px; font-size:10px; line-height:1.5; }
.noce-ai-dimensions span { margin-top:5px; color:var(--v2-muted); font-size:8px; line-height:1.35; }
.noce-ai-level-summary { overflow:hidden; margin-top:14px; border:1px solid var(--v2-border); border-radius:11px; }
.noce-ai-level-summary header,.noce-ai-level-summary article { display:grid; grid-template-columns:58px 112px 62px minmax(0,1fr); gap:12px; align-items:center; }
.noce-ai-level-summary header { padding:9px 13px; background:rgba(255,255,255,.035); color:var(--v2-dim); font-size:7px; font-weight:800; letter-spacing:.06em; }
.noce-ai-level-summary article { --ai-level-ink:var(--ai-level-color); padding:11px 13px; border-top:1px solid var(--v2-border); border-left:3px solid var(--ai-level-color); }
.noce-ai-level-summary small { color:var(--ai-level-ink); font-size:8px; font-weight:850; }
.noce-ai-level-summary strong { font-size:10px; }
.noce-ai-level-summary b { color:var(--v2-text); font-size:17px; line-height:1; }
.noce-ai-level-summary p { margin:0; color:var(--v2-muted); font-size:8px; line-height:1.5; }
.noce-classification-rules { margin-top:12px; border-top:1px solid var(--v2-border); }
.noce-classification-rules summary { padding:12px 2px 2px; color:var(--v2-muted); font-size:9px; font-weight:750; cursor:pointer; }
.noce-classification-rules ol { display:grid; gap:7px; margin:12px 0 0; padding-left:20px; color:var(--v2-muted); font-size:9px; line-height:1.6; }
.noce-distribution-note { margin:10px 0 0; padding:11px 13px; border:1px dashed var(--v2-border-strong); border-radius:9px; color:var(--v2-muted); font-size:9px; line-height:1.65; }
.noce-distribution-note strong { margin-right:8px; color:var(--v2-text); }
.noce-ai-limitation { margin:16px 0 0; padding:13px 15px; border-left:2px solid var(--v2-cyan); background:rgba(56,214,199,.05); color:var(--v2-muted); font-size:9px; line-height:1.65; }
.noce-ai-limitation strong { margin-right:8px; color:var(--v2-cyan); }
.noce-ai-guardrails { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.noce-ai-guardrails article { display:grid; gap:7px; padding:15px; border:1px dashed rgba(213,217,90,.34); border-radius:11px; background:rgba(213,217,90,.035); }
.noce-ai-guardrails small { color:#f0a33a; font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-ai-guardrails strong { font-size:12px; }
.noce-ai-guardrails p { margin:0; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.noce-ai-guardrails em { color:#f0a33a; font-size:8px; font-style:normal; font-weight:750; }
.noce-ai-gates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.noce-ai-gates article { display:grid; grid-template-columns:1fr auto; gap:7px 12px; padding:15px; border:1px solid rgba(56,214,199,.28); border-radius:11px; background:rgba(56,214,199,.035); }
.noce-ai-gates small { grid-column:1/-1; color:var(--v2-cyan); font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-ai-gates strong { font-size:12px; }
.noce-ai-gates code { align-self:center; color:var(--v2-cyan); font-family:inherit; font-size:9px; }
.noce-ai-gates p { grid-column:1/-1; margin:0; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.noce-capability-summary.is-ai { border-left-color:var(--v2-cyan); background:linear-gradient(90deg,rgba(56,214,199,.08),rgba(213,217,90,.025)); }
.noce-capability-list > button.is-ai-view { --ai-level-ink:var(--ai-level-color); grid-template-columns:122px minmax(0,1fr); align-items:center; border-left:4px solid var(--ai-level-color); background:linear-gradient(90deg,color-mix(in srgb,var(--ai-level-color) 18%,transparent),color-mix(in srgb,var(--ai-level-color) 5%,transparent) 72%,transparent); }
.noce-capability-list > button.is-ai-view:hover,.noce-capability-list > button.is-ai-view:focus-visible { background:linear-gradient(90deg,color-mix(in srgb,var(--ai-level-color) 22%,transparent),color-mix(in srgb,var(--ai-level-color) 5%,transparent)); }
.noce-capability-list > button.is-ai-view > span { font-weight:750; }
.noce-capability-list > button.is-ai-view > p { padding-right:0; }
.noce-capability-list > button.is-ai-view > i { color:var(--ai-level-ink); }
.noce-capability-list > button:not(.is-ai-view) > p { padding-right:34px; }
.noce-ai-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:22px; }
.noce-ai-source-grid a { display:flex; min-height:145px; flex-direction:column; gap:8px; padding:17px; border:1px solid var(--v2-border); border-radius:13px; background:var(--v2-panel); color:inherit; text-decoration:none; transition:.16s ease; }
.noce-ai-source-grid a:hover,.noce-ai-source-grid a:focus-visible { border-color:var(--v2-cyan); outline:none; transform:translateY(-2px); }
.noce-ai-source-grid small { color:var(--v2-cyan); font-size:8px; font-weight:800; }
.noce-ai-source-grid strong { font-size:12px; line-height:1.4; }
.noce-ai-source-grid span { margin-top:auto; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.noce-definition-drawer { width:min(720px,96vw); }
.noce-ai-detail { --ai-level-ink:var(--ai-level-color); border-top:3px solid var(--ai-level-color); }
.noce-ai-detail.is-collapsed { padding-block:12px; border-top:1px solid var(--v2-border); }
.noce-ai-detail-toggle { display:flex; width:100%; align-items:center; justify-content:space-between; gap:18px; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.noce-ai-detail-toggle > span { display:flex; min-width:0; flex-direction:column; gap:5px; }
.noce-ai-detail-toggle small { color:var(--ai-level-ink); font-size:8px; font-weight:800; letter-spacing:.09em; }
.noce-ai-detail-toggle strong { font-size:14px; }
.noce-ai-detail-toggle em { color:var(--v2-muted); font-size:9px; font-style:normal; line-height:1.5; }
.noce-ai-detail-toggle > i { flex:0 0 auto; color:var(--ai-level-ink); font-size:9px; font-style:normal; font-weight:750; }
.noce-ai-detail-content { margin-top:17px; }
.noce-ai-detail-title { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.noce-ai-detail-title > div { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.noce-ai-detail-title h3 { width:100%; }
.noce-ai-detail-title strong { color:var(--ai-level-ink); font-size:18px; }
.noce-ai-detail-title span { padding:4px 7px; border-radius:999px; background:color-mix(in srgb,var(--ai-level-color) 12%,transparent); color:var(--ai-level-ink); font-size:8px; }
.noce-ai-detail-title > b { color:var(--ai-level-color); font-size:33px; line-height:1; }
.noce-ai-detail-title > b small { font-size:10px; }
.noce-ai-gate-result { display:flex; flex:0 0 auto; gap:7px; }
.noce-ai-gate-result span { display:grid; gap:3px; min-width:72px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--ai-level-color) 32%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--ai-level-color) 6%,transparent); }
.noce-ai-gate-result small { color:var(--v2-muted); font-size:7px; }
.noce-ai-gate-result b { color:var(--ai-level-ink); font-size:15px; }
.noce-ai-detail-summary { margin-top:14px !important; color:var(--v2-text) !important; font-size:14px !important; font-weight:650; }
.noce-ai-level-basis { margin-top:11px !important; padding:11px 13px; border-radius:9px; background:color-mix(in srgb,var(--ai-level-color) 7%,transparent); font-size:10px !important; }
.noce-ai-level-basis strong { margin-right:7px; color:var(--ai-level-ink); font-size:8px; letter-spacing:.05em; }
.noce-ai-task-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:15px; }
.noce-ai-task-grid > div { padding:14px 15px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.018); }
.noce-ai-task-grid small { color:var(--ai-level-ink); font-size:8px; font-weight:800; letter-spacing:.06em; }
.noce-ai-task-grid ul { margin-top:10px; }
.noce-ai-guardrail-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:13px; }
.noce-ai-guardrail-status span { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 11px; border:1px dashed color-mix(in srgb,var(--ai-level-color) 38%,var(--v2-border)); border-radius:9px; }
.noce-ai-guardrail-status small { color:var(--v2-muted); font-size:8px; }
.noce-ai-guardrail-status strong { color:var(--ai-level-ink); font-size:10px; }
.noce-ai-score-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-top:13px; }
.noce-ai-score-grid article { min-width:0; padding:11px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.018); }
.noce-ai-score-grid article > div { display:flex; justify-content:space-between; gap:5px; }
.noce-ai-score-grid small { color:var(--v2-muted); font-size:7px; }
.noce-ai-score-grid b { color:var(--ai-level-ink); font-size:9px; }
.noce-ai-score-grid article > span { display:block; height:3px; margin:8px 0; overflow:hidden; border-radius:999px; background:var(--v2-border); }
.noce-ai-score-grid i { display:block; height:100%; border-radius:inherit; background:var(--ai-level-color); }
.noce-ai-score-grid p { color:var(--v2-dim); font-size:7px; line-height:1.4; }
.noce-ai-boundary { margin-top:13px !important; padding:12px 14px; border-left:2px solid var(--ai-level-color); background:color-mix(in srgb,var(--ai-level-color) 6%,transparent); }
.noce-ai-boundary strong { display:block; margin-bottom:4px; color:var(--ai-level-ink); font-size:8px; }
.noce-ai-detail details { margin-top:13px; }
.noce-ai-detail details > summary { color:var(--v2-cyan); font-size:10px; font-weight:750; cursor:pointer; }
.noce-ai-detail details .noce-definition-methods { margin-top:10px; }
.noce-ai-assessed { margin-top:9px !important; color:var(--v2-dim) !important; font-size:8px !important; }
.noce-framework-principles { display:grid; gap:8px; margin-top:18px; padding:20px 22px; border:1px solid var(--v2-border); border-radius:15px; }
.noce-framework-principles strong { color:var(--v2-cyan); font-size:11px; }
.noce-framework-principles span { position:relative; padding-left:16px; color:var(--v2-muted); font-size:11px; line-height:1.65; }
.noce-framework-principles span::before { content:'·'; position:absolute; left:2px; color:var(--v2-cyan); }
.noce-capability-page { padding-top:22px; }
.noce-capability-page .v2-breadcrumb { margin:0 0 18px; }
.noce-capability-hero { min-height:390px; grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr); }
.noce-capability-hero .ontology-overview-copy h1 { font-size:clamp(46px,5.5vw,76px); line-height:1.02; }
.noce-capability-hero .ontology-overview-copy h1 span { display:block; white-space:nowrap; }
.noce-capability-reading-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:24px; }
.noce-capability-reading-path article { display:flex; min-height:138px; flex-direction:column; gap:9px; padding:20px; border:1px solid var(--v2-border); border-radius:15px; background:var(--v2-panel); }
.noce-capability-reading-path small { color:var(--v2-cyan); font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-capability-reading-path strong { font-size:17px; }
.noce-capability-reading-path span { color:var(--v2-muted); font-size:10px; line-height:1.6; }
.noce-granularity-guide { overflow:hidden; padding:0 !important; }
.noce-granularity-guide > summary { padding:16px 18px; color:var(--v2-cyan); font-size:10px; font-weight:750; cursor:pointer; list-style:none; }
.noce-granularity-guide > summary::-webkit-details-marker { display:none; }
.noce-granularity-guide[open] > summary { border-bottom:1px solid var(--v2-border); }
.noce-granularity-body { padding:18px; }
.noce-granularity-body > .noce-framework-principles { margin:0 0 14px; padding:16px 18px; }
.noce-granularity-levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.noce-granularity-levels article { min-width:0; padding:15px; border:1px solid var(--v2-border); border-radius:13px; background:var(--v2-panel); }
.noce-granularity-levels small { color:var(--v2-cyan); font-size:7px; font-weight:800; letter-spacing:.06em; }
.noce-granularity-levels strong { display:block; margin-top:13px; font-size:14px; }
.noce-granularity-levels p { margin:8px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.6; }
.noce-granularity-note { margin-top:12px; padding:14px 16px; border-left:2px solid var(--v2-cyan); background:rgba(56,214,199,.045); }
.noce-granularity-note strong { font-size:11px; }
.noce-granularity-note p { margin:5px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.65; }
.noce-design-notes { scroll-margin-top:22px; }
.noce-design-notes > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:54px; }
.noce-design-notes > summary span { font-size:13px; }
.noce-design-notes > summary small { color:var(--v2-muted); font-size:8px; font-weight:600; letter-spacing:.03em; }
.noce-design-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:0 8px; }
.noce-design-tabs button { display:grid; min-width:0; min-height:74px; grid-template-columns:auto 1fr; gap:3px 10px; align-items:center; padding:12px 14px; border:1px solid var(--v2-border); border-radius:12px 12px 0 0; background:rgba(255,255,255,.016); color:var(--v2-muted); text-align:left; cursor:pointer; }
.noce-design-tabs button:hover,.noce-design-tabs button:focus-visible { border-color:var(--v2-cyan); color:var(--v2-text); outline:none; }
.noce-design-tabs button.active { z-index:2; border-color:var(--v2-cyan); border-bottom-color:#0a1018; background:#0a1018; color:var(--v2-text); }
.noce-design-tabs b { grid-row:1/3; color:var(--v2-cyan); font-size:19px; }
.noce-design-tabs span { font-size:11px; font-weight:760; }
.noce-design-tabs small { overflow:hidden; color:var(--v2-muted); font-size:8px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.noce-design-tab-panel { position:relative; z-index:1; min-height:430px; margin-top:-1px; padding:24px; border:1px solid var(--v2-cyan); border-radius:14px; background:#0a1018; }
.noce-design-tab-content { animation:noce-design-tab-in .16s ease; }
@keyframes noce-design-tab-in { from { opacity:.35; transform:translateY(3px); } to { opacity:1; transform:none; } }
.noce-method-evidence { display:grid; margin-top:18px; border-block:1px solid var(--v2-border); }
.noce-method-evidence > div { display:grid; grid-template-columns:92px minmax(0,1fr); gap:14px; align-items:start; padding:10px 15px; border-top:1px solid var(--v2-border); }
.noce-method-evidence > div:first-child { border-top:0; }
.noce-method-evidence small { display:block; color:var(--v2-cyan); font-size:8px; font-weight:800; letter-spacing:.06em; }
.noce-method-evidence strong { color:var(--v2-muted); font-size:9px; font-weight:600; line-height:1.6; }
.noce-matrix-layout { display:grid; gap:12px; margin-top:12px; }
.noce-stage-label { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.noce-stage-label > b { color:var(--v2-cyan); font-size:22px; line-height:1; }
.noce-stage-label > span { display:flex; flex-direction:column; gap:3px; }
.noce-stage-label strong { font-size:10px; }
.noce-stage-label small { color:var(--v2-muted); font-size:7px; }
.noce-coordinate-map { display:grid; grid-template-columns:minmax(230px,.45fr) minmax(0,1.55fr); gap:14px; align-items:stretch; }
.noce-coordinate-main { min-width:0; }
.noce-axis-guide { border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.018); }
.noce-axis-guide header { display:flex; align-items:center; gap:9px; padding:11px 13px; border-bottom:1px solid var(--v2-border); }
.noce-axis-guide header strong { font-size:11px; }
.noce-axis-guide header b { color:var(--v2-cyan); font-size:20px; line-height:1; }
.noce-axis-guide header small { margin-left:auto; color:var(--v2-cyan); font-size:7px; font-weight:800; }
.noce-axis-guide p { margin:0; padding:11px 13px; color:var(--v2-muted); font-size:8px; line-height:1.6; }
.noce-axis-guide > div { display:grid; gap:7px; padding:0 13px 13px; }
.noce-axis-guide > div span { padding:7px 9px; border-left:2px solid var(--v2-border-strong); background:rgba(255,255,255,.02); color:var(--v2-dim); font-size:7px; line-height:1.45; }
.noce-axis-guide.is-y { display:flex; flex-direction:column; }
.noce-axis-guide.is-y > div { flex:1; grid-template-rows:1fr 1fr; }
.noce-axis-guide.is-y > div span:first-child { border-left-color:var(--v2-cyan); }
.noce-axis-guide.is-x { margin-top:8px; }
.noce-axis-guide.is-x > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
.noce-axis-guide.is-x > div span:last-child { border-left-color:var(--v2-cyan); }
.noce-opportunity-matrix { display:grid; grid-template-columns:112px repeat(2,minmax(0,1fr)); gap:5px; }
.noce-matrix-corner,.noce-matrix-head,.noce-matrix-row-head { display:flex; min-height:54px; flex-direction:column; justify-content:center; padding:9px 10px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.02); }
.noce-matrix-corner small,.noce-matrix-head small,.noce-matrix-row-head small { color:var(--v2-dim); font-size:7px; }
.noce-matrix-corner strong,.noce-matrix-head strong,.noce-matrix-row-head strong { margin-top:4px; font-size:9px; }
.noce-matrix-head { align-items:center; text-align:center; }
.noce-opportunity-matrix article { --ai-level-ink:var(--ai-level-color); position:relative; display:flex; min-height:96px; flex-direction:column; justify-content:center; padding:10px; border:1px solid color-mix(in srgb,var(--ai-level-color) 45%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--ai-level-color) 9%,transparent); }
.noce-opportunity-matrix article small { color:var(--v2-muted); font-size:7px; line-height:1.35; }
.noce-opportunity-matrix article > strong { margin-top:6px; color:var(--ai-level-ink); font-size:10px; }
.noce-opportunity-matrix article > strong b { margin-right:6px; font-size:7px; }
.noce-opportunity-matrix article em { margin-top:7px; color:var(--v2-dim); font-size:7px; font-style:normal; line-height:1.45; }
.noce-capability-page h2,.noce-capability-page h3,.noce-capability-page h4 { text-wrap:balance; }
.noce-capability-page p,.noce-capability-page em,.noce-capability-page small,.noce-capability-page .noce-method-evidence strong { word-break:normal; overflow-wrap:break-word; text-wrap:pretty; }
.noce-calibration-note { margin:14px 0 0; padding:12px 14px; border-left:2px solid var(--v2-cyan); background:rgba(56,214,199,.045); color:var(--v2-muted); font-size:9px; line-height:1.65; }
.noce-calibration-note strong { margin-right:8px; color:var(--v2-cyan); }
.noce-ai-evidence-basis { margin-top:8px !important; padding:10px 12px; border:1px dashed var(--v2-border-strong); border-radius:9px; color:var(--v2-dim) !important; font-size:9px !important; }
.noce-ai-evidence-basis strong { margin-right:7px; color:var(--v2-muted); font-size:8px; }
.noce-design-index { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.noce-design-index button { display:grid; width:100%; grid-template-columns:auto 1fr; gap:3px 10px; align-items:center; padding:12px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.018); color:inherit; text-align:left; cursor:pointer; }
.noce-design-index button:hover,.noce-design-index button:focus-visible { border-color:var(--v2-cyan); outline:none; }
.noce-design-index b { grid-row:1/3; color:var(--v2-cyan); font-size:18px; }
.noce-design-index span { font-size:10px; font-weight:750; }
.noce-design-index small { color:var(--v2-muted); font-size:8px; line-height:1.4; }
.noce-design-chapter { scroll-margin-top:22px; overflow:hidden; margin-top:8px; border:1px solid var(--v2-border); border-radius:13px; background:rgba(255,255,255,.012); }
.noce-design-chapter > summary { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:66px; padding:12px 16px; cursor:pointer; list-style:none; }
.noce-design-chapter > summary::-webkit-details-marker { display:none; }
.noce-design-chapter > summary > b { color:var(--v2-cyan); font-size:20px; }
.noce-design-chapter > summary > span { display:grid; gap:4px; }
.noce-design-chapter > summary strong { font-size:12px; }
.noce-design-chapter > summary small { color:var(--v2-muted); font-size:8px; }
.noce-design-chapter > summary > i { color:var(--v2-cyan); font-size:8px; font-style:normal; }
.noce-design-chapter[open] > summary { border-bottom:1px solid var(--v2-border); background:rgba(56,214,199,.035); }
.noce-design-chapter[open] > summary > i::before { content:'收起'; font-size:8px; }
.noce-design-chapter[open] > summary > i { font-size:0; }
.noce-design-chapter-body { padding:22px; }
.noce-design-chapter-body.noce-ai-method { margin:0; border:0; border-radius:0; }
.noce-design-block { padding:4px 0 24px; }
.noce-design-block + .noce-design-block { padding-top:24px; border-top:1px solid var(--v2-border); }
.noce-design-block:last-child { padding-bottom:4px; }
.noce-design-block.noce-ai-method { margin-top:0; padding:24px; }
.noce-design-block.noce-ai-method + .noce-design-block { margin-top:0; }
.noce-design-block-head { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; }
.noce-design-block-head small { color:var(--v2-cyan); font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-design-block-head h3 { margin:7px 0 0; font-size:20px; }
.noce-design-block-head > p { max-width:430px; margin:0; color:var(--v2-muted); font-size:10px; line-height:1.65; text-align:right; }
.noce-design-intro { margin:10px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.65; }
.noce-calibration-copy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:18px; }
.noce-calibration-copy p { margin:0; padding:15px; border:1px solid var(--v2-border); border-radius:12px; background:var(--v2-panel); color:var(--v2-muted); font-size:9px; line-height:1.65; }
.noce-calibration-copy strong { display:block; margin-bottom:7px; color:var(--v2-cyan); font-size:9px; }
.noce-calibration-head { margin-top:24px; padding-top:22px; border-top:1px solid var(--v2-border); }
.noce-ai-level-logic { display:grid; gap:6px; margin-top:10px; }
.noce-ai-level-logic article { display:grid; grid-template-columns:150px minmax(0,1.2fr) minmax(0,1fr); gap:12px; align-items:center; padding:11px 13px; border:1px solid var(--v2-border); border-radius:9px; }
.noce-ai-level-logic b { font-size:10px; }
.noce-ai-level-logic span { color:var(--v2-text); font-size:9px; }
.noce-ai-level-logic small { color:var(--v2-muted); font-size:8px; line-height:1.45; }
.noce-calibration-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:9px; }
.noce-calibration-stats article { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2px 10px; padding:13px; border-top:2px solid var(--ai-level-color); border-radius:9px; background:color-mix(in srgb,var(--ai-level-color) 7%,transparent); }
.noce-calibration-stats small { color:var(--ai-level-color); font-size:7px; }
.noce-calibration-stats strong { grid-row:1/3; grid-column:2; color:var(--ai-level-color); font-size:25px; line-height:1; }
.noce-calibration-stats span { font-size:10px; font-weight:700; }
.noce-reference-table .novo-comparison-row { grid-template-columns:1.05fr 1.2fr 1.45fr 1.3fr; }
.noce-domain-source-details { margin-top:14px; border:1px solid var(--v2-border); border-radius:14px; overflow:hidden; }
.noce-domain-source-details > summary { padding:16px 18px; color:var(--v2-cyan); font-size:10px; font-weight:750; cursor:pointer; }
.noce-domain-source-details[open] > summary { border-bottom:1px solid var(--v2-border); }
.noce-domain-source-details .novo-comparison-table { border:0; border-radius:0; }
.noce-usage-grid article { min-height:220px; }

[data-theme="light"] body.dna-v2-body .noce-architecture-map { background:#f7fbfa; }
[data-theme="light"] body.dna-v2-body .noce-flow-rail,[data-theme="light"] body.dna-v2-body .noce-semantic-layer { background:color-mix(in srgb,var(--rail-color,var(--layer-color)) 4%,#fff); }
[data-theme="light"] body.dna-v2-body .noce-semantic-layer:not(:last-child)::after { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-why-context-elements button,[data-theme="light"] body.dna-v2-body .noce-strategy-elements button,[data-theme="light"] body.dna-v2-body .noce-model-elements button,[data-theme="light"] body.dna-v2-body .noce-capability-class-elements button,[data-theme="light"] body.dna-v2-body .noce-operating-elements button { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-gene-foundation { background:linear-gradient(110deg,#f7f2ff,#f5fbfa 58%,#f3fbf6); }
[data-theme="light"] body.dna-v2-body .noce-gene-facets a { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-gene-facets b { color:#6e5498; }
[data-theme="light"] body.dna-v2-body .noce-definition-drawer { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-capability-tabs button,
[data-theme="light"] body.dna-v2-body .noce-capability-groups > article { background:#fff; }

@media(max-width:980px) {
    .noce-capability-reading-path { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-capability-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .noce-architecture-map { grid-template-columns:1fr; }
    .noce-flow-rail { min-height:auto; }
    .noce-flow-rail::before { display:none; }
    .noce-flow-rail > i { margin:16px auto 0; }
    .noce-flow-rail.is-evidence-flow > i { order:-1; margin:0 auto 16px; }
    .noce-flow-rail ol { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .noce-evidence-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
    .noce-gene-foundation { grid-column:auto; }
    .noce-gene-facets { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-principle-grid { grid-template-columns:1fr; }
    .noce-principle-grid article { min-height:190px; }
    .noce-principle-grid h3 { margin-top:28px; }
}
@media(max-width:720px) {
    .noce-capability-reading-path { grid-template-columns:1fr; }
    .noce-layer-stack article { grid-template-columns:40px minmax(0,1fr); gap:14px; }
    .noce-layer-stack article > em,.noce-layer-stack article > a { grid-column:2; justify-self:start; }
    .noce-architecture-map { padding:14px; }
    .noce-strategy-model-card,.noce-business-model-card,.noce-capability-blueprint-card,.noce-operating-model-card { grid-template-columns:1fr; }
    .noce-why-context-elements { grid-template-columns:1fr; }
    .noce-strategy-elements,.noce-model-elements { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-capability-class-elements { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-operating-elements { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-rail-relations { grid-template-columns:1fr; }
    .noce-evidence-steps { grid-template-columns:1fr; }
    .noce-gene-foundation { grid-template-columns:1fr; }
    .noce-gene-facets { grid-template-columns:1fr; }
    .noce-semantic-layer > header { grid-template-columns:56px minmax(0,1fr); }
    .noce-semantic-layer > header h3 { font-size:16px; }
    .noce-definition-drawer > header,.noce-definition-body,.noce-definition-drawer > footer { padding-left:20px; padding-right:20px; }
    .noce-capability-tabs { display:flex; overflow-x:auto; padding-bottom:6px; }
    .noce-capability-tabs button { flex:0 0 190px; }
    .noce-capability-groups { grid-template-columns:1fr; }
    .noce-capability-summary { align-items:flex-start; flex-direction:column; }
    .noce-capability-list > div,.noce-capability-list > button { grid-template-columns:1fr; gap:6px; }
    .noce-capability-list p { padding-right:0; }
    .noce-capability-list code { position:static; }
}

/* NOCE semantic map v4: simplified object map */
.noce-architecture-map.is-simplified { grid-template-areas:'value spine validation' 'gene gene gene'; grid-template-columns:210px minmax(0,1fr) 210px; gap:16px; padding:20px; }
.noce-architecture-map.is-simplified .is-value-flow { grid-area:value; }
.noce-architecture-map.is-simplified .noce-semantic-spine { grid-area:spine; gap:10px; }
.noce-architecture-map.is-simplified .is-evidence-flow { grid-area:validation; }
.noce-architecture-map.is-simplified .noce-gene-foundation { grid-area:gene; }
.noce-architecture-map.is-simplified .noce-flow-rail { justify-content:flex-start; padding:16px 16px 88px; }
.noce-architecture-map.is-simplified .noce-flow-rail::before { display:none; }
.noce-rail-title { display:flex; width:100%; flex-direction:column; gap:6px; padding:15px; border:1px solid color-mix(in srgb,var(--rail-color) 44%,transparent); border-radius:14px; background:color-mix(in srgb,var(--rail-color) 9%,var(--v2-panel)); color:var(--v2-text); text-align:left; cursor:pointer; transition:.18s ease; }
.noce-rail-title:hover,.noce-rail-title:focus-visible { border-color:var(--rail-color); transform:translateY(-2px); outline:none; }
.noce-rail-title small { color:var(--rail-color); font-size:8px; font-weight:800; letter-spacing:.1em; }
.noce-rail-title strong { font-size:20px; }
.noce-rail-title span { color:var(--v2-muted); font-size:9px; line-height:1.5; }
.noce-rail-subobjects { display:grid; gap:8px; margin-top:12px; }
.noce-rail-subobjects > span,.noce-rail-subobjects > button { display:flex; min-height:61px; flex-direction:column; justify-content:center; gap:5px; padding:10px 11px; border:1px solid color-mix(in srgb,var(--rail-color) 20%,var(--v2-border)); border-radius:10px; background:color-mix(in srgb,var(--rail-color) 4%,var(--v2-panel)); color:var(--v2-text); text-align:left; }
.noce-rail-subobjects > button { cursor:pointer; transition:.16s ease; }
.noce-rail-subobjects > button:hover,.noce-rail-subobjects > button:focus-visible { border-color:var(--rail-color); background:color-mix(in srgb,var(--rail-color) 8%,var(--v2-panel)); outline:none; }
.noce-rail-subobjects b { font-size:10px; }
.noce-rail-subobjects em { color:var(--v2-muted); font-size:8px; font-style:normal; line-height:1.4; }
.noce-architecture-map.is-simplified .noce-rail-direction { position:absolute; z-index:0; bottom:16px; left:50%; display:block; width:3px; height:58px; margin:0; border:0; border-radius:3px; background:linear-gradient(180deg,color-mix(in srgb,var(--rail-color) 35%,transparent),var(--rail-color)); color:transparent; font-size:0; font-style:normal; transform:translateX(-50%); pointer-events:none; }
.noce-architecture-map.is-simplified .noce-rail-direction::after { content:''; position:absolute; bottom:-1px; left:50%; width:0; height:0; border-top:10px solid var(--rail-color); border-right:7px solid transparent; border-left:7px solid transparent; transform:translateX(-50%); }
.noce-architecture-map.is-simplified .is-evidence-flow .noce-rail-direction { background:linear-gradient(0deg,color-mix(in srgb,var(--rail-color) 35%,transparent),var(--rail-color)); }
.noce-architecture-map.is-simplified .is-evidence-flow .noce-rail-direction::after { top:-1px; bottom:auto; border-top:0; border-right:7px solid transparent; border-bottom:10px solid var(--rail-color); border-left:7px solid transparent; }
.noce-layer-divider { --layer-color:#6fa8ff; display:flex; align-items:center; gap:10px; min-height:28px; }
.noce-layer-divider.is-what { --layer-color:#38d6c7; margin-top:4px; }
.noce-layer-divider.is-how { --layer-color:#f3b35c; margin-top:4px; }
.noce-layer-divider span { color:var(--layer-color); font-size:10px; font-weight:850; letter-spacing:.12em; }
.noce-layer-divider strong { color:var(--v2-muted); font-size:9px; font-weight:650; white-space:nowrap; }
.noce-layer-divider i { flex:1; height:1px; background:linear-gradient(90deg,color-mix(in srgb,var(--layer-color) 70%,transparent),transparent); }
.noce-core-object { --object-color:#6fa8ff; display:grid; grid-template-columns:170px minmax(0,1fr); gap:11px; padding:13px; border:1px solid color-mix(in srgb,var(--object-color) 42%,var(--v2-border)); border-radius:16px; background:color-mix(in srgb,var(--object-color) 5%,var(--v2-panel)); }
.noce-core-object.is-business { --object-color:#88a7ec; }
.noce-core-object.is-capability { --object-color:#38d6c7; }
.noce-core-object.is-operating { --object-color:#f3b35c; }
.noce-core-object-title { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:6px; padding:12px; border:0; border-radius:11px; background:color-mix(in srgb,var(--object-color) 9%,transparent); color:var(--v2-text); text-align:left; cursor:pointer; transition:.16s ease; }
.noce-core-object-title:hover,.noce-core-object-title:focus-visible { background:color-mix(in srgb,var(--object-color) 15%,transparent); outline:none; }
.noce-core-object-title small { color:var(--object-color); font-size:7px; font-weight:800; letter-spacing:.08em; }
.noce-core-object-title strong { font-size:18px; }
.noce-core-object-title span { color:var(--v2-muted); font-size:8px; line-height:1.45; }
.noce-object-elements { display:grid; gap:7px; }
.noce-object-elements.is-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.noce-object-elements.is-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.noce-object-elements.is-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.noce-object-elements.is-six { grid-template-columns:repeat(3,minmax(0,1fr)); }
.noce-object-elements button { display:flex; min-width:0; min-height:58px; flex-direction:column; justify-content:center; gap:5px; padding:9px 10px; border:1px solid color-mix(in srgb,var(--object-color,var(--class-color)) 24%,var(--v2-border)); border-radius:9px; background:rgba(255,255,255,.022); color:var(--v2-text); text-align:left; cursor:pointer; transition:.16s ease; }
.noce-object-elements button:hover,.noce-object-elements button:focus-visible { border-color:var(--class-color,var(--object-color)); background:color-mix(in srgb,var(--class-color,var(--object-color)) 7%,transparent); outline:none; transform:translateY(-1px); }
.noce-object-elements strong { font-size:9px; line-height:1.35; }
.noce-object-elements span { color:var(--v2-muted); font-size:7px; line-height:1.35; }
.noce-architecture-map.is-simplified .noce-gene-foundation { grid-template-columns:220px minmax(0,1fr); gap:14px; padding:16px 18px; }
.noce-architecture-map.is-simplified .noce-gene-facets { grid-template-columns:repeat(5,minmax(0,1fr)); }
.noce-architecture-map.is-simplified .noce-gene-facets.is-semantic-components { grid-template-columns:repeat(4,minmax(0,1fr)); }
.noce-architecture-map.is-simplified .noce-gene-facets > span { display:flex; min-height:62px; flex-direction:column; justify-content:center; gap:5px; padding:9px 10px; border:1px solid rgba(181,140,255,.22); border-radius:9px; background:rgba(181,140,255,.045); }
.noce-architecture-map.is-simplified .noce-gene-facets b { color:#d2c0f3; font-size:9px; }
.noce-architecture-map.is-simplified .noce-gene-facets em { color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.4; }
.noce-architecture-map.is-simplified .noce-gene-facets.is-object-entry { grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); align-items:stretch; }
.noce-gene-entry { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:6px; padding:11px 13px; border:1px solid rgba(181,140,255,.28); border-radius:10px; background:rgba(181,140,255,.055); color:var(--v2-text); text-align:left; cursor:pointer; transition:.16s ease; }
.noce-gene-entry:hover,.noce-gene-entry:focus-visible { border-color:#c8a9ff; background:rgba(181,140,255,.1); outline:none; transform:translateY(-1px); }
.noce-definition-meta { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:8px; padding:18px 30px 6px; }
.noce-definition-meta > span { display:flex; min-width:0; flex-direction:column; gap:5px; padding:10px 11px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.018); }
.noce-definition-meta small { color:var(--v2-dim); font-size:7px; letter-spacing:.06em; }
.noce-definition-meta b { overflow:hidden; color:var(--v2-muted); font-size:9px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.noce-definition-boundary { margin-top:12px !important; padding:12px 14px; border-left:2px solid var(--v2-cyan); background:rgba(56,214,199,.045); }
.noce-definition-footnote { display:block; margin:4px 0 12px; padding:0 2px; color:var(--v2-dim); font-size:8px; line-height:1.6; }
.noce-capability-boundary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.noce-capability-boundary-grid > div { display:flex; min-width:0; flex-direction:column; gap:6px; padding:12px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.018); }
.noce-capability-boundary-grid small { color:var(--v2-cyan); font-size:8px; font-weight:800; letter-spacing:.08em; }
.noce-capability-boundary-grid strong { color:var(--v2-text); font-size:11px; line-height:1.6; }
.noce-capability-related { display:flex; flex-wrap:wrap; gap:8px; }
.noce-capability-related span { padding:7px 10px; border:1px solid var(--v2-border); border-radius:999px; color:var(--v2-muted); font-size:9px; }
.noce-structure-note { margin:-4px 0 12px !important; color:var(--v2-muted); font-size:10px; line-height:1.65; }
.noce-property-table { overflow:hidden; border:1px solid var(--v2-border); border-radius:12px; }
.noce-property-table > div { display:grid; grid-template-columns:1fr .8fr 52px 1.7fr; gap:8px; align-items:start; padding:10px 11px; border-top:1px solid var(--v2-border); }
.noce-property-table > div:first-child { border-top:0; }
.noce-property-table .is-head { background:rgba(56,214,199,.055); color:var(--v2-cyan); font-size:8px; }
.noce-property-table strong,.noce-property-table span,.noce-property-table code,.noce-property-table p { min-width:0; margin:0; font-size:9px; line-height:1.5; }
.noce-property-table strong { color:var(--v2-text); }
.noce-property-table span,.noce-property-table p { color:var(--v2-muted); }
.noce-property-table code { color:var(--v2-cyan); font-family:inherit; }
.noce-relation-network { display:grid; gap:9px; }
.noce-relation-network > div { display:grid; grid-template-columns:minmax(100px,.9fr) auto minmax(110px,1fr); gap:7px 10px; align-items:center; padding:12px 13px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.018); }
.noce-relation-network > div > small { grid-column:1/-1; color:var(--v2-muted); font-size:7.5px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.noce-relation-network strong,.noce-relation-network b { min-width:0; color:var(--v2-text); font-size:10px; line-height:1.45; }
.noce-relation-network strong i,.noce-relation-network b i { display:block; margin-bottom:2px; color:var(--v2-muted); font-size:7px; font-style:normal; font-weight:600; }
.noce-relation-network > div > span { padding:5px 8px; border-radius:999px; background:rgba(56,214,199,.09); color:var(--v2-cyan); font-size:8px; font-weight:750; text-align:center; white-space:nowrap; }
.noce-relation-network p { grid-column:1/-1; margin:0 !important; padding-top:7px; border-top:1px solid var(--v2-border); font-size:9px !important; line-height:1.55 !important; }
.noce-core-capability.is-workspace { position:fixed; z-index:4800; inset:18px; overflow-y:auto; margin:0 !important; padding:28px; border:1px solid var(--v2-border-strong); border-radius:22px; background:#0a1018; box-shadow:0 28px 90px rgba(0,0,0,.5); }
.noce-core-capability.is-workspace::before { content:''; position:fixed; z-index:-1; inset:0; background:rgba(1,5,9,.72); backdrop-filter:blur(8px); }
.noce-core-capability.is-workspace .ontology-overview-head.is-directory { position:relative; padding-right:52px; }
.noce-workspace-close { position:absolute; top:0; right:0; width:40px; height:40px; border:1px solid var(--v2-border-strong); border-radius:50%; background:var(--v2-panel); color:var(--v2-muted); font-size:25px; cursor:pointer; }
.noce-workspace-close:hover,.noce-workspace-close:focus-visible { border-color:var(--v2-cyan); color:var(--v2-text); outline:none; }
[data-theme="light"] body.dna-v2-body .noce-rail-subobjects > span,[data-theme="light"] body.dna-v2-body .noce-rail-subobjects > button,[data-theme="light"] body.dna-v2-body .noce-object-elements button,[data-theme="light"] body.dna-v2-body .noce-definition-meta > span,[data-theme="light"] body.dna-v2-body .noce-capability-boundary-grid > div { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-relation-network > div { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-core-capability.is-workspace { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-gene-entry { background:#fff; }

@media(max-width:1080px) {
    .noce-architecture-map.is-simplified { grid-template-areas:'value' 'spine' 'validation' 'gene'; grid-template-columns:1fr; }
    .noce-architecture-map.is-simplified .noce-flow-rail { min-height:420px; }
    .noce-architecture-map.is-simplified .noce-rail-subobjects { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .noce-architecture-map.is-simplified .noce-rail-subobjects.is-reference-types { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-architecture-map.is-simplified .noce-rail-direction { margin:0; }
    .noce-granularity-levels { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
    .noce-architecture-map.is-simplified { padding:12px; }
    .noce-core-object,.noce-architecture-map.is-simplified .noce-gene-foundation { grid-template-columns:1fr; }
    .noce-object-elements.is-three,.noce-object-elements.is-four,.noce-object-elements.is-five,.noce-object-elements.is-six { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-architecture-map.is-simplified .noce-rail-subobjects { grid-template-columns:1fr; }
    .noce-architecture-map.is-simplified .noce-gene-facets,.noce-architecture-map.is-simplified .noce-gene-facets.is-object-entry { grid-template-columns:1fr; }
    .noce-architecture-map.is-simplified .noce-gene-facets.is-semantic-components { grid-template-columns:1fr; }
    .noce-definition-meta { grid-template-columns:1fr; padding-inline:20px; }
    .noce-capability-boundary-grid { grid-template-columns:1fr; }
    .noce-property-table > div { grid-template-columns:1fr 70px 44px; }
    .noce-property-table > div p { grid-column:1/-1; }
    .noce-relation-network > div { grid-template-columns:1fr; }
    .noce-relation-network > div > span { justify-self:start; }
    .noce-core-capability.is-workspace { inset:8px; padding:18px 14px; border-radius:15px; }
    .noce-granularity-guide > summary,.noce-granularity-body { padding-inline:18px; }
    .noce-granularity-levels { grid-template-columns:1fr; }
}

/* AI opportunity view responsive and light-theme finish */
[data-theme="light"] body.dna-v2-body .noce-view-switch,
[data-theme="light"] body.dna-v2-body .noce-ai-controls,
[data-theme="light"] body.dna-v2-body .noce-ai-method,
[data-theme="light"] body.dna-v2-body .noce-ai-task-grid > div,
[data-theme="light"] body.dna-v2-body .noce-ai-score-grid article { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-capability-tabs button.active { border-bottom-color:color-mix(in srgb,var(--class-color) 7%,#fff); background:color-mix(in srgb,var(--class-color) 7%,#fff); }
[data-theme="light"] body.dna-v2-body .noce-capability-panel { background:color-mix(in srgb,var(--class-color) 7%,#fff); }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .ontology-overview-stats strong { color:var(--v2-text); }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-tabs button { border-color:#d8dde5; border-bottom-color:#cbd2dc; background:#eef1f4; color:#56616e; }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-tabs button:hover,
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-tabs button:focus-visible { border-color:#b8c0cc; background:#e6eaef; color:#333b45; }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-tabs button.active { border-color:#cbd2dc; border-bottom-color:#fff; background:#fff; color:#111827; }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-tabs button strong { color:#687381; }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-tabs button.active strong { color:#111827; }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-search-result strong,
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-groups header small,
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-groups header > strong { color:var(--v2-muted); }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-panel { border-color:var(--v2-border-strong); background:var(--v2-panel); }
body.dna-v2-body .noce-capability-page.is-ai-opportunity-mode .noce-capability-groups > article { border-top-color:var(--v2-border-strong); }
[data-theme="light"] body.dna-v2-body .noce-design-chapter,[data-theme="light"] body.dna-v2-body .noce-design-index button { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-design-tabs button.active { border-bottom-color:#fff; background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-design-tab-panel { background:#fff; }
[data-theme="light"] body.dna-v2-body .noce-view-switch button.active { color:#fff; }
[data-theme="light"] body.dna-v2-body .noce-ai-level-summary article,
[data-theme="light"] body.dna-v2-body .noce-capability-list > button.is-ai-view,
[data-theme="light"] body.dna-v2-body .noce-ai-detail,
[data-theme="light"] body.dna-v2-body .noce-opportunity-matrix article { --ai-level-ink:color-mix(in srgb,var(--ai-level-color) 55%,#172033); }
[data-theme="dark"] body.dna-v2-body .noce-ai-legend-panel { background:rgba(4,13,18,.42); }

@media(max-width:1080px) {
    .ontology-overview-head.is-directory { grid-template-columns:minmax(0,1fr) 348px; align-items:end; }
    .ontology-overview-head.is-directory > div:first-child { grid-column:1 / -1; }
    .noce-ai-intro { grid-template-columns:1fr; gap:18px; }
    .noce-ai-dimensions,.noce-ai-level-rules,.noce-ai-level-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .noce-ai-source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-calibration-copy { grid-template-columns:1fr; }
    .noce-design-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .noce-matrix-layout { grid-template-columns:1fr; }
}
@media(max-width:760px) {
    .noce-capability-hero .ontology-overview-copy h1 { font-size:clamp(34px,10vw,56px); }
    .ontology-overview-head.is-directory { grid-template-columns:1fr; gap:16px; }
    .ontology-overview-head.is-directory > div:first-child { grid-column:auto; }
    .noce-view-switch { width:100%; }
    .noce-view-switch button { min-height:46px; padding-inline:8px; font-size:10px; }
    .noce-directory-search { width:100%; }
    .noce-ai-intro { align-items:flex-start; flex-direction:column; gap:14px; }
    .noce-ai-controls { align-items:stretch; flex-direction:column; }
    .noce-ai-controls > label { width:100%; }
    .noce-ai-method-toggle { width:100%; margin-left:0; }
    .noce-ai-legend-panel > div { gap:8px 11px; }
    .noce-ai-dimensions,.noce-ai-level-rules,.noce-ai-source-grid,.noce-ai-guardrails,.noce-ai-gates,.noce-calibration-stats,.noce-design-index { grid-template-columns:1fr; }
    .noce-coordinate-map { grid-template-columns:1fr; }
    .noce-axis-guide.is-y > div { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
    .noce-ai-level-summary { overflow-x:auto; }
    .noce-ai-level-summary header,.noce-ai-level-summary article { min-width:560px; }
    .noce-ai-dimensions article { min-height:0; }
    .noce-capability-list > button.is-ai-view { grid-template-columns:1fr; gap:7px; }
    .noce-capability-list > button:not(.is-ai-view) > p { padding-right:0; }
    .noce-ai-task-grid,.noce-ai-score-grid,.noce-ai-guardrail-status { grid-template-columns:1fr; }
    .noce-design-notes > summary,.noce-design-block-head { align-items:flex-start; flex-direction:column; }
    .noce-design-notes > summary { gap:5px; }
    .noce-design-block-head { gap:9px; }
    .noce-design-block-head > p { text-align:left; }
    .noce-design-block.noce-ai-method { padding:18px 14px; }
    .noce-capability-tabs { padding-inline:5px; }
    .noce-capability-tabs button { min-height:58px; }
    .noce-capability-panel { padding:10px; }
    .noce-capability-search-result { align-items:flex-start; flex-direction:column; }
    .noce-design-chapter > summary { grid-template-columns:35px minmax(0,1fr) auto; padding-inline:12px; }
    .noce-design-chapter-body { padding:16px 12px; }
    .noce-ai-level-logic article { grid-template-columns:1fr; gap:5px; }
    .noce-design-tabs { display:flex; overflow-x:auto; padding-bottom:1px; }
    .noce-design-tabs button { flex:0 0 178px; }
    .noce-design-tab-panel { min-height:0; padding:16px 12px; }
    .noce-method-evidence { grid-template-columns:1fr; }
    .noce-matrix-layout { overflow-x:auto; }
    .noce-opportunity-matrix { min-width:620px; }
}

/* Strategy visuals: evidence shape determines the graphic, not a shared placeholder. */
.v2-strategy-flow-graphic > div { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.v2-strategy-flow-graphic span { flex:1 1 118px; }
.v2-strategy-flow-graphic i { display:block; flex:0 0 auto; color:var(--accent,var(--v2-cyan)); font-size:15px; font-style:normal; }
.v2-strategy-target-chain,.v2-strategy-portfolio-ladder,.v2-strategy-commitment,.v2-strategy-delivery-stack,.v2-strategy-governance-equity,.v2-strategy-compute-flex,.v2-strategy-logic-stack { grid-column:1/-1; width:100%; }
.v2-strategy-grid > .v2-strategy-card:last-child:nth-child(odd) { grid-column:1/-1; }
.v2-strategy-target-chain > strong,.v2-strategy-portfolio-ladder > strong,.v2-strategy-commitment > strong,.v2-strategy-delivery-stack > strong,.v2-strategy-governance-equity > strong,.v2-strategy-compute-flex > strong,.v2-strategy-logic-stack > strong,.v2-geo-comparison > strong { display:block; margin-bottom:14px; color:var(--v2-text); font-size:11px; }

.v2-strategy-target-chain .target-chain-main { display:flex; align-items:stretch; gap:8px; }
.v2-strategy-target-chain .target-chain-main > span { flex:1 1 0; min-width:0; display:flex; justify-content:center; flex-direction:column; min-height:92px; padding:13px; border:1px solid var(--v2-border-strong); border-radius:12px; background:var(--v2-panel); text-align:center; }
.v2-strategy-target-chain .target-chain-main > span.target { flex:0 0 148px; border:2px solid var(--accent,var(--v2-cyan)); background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 13%,var(--v2-panel)); box-shadow:0 0 0 6px color-mix(in srgb,var(--accent,var(--v2-cyan)) 7%,transparent); }
.v2-strategy-target-chain .target-chain-main > i { align-self:center; color:var(--accent,var(--v2-cyan)); font-size:18px; font-style:normal; }
.v2-strategy-target-chain small,.v2-strategy-portfolio-ladder small,.v2-strategy-delivery-stack small,.v2-strategy-commitment small { color:var(--v2-muted); font-size:8px; line-height:1.45; }
.v2-strategy-target-chain b,.v2-strategy-portfolio-ladder b,.v2-strategy-delivery-stack b,.v2-strategy-commitment b { color:var(--v2-text); font-size:11px; line-height:1.45; }
.v2-strategy-target-chain .target-chain-outcome { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:12px; }
.v2-strategy-target-chain .target-chain-outcome > i { color:var(--v2-muted); font-size:8px; font-style:normal; }
.v2-strategy-target-chain .target-chain-outcome > span { padding:9px 18px; border:1px solid color-mix(in srgb,var(--v2-green) 55%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--v2-green) 8%,transparent); text-align:center; }
.v2-strategy-target-chain > p,.v2-strategy-portfolio-ladder > p,.v2-strategy-delivery-stack > p { margin:12px 0 0; color:var(--accent,var(--v2-cyan)); font-size:8px; line-height:1.55; text-align:center; }

.portfolio-ladder-levels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; align-items:end; }
.portfolio-ladder-levels > span { display:flex; justify-content:flex-end; flex-direction:column; min-height:80px; padding:12px; border:1px solid var(--v2-border-strong); border-radius:11px; background:var(--v2-panel); }
.portfolio-ladder-levels > span.ultra { min-height:134px; border-top:3px solid #b58cff; background:color-mix(in srgb,#b58cff 9%,var(--v2-panel)); }
.portfolio-ladder-levels > span.special { min-height:116px; border-top:3px solid #ff8ea3; background:color-mix(in srgb,#ff8ea3 8%,var(--v2-panel)); }
.portfolio-ladder-levels > span.premium { min-height:98px; border-top:3px solid #55c6f2; background:color-mix(in srgb,#55c6f2 8%,var(--v2-panel)); }
.portfolio-ladder-levels > span.mass { min-height:80px; border-top:3px solid #72df9f; background:color-mix(in srgb,#72df9f 8%,var(--v2-panel)); }
.portfolio-ladder-levels em { margin-top:5px; color:var(--v2-dim); font-size:8px; font-style:normal; }
.portfolio-ladder-foundation { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:24px; padding-top:18px; border-top:2px solid var(--accent,var(--v2-cyan)); }
.portfolio-ladder-foundation::before { content:'↑ 技术底座支撑产品价格梯度'; position:absolute; top:-15px; left:50%; padding:2px 8px; transform:translateX(-50%); background:var(--v2-panel); color:var(--accent,var(--v2-cyan)); font-size:8px; white-space:nowrap; }
.portfolio-ladder-foundation > span { padding:10px; border-radius:8px; background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 8%,transparent); text-align:center; }

.v2-strategy-comparison > header { display:flex; justify-content:space-between; gap:14px; align-items:center; margin-bottom:14px; }
.v2-strategy-comparison > header > strong { color:var(--v2-text); font-size:11px; }
.v2-period-legend { display:flex; flex-wrap:wrap; gap:12px; color:var(--v2-muted); font-size:8px; }
.v2-period-legend > span { display:flex; gap:5px; align-items:center; }
.v2-period-legend > span::before { content:''; width:9px; height:9px; border-radius:3px; background:#9aa7b3; }
.v2-period-legend > span.current::before { background:var(--accent,var(--v2-cyan)); }
.v2-strategy-comparison > div { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.v2-strategy-comparison > div > span { display:block; }
.v2-comparison-bars { display:grid; gap:7px; margin:10px 0 6px; }
.v2-comparison-bars > i { position:relative; display:block; overflow:hidden; height:29px; border-radius:5px; background:color-mix(in srgb,var(--v2-border) 78%,transparent); color:var(--v2-text); font-style:normal; }
.v2-comparison-bars > i b { position:absolute; inset:0 auto 0 0; min-width:3px; border-radius:5px; background:#9aa7b3; }
.v2-comparison-bars > i.current b { background:var(--accent,var(--v2-cyan)); }
.v2-comparison-bars > i em { position:relative; z-index:1; display:flex; gap:8px; align-items:center; height:100%; padding:0 9px; color:var(--v2-text); font-size:10px; font-weight:750; }
.v2-comparison-meta { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.v2-comparison-meta mark { background:none; color:var(--v2-muted); font-size:8px; }
.v2-comparison-meta > b { padding:3px 7px; border-radius:999px; background:rgba(85,198,242,.09); color:var(--v2-blue); font-size:8px; }
.v2-comparison-meta > b.up { background:rgba(114,223,159,.1); color:color-mix(in srgb,var(--v2-green) 72%,var(--v2-text)); }
.v2-comparison-meta > b.risk { background:rgba(242,111,135,.1); color:var(--v2-red); }

.v2-strategy-visual.is-global.has-comparison { grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); grid-template-rows:minmax(250px,1fr) auto; align-items:stretch; }
.v2-strategy-visual.is-global.has-comparison .v2-world-map { grid-column:1; grid-row:1; height:100%; min-height:250px; }
.v2-strategy-visual.is-global.has-comparison .v2-map-legend { grid-column:1; grid-row:2; }
.v2-geo-comparison { grid-column:1/-1; width:100%; padding-top:12px; border-top:1px solid var(--v2-border); }
.v2-strategy-visual.is-global.has-comparison .v2-geo-comparison { grid-column:2; grid-row:1/3; display:flex; min-width:0; padding:15px 0 0 16px; border-top:0; border-left:1px solid var(--v2-border); flex-direction:column; }
.v2-geo-comparison > .v2-geo-change { display:grid; grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr); gap:12px; align-items:end; flex:1 1 auto; }
.v2-geo-change > span.prior,.v2-geo-change > span.current { display:flex; min-width:0; height:100%; flex-direction:column; align-items:center; justify-content:flex-end; gap:7px; text-align:center; }
.v2-geo-change > span > small { color:var(--v2-muted); font-size:8px; }
.v2-geo-change > span > b { color:var(--v2-text); font-size:11px; }
.v2-geo-change > span > i { display:flex; overflow:hidden; width:64px; height:150px; align-items:flex-end; border-radius:7px 7px 3px 3px; background:color-mix(in srgb,var(--v2-border) 78%,transparent); }
.v2-geo-change > span > i em { display:block; width:100%; min-height:3px; border-radius:7px 7px 3px 3px; background:#9aa7b3; }
.v2-geo-change > span.current > i em { background:var(--accent,var(--v2-cyan)); }
.v2-geo-change > span.change { display:grid; place-items:center; gap:2px; min-height:66px; padding:7px; border-radius:10px; background:rgba(85,198,242,.07); text-align:center; }
.v2-geo-comparison.is-down .v2-geo-change > span.change { background:rgba(242,111,135,.08); }
.v2-geo-change > span.change > i { grid-column:auto; display:block; overflow:visible; width:auto; height:auto; background:none; color:var(--v2-blue); font-size:19px; font-style:normal; }
.v2-geo-comparison.is-down .v2-geo-change > span.change > i,.v2-geo-comparison.is-down .v2-geo-change > span.change > b { color:var(--v2-red); }
.v2-geo-change > span.change > b { font-size:11px; }
.v2-geo-change > span.change > small { color:var(--v2-muted); font-size:8px; }

.v2-strategy-delivery-stack .delivery-technology { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.v2-strategy-delivery-stack .delivery-technology > span { padding:11px; border:1px solid color-mix(in srgb,var(--v2-blue) 45%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--v2-blue) 8%,transparent); text-align:center; }
.v2-strategy-delivery-stack .stack-arrow { display:block; margin:13px 0; color:var(--v2-muted); font-size:8px; font-style:normal; text-align:center; }
.v2-strategy-delivery-stack .delivery-lifecycle { display:flex; align-items:stretch; gap:7px; }
.v2-strategy-delivery-stack .delivery-lifecycle > span { flex:1 1 0; min-width:0; padding:12px 8px; border:1px solid color-mix(in srgb,var(--v2-green) 42%,var(--v2-border)); border-radius:9px; background:color-mix(in srgb,var(--v2-green) 7%,transparent); text-align:center; }
.v2-strategy-delivery-stack .delivery-lifecycle > span b,.v2-strategy-delivery-stack .delivery-lifecycle > span small { display:block; }
.v2-strategy-delivery-stack .delivery-lifecycle > i { align-self:center; color:var(--accent,var(--v2-cyan)); font-size:14px; font-style:normal; }

.commitment-target-chart { padding:16px; border:1px solid var(--v2-border); border-radius:12px; background:color-mix(in srgb,var(--v2-panel) 88%,transparent); }
.commitment-target-chart > header { display:grid; grid-template-columns:1fr auto; gap:3px 16px; align-items:end; padding-bottom:10px; border-bottom:1px solid var(--v2-border); }
.commitment-target-chart > header span,.commitment-target-chart > header small { color:var(--v2-muted); font-size:8px; }
.commitment-target-chart > header b { grid-column:2; grid-row:1/3; color:var(--v2-green); font-size:19px; }
.commitment-target-axis { display:flex; justify-content:space-between; margin:13px 73px 5px 58px; color:var(--v2-muted); font-size:7px; }
.commitment-target-axis em { font-style:normal; }
.commitment-target-chart > section { display:grid; gap:10px; }
.commitment-target-chart > section > span { display:grid; grid-template-columns:48px minmax(0,1fr) 62px 36px; gap:10px; align-items:center; }
.commitment-target-chart > section small { color:var(--v2-muted); font-size:8px; }
.commitment-target-chart > section i { position:relative; display:block; overflow:hidden; height:27px; border-radius:5px; background:color-mix(in srgb,var(--v2-border) 74%,transparent); }
.commitment-target-chart > section i b { display:block; min-width:3px; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--v2-blue),var(--accent,var(--v2-cyan))); }
.commitment-target-chart > section em { color:var(--v2-text); font-size:9px; font-style:normal; font-weight:750; }
.commitment-target-chart > section mark { padding:3px 5px; border-radius:999px; background:rgba(85,198,242,.09); color:var(--v2-blue); font-size:8px; text-align:center; }
.commitment-target-chart > footer { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:10px; align-items:center; margin-top:12px; padding-top:12px; border-top:1px solid var(--v2-border); }
.commitment-target-chart > footer i { grid-column:2; height:4px; border-radius:999px; background:var(--v2-green); }
.commitment-target-chart > footer b { grid-column:1; grid-row:1; color:var(--v2-green); font-size:8px; }
.commitment-target-chart > footer small { color:var(--v2-muted); font-size:8px; }

.governance-equity-layout { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr); gap:16px; align-items:stretch; }
.governance-equity-layout > section { min-width:0; padding:15px; border:1px solid var(--v2-border); border-radius:12px; background:color-mix(in srgb,var(--v2-panel) 88%,transparent); }
.governance-equity-layout h4,.v2-strategy-compute-flex h4 { margin:0 0 13px; color:var(--v2-muted); font-size:9px; }
.equity-composition { display:grid; grid-template-columns:132px minmax(0,1fr); grid-template-rows:auto 1fr; gap:10px 14px; align-items:center; }
.equity-composition h4 { grid-column:1/-1; }
.equity-donut { display:grid; width:126px; height:126px; place-items:center; border-radius:50%; background:conic-gradient(#7c3aed 0 calc(var(--foundation)*1%),#1473e6 0 calc((var(--foundation) + var(--microsoft))*1%),#98a3ae 0); }
.equity-donut::before { content:''; grid-area:1/1; width:82px; height:82px; border-radius:50%; background:var(--v2-panel); }
.equity-donut span { position:relative; z-index:1; grid-area:1/1; text-align:center; }
.equity-donut b,.equity-donut small { display:block; }.equity-donut b { font-size:16px; }.equity-donut small { max-width:65px; margin-top:3px; color:var(--v2-muted); font-size:7px; }
.equity-composition ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.equity-composition li { display:grid; grid-template-columns:9px 1fr auto; gap:7px; align-items:center; color:var(--v2-muted); font-size:8px; }
.equity-composition li i { width:8px; height:8px; border-radius:3px; background:#98a3ae; }.equity-composition li.foundation i { background:#7c3aed; }.equity-composition li.microsoft i { background:#1473e6; }
.equity-composition li b { color:var(--v2-text); font-size:9px; }
.control-logic { display:flex; flex-direction:column; align-items:center; text-align:center; }
.control-logic > span { width:min(100%,330px); padding:12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); }
.control-logic > span small,.control-logic > span b { display:block; }.control-logic > span small { color:var(--v2-muted); font-size:8px; }.control-logic > span b { margin-top:5px; font-size:11px; }
.control-logic > span.controller { border-color:color-mix(in srgb,#7c3aed 54%,var(--v2-border)); background:color-mix(in srgb,#7c3aed 7%,transparent); }
.control-logic > span.operator { border-color:color-mix(in srgb,var(--accent,var(--v2-cyan)) 52%,var(--v2-border)); }
.control-logic > i { margin:8px; color:#7c3aed; font-size:8px; font-style:normal; }
.control-logic > p { margin:auto 0 0; padding-top:11px; color:var(--v2-muted); font-size:8px; line-height:1.55; }

.v2-strategy-compute-flex { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); gap:15px; }
.v2-strategy-compute-flex > strong,.v2-strategy-compute-flex > p { grid-column:1/-1; }
.compute-benchmark,.compute-conversion { min-width:0; padding:15px; border:1px solid var(--v2-border); border-radius:12px; background:color-mix(in srgb,var(--v2-panel) 88%,transparent); }
.compute-benchmark > span { display:grid; grid-template-columns:110px minmax(0,1fr) 52px; gap:8px; align-items:center; margin-top:11px; }
.compute-benchmark small { color:var(--v2-muted); font-size:8px; }.compute-benchmark i { display:block; overflow:hidden; height:20px; border-radius:999px; background:var(--v2-border); }.compute-benchmark i b { display:block; height:100%; border-radius:inherit; background:#9aa7b3; }.compute-benchmark span.company i b { background:var(--accent,var(--v2-cyan)); }.compute-benchmark em { color:var(--v2-text); font-size:9px; font-style:normal; font-weight:750; }
.compute-conversion { display:flex; flex-direction:column; align-items:center; }
.compute-conversion > section { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; width:100%; }
.compute-conversion > section span { padding:9px; border:1px solid var(--v2-border); border-radius:8px; text-align:center; }.compute-conversion b,.compute-conversion small { display:block; }.compute-conversion b { font-size:9px; }.compute-conversion small { margin-top:4px; color:var(--v2-muted); font-size:7px; line-height:1.45; }
.compute-conversion > i { margin:7px 0; color:var(--v2-muted); font-size:8px; font-style:normal; }
.compute-conversion > strong { width:min(100%,390px); padding:10px; border:1px solid var(--accent,var(--v2-cyan)); border-radius:9px; background:color-mix(in srgb,var(--accent,var(--v2-cyan)) 7%,transparent); font-size:10px; text-align:center; }
.compute-conversion footer { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }.compute-conversion footer span { padding:5px 8px; border-radius:999px; background:rgba(85,198,242,.08); color:var(--v2-muted); font-size:8px; }
.v2-strategy-compute-flex > p { margin:0; color:var(--v2-muted); font-size:8px; text-align:right; }

.v2-strategy-logic-stack > div { display:flex; flex-direction:column; align-items:stretch; gap:7px; }
.v2-strategy-logic-stack section { padding:10px 12px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.012); }
.v2-strategy-logic-stack section > small { display:block; margin-bottom:7px; color:var(--v2-muted); font-size:8px; font-weight:700; }
.v2-strategy-logic-stack section > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:7px; }
.v2-strategy-logic-stack section span { padding:9px; border-radius:8px; background:color-mix(in srgb,var(--v2-panel) 78%,transparent); text-align:center; }
.v2-strategy-logic-stack section b,.v2-strategy-logic-stack section em { display:block; }.v2-strategy-logic-stack section b { font-size:9px; }.v2-strategy-logic-stack section em { margin-top:4px; color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.4; }
.v2-strategy-logic-stack section.output { border-color:color-mix(in srgb,var(--v2-green) 38%,var(--v2-border)); }.v2-strategy-logic-stack section.model { margin:0 7%; border-color:color-mix(in srgb,var(--v2-blue) 42%,var(--v2-border)); }.v2-strategy-logic-stack section.foundation { margin:0 14%; border-color:color-mix(in srgb,#7c3aed 44%,var(--v2-border)); background:color-mix(in srgb,#7c3aed 5%,transparent); }
.v2-strategy-logic-stack > div > i { color:var(--accent,var(--v2-cyan)); font-size:8px; font-style:normal; text-align:center; }
.v2-strategy-logic-stack > p { margin:10px 0 0; color:var(--v2-muted); font-size:8px; text-align:center; }

@media(max-width:760px) {
    .v2-strategy-target-chain .target-chain-main,.v2-strategy-delivery-stack .delivery-lifecycle { flex-direction:column; }
    .v2-strategy-target-chain .target-chain-main > span.target { flex-basis:auto; }
    .v2-strategy-target-chain .target-chain-main > i,.v2-strategy-delivery-stack .delivery-lifecycle > i { transform:rotate(90deg); text-align:center; }
    .portfolio-ladder-levels { grid-template-columns:1fr 1fr; align-items:stretch; }
    .portfolio-ladder-levels > span,.portfolio-ladder-levels > span.ultra,.portfolio-ladder-levels > span.special,.portfolio-ladder-levels > span.premium,.portfolio-ladder-levels > span.mass { min-height:98px; }
    .portfolio-ladder-foundation,.v2-strategy-delivery-stack .delivery-technology { grid-template-columns:1fr; }
    .v2-strategy-visual.is-global.has-comparison { grid-template-columns:1fr; grid-template-rows:auto; }
    .v2-strategy-visual.is-global.has-comparison .v2-world-map,.v2-strategy-visual.is-global.has-comparison .v2-map-legend,.v2-strategy-visual.is-global.has-comparison .v2-geo-comparison { grid-column:1; grid-row:auto; }
    .v2-strategy-visual.is-global.has-comparison .v2-geo-comparison { padding:14px 0 0; border-top:1px solid var(--v2-border); border-left:0; }
    .v2-geo-comparison > .v2-geo-change { grid-template-columns:1fr 70px 1fr; }
    .v2-geo-change > span.change { min-height:54px; }
    .commitment-target-chart > section > span { grid-template-columns:42px minmax(0,1fr) 58px; }
    .commitment-target-chart > section mark { grid-column:3; }.commitment-target-chart > footer { grid-template-columns:1fr; }.commitment-target-chart > footer i,.commitment-target-chart > footer b { grid-column:1; grid-row:auto; }
    .governance-equity-layout,.v2-strategy-compute-flex { grid-template-columns:1fr; }
    .equity-composition { grid-template-columns:112px minmax(0,1fr); }.equity-donut { width:108px; height:108px; }.equity-donut::before { width:70px; height:70px; }
    .compute-conversion > section { grid-template-columns:1fr; }
    .v2-strategy-logic-stack section.model,.v2-strategy-logic-stack section.foundation { margin:0; }
}

/* Overview judgment graphics: categorical relationships never borrow a numeric axis. */
.v2-overview-signal-grid,.v2-overview-change-signals,.v2-overview-milestones,.v2-overview-adoption-cascade,.v2-overview-governance-map,.v2-overview-decision-gate,.v2-overview-resource-portfolio,.v2-overview-evidence-matrix,.v2-overview-signal-convergence { margin:10px 0 16px; padding:14px; border:1px solid var(--v2-border); border-radius:12px; background:color-mix(in srgb,var(--v2-panel) 86%,transparent); }
.v2-overview-signal-grid > strong,.v2-overview-change-signals > strong,.v2-overview-milestones > strong,.v2-overview-adoption-cascade > strong,.v2-overview-governance-map > strong,.v2-overview-decision-gate > strong,.v2-overview-resource-portfolio > strong,.v2-overview-evidence-matrix > strong,.v2-overview-signal-convergence > strong { display:block; margin-bottom:12px; color:var(--v2-text); font-size:10px; line-height:1.45; }
.v2-overview-signal-grid > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; }
.v2-overview-signal-grid section { padding:11px; border-top:3px solid var(--v2-blue); border-radius:9px; background:rgba(85,198,242,.055); }
.v2-overview-signal-grid section.positive,.v2-overview-signal-grid section.profit { border-color:var(--v2-green); background:rgba(114,223,159,.055); }.v2-overview-signal-grid section.warning { border-color:var(--v2-yellow); background:rgba(244,185,66,.055); }.v2-overview-signal-grid section.risk { border-color:var(--v2-red); background:rgba(242,111,135,.055); }
.v2-overview-signal-grid small,.v2-overview-signal-grid b { display:block; }.v2-overview-signal-grid small { color:var(--v2-muted); font-size:8px; }.v2-overview-signal-grid b { margin-top:6px; font-size:10px; line-height:1.4; }

.v2-overview-change-signals > div { display:grid; gap:9px; }.v2-overview-change-signals section { display:grid; grid-template-columns:minmax(88px,.8fr) minmax(100px,1.5fr) auto; gap:9px; align-items:center; }.v2-overview-change-signals small { color:var(--v2-muted); font-size:8px; }.v2-overview-change-signals i { display:flex; height:16px; align-items:center; border-radius:999px; background:var(--v2-border); }.v2-overview-change-signals i b { display:block; height:100%; border-radius:inherit; background:var(--v2-green); }.v2-overview-change-signals .is-negative i { justify-content:flex-end; }.v2-overview-change-signals .is-negative i b { background:var(--v2-red); }.v2-overview-change-signals em { min-width:62px; color:var(--v2-text); font-size:9px; font-style:normal; font-weight:750; text-align:right; }

.v2-overview-milestones > div,.v2-overview-adoption-cascade > div,.governance-power-flow,.decision-gate-main { display:flex; align-items:stretch; gap:7px; }.v2-overview-milestones section,.v2-overview-adoption-cascade section,.governance-power-flow section { position:relative; flex:1 1 0; min-width:0; padding:11px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.014); }.v2-overview-milestones small,.v2-overview-milestones b,.v2-overview-adoption-cascade small,.v2-overview-adoption-cascade b,.v2-overview-adoption-cascade em,.governance-power-flow small,.governance-power-flow b { display:block; }.v2-overview-milestones small,.v2-overview-adoption-cascade small,.governance-power-flow small { color:var(--v2-muted); font-size:7px; }.v2-overview-milestones b,.v2-overview-adoption-cascade b,.governance-power-flow b { margin-top:5px; font-size:9px; line-height:1.45; }.v2-overview-adoption-cascade em { margin-top:7px; color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.45; }.v2-overview-milestones i,.v2-overview-adoption-cascade i,.governance-power-flow i { position:absolute; right:-8px; top:50%; z-index:1; color:var(--v2-cyan); font-style:normal; transform:translateY(-50%); }

.governance-share-label { display:block; margin-bottom:6px; color:var(--v2-muted); font-size:8px; }.governance-share-strip { display:flex; overflow:hidden; min-height:56px; margin-bottom:12px; border:1px solid var(--v2-border); border-radius:9px; }.governance-share-strip span { min-width:76px; padding:9px; background:rgba(85,198,242,.09); }.governance-share-strip span:nth-child(2) { background:rgba(181,140,255,.10); }.governance-share-strip span:nth-child(3) { background:rgba(154,167,179,.11); }.governance-share-strip b,.governance-share-strip em { display:block; }.governance-share-strip b { font-size:10px; }.governance-share-strip em { margin-top:4px; color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.35; }

.decision-gate-main span { position:relative; flex:1 1 0; padding:10px 7px; border:1px solid var(--v2-border); border-radius:8px; text-align:center; }.decision-gate-main span b { font-size:8px; }.decision-gate-main span i { position:absolute; right:-8px; color:var(--v2-cyan); font-style:normal; }.decision-gate-branches { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }.decision-gate-branches section { padding:10px; border-left:3px solid var(--v2-yellow); border-radius:7px; background:rgba(244,185,66,.055); }.decision-gate-branches section.is-stop { border-color:var(--v2-red); background:rgba(242,111,135,.055); }.decision-gate-branches small,.decision-gate-branches b { display:block; }.decision-gate-branches small { color:var(--v2-muted); font-size:7px; }.decision-gate-branches b { margin-top:4px; font-size:8px; line-height:1.45; }

.resource-portfolio-core { width:min(100%,330px); margin:0 auto 12px; padding:12px; border:1px solid var(--v2-cyan); border-radius:10px; background:rgba(56,214,199,.06); text-align:center; }.resource-portfolio-core small,.resource-portfolio-core b { display:block; }.resource-portfolio-core small { color:var(--v2-muted); font-size:7px; }.resource-portfolio-core b { margin-top:5px; font-size:10px; }.resource-portfolio-partners { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:7px; }.resource-portfolio-partners section { padding:10px; border:1px solid var(--v2-border); border-radius:9px; }.resource-portfolio-partners small,.resource-portfolio-partners b,.resource-portfolio-partners em { display:block; }.resource-portfolio-partners small { color:var(--v2-cyan); font-size:7px; }.resource-portfolio-partners b { margin-top:4px; font-size:9px; }.resource-portfolio-partners em { margin-top:5px; color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.4; }.v2-overview-resource-portfolio footer { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:11px; }.v2-overview-resource-portfolio footer span { padding:4px 7px; border-radius:999px; background:rgba(85,198,242,.08); color:var(--v2-muted); font-size:7px; }

.v2-overview-evidence-matrix > div,.v2-overview-signal-convergence > div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.v2-overview-evidence-matrix section { padding:11px; border-top:3px solid var(--v2-green); border-radius:9px; background:rgba(114,223,159,.055); }.v2-overview-evidence-matrix section.limited { border-color:var(--v2-yellow); background:rgba(244,185,66,.055); }.v2-overview-evidence-matrix small,.v2-overview-evidence-matrix span { display:block; }.v2-overview-evidence-matrix small { margin-bottom:7px; color:var(--v2-muted); font-size:8px; }.v2-overview-evidence-matrix span { padding:4px 0; border-bottom:1px solid var(--v2-border); font-size:8px; }.v2-overview-evidence-matrix footer { margin-top:10px; padding:8px; border-radius:8px; background:rgba(85,198,242,.06); color:var(--v2-muted); font-size:8px; text-align:center; }
.v2-overview-signal-convergence section { padding:11px; border:1px solid var(--v2-border); border-radius:9px; }.v2-overview-signal-convergence section small,.v2-overview-signal-convergence section b,.v2-overview-signal-convergence section em { display:block; }.v2-overview-signal-convergence section small { color:var(--v2-muted); font-size:7px; }.v2-overview-signal-convergence section b { margin-top:5px; font-size:10px; }.v2-overview-signal-convergence section em { margin-top:5px; color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.45; }.v2-overview-signal-convergence > i { display:block; margin:5px 0; color:var(--v2-cyan); font-style:normal; text-align:center; }.v2-overview-signal-convergence footer { padding:10px; border:1px solid var(--v2-cyan); border-radius:9px; background:rgba(56,214,199,.055); text-align:center; }.v2-overview-signal-convergence footer small,.v2-overview-signal-convergence footer b { display:block; }.v2-overview-signal-convergence footer small { color:var(--v2-muted); font-size:7px; }.v2-overview-signal-convergence footer b { margin-top:5px; font-size:9px; }

@media(max-width:760px) {
    .v2-overview-milestones > div,.v2-overview-adoption-cascade > div,.governance-power-flow,.decision-gate-main { flex-direction:column; }
    .v2-overview-milestones i,.v2-overview-adoption-cascade i,.governance-power-flow i,.decision-gate-main span i { right:auto; left:50%; top:auto; bottom:-10px; transform:translateX(-50%) rotate(90deg); }
    .v2-overview-evidence-matrix > div,.v2-overview-signal-convergence > div,.decision-gate-branches { grid-template-columns:1fr; }
    .v2-overview-change-signals section { grid-template-columns:1fr; }.v2-overview-change-signals em { text-align:left; }
}
