[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-series-blue: #55c6f2;
    --v2-series-violet: #b58cff;
    --v2-series-amber: #ffca58;
    --v2-series-teal: #38d6c7;
    --v2-series-magenta: #ff8ea3;
    --v2-series-slate: #8795a4;
    --v2-segment-separator: rgba(7, 11, 17, .92);
    --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-head > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}

.v2-section-head > :is(a, button, .v2-section-meta) {
    flex: 0 0 auto;
}

.v2-section-head h3 {
    display: -webkit-box;
    width: 100%;
    max-width: none;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.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-width:0; min-height: 132px; padding: 15px; border: 1px solid var(--v2-border); border-radius: 11px; background: rgba(255,255,255,.026); overflow-wrap:anywhere; }
.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 i { left:10px; top:16px; width:28px; height:2px; border-radius:2px; background:currentColor; }
.v2-flow-glyph b { left:10px; top:9px; width:10px; height:10px; border:2px solid currentColor; border-radius:50%; }
.v2-flow-glyph em { right:9px; bottom:7px; width:10px; height:10px; border:2px solid currentColor; border-radius:2px; }
.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-metric-drawer-judgment { margin:14px 0; padding:14px 16px; border-left:3px solid var(--v2-cyan); background:rgba(56,214,199,.055); }
.v2-metric-drawer-judgment small { color:var(--v2-cyan); font-weight:800; }
.v2-metric-drawer-judgment p { margin:7px 0 0; color:var(--v2-text); font-size:13px; 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-metric-attribution > article { margin:10px 0; padding:12px; border:1px solid var(--v2-border); border-radius:12px; background:rgba(255,255,255,.025); }
.v2-metric-attribution > article header { display:flex; align-items:flex-start; gap:9px; }
.v2-metric-attribution > article header span { flex:0 0 auto; color:var(--v2-cyan); font-size:9px; font-weight:800; }
.v2-metric-attribution > article header strong { font-size:11px; line-height:1.5; }
.v2-metric-attribution > article > div { display:grid; grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr); gap:5px; align-items:center; margin-top:10px; }
.v2-metric-attribution > article > div > span { min-width:0; padding:8px; border-radius:8px; background:rgba(56,214,199,.04); }
.v2-metric-attribution > article > div small,.v2-metric-attribution > article > div b { display:block; }
.v2-metric-attribution > article > div small { color:var(--v2-dim); font-size:8px; }
.v2-metric-attribution > article > div b { margin-top:4px; font-size:9px; line-height:1.45; }
.v2-metric-attribution > article > div > i { color:var(--v2-cyan); text-align:center; font-style:normal; }
@media (max-width:720px) { .v2-metric-attribution > article > div { grid-template-columns:1fr; } .v2-metric-attribution > article > div > i { transform:rotate(90deg); } }
.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.is-long-title { grid-column:1 / -1; }
.v2-strategy-card header { display: block; }
.v2-strategy-card > header h3 { width:100%; max-width:none; margin:12px 0 0; font-size:clamp(19px,2vw,27px); line-height:1.38; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.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(3,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{display:flex;align-items:stretch;gap:7px;overflow-x:auto}.v2-strategy-milestones > div>span{flex:1 0 128px}.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; flex:0 0 auto;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-group-heading > div { min-width:0; }
.v2-capability-group-heading h3 { max-width:min(72vw,720px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v2-capability-group-heading p { max-width:980px; margin:7px 0 0; color:var(--v2-muted); font-size:11px; line-height:1.65; }
.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:0 0 12px; }
.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); }
.nv-shell-mounted .v2-drawer-backdrop { top:var(--nv-header-height); }
.nv-shell-mounted .v2-metric-drawer { top:var(--nv-header-height); height:calc(100vh - var(--nv-header-height)); }
.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-strategy-card > header h3 { display:block; overflow:visible; -webkit-line-clamp:unset; }
    .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; min-width:0; max-width:100%; gap:14px; margin-top:16px; }
.v2-inline-capability-card { box-sizing:border-box; min-width:0; max-width:100%; scroll-margin-top:120px; padding:18px; border:1px solid var(--v2-border); border-radius:10px; background:var(--v2-panel); overflow:hidden; }
.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 .v2-capability-status { display:inline-flex; 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-inline-capability-card > header h3 span { display:inline; color:var(--v2-text); font-size:inherit; letter-spacing:normal; }
.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); overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; }
.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; min-width:100%; width:max-content; display:flex; align-items:flex-end; gap:12px; padding:20px 8px 24px; }.v2-card-trend-bars > span { flex:1 0 40px; min-width:40px; 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; white-space:nowrap; }.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; white-space:nowrap; }.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-stack > div span:not(:last-child){box-shadow:inset -2px 0 var(--v2-panel)}
.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-card-observation{min-height:112px;padding:18px;border:1px dashed color-mix(in srgb,var(--v2-cyan) 28%,var(--v2-border));border-radius:10px;background:color-mix(in srgb,var(--v2-cyan) 4%,transparent)}
.v2-card-observation small{color:var(--v2-muted);font-size:10px;font-weight:750}.v2-card-observation strong{font-size:clamp(25px,3vw,36px)}.v2-card-observation span{font-size:11px}
.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(var(--matrix-cols,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-commercial-current-signal > header { grid-template-columns:1fr; }
    .v2-commercial-current-signal > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .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(var(--matrix-cols,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-capability-world-map { min-height:360px; background-size:auto 78%; }
    .v2-capability-geo-pin { width:112px; min-height:50px; padding:7px 7px 7px 16px; }.v2-capability-geo-pin strong { font-size:9px; }.v2-capability-geo-pin span { font-size:7px; }
}
.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:760px) {
    .v2-metric-card-chart .v2-card-line.is-long-series { min-width:1050px; }
}

@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:768px) {
    .v2-primary-tabs { display:flex; }
    .v2-tab { flex:0 0 104px; }
    .v2-gene-list,.v2-gene-insight-card { min-width:0; width:100%; }
    .v2-gene-insight-card { box-sizing:border-box; overflow:hidden; }
    .v2-gene-insight-card * { min-width:0; overflow-wrap:anywhere; }
    .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;
    --v2-series-blue: #55c6f2;
    --v2-series-violet: #b58cff;
    --v2-series-amber: #ffca58;
    --v2-series-teal: #38d6c7;
    --v2-series-magenta: #ff8ea3;
    --v2-series-slate: #8795a4;
    --v2-segment-separator: #ffffff;
    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);
}

/* Commercial model research layer · shared with metric detail objects */
.v2-strategy-evolution { margin:18px 0 16px; padding:20px; border:1px solid var(--v2-border); border-radius:12px; background:linear-gradient(135deg,rgba(85,198,242,.035),rgba(181,140,255,.025)); }
.v2-strategy-evolution > header span { color:var(--v2-cyan); font-size:9px; letter-spacing:.08em; }.v2-strategy-evolution > header h3 { display:-webkit-box; width:100%; max-width:none; margin:6px 0; overflow:hidden; font-size:18px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.v2-strategy-evolution > header p { margin:0; color:var(--v2-muted); font-size:10px; line-height:1.65; }
.v2-strategy-evolution-line { display:flex; align-items:stretch; gap:7px; margin-top:16px; }.v2-strategy-evolution-line article { flex:1; min-width:0; padding:12px; border-top:3px solid var(--stage-tone); border-radius:9px; background:color-mix(in srgb,var(--stage-tone) 6%,transparent); }.v2-strategy-evolution-line small,.v2-strategy-evolution-line h4,.v2-strategy-evolution-line b { display:block; }.v2-strategy-evolution-line small { color:var(--stage-tone); font-size:8px; }.v2-strategy-evolution-line h4 { margin:6px 0 0; font-size:10px; line-height:1.45; }.v2-strategy-evolution-line b { margin-top:9px; color:var(--v2-text); font-size:11px; }.v2-strategy-evolution-line p { margin:7px 0 0; color:var(--v2-muted); font-size:8px; line-height:1.55; }.v2-strategy-evolution-line > i { align-self:center; color:var(--v2-cyan); font-style:normal; }
.v2-strategy-evolution > aside { margin-top:12px; padding:11px 13px; border-left:3px solid var(--v2-cyan); background:rgba(56,214,199,.035); }.v2-strategy-evolution > aside strong { color:var(--v2-cyan); font-size:9px; }.v2-strategy-evolution > aside p { margin:5px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.6; }
.v2-fiscal-calendar-note { display:inline-block; max-width:920px; margin:8px 0 0 !important; padding:7px 10px; border:1px solid color-mix(in srgb,var(--v2-cyan) 32%,var(--v2-border)); border-radius:8px; background:color-mix(in srgb,var(--v2-cyan) 6%,transparent); color:var(--v2-muted); font-size:10px; line-height:1.55; }
.v2-insight-metric-links { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 4px; }
.v2-insight-metric-links button { padding:7px 10px; border:1px solid color-mix(in srgb,var(--v2-cyan) 42%,var(--v2-border)); border-radius:999px; background:rgba(56,214,199,.045); color:#8fd7d0; font-size:9px; cursor:pointer; transition:border-color .18s,background .18s,color .18s; }
.v2-insight-metric-links button:hover,.v2-insight-metric-links button:focus-visible { border-color:var(--v2-cyan); background:rgba(56,214,199,.1); color:var(--v2-text); outline:none; }

.v2-commercial-intro { align-items:stretch; }
.v2-commercial-intro > aside { width:min(340px,34%); padding:16px 18px; border:1px solid rgba(255,202,88,.28); border-radius:10px; background:rgba(255,202,88,.045); }
.v2-commercial-intro > aside strong { color:var(--v2-yellow); font-size:9px; letter-spacing:.08em; }
.v2-commercial-intro > aside p { margin:8px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.65; }
.v2-commercial-current-signal { margin:14px 0 18px; padding:16px 18px; border:1px solid rgba(255,202,88,.25); border-left:3px solid var(--v2-yellow); border-radius:10px; background:linear-gradient(110deg,rgba(255,202,88,.04),rgba(56,214,199,.015)); }
.v2-commercial-current-signal > header { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:22px; align-items:start; }.v2-commercial-current-signal > header small { color:var(--v2-yellow); font-size:8px; font-weight:750; letter-spacing:.09em; }.v2-commercial-current-signal h3 { margin:6px 0 0; font-size:15px; line-height:1.5; }.v2-commercial-current-signal > header p { margin:0; color:var(--v2-muted); font-size:9px; line-height:1.7; }
.v2-commercial-current-signal > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:13px; }.v2-commercial-current-signal article { padding:10px 11px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }.v2-commercial-current-signal article small,.v2-commercial-current-signal article strong,.v2-commercial-current-signal article em { display:block; }.v2-commercial-current-signal article small { color:var(--v2-dim); font-size:7px; }.v2-commercial-current-signal article strong { margin-top:5px; font-size:11px; }.v2-commercial-current-signal article em { margin-top:4px; color:var(--v2-yellow); font-size:7px; font-style:normal; }
.v2-commercial-current-signal > footer { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:10px; }.v2-commercial-current-signal > footer > span { color:var(--v2-dim); font-size:7px; line-height:1.55; }.v2-commercial-current-signal > footer details { flex:none; min-width:260px; margin:0; }
.v2-commercial-rail { position:sticky; top:0; z-index:8; display:flex; gap:7px; overflow-x:auto; margin:22px 0 14px; padding:9px; border:1px solid var(--v2-border); border-radius:11px; background:color-mix(in srgb,var(--v2-panel) 94%,transparent); backdrop-filter:blur(14px); }
.v2-commercial-rail a { flex:1 0 128px; display:flex; gap:8px; align-items:center; padding:9px 10px; border-radius:8px; color:var(--v2-muted); font-size:9px; line-height:1.35; text-decoration:none; }
.v2-commercial-rail a:hover { background:rgba(56,214,199,.07); color:var(--v2-text); }
.v2-commercial-rail small { color:var(--v2-cyan); font-size:8px; }
.v2-commercial-grid { display:grid; gap:15px; }
.v2-commercial-card { scroll-margin-top:82px; padding:22px; overflow:hidden; border:1px solid var(--v2-border); border-top:3px solid var(--commercial-tone); border-radius:13px; background:linear-gradient(135deg,color-mix(in srgb,var(--commercial-tone) 4%,transparent),rgba(3,7,11,.3)); }
.v2-commercial-card > header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:22px; }
.v2-commercial-card > header span { color:var(--commercial-tone); font-size:9px; letter-spacing:.06em; }
.v2-commercial-card > header h3 { display:-webkit-box; width:100%; max-width:none; margin:6px 0 0; overflow:hidden; font-size:19px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.v2-commercial-card > header button { flex:none; padding:8px 11px; border:1px solid color-mix(in srgb,var(--commercial-tone) 45%,var(--v2-border)); border-radius:7px; background:color-mix(in srgb,var(--commercial-tone) 5%,transparent); color:var(--v2-text); font-size:9px; cursor:pointer; }
.v2-commercial-thesis { max-width:1050px; margin:13px 0 16px; color:var(--v2-muted); font-size:11px; line-height:1.75; }
.v2-commercial-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:14px; }
.v2-commercial-stats span { padding:10px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.012); }
.v2-commercial-stats small,.v2-commercial-stats b { display:block; }
.v2-commercial-stats small { color:var(--v2-dim); font-size:8px; }
.v2-commercial-stats b { margin-top:5px; color:var(--v2-text); font-size:11px; }

.v2-commercial-portfolio { display:grid; grid-template-columns:minmax(210px,.8fr) minmax(0,2fr); gap:10px; }
.v2-commercial-portfolio > section { display:flex; flex-direction:column; justify-content:center; padding:16px; border:1px solid var(--commercial-tone); border-radius:10px; background:color-mix(in srgb,var(--commercial-tone) 7%,transparent); text-align:center; }
.v2-commercial-portfolio small,.v2-commercial-portfolio b,.v2-commercial-portfolio em { display:block; }
.v2-commercial-portfolio small { color:var(--v2-muted); font-size:8px; }.v2-commercial-portfolio b { margin-top:7px; font-size:13px; }.v2-commercial-portfolio em { margin-top:6px; color:var(--v2-dim); font-size:8px; font-style:normal; }
.v2-commercial-portfolio > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.v2-commercial-portfolio > div span { padding:12px; border:1px solid var(--v2-border); border-radius:9px; }
.v2-commercial-portfolio > div em { line-height:1.5; }

.v2-commercial-profit-engine { display:flex; align-items:stretch; gap:7px; }
.v2-commercial-profit-engine > span { flex:1; min-width:0; padding:13px 10px; border-top:3px solid var(--step-tone); border-radius:9px; background:color-mix(in srgb,var(--step-tone) 7%,transparent); text-align:center; }
.v2-commercial-profit-engine small,.v2-commercial-profit-engine b,.v2-commercial-profit-engine em { display:block; }
.v2-commercial-profit-engine small { color:var(--v2-muted); font-size:8px; }.v2-commercial-profit-engine b { margin-top:6px; font-size:12px; }.v2-commercial-profit-engine em { margin-top:5px; color:var(--step-tone); font-size:8px; font-style:normal; }
.v2-commercial-profit-engine > i,.v2-commercial-chain > i { align-self:center; color:var(--v2-cyan); font-style:normal; }

.v2-commercial-personas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.v2-commercial-personas section { padding:13px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(85,198,242,.035); }
.v2-commercial-personas small,.v2-commercial-personas b { display:block; }.v2-commercial-personas small { color:var(--commercial-tone); font-size:8px; }.v2-commercial-personas b { margin-top:5px; font-size:11px; }
.v2-commercial-personas div { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }.v2-commercial-personas div span { padding:4px 6px; border-radius:999px; background:rgba(85,198,242,.08); color:var(--v2-muted); font-size:7px; }

.v2-commercial-chain { display:flex; align-items:stretch; gap:7px; }
.v2-commercial-chain section { flex:1; min-width:0; padding:12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(181,140,255,.035); }
.v2-commercial-chain small,.v2-commercial-chain b,.v2-commercial-chain em { display:block; }.v2-commercial-chain small { color:var(--commercial-tone); font-size:8px; }.v2-commercial-chain b { margin-top:6px; font-size:10px; line-height:1.45; }.v2-commercial-chain em { margin-top:7px; color:var(--v2-dim); font-size:7px; font-style:normal; }
.v2-positioned-value-chain{position:relative;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:7px;padding-top:10px}.v2-positioned-value-chain>.v2-chain-control-label{grid-row:1;align-self:end;padding:8px 12px;border:1px solid var(--commercial-tone);border-bottom:0;border-radius:10px 10px 0 0;color:var(--commercial-tone);background:color-mix(in srgb,var(--commercial-tone) 8%,var(--v2-panel));font-size:11px;font-weight:800;text-align:center}.v2-positioned-value-chain section{display:flex;flex-direction:column;justify-content:flex-start}.v2-positioned-value-chain section.is-company-controlled{border:2px solid color-mix(in srgb,var(--commercial-tone) 72%,var(--v2-border));background:color-mix(in srgb,var(--commercial-tone) 10%,transparent);box-shadow:inset 0 3px 0 color-mix(in srgb,var(--commercial-tone) 76%,transparent)}.v2-positioned-value-chain section p{margin:auto 0 0;padding-top:10px;border-top:1px solid var(--v2-border)}.v2-positioned-value-chain section p strong,.v2-positioned-value-chain section p span{display:block}.v2-positioned-value-chain section p strong{color:var(--commercial-tone);font-size:10px}.v2-positioned-value-chain section p span{margin-top:3px;color:var(--v2-dim);font-size:7px}.v2-positioned-value-chain>footer{grid-column:1/-1;padding:10px 14px;border-top:1px dashed var(--commercial-tone);color:var(--v2-muted);font-size:9px;text-align:center}
.v2-event-mode-tabs{display:flex;gap:8px;margin-bottom:18px;padding:5px;border:1px solid var(--v2-border);border-radius:12px;background:var(--v2-panel)}.v2-event-mode-tabs button{flex:1;padding:11px 16px;border:0;border-radius:8px;background:transparent;color:var(--v2-muted);font-weight:800;cursor:pointer}.v2-event-mode-tabs button.active{background:color-mix(in srgb,var(--v2-cyan) 11%,transparent);color:var(--v2-cyan);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v2-cyan) 48%,transparent)}
.v2-page-mode-switch{display:flex;justify-content:flex-end;gap:6px;margin:20px 18px -4px}.v2-page-mode-switch button{padding:10px 18px;border:1px solid var(--v2-border);background:var(--v2-panel);color:var(--v2-muted);font-weight:800;cursor:pointer}.v2-page-mode-switch button:first-child{border-radius:999px 0 0 999px}.v2-page-mode-switch button:last-child{border-radius:0 999px 999px 0}.v2-page-mode-switch button.active{border-color:var(--v2-cyan);background:color-mix(in srgb,var(--v2-cyan) 10%,var(--v2-panel));color:var(--v2-cyan)}.v2-page-intro-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.v2-page-intro-actions .v2-event-mode-tabs{margin:0}.v2-page-intro-actions .v2-event-mode-tabs button{white-space:nowrap}
.v2-positioned-value-chain>section,.v2-positioned-value-chain>i{grid-row:2}.v2-positioned-value-chain>footer{grid-row:3}
.v2-metrics-foresight{margin-bottom:24px}.v2-metrics-foresight+.v2-panel{margin-top:0}

.v2-commercial-competition { display:grid; grid-template-columns:120px minmax(0,1fr) minmax(170px,.8fr); gap:7px 12px; padding:13px; border:1px solid var(--v2-border); border-radius:10px; }
.v2-commercial-competition > header { grid-column:2; display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }.v2-commercial-competition > header span { color:var(--v2-dim); font-size:7px; text-align:center; }
.v2-commercial-competition > section { grid-column:1/-1; display:grid; grid-template-columns:120px minmax(0,1fr) minmax(170px,.8fr); gap:12px; align-items:center; }
.v2-commercial-competition > section strong { font-size:10px; }.v2-commercial-competition > section small { color:var(--v2-muted); font-size:8px; }
.v2-commercial-competition > section div { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }.v2-commercial-competition > section i { height:8px; border-radius:999px; background:var(--v2-border); }.v2-commercial-competition > section i b { display:block; height:100%; border-radius:inherit; background:var(--commercial-tone); }

.v2-commercial-variables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.v2-commercial-variables section { display:grid; grid-template-columns:minmax(120px,.7fr) auto minmax(0,1.3fr); gap:9px; align-items:center; padding:11px; border:1px solid var(--v2-border); border-radius:9px; }.v2-commercial-variables b { font-size:9px; }.v2-commercial-variables i { color:var(--commercial-tone); font-style:normal; }.v2-commercial-variables span { color:var(--v2-muted); font-size:8px; line-height:1.45; }

.v2-commercial-governance { display:grid; grid-template-columns:1.2fr .8fr; gap:9px; }
.v2-commercial-governance > div { display:flex; gap:7px; align-items:stretch; padding:12px; border:1px solid var(--v2-border); border-radius:10px; }
.v2-commercial-governance > div > small { writing-mode:vertical-rl; color:var(--commercial-tone); font-size:8px; letter-spacing:.08em; }
.v2-commercial-governance span { flex:1; min-width:0; padding:9px; border-radius:8px; background:rgba(242,111,135,.04); }
.v2-commercial-governance span b,.v2-commercial-governance span em { display:block; }.v2-commercial-governance span b { font-size:8px; }.v2-commercial-governance span em { margin-top:5px; color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.4; }
.v2-commercial-governance i { align-self:center; color:var(--commercial-tone); font-style:normal; }

.v2-commercial-source { margin-top:16px; }
.v2-insight-detail-button { width:100%; margin-top:11px; padding:10px 12px; border:1px solid rgba(242,111,135,.38); border-radius:8px; background:rgba(242,111,135,.055); color:var(--v2-text); font-size:9px; text-align:left; cursor:pointer; }
.v2-insight-detail-button:hover { border-color:#f26f87; background:rgba(242,111,135,.09); }

.v2-operating-model { margin:0 0 17px; padding:23px; border:1px solid rgba(56,214,199,.3); border-radius:13px; background:linear-gradient(145deg,rgba(56,214,199,.045),rgba(85,198,242,.018) 48%,rgba(3,7,11,.22)); }
.v2-operating-head { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; }
.v2-operating-head > div > span,.v2-pvm-proof > header small,.v2-sensitivity-grid > header small,.v2-unit-economics > header small,.v2-coverage-matrix > header small { color:var(--v2-cyan); font-size:8px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.v2-operating-head > div { flex:1 1 auto; min-width:0; }
.v2-operating-head h3 { width:100%; max-width:none; margin:7px 0 0; font-size:20px; line-height:1.4; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.v2-operating-head p { max-width:950px; margin:9px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.7; }
.v2-operating-head mark { flex:none; padding:6px 9px; border:1px solid rgba(56,214,199,.25); border-radius:999px; background:rgba(56,214,199,.06); color:var(--v2-cyan); font-size:8px; }
.v2-driver-equations { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:18px; }
.v2-driver-equations article { position:relative; min-width:0; padding:13px 12px; border:1px solid var(--v2-border); border-top:2px solid rgba(56,214,199,.55); border-radius:9px; background:rgba(255,255,255,.014); }
.v2-driver-equations article:not(:last-child)::after { content:'→'; position:absolute; z-index:2; top:42px; right:-8px; color:var(--v2-cyan); font-size:10px; }
.v2-driver-equations small,.v2-driver-equations strong,.v2-driver-equations em { display:block; }
.v2-driver-equations small { color:var(--v2-cyan); font-size:7px; }.v2-driver-equations strong { min-height:35px; margin-top:7px; font-size:10px; line-height:1.45; }.v2-driver-equations p { min-height:58px; margin:8px 0; color:var(--v2-muted); font-size:8px; line-height:1.55; }.v2-driver-equations em { color:var(--v2-dim); font-size:7px; font-style:normal; line-height:1.45; }
.v2-pv-driver-tree,.v2-pvm-proof,.v2-sensitivity-grid,.v2-unit-economics,.v2-coverage-matrix { margin-top:14px; padding:16px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.012); }
.v2-pv-driver-tree > header,.v2-pvm-proof > header,.v2-sensitivity-grid > header,.v2-unit-economics > header,.v2-coverage-matrix > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.v2-pv-driver-tree > header small,.v2-pv-driver-tree article > div small { color:var(--v2-cyan); font-size:8px; font-weight:700; letter-spacing:.08em; }.v2-pv-driver-tree h4,.v2-pvm-proof h4,.v2-sensitivity-grid h4,.v2-unit-economics h4,.v2-coverage-matrix h4 { margin:5px 0 0; font-size:12px; line-height:1.45; }
.v2-pv-driver-tree > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }.v2-pv-driver-tree article { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); overflow:hidden; border:1px solid var(--v2-border); border-top:2px solid var(--branch-tone); border-radius:9px; }.v2-pv-driver-tree article > div,.v2-pv-driver-tree article > section { padding:10px; border-right:1px solid var(--v2-border); }.v2-pv-driver-tree article > div { grid-column:1/-1; background:color-mix(in srgb,var(--branch-tone) 6%,transparent); }.v2-pv-driver-tree article > div strong { display:block; margin-top:6px; font-size:9px; line-height:1.5; }.v2-pv-driver-tree article > section b,.v2-pv-driver-tree article > section span { display:block; }.v2-pv-driver-tree article > section b { color:var(--branch-tone); font-size:8px; }.v2-pv-driver-tree article > section span { margin-top:5px; color:var(--v2-muted); font-size:7px; line-height:1.45; }.v2-pv-driver-tree > p { margin:11px 0 0; color:var(--v2-dim); font-size:8px; line-height:1.6; }
.v2-pvm-proof > header > span { padding:4px 7px; border-radius:999px; background:rgba(255,202,88,.08); color:var(--v2-yellow); font-size:7px; }
.v2-pvm-chart { display:grid; grid-template-columns:repeat(2,minmax(150px,.7fr)) minmax(260px,1.5fr); gap:10px; margin-top:14px; }
.v2-pvm-chart > article { padding:11px; border:1px solid var(--v2-border); border-radius:9px; text-align:center; }.v2-pvm-chart > article > strong { display:block; font-size:9px; }.v2-pvm-chart > article > div { display:flex; align-items:flex-end; justify-content:center; gap:11px; height:100px; margin-top:8px; }.v2-pvm-chart > article span { display:flex; width:58px; height:100%; flex-direction:column; justify-content:flex-end; }.v2-pvm-chart > article span i { display:block; width:100%; min-height:12px; border-radius:5px 5px 1px 1px; background:#38d6c7; }.v2-pvm-chart > article span.price i { background:#b58cff; }.v2-pvm-chart > article span b { margin-top:4px; font-size:8px; }.v2-pvm-chart > article span small { color:var(--v2-dim); font-size:7px; }.v2-pvm-chart > article > em { display:block; margin-top:8px; color:var(--v2-muted); font-size:8px; font-style:normal; }
.v2-pvm-chart > aside { display:grid; gap:7px; }.v2-pvm-chart > aside section { padding:10px 12px; border-left:3px solid var(--effect-tone); border-radius:7px; background:color-mix(in srgb,var(--effect-tone) 6%,transparent); }.v2-pvm-chart > aside small,.v2-pvm-chart > aside b,.v2-pvm-chart > aside em { display:block; }.v2-pvm-chart > aside small { color:var(--v2-muted); font-size:7px; }.v2-pvm-chart > aside b { margin-top:3px; color:var(--effect-tone); font-size:12px; }.v2-pvm-chart > aside em { margin-top:3px; color:var(--v2-dim); font-size:7px; font-style:normal; }
.v2-pvm-proof > p,.v2-unit-economics > p { margin:12px 0 0; padding-top:10px; border-top:1px solid var(--v2-border); color:var(--v2-dim); font-size:8px; line-height:1.6; }
.v2-sensitivity-grid > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }.v2-sensitivity-grid article { padding:11px; border:1px solid var(--v2-border); border-radius:8px; }.v2-sensitivity-grid article small,.v2-sensitivity-grid article b,.v2-sensitivity-grid article span,.v2-sensitivity-grid article em { display:block; }.v2-sensitivity-grid article small { color:var(--v2-muted); font-size:7px; }.v2-sensitivity-grid article b { margin-top:6px; color:var(--v2-yellow); font-size:11px; }.v2-sensitivity-grid article span { margin-top:5px; color:var(--v2-text); font-size:8px; }.v2-sensitivity-grid article em { margin-top:5px; color:var(--v2-dim); font-size:7px; font-style:normal; line-height:1.45; }
.v2-unit-economics > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:12px; }.v2-unit-economics > div > article { overflow:hidden; border:1px solid var(--v2-border); border-radius:9px; }.v2-unit-economics h5 { margin:0; padding:9px 11px; border-bottom:1px solid var(--v2-border); color:var(--v2-cyan); font-size:9px; }.v2-unit-economics article section { display:grid; grid-template-columns:56px repeat(2,minmax(0,1fr)); gap:4px 8px; padding:9px 11px; border-bottom:1px solid var(--v2-border); font-size:7px; }.v2-unit-economics article section:last-child { border-bottom:0; }.v2-unit-economics article section strong { color:var(--v2-text); }.v2-unit-economics article section span { color:var(--v2-muted); }.v2-unit-economics article section b { grid-column:2; color:var(--v2-green); }.v2-unit-economics article section em { color:var(--v2-dim); font-style:normal; }
.v2-coverage-matrix > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }.v2-coverage-matrix article { padding:10px; border:1px solid var(--v2-border); border-radius:8px; }.v2-coverage-matrix article > span { display:inline-block; padding:3px 6px; border-radius:999px; background:rgba(114,223,159,.08); color:var(--v2-green); font-size:7px; }.v2-coverage-matrix article.status-口径断点 > span,.v2-coverage-matrix article.status-历史样本 > span { background:rgba(255,202,88,.08); color:var(--v2-yellow); }.v2-coverage-matrix article.status-关键缺口 > span { background:rgba(255,142,163,.08); color:var(--v2-pink); }.v2-coverage-matrix h5 { margin:7px 0 0; font-size:9px; line-height:1.45; }.v2-coverage-matrix b { display:block; margin-top:5px; color:var(--v2-cyan); font-size:8px; }.v2-coverage-matrix p { margin:5px 0 0; color:var(--v2-muted); font-size:7px; line-height:1.45; }
.v2-commercial-competition-evidence { overflow:hidden; border:1px solid var(--v2-border); border-radius:10px; }.v2-commercial-competition-evidence > header,.v2-commercial-competition-evidence > section { display:grid; grid-template-columns:150px repeat(4,minmax(0,1fr)); }.v2-commercial-competition-evidence > header span { padding:8px 9px; border-right:1px solid var(--v2-border); background:rgba(255,255,255,.02); color:var(--v2-dim); font-size:7px; }.v2-commercial-competition-evidence > section { border-top:1px solid var(--v2-border); }.v2-commercial-competition-evidence > section > strong,.v2-commercial-competition-evidence > section > span { min-width:0; padding:10px 9px; border-right:1px solid var(--v2-border); font-size:8px; line-height:1.45; }.v2-commercial-competition-evidence > section > strong { font-size:9px; }.v2-commercial-competition-evidence > section > strong small { display:block; margin-top:4px; color:var(--v2-muted); font-size:7px; }.v2-commercial-competition-evidence > section > span { color:var(--v2-muted); }.v2-commercial-competition-evidence > p { margin:0; padding:8px 10px; border-top:1px solid var(--v2-border); color:var(--v2-dim); font-size:7px; }
.v2-commercial-drawer-lead { margin:18px 0; padding:14px; border-left:3px solid var(--v2-cyan); background:rgba(56,214,199,.04); color:var(--v2-text); font-size:11px; line-height:1.75; }
.v2-commercial-judgments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.v2-commercial-judgments section { padding:12px; border:1px solid var(--v2-border); border-radius:9px; }.v2-commercial-judgments small,.v2-commercial-judgments b { display:block; }.v2-commercial-judgments small { color:var(--v2-cyan); font-size:8px; }.v2-commercial-judgments b { margin-top:7px; font-size:10px; line-height:1.55; }
.v2-drawer-metric-links { margin:16px 0; }
.v2-commercial-analysis { display:grid; gap:9px; margin-top:18px; }
.v2-commercial-analysis article,.v2-metric-deep-analysis article { padding:13px 14px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); }
.v2-commercial-analysis h4,.v2-metric-deep-analysis strong { margin:0; color:var(--v2-text); font-size:10px; }
.v2-commercial-analysis p,.v2-metric-deep-analysis p { margin:7px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.7; }
.v2-metric-deep-analysis { display:grid; gap:8px; margin:18px 0; }.v2-metric-deep-analysis > h4 { margin:0 0 2px; font-size:12px; }
.v2-detail-table-block { margin-top:18px; }
.v2-detail-table-block > h4 { margin:0 0 9px; font-size:11px; }.v2-detail-table-block > div { overflow-x:auto; border:1px solid var(--v2-border); border-radius:9px; }
.v2-detail-table-block table { width:100%; min-width:560px; border-collapse:collapse; font-size:8px; line-height:1.5; }
.v2-detail-table-block th,.v2-detail-table-block td { padding:9px 10px; border-bottom:1px solid var(--v2-border); text-align:left; vertical-align:top; }.v2-detail-table-block th { background:rgba(56,214,199,.055); color:#cbd8df; font-weight:700; white-space:nowrap; }.v2-detail-table-block td { color:var(--v2-muted); }.v2-detail-table-block tbody tr:last-child td { border-bottom:0; }.v2-detail-table-block tbody tr:hover td { background:rgba(255,255,255,.012); color:var(--v2-text); }
.v2-detail-table-block > p { margin:7px 0 0; color:var(--v2-dim); font-size:8px; line-height:1.5; }
.v2-chart-data-table { margin-top:13px; }
.v2-evidence-boundary { margin:18px 0 0; padding:12px 14px; border:1px solid rgba(255,202,88,.28); border-radius:9px; background:rgba(255,202,88,.035); }.v2-evidence-boundary strong { color:var(--v2-yellow); font-size:9px; }.v2-evidence-boundary p { margin:7px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.65; }
.v2-drawer-source { margin-top:21px; padding-bottom:12px; }

/* Business scenario simulator and quantified commercial cards */
.v2-scenario-simulator { padding:24px; }
.v2-scenario-presets { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:18px; }
.v2-scenario-presets button { min-width:0; padding:11px 12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); color:var(--v2-text); text-align:left; cursor:pointer; transition:border-color .2s,background .2s,transform .2s; }
.v2-scenario-presets button:hover { border-color:rgba(56,214,199,.45); transform:translateY(-1px); }
.v2-scenario-presets button.active { border-color:rgba(56,214,199,.72); background:rgba(56,214,199,.075); box-shadow:inset 0 0 0 1px rgba(56,214,199,.1); }
.v2-scenario-presets strong,.v2-scenario-presets small { display:block; }
.v2-scenario-presets strong { color:var(--v2-text); font-size:10px; }
.v2-scenario-presets small { margin-top:5px; color:var(--v2-dim); font-size:7px; line-height:1.45; }
.v2-scenario-workspace { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.8fr); gap:12px; margin-top:12px; }
.v2-scenario-controls,.v2-scenario-results { min-width:0; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.012); }
.v2-scenario-controls { padding:15px; }
.v2-scenario-controls > header,.v2-scenario-result-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.v2-scenario-controls > header small,.v2-scenario-result-head small,.v2-scenario-trend header small,.v2-scenario-profit-stack header small,.v2-scenario-pvm header small { color:var(--v2-cyan); font-size:7px; font-weight:700; letter-spacing:.08em; }
.v2-scenario-controls h4,.v2-scenario-result-head h4 { margin:4px 0 0; font-size:11px; line-height:1.45; }
.v2-scenario-controls > header button,.v2-scenario-result-head > button { flex:none; padding:6px 8px; border:1px solid var(--v2-border); border-radius:7px; background:transparent; color:var(--v2-muted); font-size:7px; cursor:pointer; }
.v2-scenario-controls > label { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; margin-top:12px; padding:9px 10px; border:1px solid transparent; border-radius:8px; transition:border-color .2s,background .2s; }
.v2-scenario-controls > label.focused { border-color:rgba(255,202,88,.72); background:rgba(255,202,88,.06); box-shadow:0 0 0 3px rgba(255,202,88,.035); }
.v2-scenario-controls label > span b,.v2-scenario-controls label > span em { display:block; }
.v2-scenario-controls label > span b { font-size:9px; }.v2-scenario-controls label > span em { margin-top:2px; color:var(--v2-dim); font-size:7px; font-style:normal; }
.v2-scenario-controls output { color:var(--v2-cyan); font-size:10px; font-weight:700; }
.v2-scenario-controls input { grid-column:1/-1; width:100%; height:4px; accent-color:var(--v2-cyan); cursor:pointer; }
.v2-scenario-controls label > small { grid-column:1/-1; display:flex; align-items:center; gap:6px; color:var(--v2-dim); font-size:6px; }.v2-scenario-controls label > small i { flex:1; height:1px; background:var(--v2-border); }
.v2-scenario-controls > p { margin:13px 0 0; padding-top:11px; border-top:1px solid var(--v2-border); color:var(--v2-dim); font-size:7px; line-height:1.6; }
.v2-scenario-results { padding:15px; }
.v2-scenario-result-head p { max-width:600px; margin:5px 0 0; color:var(--v2-muted); font-size:8px; line-height:1.5; }
.v2-scenario-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:13px; }
.v2-scenario-kpis button { min-width:0; padding:10px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(56,214,199,.025); color:var(--v2-text); text-align:left; cursor:pointer; }
.v2-scenario-kpis button:hover { border-color:rgba(56,214,199,.5); }
.v2-scenario-kpis small,.v2-scenario-kpis b,.v2-scenario-kpis em { display:block; }.v2-scenario-kpis small { min-height:20px; color:var(--v2-muted); font-size:7px; line-height:1.35; }.v2-scenario-kpis b { margin-top:5px; color:var(--v2-cyan); font-size:12px; }.v2-scenario-kpis em { margin-top:4px; color:var(--v2-dim); font-size:6px; font-style:normal; }
.v2-scenario-trend,.v2-scenario-profit-stack,.v2-scenario-pvm { margin-top:10px; padding:12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(3,7,11,.12); }
.v2-scenario-trend > header,.v2-scenario-pvm > header { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.v2-scenario-trend h5,.v2-scenario-profit-stack h5,.v2-scenario-pvm h5 { margin:4px 0 0; font-size:9px; line-height:1.45; }
.v2-scenario-trend-tools { display:flex; align-items:flex-end; gap:10px; }.v2-scenario-trend-tools p { display:flex; gap:9px; margin:0; color:var(--v2-dim); font-size:7px; }.v2-scenario-trend-tools p span::before { content:''; display:inline-block; width:14px; margin-right:4px; border-top:2px solid var(--v2-cyan); vertical-align:middle; }.v2-scenario-trend-tools p span.projected::before { border-top-color:#667b84; border-top-style:dashed; }.v2-scenario-trend-tools button { padding:5px 7px; border:1px solid var(--v2-border); border-radius:999px; background:transparent; color:var(--v2-muted); font-size:6px; cursor:pointer; }
.v2-scenario-chart-canvas { position:relative; height:190px; margin-top:8px; }.v2-scenario-chart-canvas svg { display:block; width:100%; height:100%; overflow:visible; }.v2-scenario-chart-canvas svg polyline { fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }.v2-scenario-trend .scenario-actual-line { stroke:var(--v2-cyan); }.v2-scenario-trend .scenario-forecast-line { stroke:#667b84; stroke-width:2; stroke-dasharray:7 5; }.v2-scenario-trend .scenario-grid { stroke:var(--v2-border); stroke-width:1; vector-effect:non-scaling-stroke; }.v2-scenario-trend .scenario-boundary { stroke:rgba(102,123,132,.55); stroke-width:1; stroke-dasharray:2 3; vector-effect:non-scaling-stroke; }.v2-scenario-trend .scenario-forecast-zone { fill:rgba(102,123,132,.055); }.v2-scenario-chart-canvas .scenario-point { position:absolute; width:9px; height:9px; border:2px solid var(--v2-panel); border-radius:50%; background:var(--v2-cyan); box-shadow:0 0 0 1px var(--v2-cyan); transform:translate(-50%,-50%); }.v2-scenario-chart-canvas .scenario-point.projected { background:#667b84; box-shadow:0 0 0 1px #667b84; }
.v2-scenario-trend > div:last-child { display:grid; grid-template-columns:repeat(var(--scenario-points),minmax(0,1fr)); gap:2px; }.v2-scenario-trend > div:last-child span { min-width:0; text-align:center; }.v2-scenario-trend > div:last-child b,.v2-scenario-trend > div:last-child small { display:block; white-space:nowrap; }.v2-scenario-trend > div:last-child b { color:var(--v2-muted); font-size:6px; }.v2-scenario-trend > div:last-child small { margin-top:3px; color:var(--v2-dim); font-size:6px; }.v2-scenario-trend > div:last-child span.projected b,.v2-scenario-trend > div:last-child span.projected small { color:#667b84; }
.v2-scenario-profit-stack > article { display:grid; grid-template-columns:155px minmax(0,1fr); gap:10px; align-items:center; margin-top:10px; }.v2-scenario-profit-stack article > div { display:grid; grid-template-columns:1fr auto; gap:2px 8px; }.v2-scenario-profit-stack article strong,.v2-scenario-profit-stack article b { font-size:8px; }.v2-scenario-profit-stack article em { grid-column:1/-1; color:var(--v2-dim); font-size:6px; font-style:normal; }.v2-scenario-profit-stack article > span { display:flex; overflow:hidden; height:15px; border-radius:4px; background:var(--v2-border); }.v2-scenario-profit-stack article > span i { display:block; height:100%; }.v2-scenario-profit-stack .cogs { background:#55c6f2; }.v2-scenario-profit-stack .opex { background:#b58cff; }.v2-scenario-profit-stack .tax { background:#ff8ea3; }.v2-scenario-profit-stack .profit { background:#72df9f; }.v2-scenario-profit-stack footer { display:flex; flex-wrap:wrap; gap:9px 13px; margin-top:10px; color:var(--v2-dim); font-size:6px; }.v2-scenario-profit-stack footer i { display:inline-block; width:7px; height:7px; margin-right:4px; border-radius:2px; }
.v2-scenario-pvm > header > span { padding:4px 7px; border-radius:999px; background:rgba(255,202,88,.08); color:var(--v2-yellow); font-size:7px; }
.v2-scenario-pvm > div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-top:10px; }.v2-scenario-pvm article { min-width:0; padding:9px; border:1px solid var(--v2-border); border-radius:7px; }.v2-scenario-pvm article small,.v2-scenario-pvm article b,.v2-scenario-pvm article p { display:block; }.v2-scenario-pvm article small { color:var(--v2-muted); font-size:6px; }.v2-scenario-pvm article b { margin-top:4px; color:var(--v2-green); font-size:10px; }.v2-scenario-pvm article.negative b { color:var(--v2-pink); }.v2-scenario-pvm article.total b { color:var(--v2-cyan); }.v2-scenario-pvm article i { display:block; height:4px; margin-top:6px; border-radius:999px; background:var(--v2-border); }.v2-scenario-pvm article i em { display:block; height:100%; border-radius:inherit; background:var(--v2-green); }.v2-scenario-pvm article.negative i em { background:var(--v2-pink); }.v2-scenario-pvm article.total i em { background:var(--v2-cyan); }.v2-scenario-pvm article p { margin:6px 0 0; color:var(--v2-dim); font-size:6px; line-height:1.4; }.v2-scenario-pvm > p { margin:9px 0 0; color:var(--v2-dim); font-size:7px; line-height:1.5; }
.v2-model-method { margin-top:12px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.01); }
.v2-model-method > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 15px; list-style:none; cursor:pointer; }.v2-model-method > summary::-webkit-details-marker { display:none; }.v2-model-method > summary span b,.v2-model-method > summary span small { display:block; }.v2-model-method > summary span b { font-size:9px; }.v2-model-method > summary span small { margin-top:4px; color:var(--v2-dim); font-size:7px; }.v2-model-method > summary em { color:var(--v2-cyan); font-size:7px; font-style:normal; }.v2-model-method[open] > summary { border-bottom:1px solid var(--v2-border); }.v2-model-method-body { padding:0 15px 15px; }

.v2-commercial-evidence-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:7px; margin-top:13px; }
.v2-commercial-evidence-strip > span { min-width:0; padding:10px; border-left:2px solid var(--commercial-tone); border-radius:0 7px 7px 0; background:color-mix(in srgb,var(--commercial-tone) 4%,transparent); }.v2-commercial-evidence-strip small,.v2-commercial-evidence-strip b,.v2-commercial-evidence-strip em { display:block; }.v2-commercial-evidence-strip small { min-height:20px; color:var(--v2-dim); font-size:6px; line-height:1.4; }.v2-commercial-evidence-strip b { margin-top:4px; font-size:9px; line-height:1.4; }.v2-commercial-evidence-strip em { margin-top:4px; color:var(--v2-muted); font-size:6px; font-style:normal; line-height:1.4; }
.v2-commercial-mix-shift { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr); gap:12px; }
.v2-mix-bars { display:grid; align-content:center; gap:16px; padding:14px; border:1px solid var(--v2-border); border-radius:9px; }.v2-mix-bars section header { display:flex; justify-content:space-between; margin-bottom:7px; }.v2-mix-bars header strong { font-size:9px; }.v2-mix-bars header span { color:var(--v2-muted); font-size:8px; }.v2-mix-bars section > div { display:flex; overflow:hidden; height:24px; border-radius:5px; background:var(--v2-border); }.v2-mix-bars section > div i { height:100%; }
.v2-mix-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.v2-mix-legend article { padding:10px; border:1px solid var(--v2-border); border-radius:8px; }.v2-mix-legend article header { display:grid; grid-template-columns:auto 1fr auto; gap:6px; align-items:center; }.v2-mix-legend article header i { width:7px; height:7px; border-radius:2px; background:var(--mix-tone); }.v2-mix-legend article header strong { font-size:8px; }.v2-mix-legend article header b { color:var(--mix-tone); font-size:8px; }.v2-mix-legend article p { display:flex; gap:5px; margin:7px 0 0; color:var(--v2-muted); font-size:7px; }.v2-mix-legend article p em { color:var(--v2-dim); font-style:normal; }.v2-mix-legend article > small { display:block; margin-top:5px; color:var(--v2-dim); font-size:6px; }
.v2-commercial-profit-mechanism { display:grid; gap:10px; }.v2-profit-proof-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:8px; }.v2-cost-composition,.v2-unit-sample { padding:12px; border:1px solid var(--v2-border); border-radius:9px; }.v2-cost-composition header small,.v2-cost-composition header strong,.v2-unit-sample header small,.v2-unit-sample header strong { display:block; }.v2-cost-composition header small,.v2-unit-sample header small { color:var(--commercial-tone); font-size:7px; }.v2-cost-composition header strong,.v2-unit-sample header strong { margin-top:5px; font-size:9px; line-height:1.45; }.v2-cost-composition > div { display:grid; gap:6px; margin-top:10px; }.v2-cost-composition > div span { display:grid; grid-template-columns:58px minmax(0,1fr) 86px; gap:7px; align-items:center; }.v2-cost-composition span small,.v2-cost-composition span em { font-size:6px; }.v2-cost-composition span small { color:var(--v2-muted); }.v2-cost-composition span em { color:var(--v2-dim); font-style:normal; text-align:right; }.v2-cost-composition span > i { height:5px; border-radius:999px; background:var(--v2-border); }.v2-cost-composition span > i b { display:block; height:100%; border-radius:inherit; }
.v2-unit-sample > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:10px; }.v2-unit-sample > div span { padding:8px; border-radius:7px; background:rgba(114,223,159,.04); }.v2-unit-sample span small,.v2-unit-sample span b,.v2-unit-sample span em { display:block; }.v2-unit-sample span small { color:var(--v2-muted); font-size:6px; line-height:1.4; }.v2-unit-sample span b { margin-top:5px; color:var(--v2-green); font-size:8px; }.v2-unit-sample span em { margin-top:4px; color:var(--v2-dim); font-size:6px; font-style:normal; }.v2-unit-sample > button { width:100%; margin-top:9px; padding:7px 8px; border:1px solid rgba(114,223,159,.25); border-radius:7px; background:rgba(114,223,159,.035); color:var(--v2-green); font-size:7px; text-align:left; cursor:pointer; }
.v2-commercial-customer-evidence { display:grid; gap:9px; }
.v2-customer-channel-shift { padding:13px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(85,198,242,.018); }.v2-customer-channel-shift header small,.v2-customer-channel-shift header strong { display:block; }.v2-customer-channel-shift header small { color:var(--commercial-tone); font-size:7px; font-weight:750; letter-spacing:.08em; }.v2-customer-channel-shift header strong { margin-top:5px; font-size:10px; line-height:1.5; }.v2-customer-channel-shift > div { display:grid; gap:7px; margin-top:11px; }.v2-customer-channel-shift article { display:grid; grid-template-columns:56px minmax(0,1fr); gap:9px; align-items:center; }.v2-customer-channel-shift article > b { color:var(--v2-muted); font-size:7px; }.v2-customer-channel-shift article > span { display:flex; overflow:hidden; height:18px; border-radius:5px; background:var(--v2-border); }.v2-customer-channel-shift article > span i { height:100%; }.v2-customer-channel-shift footer { display:flex; flex-wrap:wrap; gap:7px 13px; margin-top:10px; }.v2-customer-channel-shift footer span { color:var(--v2-muted); font-size:7px; }.v2-customer-channel-shift footer i { display:inline-block; width:7px; height:7px; margin-right:4px; border-radius:2px; }.v2-customer-channel-shift footer b { color:var(--v2-text); }
.v2-customer-lanes header > strong { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }.v2-customer-lanes header > strong span { padding:4px 6px; border-radius:6px; background:rgba(85,198,242,.055); font-size:7px; }.v2-customer-lanes header > strong i { color:var(--commercial-tone); font-size:7px; font-style:normal; }.v2-customer-lanes footer > b { margin-right:4px; color:var(--commercial-tone); font-size:7px; }
.v2-commercial-channel-control { display:grid; gap:10px; }.v2-channel-mix { padding:12px; border:1px solid var(--v2-border); border-radius:9px; }.v2-channel-mix header { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }.v2-channel-mix header small,.v2-channel-mix header strong { display:block; }.v2-channel-mix header small { color:var(--commercial-tone); font-size:7px; }.v2-channel-mix header strong { max-width:630px; font-size:9px; text-align:right; }.v2-channel-mix > div { display:flex; overflow:hidden; height:18px; margin-top:10px; border-radius:5px; background:var(--v2-border); }.v2-channel-mix > div i { height:100%; }.v2-channel-mix > p { display:flex; flex-wrap:wrap; gap:8px 13px; margin:8px 0 0; }.v2-channel-mix > p span { color:var(--v2-muted); font-size:7px; }.v2-channel-mix > p span > i { display:inline-block; width:7px; height:7px; margin-right:4px; border-radius:2px; }.v2-channel-mix > p b { color:var(--v2-text); }.v2-channel-mix > p em { margin-left:3px; color:var(--v2-dim); font-style:normal; }
.v2-commercial-variables button { display:grid; grid-template-columns:minmax(150px,.85fr) auto minmax(0,1.15fr); gap:9px; align-items:center; padding:11px; border:1px solid var(--v2-border); border-radius:9px; background:transparent; color:var(--v2-text); text-align:left; cursor:pointer; }.v2-commercial-variables button:hover { border-color:var(--commercial-tone); background:color-mix(in srgb,var(--commercial-tone) 4%,transparent); }.v2-commercial-variables button span b,.v2-commercial-variables button span small { display:block; }.v2-commercial-variables button span b { font-size:8px; }.v2-commercial-variables button span small { margin-top:4px; color:var(--commercial-tone); font-size:6px; }.v2-commercial-variables button > i { color:var(--commercial-tone); font-style:normal; }.v2-commercial-variables button > em { color:var(--v2-muted); font-size:7px; font-style:normal; line-height:1.45; }

/* Business model decision visuals */
.v2-commercial-portfolio-growth { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); gap:10px; }.v2-growth-contribution,.v2-portfolio-concentration { padding:13px; border:1px solid var(--v2-border); border-radius:10px; }.v2-growth-contribution > header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }.v2-growth-contribution header small,.v2-growth-contribution header strong { display:block; }.v2-growth-contribution header small,.v2-portfolio-concentration > small { color:var(--commercial-tone); font-size:7px; }.v2-growth-contribution header strong { margin-top:5px; font-size:9px; }.v2-growth-contribution > header > b { color:var(--commercial-tone); font-size:13px; }.v2-growth-stack { display:flex; overflow:hidden; height:30px; margin-top:13px; border-radius:6px; background:var(--v2-border); }.v2-growth-stack i { display:block; height:100%; }.v2-growth-items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:9px; }.v2-growth-items article { min-width:0; padding:8px; border-radius:7px; background:color-mix(in srgb,var(--growth-tone) 5%,transparent); }.v2-growth-items article span { display:grid; grid-template-columns:auto 1fr auto; gap:5px; align-items:center; }.v2-growth-items article span i { width:7px; height:7px; border-radius:2px; background:var(--growth-tone); }.v2-growth-items article strong,.v2-growth-items article b { font-size:7px; }.v2-growth-items article b { color:var(--growth-tone); text-align:right; }.v2-growth-items article em,.v2-growth-items article small { display:block; margin-top:5px; font-size:6px; font-style:normal; }.v2-growth-items article em { color:var(--v2-muted); }.v2-growth-items article small { color:var(--v2-dim); }.v2-portfolio-concentration h4 { margin:5px 0 0; font-size:9px; line-height:1.45; }.v2-portfolio-concentration > div { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; align-items:center; margin-top:13px; }.v2-portfolio-concentration > div span b,.v2-portfolio-concentration > div span small { display:block; }.v2-portfolio-concentration > div span b { color:var(--commercial-tone); font-size:14px; }.v2-portfolio-concentration > div span small,.v2-portfolio-concentration > div em { color:var(--v2-muted); font-size:6px; font-style:normal; }.v2-portfolio-concentration > div > i { height:8px; border-radius:999px; background:var(--v2-border); }.v2-portfolio-concentration > div > i b { display:block; height:100%; border-radius:inherit; background:var(--commercial-tone); }.v2-portfolio-concentration > section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:12px; }.v2-portfolio-concentration > section span { padding:8px; border-radius:7px; background:rgba(56,214,199,.045); }.v2-portfolio-concentration > section small,.v2-portfolio-concentration > section b { display:block; }.v2-portfolio-concentration > section small { color:var(--v2-dim); font-size:6px; }.v2-portfolio-concentration > section b { margin-top:4px; font-size:9px; }.v2-portfolio-concentration > p { margin:11px 0 0; padding-top:10px; border-top:1px solid var(--v2-border); color:var(--v2-muted); font-size:7px; line-height:1.5; }

.v2-profit-revenue-lenses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.v2-profit-revenue-lenses section { padding:10px; border:1px solid var(--v2-border); border-radius:8px; }.v2-profit-revenue-lenses header { display:flex; justify-content:space-between; gap:8px; }.v2-profit-revenue-lenses header small { color:var(--commercial-tone); font-size:7px; }.v2-profit-revenue-lenses header b { font-size:8px; }.v2-profit-revenue-lenses section > div { display:flex; overflow:hidden; height:12px; margin-top:8px; border-radius:4px; background:var(--v2-border); }.v2-profit-revenue-lenses section > div i { height:100%; }.v2-profit-revenue-lenses section > p { display:flex; flex-wrap:wrap; gap:5px 8px; margin:7px 0 0; }.v2-profit-revenue-lenses p span { color:var(--v2-muted); font-size:6px; }.v2-profit-revenue-lenses p span i { display:inline-block; width:6px; height:6px; margin-right:3px; border-radius:2px; }.v2-profit-revenue-lenses p b { color:var(--v2-text); }.v2-profit-retention { padding:13px; border:1px solid var(--v2-border); border-radius:10px; }.v2-profit-retention > header { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; }.v2-profit-retention header small,.v2-profit-retention header strong { display:block; }.v2-profit-retention header > div small { color:var(--commercial-tone); font-size:7px; }.v2-profit-retention header > div strong { margin-top:5px; font-size:10px; }.v2-profit-retention header > p { display:flex; gap:6px; margin:0; }.v2-profit-retention header > p span { min-width:72px; padding:6px 8px; border-radius:6px; background:rgba(114,223,159,.045); }.v2-profit-retention header > p small { color:var(--v2-dim); font-size:6px; }.v2-profit-retention header > p b { margin-top:3px; font-size:9px; }.v2-profit-retention > div { display:flex; overflow:hidden; height:48px; margin-top:12px; border-radius:7px; }.v2-profit-retention > div span { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:5px 7px; color:#092024; }.v2-profit-retention > div span b,.v2-profit-retention > div span small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.v2-profit-retention > div span b { font-size:9px; }.v2-profit-retention > div span small { margin-top:3px; font-size:6px; }.v2-profit-retention > div span.is-profit { color:#082719; }.v2-profit-driver-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr); gap:8px; }.v2-spread-equation,.v2-profit-cash { padding:12px; border:1px solid var(--v2-border); border-radius:9px; }.v2-spread-equation header small,.v2-spread-equation header strong { display:block; }.v2-spread-equation header small,.v2-profit-cash > small { color:var(--commercial-tone); font-size:7px; }.v2-spread-equation header strong { margin-top:5px; font-size:9px; }.v2-spread-equation > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:10px; }.v2-spread-equation article { padding:9px; border-left:2px solid var(--driver-tone); border-radius:0 7px 7px 0; background:color-mix(in srgb,var(--driver-tone) 4%,transparent); }.v2-spread-equation article small,.v2-spread-equation article b { display:block; }.v2-spread-equation article small { color:var(--driver-tone); font-size:7px; }.v2-spread-equation article b { margin-top:5px; font-size:7px; line-height:1.5; }.v2-spread-equation article p { display:flex; flex-wrap:wrap; gap:4px; margin:7px 0 0; }.v2-spread-equation article p span { padding:3px 5px; border-radius:999px; background:var(--v2-panel); color:var(--v2-muted); font-size:6px; }.v2-profit-cash > div { display:flex; align-items:center; justify-content:space-between; gap:7px; margin-top:12px; }.v2-profit-cash > div b { font-size:8px; }.v2-profit-cash > div i { color:var(--commercial-tone); font-style:normal; }.v2-profit-cash > strong { display:block; margin-top:10px; color:var(--commercial-tone); font-size:11px; }.v2-profit-cash > p { margin:7px 0 0; color:var(--v2-muted); font-size:7px; line-height:1.5; }.v2-profit-cash > button { width:100%; margin-top:9px; padding:7px 8px; border:1px solid rgba(114,223,159,.25); border-radius:7px; background:rgba(114,223,159,.035); color:var(--v2-green); font-size:7px; text-align:left; cursor:pointer; }

.v2-commercial-customer-economics { display:grid; gap:8px; }.v2-customer-lanes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.v2-customer-lanes > section { min-width:0; padding:12px; border:1px solid var(--v2-border); border-top:2px solid var(--commercial-tone); border-radius:9px; }.v2-customer-lanes header small,.v2-customer-lanes header em,.v2-customer-lanes header strong { display:block; }.v2-customer-lanes header small { color:var(--commercial-tone); font-size:7px; }.v2-customer-lanes header em { margin-top:4px; color:var(--v2-dim); font-size:6px; font-style:normal; }.v2-customer-lanes header strong { margin-top:7px; font-size:10px; }.v2-customer-lanes section > p { min-height:49px; margin:8px 0 0; color:var(--v2-muted); font-size:7px; line-height:1.55; }.v2-customer-lanes section > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(70px,1fr)); gap:5px; margin-top:9px; }.v2-customer-lanes section > div span { padding:7px 6px; border-radius:6px; background:rgba(85,198,242,.045); }.v2-customer-lanes section > div small,.v2-customer-lanes section > div b { display:block; }.v2-customer-lanes section > div small { color:var(--v2-dim); font-size:6px; }.v2-customer-lanes section > div b { margin-top:4px; font-size:8px; }.v2-customer-lanes footer { display:flex; flex-wrap:wrap; gap:4px; margin-top:9px; }.v2-customer-lanes footer em { padding:3px 6px; border-radius:999px; background:rgba(85,198,242,.06); color:var(--v2-muted); font-size:6px; font-style:normal; }.v2-customer-readout { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.v2-customer-readout span { padding:9px 10px; border-left:2px solid var(--commercial-tone); border-radius:0 7px 7px 0; background:rgba(85,198,242,.035); }.v2-customer-readout small,.v2-customer-readout b { display:block; }.v2-customer-readout small { color:var(--v2-dim); font-size:6px; }.v2-customer-readout b { margin-top:4px; font-size:8px; line-height:1.4; }

.v2-commercial-value-control { display:grid; gap:9px; }.v2-value-lanes { display:grid; gap:8px; }.v2-value-lanes > section { padding:11px; border:1px solid var(--v2-border); border-radius:9px; }.v2-value-lanes > section.control { border-left:3px solid #38d6c7; }.v2-value-lanes > section.risk { border-left:3px solid #ff8ea3; }.v2-value-lanes > section > header { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; }.v2-value-lanes header small { color:var(--commercial-tone); font-size:7px; }.v2-value-lanes header strong { font-size:8px; }.v2-value-lanes > section > div { display:flex; align-items:stretch; gap:6px; margin-top:9px; }.v2-value-lanes article { flex:1; min-width:0; padding:9px; border-radius:7px; background:rgba(255,255,255,.025); }.v2-value-lanes article small,.v2-value-lanes article b { display:block; }.v2-value-lanes article small { color:var(--v2-dim); font-size:6px; }.v2-value-lanes article b { margin-top:5px; font-size:8px; }.v2-value-lanes article p { margin:5px 0 0; color:var(--v2-muted); font-size:6px; line-height:1.45; }.v2-value-lanes section > div > i { align-self:center; color:var(--commercial-tone); font-size:8px; font-style:normal; }

.v2-commercial-competition-matrix { display:grid; grid-template-columns:34px minmax(0,1fr); }.v2-matrix-y-title { grid-row:1; display:grid; grid-template-rows:auto 1fr auto; justify-items:center; padding:4px 6px 6px 0; }.v2-matrix-y-title b { writing-mode:vertical-rl; transform:rotate(180deg); color:var(--v2-muted); font-size:7px; }.v2-matrix-y-title span { color:var(--v2-dim); font-size:6px; writing-mode:vertical-rl; }.v2-competition-plot { position:relative; grid-column:2; height:310px; border:1px solid var(--v2-border); border-radius:10px; background:linear-gradient(90deg,transparent 49.8%,var(--v2-border) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,var(--v2-border) 50%,transparent 50.2%),linear-gradient(135deg,rgba(255,142,163,.025),rgba(56,214,199,.035)); }.v2-competition-plot > span { position:absolute; z-index:0; color:var(--v2-dim); font-size:6px; letter-spacing:.04em; }.v2-competition-plot .q-tl { left:12px; top:10px; }.v2-competition-plot .q-tr { right:12px; top:10px; }.v2-competition-plot .q-bl { left:12px; bottom:10px; }.v2-competition-plot .q-br { right:12px; bottom:10px; }.v2-competition-plot article { position:absolute; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; width:96px; height:96px; padding:9px; border:1px solid color-mix(in srgb,var(--bubble-tone) 65%,var(--v2-border)); border-radius:50%; background:color-mix(in srgb,var(--bubble-tone) 15%,var(--v2-panel)); box-shadow:0 8px 24px rgba(0,0,0,.08); text-align:center; transform:translate(-50%,-50%); }.v2-competition-plot article.size-sm { width:76px; height:76px; }.v2-competition-plot article.size-md { width:88px; height:88px; }.v2-competition-plot article.size-lg { width:104px; height:104px; }.v2-competition-plot article.size-xl { width:126px; height:126px; border-width:2px; }.v2-competition-plot article strong { color:var(--v2-text); font-size:9px; }.v2-competition-plot article small { margin-top:4px; color:var(--v2-muted); font-size:6px; line-height:1.35; }.v2-competition-plot article em { max-width:130px; margin-top:5px; color:var(--bubble-tone); font-size:6px; font-style:normal; line-height:1.35; }.v2-matrix-x-title { grid-column:2; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding-top:6px; }.v2-matrix-x-title span,.v2-matrix-x-title b { color:var(--v2-dim); font-size:6px; }.v2-matrix-x-title b { color:var(--v2-muted); font-size:7px; text-align:center; }.v2-matrix-x-title span:last-child { text-align:right; }.v2-commercial-competition-matrix > p { grid-column:2; margin:8px 0 0; color:var(--v2-dim); font-size:7px; line-height:1.45; }

.v2-commercial-transmissions { display:grid; gap:8px; }.v2-commercial-transmissions > section { padding:12px; border:1px solid var(--v2-border); border-left:3px solid var(--path-tone); border-radius:9px; }.v2-commercial-transmissions > section > header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }.v2-commercial-transmissions header div small,.v2-commercial-transmissions header div strong { display:block; }.v2-commercial-transmissions header div small { color:var(--path-tone); font-size:7px; }.v2-commercial-transmissions header div strong { max-width:720px; margin-top:5px; font-size:9px; line-height:1.45; }.v2-commercial-transmissions header > b { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:color-mix(in srgb,var(--path-tone) 8%,transparent); color:var(--path-tone); font-size:7px; }.v2-transmission-path { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap:7px; align-items:stretch; margin-top:10px; }.v2-transmission-path article { padding:9px; border-radius:7px; background:color-mix(in srgb,var(--path-tone) 4%,transparent); }.v2-transmission-path article small,.v2-transmission-path article b { display:block; }.v2-transmission-path article small { color:var(--path-tone); font-size:6px; }.v2-transmission-path article b { margin-top:5px; font-size:7px; line-height:1.45; }.v2-transmission-path > i { align-self:center; color:var(--path-tone); font-style:normal; }.v2-commercial-transmissions footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:9px; }.v2-commercial-transmissions footer p { display:flex; flex-wrap:wrap; gap:4px; margin:0; }.v2-commercial-transmissions footer p span { padding:3px 6px; border-radius:999px; background:var(--v2-panel); color:var(--v2-muted); font-size:6px; }.v2-commercial-transmissions footer > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }.v2-commercial-transmissions footer button { padding:5px 7px; border:1px solid color-mix(in srgb,var(--path-tone) 35%,var(--v2-border)); border-radius:999px; background:transparent; color:var(--path-tone); font-size:6px; cursor:pointer; }
.v2-unit-economics-drawer { margin:18px 0 0; }.v2-unit-economics-drawer > header > span { padding:4px 7px; border-radius:999px; background:rgba(255,202,88,.08); color:var(--v2-yellow); font-size:7px; }
.v2-scenario-drawer-assumptions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:16px; }.v2-scenario-drawer-assumptions section { padding:10px; border:1px solid var(--v2-border); border-radius:8px; }.v2-scenario-drawer-assumptions small,.v2-scenario-drawer-assumptions b,.v2-scenario-drawer-assumptions em { display:block; }.v2-scenario-drawer-assumptions small { color:var(--v2-cyan); font-size:7px; }.v2-scenario-drawer-assumptions b { margin-top:5px; font-size:10px; }.v2-scenario-drawer-assumptions em { margin-top:4px; color:var(--v2-dim); font-size:6px; font-style:normal; }

[data-theme="light"] body.dna-v2-body .v2-scenario-controls,[data-theme="light"] body.dna-v2-body .v2-scenario-results,[data-theme="light"] body.dna-v2-body .v2-scenario-trend,[data-theme="light"] body.dna-v2-body .v2-scenario-profit-stack,[data-theme="light"] body.dna-v2-body .v2-scenario-pvm { background:#fff; }

[data-theme="light"] body.dna-v2-body .v2-commercial-card,[data-theme="light"] body.dna-v2-body .v2-commercial-rail { background:#fff; }
[data-theme="light"] body.dna-v2-body .v2-operating-model { background:linear-gradient(145deg,#f5fffd,#fff); }
[data-theme="light"] body.dna-v2-body .v2-insight-metric-links button { color:#176e69; }
[data-theme="light"] body.dna-v2-body .v2-detail-table-block th { background:#edf8f7; color:#22424b; }

@media (max-width:900px) {
    .v2-strategy-evolution-line { display:grid; grid-template-columns:1fr; }.v2-strategy-evolution-line > i { transform:rotate(90deg); text-align:center; }
    .v2-commercial-intro { flex-direction:column; }.v2-commercial-intro > aside { width:auto; }
    .v2-commercial-profit-engine,.v2-commercial-chain { display:grid; grid-template-columns:1fr; }.v2-commercial-profit-engine > i,.v2-commercial-chain > i { transform:rotate(90deg); text-align:center; }
    .v2-commercial-governance { grid-template-columns:1fr; }.v2-commercial-governance > div { flex-wrap:wrap; }.v2-commercial-governance > div > small { width:100%; writing-mode:initial; }
    .v2-commercial-competition,.v2-commercial-competition > section { grid-template-columns:92px minmax(0,1fr); }.v2-commercial-competition > header { grid-column:2; }.v2-commercial-competition > section small { grid-column:1/-1; }
    .v2-driver-equations { grid-template-columns:repeat(2,minmax(0,1fr)); }.v2-driver-equations article:not(:last-child)::after { display:none; }.v2-pv-driver-tree article { grid-template-columns:repeat(5,minmax(0,1fr)); }.v2-pv-driver-tree article > div { grid-column:1/-1; }.v2-pvm-chart { grid-template-columns:repeat(2,minmax(0,1fr)); }.v2-pvm-chart > aside { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); }.v2-sensitivity-grid > div,.v2-coverage-matrix > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-scenario-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }.v2-scenario-workspace { grid-template-columns:1fr; }.v2-scenario-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 8px; }.v2-scenario-controls > header,.v2-scenario-controls > p { grid-column:1/-1; }.v2-scenario-chart-canvas { height:160px; }.v2-profit-proof-grid,.v2-commercial-mix-shift,.v2-commercial-portfolio-growth,.v2-profit-driver-grid { grid-template-columns:1fr; }.v2-commercial-evidence-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-value-lanes > section > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }.v2-value-lanes section > div > i { display:none; }
}
@media (max-width:640px) {
    .v2-commercial-current-signal > footer { align-items:stretch; flex-direction:column; }.v2-commercial-current-signal > footer details { min-width:0; }.v2-commercial-current-signal > div { grid-template-columns:1fr; }
    .v2-commercial-card { padding:16px; }.v2-commercial-card > header { grid-template-columns:1fr; }.v2-commercial-card > header button { width:100%; }
    .v2-commercial-stats,.v2-commercial-personas,.v2-commercial-variables,.v2-commercial-judgments { grid-template-columns:1fr 1fr; }
    .v2-commercial-portfolio { grid-template-columns:1fr; }.v2-commercial-portfolio > div { grid-template-columns:1fr; }
    .v2-commercial-competition { grid-template-columns:72px minmax(0,1fr); }.v2-commercial-competition > section { grid-template-columns:72px minmax(0,1fr); }.v2-commercial-competition > section small { grid-column:1/-1; }
    .v2-operating-model { padding:16px; }.v2-operating-head { display:block; }.v2-operating-head mark { display:inline-block; margin-top:10px; }.v2-driver-equations,.v2-pv-driver-tree > div,.v2-pvm-chart,.v2-pvm-chart > aside,.v2-sensitivity-grid > div,.v2-unit-economics > div,.v2-coverage-matrix > div { grid-template-columns:1fr; }.v2-pv-driver-tree article { grid-template-columns:1fr; }.v2-pv-driver-tree article > div,.v2-pv-driver-tree article > section { grid-column:1; grid-row:auto; border-right:0; border-bottom:1px solid var(--v2-border); }.v2-pvm-chart > aside { grid-column:auto; }.v2-commercial-competition-evidence { overflow-x:auto; }.v2-commercial-competition-evidence > header,.v2-commercial-competition-evidence > section { min-width:680px; }
    .v2-scenario-presets { display:flex; overflow-x:auto; padding-bottom:3px; }.v2-scenario-presets button { min-width:150px; }.v2-scenario-controls { display:block; }.v2-scenario-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.v2-scenario-chart-canvas { height:130px; }.v2-scenario-trend > div:last-child b { display:none; }.v2-scenario-trend-tools { display:block; }.v2-scenario-trend-tools button { margin-top:7px; }.v2-scenario-profit-stack > article { grid-template-columns:1fr; }.v2-scenario-pvm > div { grid-template-columns:repeat(2,minmax(0,1fr)); }.v2-commercial-customer-evidence,.v2-customer-lanes { grid-template-columns:1fr; }.v2-customer-lanes section > p { min-height:0; }.v2-mix-legend,.v2-commercial-evidence-strip,.v2-unit-sample > div,.v2-scenario-drawer-assumptions,.v2-profit-revenue-lenses,.v2-customer-readout { grid-template-columns:1fr; }.v2-growth-items { grid-template-columns:repeat(2,minmax(0,1fr)); }.v2-channel-mix header,.v2-value-lanes > section > header { display:block; }.v2-channel-mix header strong,.v2-value-lanes header strong { margin-top:5px; text-align:left; }.v2-value-lanes > section > div { grid-template-columns:1fr; }.v2-commercial-variables { grid-template-columns:1fr; }.v2-commercial-variables button { grid-template-columns:minmax(0,1fr) auto; }.v2-commercial-variables button > em { grid-column:1/-1; }.v2-profit-retention > header { display:block; }.v2-profit-retention header > p { margin-top:9px; }.v2-profit-retention > div { height:auto; min-height:48px; }.v2-profit-retention > div span { padding:8px 4px; }.v2-profit-retention > div span small { display:none; }.v2-spread-equation > div { grid-template-columns:1fr; }.v2-competition-plot { height:280px; }.v2-competition-plot article,.v2-competition-plot article.size-lg { width:76px; height:76px; padding:6px; }.v2-competition-plot article.size-sm { width:62px; height:62px; }.v2-competition-plot article.size-md { width:70px; height:70px; }.v2-competition-plot article.size-xl { width:92px; height:92px; }.v2-competition-plot article em { display:none; }.v2-transmission-path { grid-template-columns:1fr; }.v2-transmission-path > i { transform:rotate(90deg); text-align:center; }.v2-commercial-transmissions > section > header,.v2-commercial-transmissions footer { display:block; }.v2-commercial-transmissions header > b { display:inline-block; margin-top:8px; }.v2-commercial-transmissions footer > div { justify-content:flex-start; margin-top:8px; }.v2-model-method > summary { align-items:flex-start; }.v2-model-method > summary em { max-width:90px; text-align:right; }
}
@media (max-width:430px) {
    .v2-commercial-stats,.v2-commercial-personas,.v2-commercial-variables,.v2-commercial-judgments { grid-template-columns:1fr; }
}

[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-gene-atlas .v2-network-cluster-label { z-index:4; }
.v2-gene-atlas .v2-network-cluster-label.cluster-market-operation { right:14px; left:auto; transform:translateY(-50%); }
.v2-gene-atlas .v2-network-cluster-label.cluster-organization-foundation { left:14px; transform:translateY(-50%); }
.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-hero { min-height:auto; grid-template-columns:minmax(0,1fr); }
    .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:1px solid var(--v2-border); border-radius:5px; background:color-mix(in srgb,var(--v2-panel) 84%,#a9b7c4 16%); color:var(--v2-text); font-style:normal; }
.v2-comparison-bars > i b { position:absolute; inset:0 auto 0 0; min-width:3px; border-radius:4px; background:#a8b7c5; opacity:.88; }
.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:800; text-shadow:0 1px 1px color-mix(in srgb,var(--v2-bg) 72%,transparent); }
.v2-comparison-bars > i.is-fact { border-style:dashed; background:transparent; }
.v2-comparison-bars > i.is-fact em { color:var(--v2-muted); font-weight:700; text-shadow:none; }
.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 { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.v2-overview-signal-convergence > div{display:flex;align-items:stretch;gap:7px;overflow-x:auto}.v2-overview-signal-convergence > div>section{flex:1 0 125px}.v2-overview-signal-convergence > div>i{align-self:center;flex:0 0 auto;color:var(--v2-cyan);font-size:13px;font-style:normal}.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; }
}

/* Business model clarity pass · one card, one primary visual */
.v2-commercial-card > header span { font-size:12px; }
.v2-commercial-card > header h3 { max-width:none; font-size:20px; line-height:1.45; }
.v2-commercial-card > header button { padding:9px 13px; font-size:12px; }
.v2-commercial-thesis { max-width:1120px; margin:14px 0 19px; font-size:14px; line-height:1.7; }
.v2-commercial-card .v2-insight-metric-links { margin-top:17px; }
.v2-commercial-card .v2-insight-metric-links button { padding:8px 12px; font-size:11px; }
.v2-commercial-card .v2-commercial-source { margin-top:15px; }
.v2-commercial-card .v2-commercial-source summary { font-size:11px; line-height:1.45; }
.v2-commercial-card .v2-commercial-source summary em { font-size:10px; }
.v2-visual-boundary { color:var(--v2-dim); font-size:11px; line-height:1.55; }

/* Sequential Price × Volume waterfall */
.v2-scenario-pvm { overflow-x:auto; }
.v2-scenario-pvm > header { min-width:780px; }
.v2-scenario-pvm > header small { font-size:11px; }
.v2-scenario-pvm h5 { max-width:780px; margin-top:6px; font-size:14px; }
.v2-scenario-pvm > header > span { padding:6px 9px; font-size:10px; }
.v2-scenario-pvm > .v2-scenario-waterfall { display:grid; grid-template-columns:repeat(6,minmax(112px,1fr)); gap:10px; min-width:780px; margin-top:14px; }
.v2-scenario-waterfall article { position:relative; min-width:0; padding:0 4px 10px; border:0; border-radius:0; background:transparent; }
.v2-scenario-waterfall article > div { position:relative; height:150px; border-bottom:1px solid var(--v2-border); background:linear-gradient(180deg,transparent 24.8%,rgba(128,149,158,.08) 25%,transparent 25.2%,transparent 49.8%,rgba(128,149,158,.08) 50%,transparent 50.2%,transparent 74.8%,rgba(128,149,158,.08) 75%,transparent 75.2%); }
.v2-scenario-waterfall article > div i { position:absolute; left:17%; width:66%; min-height:4px; margin:0; border-radius:5px 5px 2px 2px; background:var(--v2-green); box-shadow:0 0 0 1px color-mix(in srgb,var(--v2-green) 35%,transparent); }
.v2-scenario-waterfall article.kind-base > div i,.v2-scenario-waterfall article.kind-subtotal > div i { background:var(--v2-cyan); box-shadow:0 0 0 1px color-mix(in srgb,var(--v2-cyan) 35%,transparent); }
.v2-scenario-waterfall article.kind-end > div i { background:#31bfe5; box-shadow:0 0 0 1px rgba(49,191,229,.38); }
.v2-scenario-waterfall article.negative > div i { background:var(--v2-pink); }
.v2-scenario-waterfall article > small,.v2-scenario-waterfall article > b,.v2-scenario-waterfall article > em,.v2-scenario-waterfall article > p { display:block; }
.v2-scenario-waterfall article > small { margin-top:9px; color:var(--v2-muted); font-size:11px; line-height:1.35; }
.v2-scenario-waterfall article > b { margin-top:4px; color:var(--v2-green); font-size:17px; line-height:1.25; }
.v2-scenario-waterfall article.kind-base > b,.v2-scenario-waterfall article.kind-subtotal > b,.v2-scenario-waterfall article.kind-end > b { color:var(--v2-cyan); }
.v2-scenario-waterfall article > em { min-height:15px; margin-top:5px; color:var(--v2-yellow); font-size:10px; font-style:normal; line-height:1.4; }
.v2-scenario-waterfall article > p { margin-top:5px; color:var(--v2-dim); font-size:10px; line-height:1.45; }
.v2-scenario-pvm > p { min-width:780px; margin-top:12px; padding:10px 12px; border-left:3px solid var(--v2-yellow); background:rgba(255,202,88,.035); font-size:11px; line-height:1.6; }

/* Revenue contribution: the growth source is the chart; concentration is one counter-signal. */
.v2-commercial-portfolio-growth { display:block; }
.v2-growth-contribution { padding:17px; }
.v2-growth-contribution header small { font-size:11px; }
.v2-growth-contribution header strong { margin-top:6px; font-size:14px; }
.v2-growth-contribution > header > b { font-size:24px; }
.v2-growth-stack { height:42px; margin-top:17px; }
.v2-growth-items { gap:9px; margin-top:11px; }
.v2-growth-items article { padding:11px; }
.v2-growth-items article span i { width:10px; height:10px; }
.v2-growth-items article strong { font-size:12px; }
.v2-growth-items article b { font-size:14px; }
.v2-growth-items article em { margin-top:7px; font-size:11px; }
.v2-growth-counter-signal { display:flex; align-items:center; gap:9px; margin-top:13px; padding:10px 12px; border-left:3px solid var(--v2-yellow); border-radius:0 8px 8px 0; background:rgba(255,202,88,.045); }
.v2-growth-counter-signal small { color:var(--v2-yellow); font-size:11px; }
.v2-growth-counter-signal strong { font-size:13px; }
.v2-growth-counter-signal span { margin-left:auto; color:var(--v2-muted); font-size:11px; }

/* Profit retention: one visual connects the spread to the operating cost absorbers. */
.v2-commercial-profit-mechanism { display:block; }
.v2-profit-retention { padding:17px; }
.v2-profit-retention header > div small { font-size:11px; }
.v2-profit-retention header > div strong { margin-top:6px; font-size:15px; }
.v2-profit-retention header > p { gap:8px; }
.v2-profit-retention header > p span { min-width:104px; padding:8px 10px; }
.v2-profit-retention header > p small { font-size:10px; }
.v2-profit-retention header > p b { font-size:17px; }
.v2-profit-retention > div { height:92px; margin-top:16px; }
.v2-profit-retention > div span { padding:10px 12px; overflow:hidden; }
.v2-profit-retention > div span b { font-size:18px; }
.v2-profit-retention > div span small { margin-top:5px; font-size:11px; }
.v2-profit-retention > div span em { display:block; overflow:hidden; margin-top:5px; font-size:9px; font-style:normal; line-height:1.3; text-overflow:ellipsis; }

/* Customer flywheel */
.v2-commercial-customer-flywheel { position:relative; padding:18px; border:1px solid var(--v2-border); border-radius:11px; background:linear-gradient(135deg,rgba(85,198,242,.035),transparent); }
.v2-customer-loop { display:flex; align-items:stretch; gap:9px; }
.v2-customer-loop article { flex:1; min-width:0; padding:15px; border-top:3px solid var(--commercial-tone); border-radius:9px; background:rgba(85,198,242,.055); }
.v2-customer-loop article small,.v2-customer-loop article strong,.v2-customer-loop article em { display:block; }
.v2-customer-loop article small { color:var(--commercial-tone); font-size:11px; }
.v2-customer-loop article strong { margin-top:7px; font-size:18px; }
.v2-customer-loop article p { min-height:42px; margin:7px 0 0; color:var(--v2-muted); font-size:12px; line-height:1.5; }
.v2-customer-loop article em { margin-top:8px; color:var(--v2-cyan); font-size:11px; font-style:normal; }
.v2-customer-loop > i { align-self:center; color:var(--commercial-tone); font-size:20px; font-style:normal; }
.v2-flywheel-return { margin:10px 9% 0; padding:8px 12px; border-bottom:2px dashed color-mix(in srgb,var(--commercial-tone) 62%,transparent); color:var(--commercial-tone); font-size:11px; text-align:center; }
.v2-commercial-customer-flywheel > aside { width:min(360px,100%); margin:13px auto 0; padding:11px 14px; border-left:3px solid var(--v2-yellow); border-radius:0 8px 8px 0; background:rgba(255,202,88,.04); text-align:center; }
.v2-commercial-customer-flywheel > aside small,.v2-commercial-customer-flywheel > aside strong { display:block; }
.v2-commercial-customer-flywheel > aside small { color:var(--v2-yellow); font-size:11px; }
.v2-commercial-customer-flywheel > aside strong { margin-top:5px; font-size:15px; }
.v2-commercial-customer-flywheel > aside p { margin:5px 0 0; color:var(--v2-muted); font-size:11px; }
.v2-commercial-customer-flywheel > .v2-visual-boundary { margin:12px 0 0; text-align:center; }
.v2-commercial-personas section > footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:12px; padding-top:10px; border-top:1px solid var(--v2-border); }
.v2-commercial-personas section > footer em { padding:7px; border-radius:7px; background:rgba(56,214,199,.035); font-style:normal; }
.v2-commercial-personas section > footer small,.v2-commercial-personas section > footer strong { display:block; }
.v2-commercial-personas section > footer small { color:var(--v2-dim); font-size:8px; }
.v2-commercial-personas section > footer strong { margin-top:4px; color:var(--v2-text); font-size:11px; }

/* Value-chain position: external dependencies feed a highlighted Pop Mart control band. */
.v2-commercial-value-chain-position { padding:18px; border:1px solid var(--v2-border); border-radius:11px; background:linear-gradient(135deg,rgba(181,140,255,.035),transparent); }
.v2-value-chain-main { display:flex; gap:10px; align-items:stretch; }
.v2-value-chain-main > i { align-self:center; color:var(--commercial-tone); font-size:20px; font-style:normal; }
.v2-value-chain-main > section.external { display:flex; min-width:128px; flex:.58; flex-direction:column; justify-content:center; padding:14px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.018); text-align:center; }
.v2-value-chain-main > section.external.partner { border-style:dashed; background:rgba(181,140,255,.025); }
.v2-value-chain-main small,.v2-value-chain-main strong { display:block; }
.v2-value-chain-main > section.external small { color:var(--v2-muted); font-size:11px; }
.v2-value-chain-main > section.external strong { margin-top:7px; font-size:15px; line-height:1.35; }
.v2-value-chain-main > section.external p { margin:7px 0 0; color:var(--v2-dim); font-size:11px; line-height:1.45; }
.v2-value-chain-control-legend{display:flex;justify-content:flex-end;gap:14px;margin:0 0 12px;color:var(--v2-muted);font-size:10px}.v2-value-chain-control-legend span{display:inline-flex;align-items:center;gap:6px}.v2-value-chain-control-legend i{width:22px;height:12px;border-radius:3px}.v2-value-chain-control-legend .company{color:var(--commercial-tone);font-weight:850}.v2-value-chain-control-legend .company i{border:3px solid var(--commercial-tone);background:color-mix(in srgb,var(--commercial-tone) 32%,var(--v2-panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--commercial-tone) 10%,transparent)}.v2-value-chain-control-legend .external i{border:1px solid var(--v2-border);background:var(--v2-panel)}
.v2-company-control-band { min-width:380px; flex:2.35; padding:14px; border:4px solid var(--commercial-tone); outline:5px solid color-mix(in srgb,var(--commercial-tone) 10%,transparent); border-radius:11px; background:linear-gradient(135deg,color-mix(in srgb,var(--commercial-tone) 30%,var(--v2-panel)),color-mix(in srgb,var(--commercial-tone) 16%,var(--v2-panel))); box-shadow:inset 0 5px 0 color-mix(in srgb,var(--commercial-tone) 80%,transparent),0 8px 24px color-mix(in srgb,var(--commercial-tone) 12%,transparent); }
.v2-company-control-band > header { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.v2-company-control-band > header small { padding:5px 9px; border-radius:999px; background:var(--commercial-tone); color:#06211f; font-size:11px; font-weight:900; letter-spacing:.04em; }
.v2-company-control-band > header strong { font-size:13px; }
.v2-company-control-band > div { display:flex; align-items:stretch; gap:7px; margin-top:12px; }
.v2-company-control-band article { flex:1; min-width:0; padding:11px; border:1px solid color-mix(in srgb,var(--commercial-tone) 42%,var(--v2-border)); border-radius:8px; background:color-mix(in srgb,var(--commercial-tone) 12%,var(--v2-panel)); }
.v2-company-control-band article small { color:var(--commercial-tone); font-size:10px; }
.v2-company-control-band article strong { margin-top:6px; font-size:13px; line-height:1.35; }
.v2-company-control-band article p { margin:6px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.45; }
.v2-company-control-band > div > i { align-self:center; color:var(--commercial-tone); font-style:normal; }
.v2-value-chain-supports { display:grid; grid-template-columns:1fr 1fr; gap:10px; width:min(690px,70%); margin:13px auto 0; }
.v2-value-chain-supports article { padding:11px 13px; border-top:2px solid var(--v2-yellow); border-radius:8px; background:rgba(255,202,88,.035); text-align:center; }
.v2-value-chain-supports span,.v2-value-chain-supports small,.v2-value-chain-supports strong { display:block; }
.v2-value-chain-supports span { color:var(--v2-yellow); font-size:10px; }
.v2-value-chain-supports small { margin-top:5px; color:var(--v2-muted); font-size:11px; }
.v2-value-chain-supports strong { margin-top:5px; font-size:14px; }
.v2-value-chain-supports p { margin:5px 0 0; color:var(--v2-dim); font-size:10px; }
.v2-commercial-value-chain-position > footer { display:flex; justify-content:space-around; gap:10px; margin-top:13px; padding-top:10px; border-top:1px dashed var(--v2-border); color:var(--commercial-tone); font-size:11px; }

/* External-variable causal network */
.v2-commercial-external-network { overflow-x:auto; padding:16px 18px 18px; border:1px solid var(--v2-border); border-radius:11px; background:linear-gradient(135deg,rgba(255,202,88,.035),transparent); }
.v2-commercial-external-network > header { display:grid; grid-template-columns:1fr 1fr 1fr; min-width:820px; padding:0 3px 10px; color:var(--v2-muted); font-size:11px; font-weight:700; text-align:center; }
.v2-external-network-canvas { position:relative; min-width:820px; height:430px; }
.v2-external-network-canvas svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.v2-external-network-canvas svg line { fill:none; stroke-width:1.4; stroke-opacity:.46; }
.v2-external-network-canvas svg marker path { fill:#778b93; }
.v2-external-network-canvas button,.v2-external-network-canvas article { position:absolute; z-index:1; width:20%; min-height:50px; padding:9px 11px; border:1px solid color-mix(in srgb,var(--network-tone,var(--v2-border)) 52%,var(--v2-border)); border-left:3px solid var(--network-tone,var(--v2-border)); border-radius:8px; background:color-mix(in srgb,var(--network-tone,var(--v2-border)) 6%,var(--v2-panel)); color:var(--v2-text); text-align:left; transform:translateY(-50%); }
.v2-external-network-canvas button { cursor:pointer; }
.v2-external-network-canvas button:hover,.v2-external-network-canvas button:focus-visible { background:color-mix(in srgb,var(--network-tone) 12%,var(--v2-panel)); outline:none; }
.v2-external-network-canvas .signal { left:0; }
.v2-external-network-canvas .driver { left:40%; }
.v2-external-network-canvas .outcome { left:78%; width:22%; --network-tone:var(--commercial-tone); }
.v2-external-network-canvas strong,.v2-external-network-canvas small { display:block; }
.v2-external-network-canvas strong { font-size:12px; line-height:1.35; }
.v2-external-network-canvas small { margin-top:4px; color:var(--v2-muted); font-size:10px; line-height:1.35; }
.v2-external-network-canvas .driver strong { color:var(--network-tone); font-size:14px; }

/* Competition labels stay legible; detailed metrics remain in tooltip and drawer. */
.v2-matrix-y-title b,.v2-matrix-x-title b { font-size:11px; }
.v2-matrix-y-title span,.v2-matrix-x-title span { font-size:10px; }
.v2-competition-plot > span { font-size:10px; }
.v2-competition-plot article strong { font-size:12px; }
.v2-competition-plot article small { margin-top:5px; font-size:10px; line-height:1.35; }
.v2-commercial-competition-matrix > p { margin-top:10px; font-size:11px; line-height:1.5; }

[data-theme="light"] body.dna-v2-body .v2-commercial-customer-flywheel,
[data-theme="light"] body.dna-v2-body .v2-commercial-value-chain-position,
[data-theme="light"] body.dna-v2-body .v2-commercial-external-network { background:#fff; }

@media (max-width:900px) {
    .v2-value-chain-main { min-width:0; flex-direction:column; }
    .v2-company-control-band { min-width:0; }
    .v2-company-control-band > div { flex-direction:column; }
    .v2-company-control-band > div > i { transform:rotate(90deg); text-align:center; }
    .v2-value-chain-main > i { transform:rotate(90deg); text-align:center; }
    .v2-value-chain-supports { width:100%; }
}

@media (max-width:640px) {
    .v2-commercial-card > header h3 { font-size:18px; }
    .v2-commercial-thesis { font-size:13px; }
    .v2-growth-items { grid-template-columns:1fr 1fr; }
    .v2-growth-counter-signal { align-items:flex-start; flex-direction:column; }
    .v2-growth-counter-signal span { margin-left:0; }
    .v2-profit-retention > header { display:block; }
    .v2-profit-retention header > p { margin-top:10px; }
    .v2-profit-retention > div { min-width:620px; }
    .v2-profit-retention { overflow-x:auto; }
    .v2-customer-loop { flex-direction:column; }
    .v2-customer-loop > i { transform:rotate(90deg); }
    .v2-flywheel-return { margin-inline:0; }
    .v2-value-chain-supports { grid-template-columns:1fr; }
    .v2-scenario-pvm > .v2-scenario-waterfall { grid-template-columns:repeat(6,minmax(112px,1fr)); }
}

/* Enterprise DNA v2.19 · clearer diagnosis, governance and scenario reading */
.v2-enterprise-insights { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v2-enterprise-insight > h4 { font-size:17px; line-height:1.52; }
.v2-enterprise-insight > p { font-size:13px; line-height:1.72; }
.v2-enterprise-insight .v2-overview-evidence-matrix > strong,
.v2-enterprise-insight .v2-overview-signal-convergence > strong { font-size:12px; }
.v2-enterprise-insight .v2-overview-evidence-matrix small,
.v2-enterprise-insight .v2-overview-signal-convergence section small { font-size:10px; }
.v2-enterprise-insight .v2-overview-evidence-matrix span,
.v2-enterprise-insight .v2-overview-evidence-matrix footer,
.v2-enterprise-insight .v2-overview-signal-convergence section em,
.v2-enterprise-insight .v2-overview-signal-convergence footer small { font-size:10px; }
.v2-enterprise-insight .v2-overview-signal-convergence section b,
.v2-enterprise-insight .v2-overview-signal-convergence footer b { font-size:13px; }

.v2-governance-responsibility-map { padding:18px; border:1px solid var(--v2-border); border-radius:12px; background:linear-gradient(145deg,rgba(85,198,242,.04),rgba(181,140,255,.025)); }
.v2-governance-responsibility-map > strong { display:block; margin-bottom:14px; font-size:13px; }
.v2-governance-foundation { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.v2-governance-foundation article,.v2-governance-executive,.v2-governance-responsibilities article { padding:14px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.018); text-align:center; }
.v2-governance-responsibility-map small,.v2-governance-responsibility-map b,.v2-governance-responsibility-map p { display:block; }
.v2-governance-responsibility-map small { color:var(--v2-cyan); font-size:10px; }
.v2-governance-responsibility-map b { margin-top:6px; font-size:14px; line-height:1.4; }
.v2-governance-responsibility-map p { margin:6px 0 0; color:var(--v2-muted); font-size:11px; line-height:1.5; }
.v2-governance-arrow { display:block; margin:6px 0; color:var(--v2-cyan); font-style:normal; text-align:center; }
.v2-governance-executive { width:min(420px,100%); margin:0 auto; border-color:rgba(56,214,199,.55); background:rgba(56,214,199,.055); }
.v2-governance-responsibilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.v2-governance-responsibilities article b { font-size:12px; }
.v2-governance-responsibility-map > footer { display:grid; grid-template-columns:minmax(160px,.7fr) auto minmax(300px,1.2fr) auto minmax(220px,1fr); gap:12px; align-items:center; margin-top:14px; padding:14px; border:1px solid rgba(255,202,88,.35); border-radius:10px; background:rgba(255,202,88,.035); }
.v2-governance-responsibility-map > footer > i { color:var(--v2-yellow); font-style:normal; text-align:center; }
.v2-governance-responsibility-map > footer > p { margin:0; }
.v2-governance-allocations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.v2-governance-allocations span { padding:7px 9px; border-radius:7px; background:rgba(255,255,255,.025); color:var(--v2-text); font-size:10px; text-align:center; }

.v2-scenario-workspace { grid-template-columns:minmax(300px,.72fr) minmax(0,1.9fr); gap:16px; margin-top:18px; }
.v2-scenario-selector-row { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:stretch; margin-bottom:2px; }
.v2-scenario-selector-row > * { min-width:0; }
.v2-scenario-selector { width:100%; min-width:0; height:100%; box-sizing:border-box; margin:0; padding:13px; border:1px solid rgba(56,214,199,.42); border-radius:10px; background:rgba(56,214,199,.045); }
.v2-scenario-selector label { display:block; color:var(--v2-cyan); font-size:11px; font-weight:750; letter-spacing:.04em; }
.v2-scenario-selector select { width:100%; margin-top:8px; padding:10px 34px 10px 11px; border:1px solid var(--v2-border); border-radius:8px; background:var(--v2-panel); color:var(--v2-text); font:700 13px/1.3 inherit; cursor:pointer; }
.v2-scenario-selector p { margin:8px 0 0; padding:0; border:0; color:var(--v2-muted); font-size:11px; line-height:1.55; }
.v2-scenario-controls > header small,.v2-scenario-result-head small { font-size:10px; }
.v2-scenario-controls h4,.v2-scenario-result-head h4 { font-size:15px; }
.v2-scenario-controls > header button,.v2-scenario-result-head > button { padding:8px 10px; font-size:10px; }
.v2-scenario-controls label > span b { font-size:12px; }
.v2-scenario-controls label > span em { font-size:9px; }
.v2-scenario-controls output { font-size:13px; }
.v2-scenario-controls label > small,.v2-scenario-controls > p { font-size:9px; }
.v2-scenario-result-head p { font-size:11px; }
.v2-scenario-chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.v2-scenario-chart-head > div > small { color:var(--v2-cyan); font-size:11px; font-weight:800; letter-spacing:.06em; }
.v2-scenario-chart-head h5,.v2-scenario-pvm .v2-scenario-chart-head h5 { max-width:none; margin-top:6px; font-size:15px; line-height:1.45; }
.v2-scenario-chart-head > div > p { margin:5px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.5; }
.v2-scenario-kpis small { font-size:10px; }
.v2-scenario-kpis b { font-size:16px; }
.v2-scenario-kpis em { font-size:9px; }
.v2-scenario-trend,.v2-scenario-profit-stack,.v2-scenario-pvm { margin-top:14px; padding:16px; }
.v2-scenario-trend > header,.v2-scenario-pvm > header { min-width:0; }
.v2-scenario-trend-tools p { font-size:10px; }
.v2-scenario-trend-tools button { font-size:9px; }
.v2-scenario-trend > div:last-child b,.v2-scenario-trend > div:last-child small { font-size:9px; }
.v2-scenario-profit-stack article strong,.v2-scenario-profit-stack article b { font-size:11px; }
.v2-scenario-profit-stack article em,.v2-scenario-profit-stack footer { font-size:9px; }
.v2-scenario-profit-stack article > span { height:22px; }
.v2-scenario-pvm { overflow-x:visible; }
.v2-scenario-pvm > .v2-scenario-waterfall { grid-template-columns:repeat(6,minmax(90px,1fr)); gap:7px; min-width:0; }
.v2-scenario-waterfall article > div { height:140px; }
.v2-scenario-waterfall article > div i { left:22%; width:56%; }
.v2-scenario-waterfall article > small { font-size:10px; }
.v2-scenario-waterfall article > b { font-size:15px; }
.v2-scenario-waterfall article > em,.v2-scenario-waterfall article > p { font-size:9px; }
.v2-scenario-pvm > p { min-width:0; font-size:10px; }

.v2-commercial-competition-matrix { grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto auto auto auto; }
.v2-matrix-y-heading { grid-column:2; grid-row:1; margin:0 0 8px; color:var(--v2-muted); font-size:11px; font-weight:750; }
.v2-matrix-y-title { grid-column:1; grid-row:2; display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:10px 8px 10px 0; }
.v2-matrix-y-title span { color:var(--v2-dim); font-size:10px; line-height:1.15; writing-mode:vertical-rl; text-orientation:upright; transform:none; white-space:nowrap; }
.v2-competition-plot { grid-column:2; grid-row:2; }
.v2-matrix-x-title { grid-column:2; grid-row:3; }

/* Shared evidence-first matrix contract: axis heading never shares the plot corner. */
.v2-commercial-competition-matrix{grid-template-rows:auto minmax(0,auto) auto auto}
.v2-matrix-y-heading{min-height:22px;padding-left:28px;line-height:1.25;white-space:normal}
.v2-competition-plot .q-tl{left:18px;top:18px;max-width:34%;line-height:1.35}
.v2-competition-plot .q-top-left,.v2-competition-plot .top-left{left:18px;top:18px;max-width:34%;line-height:1.35}
.v2-competition-plot .q-top-right,.v2-competition-plot .top-right{right:18px;top:18px;max-width:34%;line-height:1.35;text-align:right}
.v2-competition-plot .q-bottom-left,.v2-competition-plot .bottom-left{left:18px;bottom:18px;max-width:34%;line-height:1.35}
.v2-competition-plot .q-bottom-right,.v2-competition-plot .bottom-right{right:18px;bottom:18px;max-width:34%;line-height:1.35;text-align:right}
.v2-competition-axis-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v2-competition-axis-proof section{min-height:92px;padding:12px;border:1px solid var(--v2-border);border-radius:9px;background:color-mix(in srgb,var(--v2-panel) 92%,var(--v2-cyan) 8%)}
.v2-competition-axis-proof small,.v2-competition-axis-proof b,.v2-competition-axis-proof p{display:block}
.v2-competition-axis-proof small{color:var(--v2-cyan);font-size:8px;font-weight:800}
.v2-competition-axis-proof b{margin-top:7px;font-size:12px;line-height:1.35}
.v2-competition-axis-proof p{margin:3px 0 0;color:var(--v2-muted);font-size:8px;line-height:1.45}
.v2-governance-relation-label{display:block;margin:10px auto 8px;color:var(--v2-cyan);font-size:9px;font-style:normal;font-weight:800;text-align:center}

/* Path evidence uses a factual bridge plus a compact mechanism chain; no prose table. */
.v2-path-evidence-visual{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:16px;min-height:250px}
.v2-path-evidence-visual>section{padding:16px;border:1px solid var(--v2-border);border-radius:12px;background:color-mix(in srgb,var(--v2-panel) 96%,var(--v2-cyan) 4%)}
.v2-path-evidence-visual h4{margin:0 0 14px;font-size:10px}
.v2-path-evidence-bridge>div,.v2-path-mechanism-chain>div{display:flex;align-items:stretch;gap:8px}
.v2-path-evidence-bridge article,.v2-path-mechanism-chain article{flex:1;min-width:0;padding:12px;border:1px solid var(--v2-border);border-radius:9px;background:var(--v2-panel)}
.v2-path-evidence-bridge small,.v2-path-evidence-bridge b,.v2-path-evidence-bridge em{display:block}
.v2-path-evidence-bridge small{color:var(--v2-muted);font-size:8px}.v2-path-evidence-bridge b{margin-top:8px;color:var(--v2-cyan);font-size:16px;line-height:1.2}.v2-path-evidence-bridge em{margin-top:6px;color:var(--v2-dim);font-size:7px;font-style:normal;line-height:1.4}
.v2-path-evidence-bridge i,.v2-path-mechanism-chain i{align-self:center;color:var(--v2-cyan);font-size:14px;font-style:normal}
.v2-path-mechanism-chain>div{flex-direction:column}.v2-path-mechanism-chain article{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;flex:0 0 auto}.v2-path-mechanism-chain article span{color:var(--v2-cyan);font-size:8px}.v2-path-mechanism-chain article b{font-size:9px;line-height:1.45}.v2-path-mechanism-chain i{align-self:center;transform:rotate(90deg)}
.v2-page-intro-actions>.v2-page-mode-switch{margin:0}
@media(max-width:900px){.v2-path-evidence-visual{grid-template-columns:1fr}.v2-competition-axis-proof{grid-template-columns:1fr}.v2-path-evidence-bridge>div{overflow-x:auto}.v2-path-evidence-bridge article{min-width:150px}}
.v2-outlook-evidence-grid>.v2-outlook-story .v2-path-evidence-visual{grid-template-columns:1fr}
.v2-outlook-evidence-grid.is-single>.v2-outlook-story .v2-path-evidence-visual{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
@media(max-width:900px){.v2-outlook-evidence-grid.is-single>.v2-outlook-story .v2-path-evidence-visual{grid-template-columns:1fr}}
.v2-selected-path-evidence>header p{max-width:980px;margin:7px 0 0;color:var(--v2-muted);font-size:11px;line-height:1.5}.v2-selected-path-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:18px}.v2-selected-path-facts article{min-width:0;padding:13px 14px;border:1px solid var(--v2-border);border-radius:11px;background:color-mix(in srgb,var(--v2-panel) 95%,var(--v2-cyan) 5%)}.v2-selected-path-facts small,.v2-selected-path-facts b,.v2-selected-path-facts em{display:block}.v2-selected-path-facts small{color:var(--v2-muted);font-size:8px}.v2-selected-path-facts b{margin-top:8px;color:var(--v2-cyan);font-size:17px;line-height:1.2}.v2-selected-path-facts em{margin-top:6px;color:var(--v2-dim);font-size:8px;font-style:normal;line-height:1.45}.v2-selected-path-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:14px}.v2-selected-path-charts>button{min-width:0;min-height:190px;padding:15px;border:1px solid var(--v2-border);border-radius:12px;background:var(--v2-panel);color:var(--v2-text);text-align:left;cursor:pointer}.v2-selected-path-charts>button.is-compact{min-height:112px}.v2-selected-path-charts>button header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.v2-selected-path-charts>button header small{color:var(--v2-muted);font-size:8px}.v2-selected-path-charts>button header strong{color:var(--v2-cyan);font-size:13px}.v2-selected-path-charts>button>p{margin:24px 0 0;color:var(--v2-muted);font-size:10px;line-height:1.55}.v2-selected-path-charts>button.is-compact>p{margin-top:16px}.v2-selected-path-mini-chart{height:112px;display:flex;align-items:flex-end;gap:5px;margin-top:16px;padding-top:14px;border-bottom:1px solid var(--v2-border)}.v2-selected-path-mini-chart i{position:relative;flex:1;min-width:4px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--v2-cyan),color-mix(in srgb,var(--v2-cyan) 26%,transparent));font-style:normal}.v2-selected-path-mini-chart i span{position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%);max-width:70px;overflow:hidden;color:var(--v2-text);font-size:6px;text-overflow:ellipsis;white-space:nowrap}.v2-selected-path-mini-chart i small{position:absolute;left:50%;top:calc(100% + 4px);transform:translateX(-50%);max-width:64px;overflow:hidden;color:var(--v2-muted);font-size:6px;text-overflow:ellipsis;white-space:nowrap}
.v2-commercial-competition-matrix > p { grid-column:2; grid-row:4; }

[data-theme="light"] body.dna-v2-body .v2-governance-responsibility-map,
[data-theme="light"] body.dna-v2-body .v2-governance-foundation article,
[data-theme="light"] body.dna-v2-body .v2-governance-executive,
[data-theme="light"] body.dna-v2-body .v2-governance-responsibilities article { background:#fff; }

@media (max-width:980px) {
    .v2-enterprise-insights { grid-template-columns:1fr; }
    .v2-scenario-workspace { grid-template-columns:1fr; }
    .v2-scenario-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 10px; }
    .v2-scenario-selector-row,.v2-scenario-controls > header,.v2-scenario-controls > p { grid-column:1/-1; }
    .v2-governance-responsibility-map > footer { grid-template-columns:1fr; }
    .v2-governance-responsibility-map > footer > i { transform:rotate(90deg); }
}

@media (max-width:640px) {
    .v2-enterprise-insight > h4 { font-size:16px; }
    .v2-governance-foundation,.v2-governance-responsibilities { grid-template-columns:1fr; }
    .v2-scenario-controls { display:block; }
    .v2-scenario-chart-head,.v2-scenario-result-head { display:block; }
    .v2-scenario-chart-head > div > small { font-size:10px; }
    .v2-scenario-chart-head h5,.v2-scenario-pvm .v2-scenario-chart-head h5 { font-size:14px; }
    .v2-scenario-trend-tools { margin-top:10px; }
    .v2-scenario-pvm { overflow-x:auto; }
    .v2-scenario-pvm > header,.v2-scenario-pvm > p { min-width:720px; }
    .v2-scenario-pvm > .v2-scenario-waterfall { grid-template-columns:repeat(6,minmax(112px,1fr)); min-width:720px; }
    .v2-matrix-y-heading { margin-left:0; }
}

/* Enterprise DNA v2.20 · graphical enterprise diagnosis, platform-region governance and tabbed scenarios */
.v2-overview-position-matrix > strong,
.v2-overview-structure-profile > strong,
.v2-overview-quality-bridge > strong { display:block; margin-bottom:12px; color:var(--v2-text); font-size:12px; line-height:1.45; }
.v2-enterprise-insight.visual-positionMatrix { grid-column:1 / -1; }
.v2-competition-plot article.size-s { width:76px; height:76px; }
.v2-competition-plot article.size-m { width:88px; height:88px; }
.v2-competition-plot article.size-l { width:104px; height:104px; }
.v2-overview-position-layout { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:280px auto; gap:8px 10px; margin-top:30px; }
.v2-overview-position-y { display:flex; flex-direction:column; align-items:center; justify-content:space-between; grid-column:1; grid-row:1; min-height:0; padding:2px 0; }
.v2-overview-position-y b { color:var(--v2-dim); font-size:9px; font-weight:600; line-height:1.15; writing-mode:vertical-rl; text-orientation:upright; }
.v2-overview-position-y span { position:absolute; top:-28px; left:48px; color:var(--v2-muted); font-size:10px; font-weight:750; line-height:1.25; white-space:nowrap; }
.v2-overview-position-plot { position:relative; grid-column:2; grid-row:1; overflow:hidden; border:1px solid var(--v2-border); border-radius:10px; background:linear-gradient(90deg,transparent 49.8%,rgba(128,149,158,.14) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(128,149,158,.14) 50%,transparent 50.2%),linear-gradient(135deg,rgba(56,214,199,.07),transparent 48%,rgba(181,140,255,.035)); }
.v2-overview-position-plot > i { position:absolute; background:var(--v2-border); opacity:.8; }
.v2-overview-position-plot > i.axis-x { right:4%; bottom:5%; left:4%; height:1px; }
.v2-overview-position-plot > i.axis-y { top:4%; bottom:5%; left:5%; width:1px; }
.v2-overview-position-plot button { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; width:72px; height:72px; max-width:calc(100% - 12px); max-height:calc(100% - 12px); padding:8px; border:1px solid color-mix(in srgb,var(--company-tone) 72%,var(--v2-border)); border-radius:50%; background:color-mix(in srgb,var(--company-tone) 14%,var(--v2-panel)); color:var(--v2-text); text-align:center; transform:translate(-50%,-50%); cursor:pointer; transition:transform .18s,box-shadow .18s,background .18s; }
.v2-overview-position-plot button.size-sm,.v2-overview-position-plot button.size-s { width:60px; height:60px; }.v2-overview-position-plot button.size-md,.v2-overview-position-plot button.size-m { width:67px; height:67px; }.v2-overview-position-plot button.size-lg,.v2-overview-position-plot button.size-l { width:78px; height:78px; }.v2-overview-position-plot button.size-xl { width:94px; height:94px; }
.v2-overview-position-plot button:hover,.v2-overview-position-plot button:focus-visible,.v2-overview-position-plot button.active { z-index:2; outline:none; background:color-mix(in srgb,var(--company-tone) 24%,var(--v2-panel)); box-shadow:0 0 0 4px color-mix(in srgb,var(--company-tone) 11%,transparent); transform:translate(-50%,-50%) scale(1.04); }
.v2-overview-position-plot button b { font-size:10px; line-height:1.25; }.v2-overview-position-plot button small { margin-top:4px; color:var(--v2-muted); font-size:8px; line-height:1.25; }
.v2-overview-position-x { display:flex; align-items:center; justify-content:space-between; grid-column:2; grid-row:2; color:var(--v2-dim); font-size:9px; }.v2-overview-position-x span { color:var(--v2-muted); font-size:10px; font-weight:750; }
.v2-overview-position-evidence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:13px; }
.v2-overview-position-evidence button { display:grid; grid-template-columns:54px minmax(0,1fr); grid-template-rows:auto auto; gap:2px 9px; align-items:center; min-width:0; padding:9px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.015); color:var(--v2-text); text-align:left; cursor:pointer; }
.v2-overview-position-evidence button:hover { border-color:color-mix(in srgb,var(--evidence-tone) 60%,var(--v2-border)); }
.v2-overview-position-evidence i { position:relative; display:grid; grid-row:1/3; place-items:center; width:50px; height:50px; border-radius:50%; background:conic-gradient(var(--evidence-tone) calc(var(--evidence-share) * 1%),rgba(128,149,158,.15) 0); font-style:normal; }
.v2-overview-position-evidence i::after { position:absolute; inset:7px; border-radius:50%; background:var(--v2-panel); content:''; }.v2-overview-position-evidence i span { position:relative; z-index:1; font-size:9px; font-weight:800; }
.v2-overview-position-evidence b { align-self:end; font-size:10px; }.v2-overview-position-evidence small { align-self:start; color:var(--v2-muted); font-size:8px; line-height:1.35; }
.v2-overview-position-matrix > p { margin:10px 0 0; color:var(--v2-dim); font-size:9px; text-align:center; }

.v2-overview-structure-profile > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.v2-overview-structure-profile section { min-width:0; padding:11px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.012); }
.v2-overview-structure-profile section header b,.v2-overview-structure-profile section header small { display:block; }.v2-overview-structure-profile section header b { font-size:11px; }.v2-overview-structure-profile section header small { margin-top:3px; color:var(--v2-muted); font-size:9px; }
.v2-overview-structure-profile section > div { position:relative; height:175px; margin-top:8px; border-bottom:1px solid var(--v2-border); background:linear-gradient(0deg,transparent 24.7%,rgba(128,149,158,.09) 25%,transparent 25.3%,transparent 49.7%,rgba(128,149,158,.09) 50%,transparent 50.3%,transparent 74.7%,rgba(128,149,158,.09) 75%,transparent 75.3%); }
.v2-overview-structure-profile svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }.v2-overview-structure-profile line { stroke:var(--v2-cyan); stroke-width:2; vector-effect:non-scaling-stroke; }.v2-overview-structure-profile circle { fill:var(--v2-panel); stroke:var(--v2-cyan); stroke-width:2; vector-effect:non-scaling-stroke; }
.v2-overview-structure-profile section > div > span { position:absolute; width:55px; transform:translateY(50%); }.v2-overview-structure-profile section > div > span.start { left:0; text-align:left; }.v2-overview-structure-profile section > div > span.end { right:0; text-align:right; }
.v2-overview-structure-profile section > div > span b,.v2-overview-structure-profile section > div > span small { display:block; }.v2-overview-structure-profile section > div > span b { color:var(--v2-cyan); font-size:11px; }.v2-overview-structure-profile section > div > span small { margin-top:2px; color:var(--v2-dim); font-size:8px; }

.v2-overview-quality-bridge { padding:13px; border:1px solid var(--v2-border); border-radius:10px; background:linear-gradient(135deg,rgba(114,223,159,.04),transparent); }
.v2-quality-retention header,.v2-quality-cash header { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }.v2-quality-retention header > small,.v2-quality-cash header > small { color:var(--v2-green); font-size:10px; font-weight:800; }.v2-quality-retention header > div { display:flex; gap:8px; }.v2-quality-retention header span { color:var(--v2-muted); font-size:8px; }.v2-quality-retention header span b { margin-right:3px; color:var(--v2-text); font-size:11px; }
.v2-quality-retention > div { display:flex; overflow:hidden; min-height:70px; margin-top:10px; border-radius:8px; background:var(--v2-border); }.v2-quality-retention > div span { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:8px 6px; color:#071017; text-align:center; }.v2-quality-retention > div span.cogs,.v2-quality-retention > div span.cost,.v2-quality-retention > div span.is-cost { background:#6d8cff; }.v2-quality-retention > div span.opex,.v2-quality-retention > div span.investment,.v2-quality-retention > div span.is-investment { background:#ffca58; }.v2-quality-retention > div span.tax { background:#ff8ea3; }.v2-quality-retention > div span.profit,.v2-quality-retention > div span.is-profit { background:#72df9f; }.v2-quality-retention > div span.neutral{background:var(--v2-border)}.v2-quality-retention > div span b { font-size:11px; }.v2-quality-retention > div span small { margin-top:3px; font-size:8px; line-height:1.25; }
.v2-quality-bridge-arrow { display:block; margin:8px 0; color:var(--v2-muted); font-size:9px; font-style:normal; text-align:center; }
.v2-quality-cash { padding:11px; border-radius:8px; background:rgba(255,255,255,.018); }.v2-quality-cash header b { color:var(--v2-cyan); font-size:11px; }.v2-quality-cash > div { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:9px; align-items:center; margin-top:9px; }.v2-quality-cash > div span { padding:9px; border:1px solid var(--v2-border); border-radius:8px; text-align:center; }.v2-quality-cash > div span small,.v2-quality-cash > div span b { display:block; }.v2-quality-cash > div span small { color:var(--v2-muted); font-size:8px; }.v2-quality-cash > div span b { margin-top:4px; font-size:11px; }.v2-quality-cash > div > i { color:var(--v2-muted); font-size:10px; font-style:normal; }.v2-quality-cash > div > i em { color:var(--v2-yellow); font-size:9px; font-style:normal; }.v2-quality-cash > p { margin:9px 0 0; padding-left:9px; border-left:2px solid var(--v2-yellow); color:var(--v2-muted); font-size:9px; line-height:1.5; }

.v2-overview-constraint-network { display:grid; grid-template-columns:1.15fr auto .9fr auto .75fr; gap:9px; align-items:center; min-height:230px; padding:13px; border:1px solid rgba(242,111,135,.25); border-radius:10px; background:linear-gradient(135deg,rgba(242,111,135,.04),transparent); }
.v2-overview-constraint-network > i { color:var(--v2-red); font-size:18px; font-style:normal; }.v2-overview-constraint-network .facts { display:grid; gap:7px; }.v2-overview-constraint-network .facts span,.v2-overview-constraint-network .signals,.v2-overview-constraint-network .outcomes { padding:10px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.015); }.v2-overview-constraint-network small,.v2-overview-constraint-network b { display:block; }.v2-overview-constraint-network small { color:var(--v2-muted); font-size:8px; }.v2-overview-constraint-network b { margin-top:4px; font-size:10px; }.v2-overview-constraint-network .signals,.v2-overview-constraint-network .outcomes { display:flex; flex-wrap:wrap; gap:6px; }.v2-overview-constraint-network .signals small,.v2-overview-constraint-network .outcomes small { width:100%; color:var(--v2-red); font-weight:750; }.v2-overview-constraint-network .signals span,.v2-overview-constraint-network .outcomes span { padding:5px 7px; border-radius:999px; background:rgba(255,255,255,.025); color:var(--v2-text); font-size:8px; }

.v2-governance-responsibilities { grid-template-columns:repeat(5,minmax(0,1fr)); }
.v2-governance-responsibilities article { min-width:0; }.v2-governance-responsibilities article p { font-size:10px; }
.v2-governance-other-units { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin-top:9px; color:var(--v2-muted); }.v2-governance-other-units > small { color:var(--v2-dim); font-size:9px; }.v2-governance-other-units > span { padding:5px 8px; border:1px solid var(--v2-border); border-radius:999px; font-size:9px; }.v2-governance-other-units > p { flex-basis:100%; margin:0; color:var(--v2-dim); font-size:8px; text-align:center; }
.v2-governance-collaboration { display:grid; grid-template-columns:minmax(0,1.1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap:10px; align-items:center; margin-top:14px; padding:14px; border:1px solid rgba(56,214,199,.3); border-radius:10px; background:rgba(56,214,199,.035); }
.v2-governance-collaboration > section { padding:10px; border-radius:8px; background:rgba(255,255,255,.02); text-align:center; }.v2-governance-collaboration > i { color:var(--v2-cyan); font-style:normal; }.v2-governance-collaboration small,.v2-governance-collaboration b { display:block; }.v2-governance-collaboration small { color:var(--v2-cyan); font-size:9px; }.v2-governance-collaboration b { margin-top:5px; font-size:11px; line-height:1.4; }.v2-governance-collaboration .regions div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin-top:6px; }.v2-governance-collaboration .regions span { padding:5px; border-radius:6px; background:rgba(255,255,255,.025); font-size:9px; }.v2-governance-collaboration > p { grid-column:1/-1; margin:1px 0 0; color:var(--v2-muted); font-size:9px; text-align:center; }
.v2-commercial-governance { grid-template-columns:1fr; }.v2-commercial-governance > div:last-child { flex-wrap:wrap; }.v2-commercial-governance > div:last-child span { flex:1 1 150px; }

.v2-strategy-migration { display:grid; grid-template-columns:52px minmax(0,1fr); grid-template-rows:390px auto auto; gap:8px 12px; margin-top:16px; }
.v2-strategy-migration-y { display:flex; flex-direction:column; align-items:center; justify-content:space-between; grid-column:1; grid-row:1; padding:7px 0; }.v2-strategy-migration-y b { color:var(--v2-dim); font-size:9px; font-weight:600; line-height:1.2; writing-mode:vertical-rl; text-orientation:upright; }.v2-strategy-migration-y span { color:var(--v2-muted); font-size:10px; font-weight:750; writing-mode:vertical-rl; }
.v2-strategy-migration-plot { position:relative; grid-column:2; grid-row:1; overflow:hidden; border:1px solid var(--v2-border); border-radius:11px; background:linear-gradient(90deg,transparent 49.8%,rgba(128,149,158,.12) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(128,149,158,.12) 50%,transparent 50.2%),linear-gradient(135deg,transparent 35%,rgba(56,214,199,.055)); }
.v2-strategy-migration-plot .zone { position:absolute; color:var(--v2-dim); font-size:9px; }.v2-strategy-migration-plot .zone.top-right { top:9px; right:11px; }.v2-strategy-migration-plot .zone.bottom-left { bottom:9px; left:11px; }
.v2-strategy-migration-plot > svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }.v2-strategy-migration-plot polyline { fill:none; stroke:var(--v2-cyan); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }.v2-strategy-migration-plot marker path { fill:var(--v2-cyan); }
.v2-strategy-migration-plot article { position:absolute; z-index:1; width:156px; color:var(--v2-text); text-align:center; transform:translate(-50%,-50%); }.v2-strategy-migration-plot article > span { display:flex; flex-direction:column; align-items:center; justify-content:center; width:var(--stage-size); height:var(--stage-size); margin:0 auto; border:2px solid var(--stage-tone); border-radius:50%; background:color-mix(in srgb,var(--stage-tone) 16%,var(--v2-panel)); box-shadow:0 0 0 5px color-mix(in srgb,var(--stage-tone) 7%,transparent); }.v2-strategy-migration-plot article small,.v2-strategy-migration-plot article b { display:block; }.v2-strategy-migration-plot article small { color:var(--stage-tone); font-size:8px; font-weight:800; }.v2-strategy-migration-plot article b { margin-top:3px; font-size:10px; }.v2-strategy-migration-plot article h4 { margin:6px 0 0; font-size:10px; line-height:1.3; }.v2-strategy-migration-plot article em { display:block; margin-top:3px; color:var(--v2-muted); font-size:8px; font-style:normal; }
.v2-strategy-migration-x { display:flex; align-items:center; justify-content:space-between; grid-column:2; grid-row:2; color:var(--v2-dim); font-size:9px; }.v2-strategy-migration-x span { color:var(--v2-muted); font-size:10px; font-weight:750; }
.v2-strategy-migration-notes { display:grid; grid-column:2; grid-row:3; grid-template-columns:repeat(var(--stage-count,5),minmax(0,1fr)); gap:7px; }.v2-strategy-migration-notes section { min-width:0; padding:8px; border-top:2px solid var(--v2-cyan); border-radius:7px; background:rgba(56,214,199,.025); }.v2-strategy-migration-notes b,.v2-strategy-migration-notes span { display:block; overflow-wrap:anywhere; }.v2-strategy-migration-notes b { color:var(--v2-cyan); font-size:8px; }.v2-strategy-migration-notes span { margin-top:4px; color:var(--v2-muted); font-size:8px; line-height:1.4; }

.v2-scenario-result-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:15px; padding:4px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.012); }
.v2-scenario-result-tabs button { display:flex; align-items:center; gap:8px; min-width:0; padding:10px 12px; border:0; border-radius:7px; background:transparent; color:var(--v2-muted); text-align:left; cursor:pointer; }.v2-scenario-result-tabs button small { color:var(--v2-dim); font-size:9px; }.v2-scenario-result-tabs button span { font-size:11px; font-weight:750; }.v2-scenario-result-tabs button.active { background:rgba(56,214,199,.09); color:var(--v2-text); box-shadow:inset 0 0 0 1px rgba(56,214,199,.32); }.v2-scenario-result-tabs button.active small { color:var(--v2-cyan); }
.v2-scenario-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v2-scenario-tab-panel { min-height:390px; }
.v2-scenario-profit-stack > article { grid-template-columns:265px minmax(0,1fr); }.v2-scenario-profit-stack article > div small { grid-column:1/-1; color:var(--v2-muted); font-size:9px; }.v2-scenario-profit-stack article em { line-height:1.4; }

[data-theme="light"] body.dna-v2-body .v2-overview-position-evidence i::after { background:#fff; }
[data-theme="light"] body.dna-v2-body .v2-overview-position-plot button,
[data-theme="light"] body.dna-v2-body .v2-strategy-migration-plot article > span { background:color-mix(in srgb,var(--company-tone,var(--stage-tone)) 12%,#fff); }

@media (max-width:980px) {
    .v2-overview-structure-profile > div { grid-template-columns:1fr; }
    .v2-overview-structure-profile section > div { height:140px; }
    .v2-governance-responsibilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-governance-collaboration { grid-template-columns:1fr; }.v2-governance-collaboration > i { transform:rotate(90deg); text-align:center; }
    .v2-strategy-migration-notes { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px) {
    .v2-overview-position-layout { grid-template-rows:250px auto; }
    .v2-overview-position-evidence { grid-template-columns:1fr; }
    .v2-overview-position-plot button small { display:none; }
    .v2-overview-position-plot button.size-xl { width:82px; height:82px; }
    .v2-quality-retention > div { min-width:520px; }.v2-quality-retention { overflow-x:auto; }
    .v2-quality-cash > div { grid-template-columns:1fr; }.v2-quality-cash > div > i { transform:rotate(90deg); text-align:center; }
    .v2-overview-constraint-network { grid-template-columns:1fr; }.v2-overview-constraint-network > i { transform:rotate(90deg); text-align:center; }
    .v2-governance-responsibilities { grid-template-columns:1fr; }
    .v2-strategy-evolution { overflow-x:auto; }
    .v2-strategy-migration { width:560px; grid-template-columns:38px minmax(0,1fr); grid-template-rows:360px auto auto; }.v2-strategy-migration-plot article { width:108px; }.v2-strategy-migration-plot article h4 { font-size:9px; }.v2-strategy-migration-plot article em { display:none; }.v2-strategy-migration-notes { grid-template-columns:1fr; }
    .v2-scenario-result-tabs { display:flex; overflow-x:auto; }.v2-scenario-result-tabs button { flex:0 0 155px; }
    .v2-scenario-kpis { grid-template-columns:1fr; }
    .v2-scenario-tab-panel { min-height:0; }
    .v2-scenario-profit-stack > article { grid-template-columns:1fr; }
}

/* Enterprise DNA v2.21 · clearer governance and auditable scenarios */
.v2-overview-position-y { padding-top:4px; }
.v2-overview-position-y b { font-size:10px; }

.v2-governance-operating-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr); gap:14px; margin-top:12px; align-items:stretch; }
.v2-governance-org-stack { display:flex; min-width:0; flex-direction:column; align-items:center; padding:14px; border:1px solid var(--v2-border); border-radius:11px; background:rgba(255,255,255,.012); }
.v2-governance-org-stack .v2-governance-executive { width:min(500px,100%); }
.v2-governance-org-stack .v2-governance-responsibilities { width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.v2-governance-org-stack .v2-governance-responsibilities article { display:flex; min-height:105px; flex-direction:column; justify-content:center; padding:10px; }
.v2-governance-org-stack .v2-governance-responsibilities article small { font-size:9px; }
.v2-governance-org-stack .v2-governance-responsibilities article b { font-size:11px; }
.v2-governance-org-stack .v2-governance-responsibilities article p { font-size:9px; }
.v2-governance-regions { display:grid; width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.v2-governance-regions article { padding:11px 8px; border:1px solid var(--v2-border); border-radius:9px; background:color-mix(in srgb,var(--v2-panel) 96%,var(--v2-text) 4%); text-align:center; }
.v2-governance-regions article b { margin:0; font-size:11px; }
.v2-governance-regions article small { margin-top:5px; color:var(--v2-muted); font-size:8px; line-height:1.4; }
.v2-governance-regions>article.has-children{display:grid;min-height:0;align-content:start;gap:8px;padding:0;border:0;background:transparent;text-align:left}
.v2-governance-region-parent-node{padding:11px 10px;border:1px solid var(--v2-border-strong);border-radius:9px;background:color-mix(in srgb,var(--v2-panel) 96%,var(--v2-text) 4%);text-align:center}
.v2-governance-region-child-link{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;color:var(--v2-muted);font-size:8px;font-style:normal;font-weight:800;line-height:1.35;text-align:center}
.v2-governance-region-child-link::before{content:'↓';color:var(--v2-muted);font-size:13px;font-weight:800;line-height:1}
.v2-governance-region-child-link::after{content:none}
.v2-governance-region-child-link[data-relationship-type="formal-reporting-line"]{color:var(--v2-text)}
.v2-governance-region-child-link[data-relationship-type="formal-reporting-line"]::before{color:var(--v2-text);font-size:15px}
.v2-governance-region-child-link[data-relationship-type="unknown"]::before{content:'';width:32px;border-top:1px dashed var(--v2-border-strong)}
.v2-governance-region-children{display:grid;gap:7px;margin:0}
.v2-governance-regions .v2-governance-region-children>article{padding:10px;border:1px solid var(--v2-border-strong);background:var(--v2-panel);text-align:center}
.v2-governance-regions .v2-governance-region-children>article b{font-size:10px}.v2-governance-regions .v2-governance-region-children>article small{font-size:8px}
.v2-governance-org-stack.is-coordination>.v2-governance-responsibilities{display:none}
.v2-governance-coordination-pair{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:10px;align-items:center;margin-top:12px}.v2-governance-coordination-pair>section{min-width:0;padding:10px;border:1px solid var(--v2-border);border-radius:10px}.v2-governance-coordination-pair>section>small{display:block;margin-bottom:8px;color:var(--v2-accent);font-size:9px;font-weight:800}.v2-governance-coordination-pair>i{color:var(--v2-accent);font-size:20px;font-style:normal;text-align:center}.v2-governance-coordination-pair .v2-governance-responsibilities,.v2-governance-coordination-pair .v2-governance-regions{grid-template-columns:repeat(2,minmax(0,1fr))}
.v2-governance-coordination-pair .v2-governance-regions>article.has-children{grid-column:1/-1}
@media(max-width:760px){.v2-governance-coordination-pair{grid-template-columns:1fr}.v2-governance-coordination-pair>i{transform:rotate(90deg)}}
.v2-governance-role-explainer { display:flex; min-width:0; flex-direction:column; justify-content:space-between; gap:10px; padding:14px; border:1px solid rgba(56,214,199,.3); border-radius:11px; background:linear-gradient(155deg,rgba(56,214,199,.05),rgba(85,198,242,.025)); }
.v2-governance-role-explainer section { padding:12px; border-radius:9px; background:rgba(255,255,255,.02); }
.v2-governance-role-explainer section > small { color:var(--v2-cyan); font-size:9px; letter-spacing:.08em; }
.v2-governance-role-explainer h4 { margin:6px 0 0; font-size:13px; line-height:1.45; }
.v2-governance-role-explainer ul { display:grid; gap:7px; margin:11px 0 0; padding-left:17px; }
.v2-governance-role-explainer li { color:var(--v2-muted); font-size:10px; line-height:1.5; }
.v2-governance-role-explainer > i { color:var(--v2-cyan); font-size:10px; font-style:normal; text-align:center; }
.v2-governance-role-explainer > p { margin:0; padding:10px; border-top:1px solid var(--v2-border); color:var(--v2-muted); font-size:9px; line-height:1.55; }
.v2-governance-relationship-boundary > p { margin:8px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.6; }
.v2-governance-relation-label { display:block; margin:10px 0 7px; color:var(--v2-cyan); font-size:10px; font-style:normal; font-weight:800; letter-spacing:.04em; text-align:center; }

.v2-strategy-migration-plot article em { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; }
.v2-strategy-migration-plot article em b { max-width:100%; margin:0; padding:3px 5px; border:1px solid color-mix(in srgb,var(--stage-tone) 35%,var(--v2-border)); border-radius:999px; background:color-mix(in srgb,var(--stage-tone) 7%,transparent); color:var(--v2-muted); font-size:7px; font-weight:650; white-space:normal; overflow-wrap:anywhere; }
/* The plot carries only the audited coordinate, period and value. Full stage
   labels and evidence live in the ordered notes below, preventing dense nodes
   from covering one another without changing their business coordinates. */
.v2-strategy-migration-plot article h4,
.v2-strategy-migration-plot article em { display:none; }

/* Strategic evolution single-view: bubble size carries scale; stage copy stays with its year. */
.v2-strategy-evolution.is-single-view .v2-strategy-migration { grid-template-rows:430px auto auto; }
.v2-strategy-evolution.is-single-view .v2-strategy-migration-plot { overflow:hidden; }
.v2-strategy-evolution.is-single-view .v2-strategy-migration-plot article { width:156px; }
.v2-strategy-evolution.is-single-view .v2-strategy-migration-plot article em { margin-top:4px; }
.v2-strategy-card > header > div,
.v2-commercial-card > header > div { width:100%; min-width:0; }
@media(max-width:760px) {
    .v2-strategy-evolution.is-single-view .v2-strategy-migration { grid-template-rows:390px auto auto; }
    .v2-strategy-evolution.is-single-view .v2-strategy-migration-plot article { width:146px; }
}
.v2-strategy-timeline { overflow-x:auto; margin-top:16px; padding:22px 18px; border:1px solid var(--v2-border); border-radius:11px; background:linear-gradient(135deg,rgba(56,214,199,.04),transparent 55%); }
.v2-strategy-timeline-track { display:flex; min-width:880px; align-items:flex-start; gap:0; }
.v2-strategy-timeline article { position:relative; display:grid; min-width:0; flex:1; grid-template-columns:minmax(0,1fr) 24px; align-items:center; padding:0 5px; }
.v2-strategy-timeline article > span { display:flex; min-height:92px; flex-direction:column; justify-content:center; padding:13px; border-top:3px solid var(--stage-tone); border-radius:9px; background:color-mix(in srgb,var(--stage-tone) 7%,transparent); }
.v2-strategy-timeline article > span small { color:var(--stage-tone); font-size:10px; font-weight:800; }
.v2-strategy-timeline article > span b { margin-top:6px; font-size:13px; line-height:1.4; }
.v2-strategy-timeline article > i { color:var(--stage-tone); font-size:17px; font-style:normal; text-align:center; }
.v2-strategy-timeline article > p { grid-column:1 / -1; min-height:48px; margin:9px 24px 0 2px; color:var(--v2-muted); font-size:10px; line-height:1.5; }
.v2-strategy-timeline article > em { display:flex; grid-column:1 / -1; flex-wrap:wrap; gap:5px; margin:7px 24px 0 2px; font-style:normal; }
.v2-strategy-timeline article > em b { padding:4px 6px; border:1px solid color-mix(in srgb,var(--stage-tone) 28%,var(--v2-border)); border-radius:999px; color:var(--v2-muted); font-size:8px; font-weight:650; }

.v2-scenario-workspace { align-items:start; }
.v2-scenario-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-content:start; }
.v2-scenario-selector-row,.v2-scenario-controls > header,.v2-scenario-controls > p { grid-column:1/-1; }
.v2-scenario-selector,.v2-scenario-horizon-control { padding:11px; }
.v2-scenario-selector p { font-size:10px; }
.v2-scenario-controls > header { margin:2px 0; }
.v2-scenario-controls > label { margin:0; padding:8px; }
.v2-scenario-controls label > span b { font-size:11px; }
.v2-scenario-controls input { margin-top:1px; }
.v2-scenario-controls > p { margin-top:3px; padding-top:9px; }
.v2-scenario-tab-panel { min-height:330px; }

.v2-scenario-method-story { padding-top:15px; }
.v2-scenario-method-flow > header small,.v2-scenario-method-grid header small,.v2-commercial-reasoning-chain > header small,.v2-commercial-evidence-ledger > header small { color:var(--v2-cyan); font-size:9px; font-weight:800; letter-spacing:.08em; }
.v2-scenario-method-flow h4,.v2-scenario-method-grid h4,.v2-commercial-reasoning-chain > header h4,.v2-commercial-evidence-ledger > header h4 { margin:5px 0 0; font-size:14px; line-height:1.45; }
.v2-scenario-method-flow > div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:13px; }
.v2-scenario-method-flow article { position:relative; min-width:0; padding:12px; border:1px solid var(--v2-border); border-top:2px solid var(--v2-cyan); border-radius:9px; background:rgba(56,214,199,.025); }
.v2-scenario-method-flow article > span { color:var(--v2-cyan); font-size:10px; font-weight:800; }
.v2-scenario-method-flow article h5 { margin:6px 0 0; font-size:12px; }
.v2-scenario-method-flow article p { margin:8px 0 0; color:var(--v2-muted); font-size:9px; line-height:1.55; }
.v2-scenario-method-flow article p b { display:block; margin-bottom:2px; color:var(--v2-dim); font-size:8px; }
.v2-scenario-method-flow article > i { position:absolute; right:-10px; top:50%; z-index:1; color:var(--v2-cyan); font-style:normal; transform:translateY(-50%); }
.v2-scenario-method-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr); gap:12px; margin-top:14px; }
.v2-scenario-assumption-map,.v2-scenario-output-map { padding:14px; border:1px solid var(--v2-border); border-radius:10px; }
.v2-scenario-assumption-map article { display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,.8fr); gap:12px; align-items:center; margin-top:9px; padding:10px; border-radius:8px; background:rgba(255,255,255,.018); }
.v2-scenario-assumption-map article > div { display:flex; flex-wrap:wrap; gap:5px; }
.v2-scenario-assumption-map article b { width:100%; font-size:10px; }
.v2-scenario-assumption-map article span { padding:4px 6px; border-radius:999px; background:rgba(56,214,199,.07); color:var(--v2-muted); font-size:8px; }
.v2-scenario-assumption-map article p,.v2-scenario-output-map article p { margin:0; color:var(--v2-muted); font-size:9px; line-height:1.5; }
.v2-scenario-output-map article { margin-top:9px; padding:10px; border-left:2px solid var(--v2-cyan); border-radius:0 8px 8px 0; background:rgba(56,214,199,.025); }
.v2-scenario-output-map article b { display:block; margin-bottom:5px; font-size:10px; }
.v2-scenario-method-story .v2-evidence-boundary ul { display:grid; gap:6px; margin:8px 0 0; padding-left:18px; }
.v2-scenario-method-story .v2-evidence-boundary li { color:var(--v2-muted); font-size:9px; line-height:1.55; }

.v2-commercial-drawer-question,.v2-commercial-drawer-conclusion { margin-top:16px; padding:14px 15px; border-radius:10px; }
.v2-commercial-drawer-question { border:1px solid rgba(85,198,242,.3); background:rgba(85,198,242,.035); }
.v2-commercial-drawer-conclusion { border-left:3px solid var(--v2-green); background:rgba(114,223,159,.04); }
.v2-commercial-drawer-question small,.v2-commercial-drawer-conclusion small { color:var(--v2-cyan); font-size:9px; font-weight:800; letter-spacing:.08em; }
.v2-commercial-drawer-question h4 { margin:6px 0 0; font-size:15px; line-height:1.55; }
.v2-commercial-drawer-conclusion p { margin:6px 0 0; color:var(--v2-text); font-size:12px; line-height:1.75; }
.v2-commercial-logic-frame { align-items:stretch; }
.v2-commercial-logic-frame section { position:relative; display:flex; flex-direction:column; justify-content:flex-start; }
.v2-commercial-logic-frame section > span { color:var(--v2-cyan); font-size:9px; font-weight:800; }
.v2-commercial-logic-frame section > i { position:absolute; right:-13px; top:50%; color:var(--v2-cyan); font-style:normal; transform:translateY(-50%); }
.v2-commercial-reasoning-chain { display:block; }
.v2-commercial-reasoning-chain > header { margin-bottom:12px; }
.v2-commercial-reasoning-chain article { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; margin-top:8px; padding:13px 14px; }
.v2-commercial-reasoning-chain article > span { display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(56,214,199,.35); border-radius:50%; color:var(--v2-cyan); font-size:9px; font-weight:800; }
.v2-commercial-reasoning-chain article > div h4 { font-size:11px; }
.v2-commercial-reasoning-chain article > div p { font-size:10px; }
.v2-commercial-reasoning-chain article > i { position:absolute; bottom:-12px; left:27px; z-index:1; color:var(--v2-cyan); font-style:normal; }
.v2-commercial-evidence-ledger { margin-top:20px; }
.v2-commercial-evidence-ledger > header { margin-bottom:10px; }
.v2-commercial-evidence-ledger > .v2-detail-table-block { margin-top:9px; }

[data-theme="light"] body.dna-v2-body .v2-governance-org-stack,
[data-theme="light"] body.dna-v2-body .v2-governance-role-explainer { background:#fff; }

.v2-governance-groups { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.v2-governance-groups > section { padding:12px; border:1px solid var(--v2-border); border-radius:10px; background:rgba(255,255,255,.014); }
.v2-governance-groups > section > h4 { margin:0 0 9px; color:var(--v2-cyan); font-size:11px; text-align:center; }
.v2-governance-groups > section > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.v2-governance-groups article { display:flex; min-height:118px; flex-direction:column; justify-content:center; padding:10px; border:1px solid var(--v2-border); border-radius:8px; background:rgba(255,255,255,.018); text-align:center; }
.v2-governance-groups article small { font-size:9px; }.v2-governance-groups article b { margin-top:6px; font-size:10px; line-height:1.45; }.v2-governance-groups article p { font-size:9px; }
.v2-commercial-personas { display:flex; align-items:stretch; }
.v2-commercial-personas > section { min-width:0; flex:1; }
.v2-persona-arrow { align-self:center; flex:0 0 22px; color:var(--commercial-tone); font-size:17px; font-style:normal; text-align:center; }
.v2-persona-relation { display:block; margin-top:7px; color:var(--v2-muted); font-size:9px; font-style:normal; line-height:1.45; }
[data-theme="light"] body.dna-v2-body .v2-governance-groups > section,[data-theme="light"] body.dna-v2-body .v2-governance-groups article { background:#fff; }

@media (max-width:1100px) {
    .v2-governance-operating-layout { grid-template-columns:1fr; }
    .v2-governance-role-explainer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
    .v2-governance-role-explainer > p { grid-column:1/-1; }
}
@media (max-width:980px) {
    .v2-scenario-method-flow > div { grid-template-columns:1fr; }
    .v2-scenario-method-flow article > i { right:auto; bottom:-13px; left:50%; top:auto; transform:translateX(-50%) rotate(90deg); }
    .v2-scenario-method-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
    .v2-value-chain-main { min-width:0; }
    .v2-governance-org-stack .v2-governance-responsibilities,.v2-governance-regions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-governance-role-explainer { grid-template-columns:1fr; }
    .v2-governance-role-explainer > i { transform:rotate(90deg); }
    .v2-scenario-controls { display:block; }
    .v2-scenario-controls > label { margin-top:8px; }
    .v2-scenario-assumption-map article { grid-template-columns:1fr; }
    .v2-commercial-logic-frame { grid-template-columns:1fr; }
    .v2-commercial-logic-frame section > i { right:auto; bottom:-12px; left:50%; top:auto; transform:translateX(-50%) rotate(90deg); }
    .v2-governance-groups { grid-template-columns:1fr; }
    .v2-governance-groups > section > div { grid-template-columns:1fr; }
    .v2-commercial-personas { flex-direction:column; }
    .v2-persona-arrow { transform:rotate(90deg); }
}
/* Portfolio mix: one chart, one structure judgment. */
.v2-commercial-portfolio-mix{display:grid;gap:18px;padding:22px;border:1px solid rgba(129,157,177,.24);border-radius:22px;background:rgba(7,16,23,.34)}
.v2-commercial-portfolio-mix>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.v2-commercial-portfolio-mix>header small{display:block;color:var(--v2-cyan);font-weight:800;letter-spacing:.08em}
.v2-commercial-portfolio-mix>header strong{display:block;margin-top:5px;font-size:clamp(20px,1.7vw,30px)}
.v2-commercial-portfolio-mix>header p{max-width:48%;margin:0;color:var(--v2-muted);text-align:right;line-height:1.55}
.v2-portfolio-mix-stack{display:flex;overflow:hidden;min-height:28px;border-radius:999px;background:rgba(255,255,255,.06)}
.v2-portfolio-mix-stack i{display:block;min-width:2px}
.v2-portfolio-mix-stack i:not(:last-child),.v2-growth-stack i:not(:last-child),.v2-mix-bars section>div>i:not(:last-child),.v2-customer-channel-shift article>span>i:not(:last-child),.v2-channel-mix>div>i:not(:last-child){box-shadow:inset -2px 0 var(--v2-segment-separator)}
.v2-portfolio-mix-stack[data-series-count="2"] i:first-child{box-shadow:inset -3px 0 var(--v2-segment-separator)}
.v2-portfolio-mix-rows{display:grid;gap:12px}
.v2-portfolio-mix-rows article{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,2fr) 100px;gap:18px;align-items:center}
.v2-portfolio-mix-rows article>span{display:flex;align-items:center;gap:10px}.v2-portfolio-mix-rows article>span>i{width:10px;height:10px;border-radius:50%;background:var(--mix-tone)}
.v2-portfolio-mix-rows article>span b{font-size:17px}.v2-portfolio-mix-rows article>span em{margin-left:auto;color:var(--v2-muted);font-style:normal;font-variant-numeric:tabular-nums}
.v2-portfolio-mix-rows article>div{height:12px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}
.v2-portfolio-mix-rows article>div i{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--mix-tone)}
.v2-portfolio-mix-rows article>strong{text-align:right;font-size:17px}.v2-commercial-portfolio-mix>footer{padding-top:13px;border-top:1px solid rgba(129,157,177,.18);color:var(--v2-muted);line-height:1.55}
.v2-portfolio-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.v2-portfolio-categories article{min-width:0;padding:17px;border:1px solid color-mix(in srgb,var(--mix-tone) 48%,var(--v2-border));border-top:4px solid var(--mix-tone);border-radius:14px;background:color-mix(in srgb,var(--mix-tone) 7%,transparent)}
.v2-portfolio-categories small,.v2-portfolio-categories strong{display:block}.v2-portfolio-categories small{color:var(--mix-tone);font-weight:800;letter-spacing:.05em}.v2-portfolio-categories strong{margin-top:8px;font-size:17px}.v2-portfolio-categories p{margin:9px 0 0;color:var(--v2-muted);line-height:1.6}

.v2-governance-matrix-intersection{margin-top:16px;padding:18px 20px!important;border:1px solid rgba(56,214,199,.55)!important;background:linear-gradient(100deg,rgba(56,214,199,.12),rgba(85,198,242,.06))!important;text-align:center}
.v2-governance-matrix-intersection small{display:block;color:var(--v2-cyan);font-weight:800;letter-spacing:.08em}.v2-governance-matrix-intersection b{display:block;margin:7px 0;font-size:18px}.v2-governance-matrix-intersection p{margin:0!important;color:var(--v2-muted)!important}

.v2-strategy-evolution-trend{margin-top:22px;padding:22px;border:1px solid rgba(129,157,177,.22);border-radius:22px;background:rgba(6,15,22,.32)}
.v2-strategy-evolution-trend>header{display:grid;grid-template-columns:1fr auto;gap:4px 24px;align-items:end}.v2-strategy-evolution-trend>header small{grid-column:1/-1;color:var(--v2-cyan);font-weight:800;letter-spacing:.08em}.v2-strategy-evolution-trend>header h4{margin:0;font-size:clamp(18px,1.45vw,25px);line-height:1.35}.v2-strategy-evolution-trend>header span{color:var(--v2-muted)}
.v2-strategy-evolution-trend>div{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:16px;margin-top:22px;padding-top:8px;border-bottom:1px solid rgba(129,157,177,.24)}
.v2-strategy-evolution-trend article{text-align:center}.v2-strategy-evolution-trend article section{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:150px}.v2-strategy-evolution-trend article section i{display:block;width:28px;min-height:3px;border-radius:8px 8px 2px 2px}.v2-strategy-evolution-trend article>b{display:block;margin-top:10px}.v2-strategy-evolution-trend article>small{display:block;min-height:34px;color:var(--v2-muted)}
.v2-strategy-evolution-trend>footer{display:flex;gap:20px;margin-top:14px;color:var(--v2-muted)}.v2-strategy-evolution-trend>footer span{display:flex;align-items:center;gap:7px}.v2-strategy-evolution-trend>footer i{width:10px;height:10px;border-radius:3px}

/* Strategy path is selected from the analytical dimensions, not from a fixed card template. */
.v2-strategy-axis{margin-top:22px;padding:22px;border:1px solid var(--v2-border);border-radius:22px;background:linear-gradient(145deg,rgba(56,214,199,.045),rgba(85,198,242,.018))}
.v2-strategy-axis>header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;color:var(--v2-muted)}
.v2-strategy-axis>header span{position:relative;text-align:center;font-weight:800;letter-spacing:.06em}.v2-strategy-axis>header span::before{position:absolute;z-index:-1;right:0;bottom:48%;left:0;height:2px;background:linear-gradient(90deg,var(--v2-border),var(--v2-cyan));content:""}
.v2-strategy-axis-common-trend{margin-top:18px;padding:16px 0 12px;border:1px solid color-mix(in srgb,var(--v2-cyan) 24%,var(--v2-border));border-radius:14px;background:color-mix(in srgb,var(--v2-cyan) 3%,var(--v2-panel))}
.v2-strategy-annual-trend{margin-top:22px;overflow:hidden}.v2-strategy-annual-scroll{overflow-x:auto;padding-bottom:3px}.v2-strategy-annual-inner{padding-top:2px}.v2-strategy-annual-periods{display:grid;grid-template-columns:repeat(var(--stage-count),minmax(0,1fr));gap:12px;padding:7px 0 0}.v2-strategy-annual-periods b{color:var(--v2-muted);font-size:8px;text-align:center}.v2-strategy-annual-boundary{margin:10px 17px 0;color:var(--v2-dim);font-size:8px;line-height:1.55}
.v2-strategy-axis-common-trend>header{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:0 17px}.v2-strategy-axis-common-trend>header span small,.v2-strategy-axis-common-trend>header span b{display:block}.v2-strategy-axis-common-trend>header span small{color:var(--v2-cyan);font-size:9px;font-weight:850;letter-spacing:.1em}.v2-strategy-axis-common-trend>header span b{margin-top:4px;font-size:13px}.v2-strategy-axis-common-trend>header em{color:var(--v2-muted);font-size:9px;font-style:normal}
.v2-strategy-common-legend{display:flex;justify-content:flex-end;gap:14px;margin:10px 17px 0;color:var(--v2-muted);font-size:9px}.v2-strategy-common-legend span{display:flex;align-items:center;gap:5px}.v2-strategy-common-legend i{width:8px;height:8px;border-radius:3px}.v2-strategy-common-legend span.is-overlay i{width:13px;height:3px;border-radius:999px;background:var(--v2-series-violet)}
.v2-strategy-common-trend-plot{position:relative;height:140px;margin:7px 0 0;border-top:1px solid color-mix(in srgb,var(--v2-border) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--v2-border) 72%,transparent);background:linear-gradient(180deg,transparent 49%,color-mix(in srgb,var(--v2-border) 45%,transparent) 50%,transparent 51%)}
.v2-strategy-common-trend-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.v2-strategy-common-trend-plot polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.v2-strategy-common-trend-point{position:absolute;width:10px;height:10px;border:2px solid var(--v2-panel);border-radius:50%;background:var(--series-tone);box-shadow:0 0 0 1px color-mix(in srgb,var(--series-tone) 65%,transparent);transform:translate(-50%,-50%)}
.v2-strategy-common-axis-label{position:absolute;z-index:3;left:5px;padding:1px 4px;border-radius:4px;background:color-mix(in srgb,var(--v2-panel) 86%,transparent);color:var(--v2-muted);font-size:8px;line-height:1.3}.v2-strategy-common-axis-label.is-max{top:3px}.v2-strategy-common-axis-label.is-min{bottom:3px}
.v2-strategy-common-axis-label.is-rate-max,.v2-strategy-common-axis-label.is-rate-min{z-index:6;right:5px;left:auto;color:var(--v2-series-violet)}.v2-strategy-common-axis-label.is-rate-max{top:3px}.v2-strategy-common-axis-label.is-rate-min{bottom:3px}
.v2-strategy-common-zero-line{position:absolute;z-index:1;right:0;left:0;border-top:1.5px solid color-mix(in srgb,var(--v2-text) 30%,var(--v2-border));pointer-events:none}
.v2-strategy-common-column-groups{position:absolute;z-index:2;inset:0;display:grid;grid-template-columns:repeat(var(--stage-count),minmax(0,1fr));gap:12px}.v2-strategy-common-column-group{display:flex;justify-content:center;gap:8px;min-width:0}.v2-strategy-common-column-slot{position:relative;width:clamp(66px,5vw,84px);height:100%;flex:0 1 84px}.v2-strategy-common-column{position:absolute;left:50%;display:block;width:34px;border-radius:5px 5px 1px 1px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v2-panel) 28%,transparent);transform:translateX(-50%)}
.v2-strategy-common-column-value,.v2-strategy-common-overlay-value,.v2-strategy-common-trend-value{position:absolute;z-index:7;left:50%;max-width:86px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--v2-border) 74%,transparent);border-radius:5px;background:color-mix(in srgb,var(--v2-panel) 91%,transparent);color:var(--v2-text);font-size:9px;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;white-space:nowrap;pointer-events:none}.v2-strategy-common-column-value.is-above,.v2-strategy-common-overlay-value.is-above,.v2-strategy-common-trend-value.is-above{transform:translate(-50%,calc(-100% - 5px))}.v2-strategy-common-column-value.is-below,.v2-strategy-common-overlay-value.is-below,.v2-strategy-common-trend-value.is-below{transform:translate(-50%,5px)}
.v2-strategy-common-overlay-value.is-above.is-far{transform:translate(-50%,calc(-100% - 27px))}.v2-strategy-common-overlay-value.is-below.is-far{transform:translate(-50%,27px)}
.v2-strategy-common-trend-plot svg.v2-strategy-common-overlay-line{z-index:4;right:auto;left:-6px;width:calc(100% + 12px);pointer-events:none}.v2-strategy-common-overlay-line polyline{stroke:var(--v2-series-violet);stroke-width:3.5;filter:drop-shadow(0 1px 1px color-mix(in srgb,var(--v2-panel) 65%,transparent))}.v2-strategy-common-overlay-points{position:absolute;z-index:5;inset:0;display:grid;grid-template-columns:repeat(var(--stage-count),minmax(0,1fr));gap:12px;pointer-events:none}.v2-strategy-common-overlay-points>span{position:relative;min-width:0}.v2-strategy-common-overlay-point{position:absolute;left:50%;width:10px;height:10px;border:2px solid var(--v2-panel);border-radius:50%;background:var(--v2-series-violet);box-shadow:0 0 0 1px color-mix(in srgb,var(--v2-series-violet) 68%,transparent);transform:translate(-50%,-50%)}
.v2-strategy-axis-track{display:flex;align-items:stretch;gap:12px;margin-top:18px}.v2-strategy-axis-track>article{position:relative;min-width:0;flex:1;padding:17px;border-top:4px solid var(--stage-tone);border-radius:12px;background:color-mix(in srgb,var(--stage-tone) 6%,var(--v2-panel))}
.v2-strategy-axis-track>article>small{color:var(--stage-tone);font-weight:850}.v2-strategy-axis-track>article h4{min-height:46px;margin:8px 0 13px;font-size:16px;line-height:1.4}.v2-strategy-axis-track>article p{min-height:62px;margin:0;padding:10px;border-radius:8px;background:color-mix(in srgb,var(--stage-tone) 4%,transparent);color:var(--v2-muted);font-size:11px;line-height:1.5}.v2-strategy-axis-track>article p em{display:block;margin-bottom:4px;color:var(--stage-tone);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.08em}.v2-strategy-axis-track>article>i{display:block;margin:5px;color:var(--stage-tone);font-style:normal;text-align:center}.v2-strategy-axis-track>article footer{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.v2-strategy-axis-track>article footer b{padding:5px 8px;border:1px solid color-mix(in srgb,var(--stage-tone) 42%,var(--v2-border));border-radius:999px;font-size:10px}.v2-strategy-axis-track>article>span{position:absolute;z-index:2;top:50%;right:-19px;color:var(--v2-cyan);font-size:20px;transform:translateY(-50%)}

/* Customer network separates actors from goods, money and information flows. */
.v2-commercial-customer-network{padding:18px;border:1px solid var(--v2-border);border-radius:12px;background:linear-gradient(145deg,rgba(255,202,88,.035),rgba(56,214,199,.018))}.v2-commercial-customer-network>header small,.v2-commercial-customer-network>header strong{display:block}.v2-commercial-customer-network>header small{color:var(--commercial-tone);font-size:11px;font-weight:800;letter-spacing:.06em}.v2-commercial-customer-network>header strong{margin-top:6px;font-size:15px;line-height:1.45}
.v2-customer-network-actors{display:flex;align-items:stretch;gap:10px;margin-top:16px}.v2-customer-network-actors article{min-width:0;flex:1;padding:14px;border-top:3px solid var(--commercial-tone);border-radius:9px;background:color-mix(in srgb,var(--commercial-tone) 5%,var(--v2-panel))}.v2-customer-network-actors article.payer{border-color:var(--v2-yellow)}.v2-customer-network-actors article.company{border:2px solid var(--v2-cyan);background:color-mix(in srgb,var(--v2-cyan) 8%,var(--v2-panel))}.v2-customer-network-actors article.partner{border-color:var(--v2-purple)}.v2-customer-network-actors article small,.v2-customer-network-actors article b,.v2-customer-network-actors article em{display:block}.v2-customer-network-actors article small{color:var(--v2-dim);font-size:10px}.v2-customer-network-actors article b{margin-top:5px;font-size:14px}.v2-customer-network-actors article p{min-height:34px;margin:6px 0 0;color:var(--v2-muted);font-size:10px;line-height:1.45}.v2-customer-network-actors article em{margin-top:7px;color:var(--commercial-tone);font-size:10px;font-style:normal}.v2-customer-network-actors>i{align-self:center;color:var(--commercial-tone);font-style:normal}
.v2-customer-network-flows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.v2-customer-network-flows section{padding:11px;border-left:3px solid var(--v2-cyan);border-radius:7px;background:rgba(85,198,242,.035)}.v2-customer-network-flows section.money{border-color:var(--v2-yellow)}.v2-customer-network-flows section.info{border-color:var(--v2-purple)}.v2-customer-network-flows section>b{font-size:11px}.v2-customer-network-flows section p{display:flex;align-items:center;gap:4px;margin:7px 0 0;color:var(--v2-text);font-size:10px}.v2-customer-network-flows section p span{min-width:0}.v2-customer-network-flows section p i{color:var(--commercial-tone);font-style:normal}.v2-customer-network-flows section>em{display:block;margin-top:7px;color:var(--v2-muted);font-size:9px;font-style:normal;line-height:1.4}.v2-commercial-customer-network>footer{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.v2-commercial-customer-network>footer section{padding:10px 12px;border:1px solid var(--v2-border);border-radius:8px}.v2-commercial-customer-network>footer small,.v2-commercial-customer-network>footer b{display:block}.v2-commercial-customer-network>footer small{color:var(--commercial-tone);font-size:10px}.v2-commercial-customer-network>footer b{margin-top:5px;font-size:11px;line-height:1.45}

/* Light theme: analytical panels stay white or softly tinted; dark overlays are never inherited. */
[data-theme="light"] body.dna-v2-body :is(.v2-strategy-evolution,.v2-strategy-evolution-trend,.v2-strategy-axis,.v2-commercial-portfolio-mix,.v2-commercial-mix-shift,.v2-profit-retention,.v2-growth-contribution,.v2-commercial-customer-network,.v2-commercial-personas>section,.v2-strategy-card,.v2-strategy-visual){background:#fff;color:var(--v2-text)}
[data-theme="light"] body.dna-v2-body .v2-strategy-axis-track>article{background:color-mix(in srgb,var(--stage-tone) 7%,#fff)}
[data-theme="light"] body.dna-v2-body .v2-strategy-axis-track>article p{background:color-mix(in srgb,var(--stage-tone) 4%,#fff)}
[data-theme="light"] body.dna-v2-body .v2-strategy-axis-common-trend{background:#f8fcfc}
[data-theme="light"] body.dna-v2-body .v2-strategy-common-trend-point{border-color:#f8fcfc}
[data-theme="light"] body.dna-v2-body .v2-customer-network-actors article{background:color-mix(in srgb,var(--commercial-tone) 5%,#fff)}
[data-theme="light"] body.dna-v2-body .v2-customer-network-actors article.company{background:color-mix(in srgb,var(--v2-cyan) 8%,#fff)}
[data-theme="light"] body.dna-v2-body .v2-customer-network-flows section{background:#f7fbfc}
[data-theme="light"] body.dna-v2-body .v2-profit-retention>div span{color:#122d35}
[data-theme="light"] body.dna-v2-body .v2-overview-growth-structure{background:#f7fbfa;color:var(--v2-text);border-color:rgba(39,72,78,.16)}
[data-theme="light"] body.dna-v2-body .v2-overview-growth-structure>section i{background:rgba(39,72,78,.10)}
[data-theme="light"] body.dna-v2-body :is(
    .v2-event-row time,
    .v2-event-row small,
    .v2-event-detail header span,
    .v2-event-action b,
    .v2-event-section-label b,
    .v2-event-why-grid small,
    .v2-event-how-grid small,
    .v2-event-impact-grid small,
    .v2-event-gene-links a span,
    .v2-event-terms small
) { color:color-mix(in srgb,var(--event-color) 42%,#15353c); }

@media(max-width:800px){.v2-commercial-portfolio-mix>header{display:block}.v2-commercial-portfolio-mix>header p{max-width:none;margin-top:10px;text-align:left}.v2-portfolio-mix-rows article{grid-template-columns:1fr}.v2-portfolio-mix-rows article>strong{text-align:left}.v2-strategy-evolution-trend>div{overflow-x:auto;grid-template-columns:repeat(5,minmax(130px,1fr))}.v2-strategy-axis{overflow-x:auto}.v2-strategy-axis>header,.v2-strategy-axis-common-trend,.v2-strategy-axis-track{min-width:780px}.v2-customer-network-actors{flex-direction:column}.v2-customer-network-actors>i{transform:rotate(90deg)}.v2-customer-network-flows,.v2-commercial-customer-network>footer{grid-template-columns:1fr}}
.v2-scenario-boundary-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:28px;margin:22px 0 34px;padding:28px 30px;border:1px solid rgba(85,198,242,.28);border-left:4px solid var(--v2-cyan);border-radius:20px;background:linear-gradient(135deg,rgba(85,198,242,.07),rgba(255,255,255,.015))}.v2-scenario-boundary-card small{color:var(--v2-cyan);font-weight:800;letter-spacing:.12em}.v2-scenario-boundary-card h3{max-width:1050px;margin:12px 0 10px;font-size:clamp(22px,2vw,32px);line-height:1.3}.v2-scenario-boundary-card p{margin:0;color:var(--v2-muted);font-size:15px;line-height:1.75}.v2-scenario-boundary-card details{align-self:end}
.v2-overview-growth-structure{display:grid;gap:13px;padding:22px;border:1px solid rgba(129,157,177,.24);border-radius:18px;background:rgba(7,16,23,.38)}.v2-overview-growth-structure>header{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-bottom:12px;border-bottom:1px solid rgba(129,157,177,.18)}.v2-overview-growth-structure>header small{display:block;color:var(--v2-cyan);font-weight:800}.v2-overview-growth-structure>header strong{display:block;margin-top:4px;font-size:22px}.v2-overview-growth-structure>header p{margin:0;color:var(--v2-muted);font-size:12px}.v2-overview-growth-structure>section{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(180px,1fr) minmax(80px,.28fr);gap:14px;align-items:center}.v2-overview-growth-structure>section small{font-weight:750}.v2-overview-growth-structure>section i{height:12px;overflow:hidden;border-radius:99px;background:rgba(129,157,177,.16)}.v2-overview-growth-structure>section i b{display:block;height:100%;border-radius:inherit}.v2-overview-growth-structure>section i.is-undisclosed b{opacity:.18;background:repeating-linear-gradient(90deg,var(--v2-muted) 0 5px,transparent 5px 10px)!important}.v2-overview-growth-structure>section strong{text-align:right;font-size:14px}.v2-overview-growth-structure>.v2-growth-reconciliation{margin:2px 0 0;padding-top:11px;border-top:1px solid rgba(129,157,177,.18);color:var(--v2-muted);font-size:11px;line-height:1.55}
@media(max-width:900px){.v2-scenario-boundary-card{grid-template-columns:1fr;padding:24px}}
@media(max-width:700px){.v2-overview-growth-structure>section{grid-template-columns:1fr}.v2-overview-growth-structure>section strong{text-align:left}}

/* Compact profit retention into readable rows on phones instead of clipping small shares. */
@media(max-width:640px){
    .v2-profit-retention{overflow-x:visible}
    .v2-profit-retention header>p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
    .v2-profit-retention header>p span{min-width:0;padding:7px 6px}
    .v2-profit-retention>div{display:grid;grid-template-columns:1fr;gap:5px;min-width:0;height:auto;background:transparent}
    .v2-profit-retention>div span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;width:auto!important;min-height:54px;padding:9px 11px;border-radius:7px}
    .v2-profit-retention>div span small{display:block;grid-column:1;grid-row:1;margin:0;font-size:10px;font-weight:800;white-space:normal}
    .v2-profit-retention>div span b{grid-column:2;grid-row:1;font-size:12px;text-align:right;white-space:normal}
    .v2-profit-retention>div span em{grid-column:1/-1;grid-row:2;margin:0;font-size:9px;white-space:normal}
}

/* Current operating signal belongs to the enterprise overview and reads as a conversion chain. */
.v2-current-signal-overview{border-color:color-mix(in srgb,var(--v2-yellow) 38%,var(--v2-border));background:linear-gradient(145deg,rgba(255,202,88,.035),rgba(56,214,199,.018))}
.v2-current-signal-chain{display:flex;align-items:stretch;gap:9px;margin-top:18px;padding:16px;border:1px solid var(--v2-border);border-radius:12px;background:rgba(255,255,255,.012)}
.v2-current-signal-chain article{min-width:0;flex:1;padding:14px;border-top:3px solid var(--signal-tone,var(--v2-cyan));border-radius:9px;background:color-mix(in srgb,var(--signal-tone,var(--v2-cyan)) 6%,var(--v2-panel))}
.v2-current-signal-chain article small,.v2-current-signal-chain article strong,.v2-current-signal-chain article b{display:block}.v2-current-signal-chain article small{color:var(--signal-tone,var(--v2-cyan));font-size:9px;font-weight:800;letter-spacing:.08em}.v2-current-signal-chain article strong{margin-top:7px;font-size:20px}.v2-current-signal-chain article b{margin-top:5px;font-size:11px;line-height:1.4}.v2-current-signal-chain article p{margin:7px 0 0;color:var(--v2-muted);font-size:9px;line-height:1.5}.v2-current-signal-chain>i{align-self:center;color:var(--v2-cyan);font-size:17px;font-style:normal}
.v2-commercial-rail a:first-child{border:1px solid color-mix(in srgb,var(--v2-cyan) 24%,transparent);background:color-mix(in srgb,var(--v2-cyan) 5%,transparent)}
[data-theme="light"] body.dna-v2-body .v2-current-signal-chain article{background:color-mix(in srgb,var(--signal-tone,var(--v2-cyan)) 7%,#fff)}
@media(max-width:900px){.v2-current-signal-chain{overflow-x:auto}.v2-current-signal-chain article{flex:0 0 210px}}

/* Release QA: keep analytical content inside its visual frame at every breakpoint. */
body.dna-v2-body *,body.dna-v2-body *::before,body.dna-v2-body *::after{box-sizing:border-box}
.v2-section-head h3,.v2-dna-thesis h2{max-width:100%;overflow-wrap:anywhere}
.v2-business-flow article>*{min-width:0;overflow-wrap:anywhere}
.v2-business-flow article,.v2-mini-loop span,.v2-flow-current-signal,.v2-current-signal-chain article,.v2-commercial-card,.v2-commercial-card *{min-width:0}
.v2-commercial-card :is(h2,h3,h4,strong,b,p,span,em,small){overflow-wrap:anywhere}
.v2-strategy-visual,.v2-strategy-visual>*{min-width:0;max-width:100%}
.v2-strategy-milestones{width:100%;overflow:hidden}.v2-strategy-milestones>div{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.v2-network-board .v2-bubble{left:clamp(64px,calc(var(--x)*1%),calc(100% - 64px));top:clamp(38px,calc(var(--y)*1%),calc(100% - 38px))}
.v2-network-cluster-label{left:clamp(112px,calc(var(--x)*1%),calc(100% - 112px));top:clamp(18px,calc(var(--y)*1%),calc(100% - 18px))}
.v2-profit-retention>div span:last-child b{font-size:14px;line-height:1.18;white-space:normal}
.v2-profit-retention>div span:last-child em{white-space:normal;text-overflow:clip}
.v2-metric-analysis-card .v2-metric-card-chart{overflow-x:auto}
.v2-metric-analysis-card .v2-card-line.is-long-series{min-width:1100px}
.v2-metric-analysis-card .v2-card-line.is-long-series>div span{min-width:38px}
.v2-capability-class-count{display:block;margin-top:10px;color:var(--v2-dim);font-size:10px;font-weight:700;letter-spacing:.04em}

@media(max-width:620px){
    .v2-network-board .v2-bubble{position:static;left:auto;top:auto;transform:none}
    .v2-network-board .v2-bubble:hover,.v2-network-board .v2-bubble.active{transform:none}
    .v2-network-cluster-label{left:auto;top:auto}
    .v2-gene-atlas .v2-network-cluster-label.cluster-market-operation,.v2-gene-atlas .v2-network-cluster-label.cluster-organization-foundation{right:auto;left:auto;transform:none}
}

/* Metric and capability evidence: charts must explain structure, concentration and conversion. */
.v2-card-line.is-long-series>div .is-sparse-label{visibility:hidden}
.v2-card-customer-network{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(280px,1.28fr);gap:18px;align-items:center;min-height:160px;padding:18px;border:1px solid var(--v2-border);border-radius:12px;background:linear-gradient(145deg,rgba(56,214,199,.045),rgba(85,198,242,.02))}
.v2-card-customer-network>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v2-card-customer-network>div span{padding:16px;border-top:3px solid var(--v2-cyan);border-radius:9px;background:rgba(56,214,199,.045)}.v2-card-customer-network>div b,.v2-card-customer-network>div small{display:block}.v2-card-customer-network>div b{font-size:22px}.v2-card-customer-network>div small{margin-top:6px;color:var(--v2-muted);font-size:10px}
.v2-card-customer-network>p{display:grid;gap:16px;margin:0}.v2-card-customer-network>p span{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(120px,1fr) 54px;gap:10px;align-items:center}.v2-card-customer-network>p small{color:var(--v2-muted);font-size:10px}.v2-card-customer-network>p i{height:12px;overflow:hidden;border-radius:999px;background:rgba(128,149,158,.14)}.v2-card-customer-network>p i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v2-cyan),var(--v2-blue))}.v2-card-customer-network>p em{font-size:11px;font-style:normal;font-weight:800;text-align:right}
.v2-card-customer-network.compact{grid-template-columns:1fr;min-height:0;padding:12px}.v2-card-customer-network.compact>div span{padding:10px}.v2-card-customer-network.compact>div b{font-size:15px}
.v2-card-state-pipeline{display:flex;align-items:stretch;gap:8px;min-height:160px;padding:18px;border:1px solid var(--v2-border);border-radius:12px;background:linear-gradient(145deg,rgba(85,198,242,.04),rgba(181,140,255,.02))}.v2-card-state-pipeline>span{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center;padding:14px;border-top:3px solid var(--v2-cyan);border-radius:9px;background:rgba(255,255,255,.018)}.v2-card-state-pipeline>span small,.v2-card-state-pipeline>span b,.v2-card-state-pipeline>span em{display:block}.v2-card-state-pipeline>span small{color:var(--v2-muted);font-size:9px}.v2-card-state-pipeline>span b{margin-top:7px;font-size:18px}.v2-card-state-pipeline>span em{margin-top:6px;color:var(--v2-dim);font-size:9px;font-style:normal;line-height:1.4}.v2-card-state-pipeline>i{align-self:center;color:var(--v2-cyan);font-style:normal}.v2-card-state-pipeline.compact{min-height:0;padding:10px}.v2-card-state-pipeline.compact>span{padding:9px}.v2-card-state-pipeline.compact>span b{font-size:12px}
.v2-capability-result-chain>header small,.v2-capability-result-chain>header strong{display:block}.v2-capability-result-chain>header small{color:var(--domain-color);font-size:9px;font-weight:800;letter-spacing:.08em}.v2-capability-result-chain>header strong{margin-top:6px;font-size:17px;line-height:1.4}.v2-capability-result-chain>div{display:flex;align-items:stretch;gap:8px;margin-top:15px}.v2-capability-result-chain>div span{display:grid;min-width:0;flex:1;place-items:center;padding:14px 10px;border:1px solid color-mix(in srgb,var(--domain-color) 42%,var(--v2-border));border-radius:9px;background:color-mix(in srgb,var(--domain-color) 6%,var(--v2-panel));font-size:11px;font-weight:800;text-align:center}.v2-capability-result-chain>div i{align-self:center;color:var(--domain-color);font-style:normal}.v2-capability-result-chain>footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:13px;padding:12px 14px;border-left:3px solid var(--domain-color);background:color-mix(in srgb,var(--domain-color) 5%,transparent)}.v2-capability-result-chain>footer small{color:var(--v2-muted);font-size:9px}.v2-capability-result-chain>footer strong{font-size:13px}.v2-capability-result-chain>footer em{color:var(--domain-color);font-size:11px;font-style:normal;font-weight:800}
[data-theme="light"] body.dna-v2-body :is(.v2-card-customer-network,.v2-card-state-pipeline,.v2-capability-result-chain>div span){background:#fff}

@media(max-width:800px){
    .v2-card-customer-network{grid-template-columns:1fr}.v2-card-customer-network>p span{grid-template-columns:minmax(105px,.8fr) minmax(100px,1fr) 50px}
    .v2-card-state-pipeline{overflow-x:auto}.v2-card-state-pipeline>span{flex:0 0 170px}
    .v2-capability-result-chain>div{overflow-x:auto}.v2-capability-result-chain>div span{flex:0 0 150px}.v2-capability-result-chain>footer{grid-template-columns:1fr}.v2-capability-result-chain>footer em{text-align:left}
    .v2-competition-plot article.size-s{width:62px;height:62px}.v2-competition-plot article.size-m{width:70px;height:70px}.v2-competition-plot article.size-l{width:76px;height:76px}
}
/* Variables & outlook: scenario outputs followed by a filterable causal evidence chain. */
.v2-outlook-intro{margin-bottom:24px}.v2-outlook-network{margin-top:28px;padding:28px;border:1px solid var(--line);border-radius:28px;background:var(--panel)}
.v2-outlook-network>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.v2-outlook-network>header>div{max-width:1050px}.v2-outlook-network>header small{color:var(--accent);font-weight:800;letter-spacing:.12em}.v2-outlook-network>header h3{font-size:clamp(24px,2.1vw,38px);line-height:1.25;margin:10px 0}.v2-outlook-network>header p{color:var(--muted);font-size:17px}.v2-outlook-network>header button,.v2-outlook-story .v2-insight-metric-links button{border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--text);padding:10px 16px;font-weight:700;cursor:pointer}
.v2-outlook-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin:28px 0 10px}.v2-outlook-columns span{text-align:center;color:var(--muted);font-weight:800;letter-spacing:.06em}
.v2-outlook-map{display:grid;gap:12px}.v2-outlook-map>article{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)}.v2-outlook-map button{position:relative;min-height:94px;padding:16px;text-align:left;border:1px solid color-mix(in srgb,var(--node-tone) 60%,var(--line));border-radius:16px;background:var(--panel);color:var(--text);cursor:pointer}.v2-outlook-map button.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--node-tone) 28%,transparent);background:color-mix(in srgb,var(--node-tone) 10%,var(--panel))}.v2-outlook-map button small{display:block;color:var(--node-tone);font-weight:800;margin-bottom:8px}.v2-outlook-map button strong{font-size:18px;line-height:1.3}.v2-outlook-map button i{position:absolute;right:-20px;top:35%;z-index:2;color:var(--node-tone);font-size:22px;font-style:normal}.v2-outlook-map .type-result i{display:none}
.v2-outlook-story{margin-top:22px;padding:24px;border-radius:22px;border:1px solid var(--line);background:var(--surface)}.v2-outlook-story>header h3{font-size:clamp(22px,1.8vw,32px);line-height:1.3;margin:8px 0}.v2-outlook-story>header p{font-size:17px;color:var(--muted)}.v2-outlook-mechanism{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.v2-outlook-mechanism>section{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.v2-outlook-mechanism h4{margin:0 0 16px;font-size:18px}.v2-outlook-mechanism ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}.v2-outlook-mechanism li{display:flex;align-items:center;gap:12px}.v2-outlook-mechanism li span{color:var(--accent);font-weight:900}.v2-outlook-mechanism section>div{display:grid;gap:12px}.v2-outlook-mechanism article{display:grid;grid-template-columns:1fr auto;gap:7px}.v2-outlook-mechanism article b{font-size:18px}.v2-outlook-mechanism article i{grid-column:1/-1;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--accent),#55c6f2);max-width:100%}
.v2-driver-network{margin-top:24px;overflow-x:auto;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),var(--surface)}.v2-driver-network>header{min-width:880px;display:grid;grid-template-columns:repeat(3,1fr);padding:0 4px 12px;color:var(--muted);font-size:12px;font-weight:800;text-align:center}.v2-driver-network-canvas{position:relative;min-width:880px;height:560px}.v2-driver-network-canvas svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.v2-driver-network-canvas svg line{stroke:var(--driver-network-edge);stroke-width:1.7;stroke-opacity:.64}.v2-driver-network-canvas svg marker path{fill:var(--muted)}.v2-driver-network-canvas button{position:absolute;z-index:2;width:18%;min-height:66px;transform:translateY(-50%);padding:11px 13px;border:1px solid color-mix(in srgb,var(--driver-network-tone) 60%,var(--line));border-left:4px solid var(--driver-network-tone);border-radius:11px;background:color-mix(in srgb,var(--driver-network-tone) 8%,var(--panel));color:var(--text);text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.09)}.v2-driver-network-canvas button:hover,.v2-driver-network-canvas button:focus-visible,.v2-driver-network-canvas button.is-selected{background:color-mix(in srgb,var(--driver-network-tone) 17%,var(--panel));outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--driver-network-tone) 30%,transparent),0 12px 28px rgba(0,0,0,.14)}.v2-driver-network-canvas button.type-driver{width:22%}.v2-driver-network-canvas button.type-result,.v2-driver-network-canvas button.type-outcome{width:18%}.v2-driver-network-canvas button small,.v2-driver-network-canvas button strong,.v2-driver-network-canvas button em{display:block}.v2-driver-network-canvas button small{color:var(--driver-network-tone);font-size:9px;font-weight:800}.v2-driver-network-canvas button strong{margin-top:5px;font-size:14px;line-height:1.35}.v2-driver-network-canvas button em{margin-top:4px;color:var(--muted);font-size:9px;font-style:normal;line-height:1.4}.v2-driver-network>footer{min-width:880px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:14px;border-top:1px solid var(--line)}.v2-driver-network>footer p{margin:0;color:var(--muted);font-size:12px}.v2-driver-network>footer button{padding:8px 13px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--text);font-weight:750;cursor:pointer}
.v2-driver-network-evidence{height:620px;margin-top:18px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.v2-driver-network-evidence:empty{display:none}.v2-outlook-evidence-tabs{display:flex;gap:8px;padding:14px 16px 0;overflow-x:auto}.v2-outlook-evidence-tabs button{flex:0 0 auto;max-width:260px;padding:8px 12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-weight:750;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.v2-outlook-evidence-tabs button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.v2-driver-network-evidence>.v2-outlook-story{height:calc(100% - 18px);margin:0;padding:22px;border:0;border-radius:0;overflow-y:auto}.v2-driver-network-evidence>.v2-outlook-evidence-tabs+.v2-outlook-story{height:calc(100% - 62px)}.v2-driver-network-evidence .v2-outlook-mechanism{margin:16px 0}.v2-driver-network-evidence .v2-outlook-mechanism>section:last-child>div{grid-template-columns:1fr 1fr;gap:12px}.v2-driver-network-evidence .v2-outlook-mechanism article{position:relative;padding:12px 12px 17px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.v2-driver-network-evidence .v2-outlook-mechanism article i{position:absolute;left:0;bottom:0;height:7px;border-radius:0;background:linear-gradient(90deg,var(--accent),#55c6f2)}
.v2-driver-network:not(.is-focused) .v2-driver-network-canvas svg line{stroke-opacity:.38}.v2-driver-network-canvas svg g>path{fill:none;stroke:var(--driver-network-edge);stroke-width:1.7;stroke-opacity:.66;stroke-linejoin:round}.v2-driver-network-canvas svg g>text{fill:var(--driver-network-edge);stroke:var(--surface);stroke-width:5px;paint-order:stroke fill;font-size:10px;font-weight:800;letter-spacing:.02em}.v2-driver-network.is-focused .v2-driver-network-canvas svg g>path{stroke-opacity:.9}
.v2-driver-network.has-lanes>header{display:none}.v2-driver-network-lanes{min-width:980px;display:grid;gap:12px}.v2-driver-network-lanes>section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border-left:4px solid var(--lane-tone);border-radius:14px;background:color-mix(in srgb,var(--lane-tone) 5%,var(--panel))}.v2-driver-network-lanes>section>header small,.v2-driver-network-lanes>section>header strong,.v2-driver-network-lanes>section>header p{display:block}.v2-driver-network-lanes>section>header small{color:var(--lane-tone);font-size:10px;font-weight:850;letter-spacing:.1em}.v2-driver-network-lanes>section>header strong{margin-top:5px;font-size:15px;line-height:1.35}.v2-driver-network-lanes>section>header p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.v2-driver-network-lanes>section>div{display:flex;align-items:stretch;gap:8px}.v2-driver-network-lanes button{min-width:0;flex:1;padding:11px;border:1px solid color-mix(in srgb,var(--lane-tone) 45%,var(--line));border-radius:11px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.v2-driver-network-lanes button small,.v2-driver-network-lanes button strong,.v2-driver-network-lanes button em{display:block}.v2-driver-network-lanes button small{color:var(--lane-tone);font-size:8px;font-weight:800}.v2-driver-network-lanes button strong{margin-top:4px;font-size:12px}.v2-driver-network-lanes button em{margin-top:4px;color:var(--muted);font-size:8px;font-style:normal}.v2-driver-network-lanes button.is-selected{outline:2px solid var(--lane-tone);background:color-mix(in srgb,var(--lane-tone) 12%,var(--surface))}.v2-driver-network-lanes i{flex:0 0 62px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--lane-tone);font-style:normal}.v2-driver-network-lanes i b{font-size:8px;text-align:center}.v2-driver-network-lanes i span{font-size:20px}
.v2-outlook-evidence-chart>div{height:250px!important;display:flex!important;align-items:flex-end!important;gap:14px!important;padding:18px 8px 0!important;border-bottom:1px solid var(--line)}.v2-outlook-evidence-chart article{position:relative!important;flex:1!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:center!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}.v2-outlook-evidence-chart article span{order:2;width:min(58px,72%);min-height:12px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--accent),#55c6f2)}.v2-outlook-evidence-chart article b{order:1;margin-bottom:7px;font-size:15px;text-align:center}.v2-outlook-evidence-chart article small{order:3;margin-top:7px;color:var(--muted);font-size:9px;text-align:center}.v2-outlook-evidence-chart article em{position:absolute;right:-12px;bottom:34%;color:var(--accent);font-size:11px;font-style:normal}.v2-outlook-evidence-chart article:last-child em{display:none}
.v2-flow-current-signal{margin:10px 0 2px;padding:9px;border-radius:8px;background:color-mix(in srgb,var(--v2-cyan) 8%,var(--v2-panel));border:1px solid color-mix(in srgb,var(--v2-cyan) 28%,var(--v2-border))}.v2-flow-current-signal small,.v2-flow-current-signal b,.v2-flow-current-signal em{display:block}.v2-flow-current-signal small{color:var(--v2-cyan)!important;font-size:7px!important}.v2-flow-current-signal b{margin-top:3px;color:var(--v2-text);font-size:15px}.v2-flow-current-signal em{margin-top:2px;color:var(--v2-muted);font-size:7px;font-style:normal;line-height:1.4}
.v2-panel-intro>.v2-page-mode-switch{align-self:flex-start;margin:0;flex:0 0 auto}.v2-commercial-competition-matrix .v2-competition-plot{overflow:visible;margin:18px 28px 10px}.v2-competition-plot>button{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;padding:9px;border:1px solid color-mix(in srgb,var(--bubble-tone) 65%,var(--v2-border));border-radius:50%;background:color-mix(in srgb,var(--bubble-tone) 15%,var(--v2-panel));color:var(--v2-text);box-shadow:0 8px 24px rgba(0,0,0,.08);text-align:center;transform:translate(-50%,-50%);cursor:pointer}.v2-competition-plot>button.size-sm{width:76px;height:76px}.v2-competition-plot>button.size-md{width:88px;height:88px}.v2-competition-plot>button.size-lg{width:104px;height:104px}.v2-competition-plot>button.size-xl{width:126px;height:126px;border-width:2px}.v2-competition-plot>button strong{font-size:9px}.v2-competition-plot>button small{margin-top:4px;color:var(--v2-muted);font-size:6px;line-height:1.35}.v2-competition-plot>button.is-selected{z-index:3;outline:3px solid color-mix(in srgb,var(--bubble-tone) 70%,transparent);box-shadow:0 12px 30px rgba(0,0,0,.18)}.v2-competition-player-detail{grid-column:2;display:grid;grid-template-columns:220px 1fr;gap:18px;margin-top:12px;padding:14px;border:1px solid var(--v2-border);border-radius:12px;background:var(--v2-panel)}.v2-competition-player-detail header strong,.v2-competition-player-detail header span{display:block}.v2-competition-player-detail header strong{font-size:16px}.v2-competition-player-detail header span{margin-top:3px;color:var(--v2-muted);font-size:10px}.v2-competition-player-detail div b{font-size:12px}.v2-competition-player-detail div p{margin:5px 0 0;color:var(--v2-muted);font-size:10px;line-height:1.5}
@media(max-width:900px){.v2-driver-network-lanes>section{grid-template-columns:190px minmax(720px,1fr)}.v2-panel-intro>.v2-page-mode-switch{margin-top:14px}.v2-competition-player-detail{grid-template-columns:1fr}}
.v2-driver-network-layer-head{display:grid;grid-template-columns:repeat(4,1fr);margin-left:238px;padding:0 8px 10px;color:var(--muted);font-size:10px;font-weight:850;text-align:center;letter-spacing:.06em}.v2-driver-network-lanes>section>div{display:flex;align-items:stretch;gap:0}.v2-driver-network-lanes>section>div>button{width:100%;min-height:86px}.v2-driver-network-lanes>section>div>i{width:auto;min-width:54px;flex:.42;padding:0 5px}.v2-driver-network-lanes>section>div>i span{display:flex;align-items:center;width:100%;font-size:15px}.v2-driver-network-lanes>section>div>i span u{flex:1;height:1px;background:var(--lane-tone);text-decoration:none}.v2-driver-network-lanes>section>div>i b{min-height:22px;color:var(--lane-tone)}
.v2-outlook-evidence-chart>div{height:auto!important;display:grid!important;align-items:initial!important;gap:13px!important;padding:4px 0 0!important;border:0!important}.v2-outlook-evidence-chart article{display:block!important;height:auto!important}.v2-outlook-evidence-chart article header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.v2-outlook-evidence-chart article header small{order:initial;margin:0;color:var(--muted);font-size:10px;text-align:left}.v2-outlook-evidence-chart article header b{order:initial;margin:0;color:var(--text);font-size:16px;text-align:right}.v2-outlook-evidence-chart article>span{display:block;order:initial;width:100%;height:13px;min-height:0;margin-top:7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,var(--line));overflow:hidden}.v2-outlook-evidence-chart article>span i{display:block;width:var(--evidence-width);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#55c6f2)}
.v2-competition-player-detail{grid-template-columns:170px minmax(280px,.8fr) minmax(340px,1.2fr);align-items:center}.v2-competition-position-proof{display:grid;gap:9px}.v2-competition-position-proof section{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.v2-competition-position-proof small{font-size:8px;color:var(--v2-muted)}.v2-competition-position-proof b{font-size:10px}.v2-competition-position-proof i{grid-column:1/-1;height:7px;border-radius:999px;background:var(--v2-border);overflow:hidden}.v2-competition-position-proof i u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v2-cyan),#55c6f2);text-decoration:none}.v2-competition-player-detail>div:last-child>small{display:block;margin-top:7px;color:var(--v2-dim);font-size:8px;line-height:1.45}
@media(max-width:900px){.v2-driver-network-layer-head{margin-left:208px;min-width:720px}.v2-competition-player-detail{grid-template-columns:1fr}}
.v2-axis-evidence-component{grid-template-columns:minmax(150px,.45fr) minmax(0,1.6fr) minmax(220px,.7fr)!important;align-items:stretch!important}
.v2-axis-evidence-component>header{display:flex;flex-direction:column;justify-content:center;gap:8px}.v2-axis-evidence-component>header strong{font-size:18px}.v2-axis-evidence-component>header span{color:var(--v2-muted)}
.v2-axis-evidence-component .v2-competition-axis-proof section{padding:14px;min-height:0}.v2-axis-evidence-component h5{margin:7px 0 11px;font-size:13px;line-height:1.45}
.v2-axis-evidence-component .axis-facts,.v2-axis-evidence-component .cross-evidence{display:flex;flex-wrap:wrap;gap:7px}
.v2-axis-evidence-component button{display:grid;gap:3px;min-width:106px;padding:9px 10px;border:1px solid var(--v2-border);border-radius:9px;background:var(--v2-panel);text-align:left;color:inherit}.v2-axis-evidence-component button:not(:disabled){cursor:pointer}.v2-axis-evidence-component button b{margin:0;font-size:13px}.v2-axis-evidence-component button span{font-size:9px;color:var(--v2-muted)}.v2-axis-evidence-component button em{font-size:8px;line-height:1.4;color:var(--v2-muted);font-style:normal}
.v2-axis-evidence-component .v2-competition-axis-proof section>p{margin:9px 0 0;color:var(--v2-muted);font-size:9px;line-height:1.55}.v2-axis-evidence-component>aside{padding:14px;border-left:1px solid var(--v2-border);display:flex;flex-direction:column;justify-content:center}.v2-axis-evidence-component>aside p{margin:7px 0;color:var(--v2-muted);font-size:9px;line-height:1.5}.v2-axis-evidence-component>aside small{margin-top:10px;color:var(--v2-dim);font-size:8px}
.v2-axis-evidence-component.is-overview{grid-column:1/-1;margin-top:12px}.v2-axis-evidence-component.is-overview .cross-evidence{margin-top:8px}
@media(max-width:980px){.v2-axis-evidence-component{grid-template-columns:1fr!important}.v2-axis-evidence-component>aside{border-left:0;border-top:1px solid var(--v2-border)}}
@media(max-width:680px){.v2-axis-evidence-component .v2-competition-axis-proof{grid-template-columns:1fr}}

/* Contract repair: keep semantic point nodes circular inside non-uniform SVG layouts. */
.v2-carrier-orbit > b{align-self:center;justify-self:center;width:112px;aspect-ratio:1;box-sizing:border-box}
.v2-card-line .v2-card-line-points{position:absolute;z-index:2;top:22px;right:8px;left:8px;height:118px;margin:0;pointer-events:none}
.v2-card-line .v2-card-line-points>i{position:absolute;width:10px;height:10px;box-sizing:border-box;border:2px solid var(--v2-cyan);border-radius:50%;background:var(--v2-panel);transform:translate(-50%,-50%)}
.v2-card-line.compact .v2-card-line-points{top:10px;height:82px}
.v2-detail-line .v2-card-line-points{top:22px;height:118px}
.v2-overview-structure-point{position:absolute;z-index:2;width:10px;height:10px;box-sizing:border-box;border:2px solid var(--v2-cyan);border-radius:50%;background:var(--v2-panel);transform:translateY(50%)}
.v2-overview-structure-point.start-point{left:12%}.v2-overview-structure-point.end-point{right:12%}
.v2-overview-constraint-network.has-no-facts{grid-template-columns:1fr auto .85fr}
.v2-outlook-evidence-grid{display:flex;width:100%;height:100%;gap:14px;padding:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-gutter:stable}.v2-outlook-evidence-grid>.v2-outlook-story{flex:0 0 min(430px,calc(100% - 2px));height:100%;margin:0;padding:18px;overflow-y:auto;scroll-snap-align:start}.v2-outlook-evidence-grid>.v2-outlook-story>header h3{font-size:18px}.v2-outlook-evidence-grid>.v2-outlook-story>header p{font-size:12px;line-height:1.5}.v2-outlook-evidence-grid>.v2-outlook-story .v2-outlook-mechanism{grid-template-columns:1fr;margin:14px 0}.v2-outlook-evidence-grid.is-single{display:block}.v2-outlook-evidence-grid.is-single>.v2-outlook-story{width:100%;max-width:none}.v2-driver-network-evidence>.v2-outlook-evidence-tabs+.v2-outlook-evidence-grid{height:calc(100% - 58px)}
[data-theme="light"] body.dna-v2-body .v2-driver-network{background:linear-gradient(135deg,rgba(23,137,127,.045),transparent 60%),#fff}[data-theme="light"] body.dna-v2-body .v2-driver-network-canvas svg text{stroke:#fff}[data-theme="light"] body.dna-v2-body .v2-driver-network-canvas button{box-shadow:0 7px 20px rgba(25,57,62,.08)}

/* Driver-network labels: layer names live in the three shared headers, while
   node cards reserve their limited space for the actual business variable. */
.v2-driver-network-canvas button{min-height:58px;padding:10px 13px}
.v2-driver-network-canvas button strong,.v2-driver-network-lanes button strong{display:block;margin:0}
.v2-driver-network-canvas button em,.v2-driver-network-lanes button em{display:block}
.v2-driver-network>header{min-width:1180px;grid-template-columns:repeat(var(--driver-column-count,3),1fr);font-size:11px}.v2-driver-network-canvas{min-width:1180px}.v2-driver-network-canvas button,.v2-driver-network-canvas button.type-driver,.v2-driver-network-canvas button.type-result,.v2-driver-network-canvas button.type-outcome{width:auto}.v2-driver-network>footer{min-width:1180px}.v2-driver-network-canvas svg g>text{font-size:8px}
.v2-driver-network-canvas svg g.is-influence>path{stroke-dasharray:6 5;stroke-opacity:.52}.v2-driver-network-canvas svg g.is-influence>text{font-style:italic;opacity:.78}
.v2-driver-network>header,.v2-driver-network-canvas,.v2-driver-network>footer{min-width:980px}.v2-driver-network-canvas svg g>text{font-size:6px;font-weight:700;letter-spacing:0}.v2-driver-network-canvas svg g>path{stroke-width:1.35}
.v2-outlook-evidence-chart>div{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;padding:12px 0 4px!important;overflow-x:auto}.v2-outlook-evidence-chart article{position:relative!important;min-width:118px!important;padding:15px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--surface)!important;overflow:visible!important}.v2-outlook-evidence-chart article header{display:block!important}.v2-outlook-evidence-chart article header b{display:block;margin-top:7px!important;color:var(--accent)!important;font-size:20px!important;text-align:left!important}.v2-outlook-evidence-chart article>span{position:relative;display:block!important;width:100%!important;height:3px!important;margin-top:16px!important;background:color-mix(in srgb,var(--accent) 18%,var(--line))!important;overflow:visible!important}.v2-outlook-evidence-chart article>span i{position:absolute;right:-1px;top:-4px;width:11px!important;height:11px!important;border-radius:50%!important;background:var(--accent)!important}.v2-outlook-evidence-chart article:not(:last-child)::after{content:'→';position:absolute;right:-17px;top:50%;z-index:2;color:var(--accent);font-size:19px;font-weight:900}.v2-outlook-evidence-chart article header small{font-size:10px!important}.v2-outlook-evidence-chart article>span i{max-width:none!important}
@media(max-width:900px){.v2-outlook-evidence-chart>div{grid-template-columns:repeat(4,150px)!important}.v2-outlook-evidence-chart article{min-width:150px!important}}
@media(max-width:900px){.v2-outlook-network{padding:18px}.v2-outlook-network>header{display:block}.v2-outlook-network>header>button{margin-top:12px}.v2-outlook-columns{display:none}.v2-outlook-map>article{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.v2-outlook-map button{min-width:220px;scroll-snap-align:start}.v2-outlook-mechanism{grid-template-columns:1fr}}
.v2-outlook-evidence-chart article>span{height:7px!important;overflow:hidden!important}.v2-outlook-evidence-chart article>span i{left:0!important;right:auto!important;top:0!important;width:var(--evidence-width,12%)!important;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,var(--accent),#55c6f2)!important}
.v2-overview-position-evidence button.is-qualitative{display:grid;grid-template-columns:1fr;align-content:start;text-align:left}.v2-overview-position-evidence button.is-qualitative>strong{color:var(--accent);font-size:18px}

/* Compact overview matrix: the full axis evidence remains on the commercial-model surface. */
.v2-enterprise-insight.visual-positionMatrix{grid-column:auto;min-height:0}
.v2-overview-position-layout{display:block;margin-top:12px}
.v2-overview-position-plot{position:relative;width:100%;height:190px;padding:24px 30px 28px 34px}
.v2-overview-position-plot .axis-title,.v2-overview-position-plot .axis-end{position:absolute;z-index:2;color:var(--v2-muted);font-size:7px;font-weight:750;line-height:1.2;pointer-events:none}
.v2-overview-position-plot .axis-title-x{left:50%;bottom:3px;transform:translateX(-50%);font-size:8px}.v2-overview-position-plot .axis-title-y{left:3px;top:50%;max-width:28px;transform:translateY(-50%);text-align:center;font-size:8px}
.v2-overview-position-plot .axis-end-x-low{left:33px;bottom:15px}.v2-overview-position-plot .axis-end-x-high{right:7px;bottom:15px;text-align:right}.v2-overview-position-plot .axis-end-y-low{left:36px;bottom:30px}.v2-overview-position-plot .axis-end-y-high{left:36px;top:8px}
.v2-overview-position-plot button{width:52px;height:52px;padding:5px}
.v2-overview-position-plot button.size-sm,.v2-overview-position-plot button.size-s{width:42px;height:42px}
.v2-overview-position-plot button.size-md,.v2-overview-position-plot button.size-m{width:48px;height:48px}
.v2-overview-position-plot button.size-lg,.v2-overview-position-plot button.size-l{width:56px;height:56px}
.v2-overview-position-plot button.size-xl{width:64px;height:64px}
.v2-overview-position-plot button b{font-size:8px}.v2-overview-position-plot button small{display:none}
.v2-axis-evidence-component.is-overview{margin-top:9px;padding:0;border:0;background:transparent}
.v2-competition-compact-meaning{padding:9px 11px;border-left:2px solid var(--v2-accent);background:color-mix(in srgb,var(--v2-accent) 5%,transparent)}
.v2-competition-player-detail .v2-competition-compact-meaning p{margin:0;color:var(--v2-dim);font-size:13px;line-height:1.65}
.v2-axis-evidence-component.is-overview{display:block;width:100%;min-width:0;grid-template-columns:1fr;margin-top:10px;padding:0;border:0;background:transparent}
.v2-axis-evidence-component.is-overview .v2-competition-compact-meaning{width:100%;box-sizing:border-box;padding:10px 14px}
.v2-axis-evidence-component.is-overview .v2-competition-compact-meaning p{max-width:none;font-size:13px;line-height:1.65;text-wrap:pretty;overflow-wrap:break-word}
.industry-related-card h5{max-width:100%;text-wrap:balance;overflow-wrap:break-word;word-break:normal}
@supports(-webkit-line-clamp:2){.industry-related-card h5{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}}
.v2-related-data-analysis{margin:0 0 12px;color:var(--v2-muted);font-size:11px;line-height:1.55}

/* Coordination is not hierarchy: two equal responsibility systems share one neutral interface. */
.v2-governance-coordination-pair{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:stretch}
.v2-governance-coordination-pair>section{display:flex;min-height:100%;flex-direction:column}
.v2-governance-coordination-pair>section>div{flex:1;grid-auto-rows:1fr}
.v2-governance-coordination-pair>i{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.v2-governance-coordination-pair>i span{font-size:20px}.v2-governance-coordination-pair>i small{max-width:60px;color:var(--v2-muted);font-size:8px;font-weight:700;line-height:1.3}
@media(max-width:760px){.v2-governance-coordination-pair{grid-template-columns:1fr}.v2-governance-coordination-pair>i{transform:none}.v2-governance-coordination-pair>i span{transform:rotate(90deg)}}
.v2-selected-path-facts.is-graphical article>i{display:block;width:100%;height:7px;margin-top:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--v2-border) 70%,transparent)}
.v2-selected-path-facts.is-graphical article>i>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v2-accent),color-mix(in srgb,var(--v2-accent) 58%,#55c6f2))}
.v2-standard-metric-link{display:inline-flex;margin-top:8px;color:#087f78;font-size:13px;font-weight:700;text-decoration:none}
.v2-standard-metric-link:hover{text-decoration:underline}
/* Shared competition evidence matrix v4: evidence coordinates remain the anchor; display coordinates use only minimal hit-target separation. */
.nv-competition-matrix {
    min-width: 0;
    width: 100%;
}

.nv-competition-matrix .nv-competition-position-meaning {
    width: 100%;
    max-width: none;
    margin: 14px 0 0;
    padding: 0;
    color: var(--v2-muted);
    font-size: clamp(13px, 1vw, 16px);
    line-height: 1.65;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}

.nv-competition-matrix.is-overview .v2-overview-position-matrix > p {
    text-align: left;
}

.nv-competition-matrix .v2-competition-plot,
.nv-competition-matrix .v2-overview-position-plot {
    --bubble-tone: #7d9099;
    overflow: hidden;
}
.nv-competition-matrix .nv-competition-anchor {
    position: absolute;
    width: 7px;
    height: 7px;
    z-index: 3;
    border: 2px solid color-mix(in srgb, var(--v2-teal) 72%, #607781 28%);
    border-radius: 50%;
    background: var(--v2-panel);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--v2-panel) 70%, transparent);
    transform: translate(-50%, -50%);
    pointer-events: none;
}


.nv-competition-matrix .v2-competition-plot > button,
.nv-competition-matrix .v2-overview-position-plot > button {
    z-index: 4;
    border-color: color-mix(in srgb, var(--bubble-tone, #7d9099) 72%, var(--v2-border));
    background: color-mix(in srgb, var(--bubble-tone, #7d9099) 17%, var(--v2-panel));
}

.nv-competition-matrix .v2-competition-plot > button.is-focus,
.nv-competition-matrix .v2-overview-position-plot > button.is-focus {
    z-index: 6;
    border-width: 3px;
    border-color: var(--bubble-tone, #159f93);
    background: color-mix(in srgb, var(--bubble-tone, #159f93) 23%, var(--v2-panel));
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--bubble-tone, #159f93) 15%, transparent), 0 12px 28px rgba(0,0,0,.16);
}

.nv-competition-matrix .v2-competition-plot > button.is-focus strong,
.nv-competition-matrix .v2-overview-position-plot > button.is-focus b {
    font-weight: 900;
}

.nv-competition-matrix.is-dense .v2-competition-plot > button {
    width: 68px;
    height: 68px;
    padding: 7px;
}

.nv-competition-matrix.is-dense .v2-competition-plot > button strong {
    font-size: 11px;
    line-height: 1.15;
}

.nv-competition-matrix.is-dense .v2-competition-plot > button small {
    display: none;
}

.nv-competition-matrix .v2-competition-plot > button:focus-visible,
.nv-competition-matrix .v2-overview-position-plot > button:focus-visible {
    outline: 3px solid var(--v2-accent, #22b8aa);
    outline-offset: 3px;
}

.nv-competition-matrix.is-commercial .v2-competition-player-detail {
    width: 100%;
}

.nv-competition-matrix.is-commercial .v2-competition-axis-proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.nv-competition-matrix.is-commercial .v2-competition-axis-proof section {
    min-width: 0;
}

@media (max-width: 720px) {
    .nv-competition-matrix.is-commercial .v2-competition-axis-proof {
        grid-template-columns: 1fr;
    }
}

/* English labels read as phrases, not as stacked Latin characters. Keep the
   Chinese vertical-axis treatment intact and give English charts a compact,
   editorial layout of their own. */
html[lang="en"] .v2-overview-position-plot .axis-title-y {
    left: 12px;
    top: 50%;
    width: max-content;
    max-width: none;
    white-space: nowrap;
    transform: translate(-50%, -50%) rotate(-90deg);
    transform-origin: center;
}

html[lang="en"] .v2-overview-position-y b,
html[lang="en"] .method-axis-y strong,
html[lang="en"] .v2-commercial-governance > div > small {
    width: max-content;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: nowrap;
    transform: rotate(-90deg);
    transform-origin: center;
}

html[lang="en"] .v2-commercial-competition-matrix {
    grid-template-columns: 76px minmax(0, 1fr);
}

html[lang="en"] .v2-matrix-y-heading {
    padding-left: 0;
}

html[lang="en"] .v2-matrix-y-title {
    padding: 10px 12px 10px 0;
}

html[lang="en"] .v2-matrix-y-title span {
    width: 68px;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: normal;
    text-align: center;
}

html[lang="en"] .v2-strategy-migration {
    grid-template-columns: 92px minmax(0, 1fr);
}

html[lang="en"] .v2-strategy-migration-y {
    position: relative;
    padding: 7px 2px;
}

html[lang="en"] .v2-strategy-migration-y b {
    width: 86px;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: normal;
    text-align: center;
}

html[lang="en"] .v2-strategy-migration-y span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: max-content;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: nowrap;
    transform: translate(-50%, -50%) rotate(-90deg);
    transform-origin: center;
}

@media (max-width: 640px) {
    html[lang="en"] .v2-strategy-migration {
        width: 660px;
        grid-template-columns: 82px minmax(0, 1fr);
    }
}

/* Shared scenario controls: preset and evidence-backed forecast period occupy equal slots. */
.v2-scenario-horizon-control {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 13px;
    border: 1px solid rgba(56,214,199,.42);
    border-radius: 10px;
    background: rgba(56,214,199,.045);
}
.v2-scenario-horizon-control label { color: var(--v2-cyan); font-size: 11px; font-weight: 750; letter-spacing: .04em; }
.v2-scenario-horizon-control select {
    width: 100%;
    min-width: 0;
    margin-top: 8px;
    padding: 10px 34px 10px 11px;
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    background: var(--v2-panel);
    color: var(--v2-text);
    font: 700 13px/1.3 inherit;
    cursor: pointer;
}
.v2-scenario-horizon-control strong { display:flex; align-items:center; min-height:39px; margin-top:8px; padding:0 11px; border:1px solid var(--v2-border); border-radius:8px; background:var(--v2-panel); color:var(--v2-text); font-size:13px; }
.v2-scenario-horizon-control em { display:block; margin-top:6px; color:var(--v2-text); font-size:11px; font-style:normal; font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.v2-scenario-horizon-control small { margin-top:8px; color:var(--v2-muted); font-size:11px; line-height:1.55; }

/* Shared event detail: four coherent paragraphs replace form-like field repetition. */
.v2-event-detail .v2-event-narrative {
    margin: 0;
    max-width: 92ch;
    color: var(--v2-muted);
    font-size: 12px;
    line-height: 1.8;
    text-wrap: pretty;
}
.v2-event-detail .v2-event-what > .v2-event-narrative { color: var(--v2-text) !important; font-size: 13px !important; }
.v2-event-results { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.v2-event-results span { min-width: 110px; padding: 9px 11px; border: 1px solid var(--v2-border); border-radius: 8px; }
.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: 4px; color: var(--v2-text); font-size: 11px; }
.v2-event-source { display: inline-flex; margin-top: 12px; color: var(--event-color); font-size: 9px; }

@media (max-width: 720px) {
    .v2-scenario-selector-row { grid-template-columns:1fr; }
}

/* Capability mechanism visual v2: public expression, never an internal field grid. */
.v2-capability-name { display:block; margin:8px 0 4px; color:var(--v2-purple); font-size:13px; font-weight:800; letter-spacing:.04em; }
.v2-capability-definition-line { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.v2-capability-definition-line strong { display:inline; color:var(--v2-purple); }
.v2-capability-definition-line span { display:inline; color:inherit; font:inherit; }
.v2-capability-interpretation { margin:12px 0 0; color:var(--v2-muted); font-size:12px; line-height:1.75; }
.v2-capability-business-insight { margin:0 0 14px; padding:12px 14px; border-left:3px solid var(--v2-cyan); background:color-mix(in srgb,var(--v2-cyan) 6%,transparent); color:var(--v2-muted); font-size:13.5px; font-weight:450; line-height:1.82; }
.v2-gene-mechanism-anatomy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0; }
.v2-gene-mechanism-anatomy section { padding:12px 14px; border:1px solid var(--v2-border); border-radius:10px; background:var(--v2-panel-soft); }
.v2-gene-mechanism-anatomy small { display:block; margin-bottom:5px; color:var(--v2-cyan); font-weight:750; }
.v2-gene-mechanism-anatomy strong { display:block; color:var(--v2-text); font-size:12px; line-height:1.65; }
@media (max-width:720px){.v2-gene-mechanism-anatomy{grid-template-columns:1fr}}
.v2-capability-mechanism-visual { box-sizing:border-box; min-width:0; max-width:100%; margin:18px 0 0; padding:16px; border:1px solid var(--v2-border); border-radius:12px; background:linear-gradient(145deg,rgba(56,214,199,.055),rgba(181,140,255,.035)); overflow:hidden; }
.v2-capability-mechanism-visual figcaption { display:flex; align-items:baseline; gap:10px; margin:0 0 14px; }
.v2-capability-mechanism-visual figcaption span { color:var(--v2-cyan); font-size:9px; font-weight:800; letter-spacing:.12em; }
.v2-capability-mechanism-visual figcaption strong { color:var(--v2-text); font-size:14px; line-height:1.45; }
.v2-capability-visual-insight { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(280px,1.4fr); gap:12px; margin:-2px 0 14px; padding:10px 12px; border-left:3px solid var(--v2-cyan); background:rgba(56,214,199,.06); }
.v2-capability-visual-insight small,.v2-capability-visual-insight strong { display:block; line-height:1.55; }
.v2-capability-visual-insight small { color:var(--v2-muted); font-size:10px; }
.v2-capability-visual-insight strong { color:var(--v2-text); font-size:11px; }
.v2-capability-visual-sequence { display:flex; align-items:stretch; gap:8px; min-width:0; }
.v2-capability-visual-sequence article { overflow:hidden; }
.v2-capability-visual-sequence article strong,.v2-capability-visual-sequence article p,.v2-capability-flow-arrow span { overflow-wrap:anywhere; word-break:break-word; }
.v2-capability-directed-map { display:grid; gap:8px; min-width:0; }
.v2-capability-directed-edge { display:grid; grid-template-columns:minmax(0,1fr) minmax(64px,auto) minmax(0,1fr); gap:8px; align-items:stretch; }
.v2-capability-directed-edge article { min-width:0; padding:12px; border:1px solid rgba(56,214,199,.34); border-radius:10px; background:var(--v2-panel); }
.v2-capability-node-link-wrap { box-sizing:border-box; display:block; width:100%; min-width:0; max-width:100%; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; contain:inline-size; padding:2px 0 8px; }
.v2-capability-node-link-graph { display:block; width:100%; max-width:none; min-width:760px; overflow:visible; }
.v2-capability-node-link-wrap.is-compact { overflow-x:hidden; }
.v2-capability-node-link-graph .v2-capability-graph-edge>path { fill:none; stroke:rgba(99,75,190,.62); stroke-width:2.2; }
.v2-capability-node-link-graph .v2-capability-graph-edge.is-feedback>path { stroke-dasharray:7 5; stroke:rgba(99,75,190,.72); }
.v2-capability-node-link-graph .v2-capability-edge-label-leader { stroke:rgba(99,75,190,.42); stroke-width:1.1; stroke-dasharray:4 4; }
.v2-capability-architecture-band rect { fill:rgba(255,255,255,.44); stroke:rgba(56,214,199,.22); stroke-width:1; }
.v2-capability-architecture-band text { fill:#008f86; font-size:13px; font-weight:800; }
.v2-capability-architecture-band text .detail { fill:#62757b; font-size:10px; font-weight:550; }
.v2-capability-band-label { overflow:visible; pointer-events:none; }
.v2-capability-band-label div { color:#008f86; font-size:13px; font-weight:800; line-height:1.35; overflow-wrap:anywhere; }
.v2-capability-band-label strong,.v2-capability-band-label span { display:block; }
.v2-capability-band-label span { margin-top:5px; color:#62757b; font-size:10px; font-weight:550; line-height:1.35; }
.v2-capability-architecture-band.is-control-plane rect { fill:rgba(99,75,190,.055); stroke:rgba(99,75,190,.62); stroke-width:1.5; stroke-dasharray:7 5; }
.v2-capability-architecture-band.is-control-plane text { fill:#654ec0; font-size:12px; }
.v2-capability-architecture-band.is-control-plane text .detail { fill:#6d6789; font-size:9px; }
.v2-capability-architecture-band.is-control-plane .v2-capability-band-label div { color:#654ec0; font-size:12px; }
.v2-capability-architecture-band.is-control-plane .v2-capability-band-label span { color:#6d6789; font-size:9px; }
.v2-capability-node-link-graph.layout-architecture-stack .v2-capability-graph-edge>path { stroke-width:2.5; }
.v2-capability-node-link-graph marker path { fill:rgba(99,75,190,.78); }
.v2-capability-node-link-graph .v2-capability-edge-label { overflow:visible; pointer-events:none; }
.v2-capability-node-link-graph .v2-capability-flow-arrow { box-sizing:border-box; height:100%; display:flex; align-items:center; justify-content:center; padding:2px 6px; border-radius:8px; background:rgba(248,249,252,.94); color:#654ec0; font-size:11px; line-height:1.2; text-align:center; }
.v2-capability-node-link-graph .v2-capability-graph-node article { box-sizing:border-box; width:100%; height:100%; overflow:visible; padding:12px 14px; border:1px solid rgba(56,214,199,.52); border-radius:12px; background:rgba(255,255,255,.98); box-shadow:0 4px 12px rgba(28,61,70,.06); }
.v2-capability-node-link-graph .v2-capability-graph-node article.is-primary { border:2px solid rgba(99,75,190,.78); background:linear-gradient(145deg,rgba(99,75,190,.10),rgba(56,214,199,.10)),rgba(255,255,255,.98); box-shadow:0 8px 20px rgba(99,75,190,.13); }
.v2-capability-node-link-graph .v2-capability-graph-node small { display:block; margin-bottom:4px; color:#008f86; font-size:10px; font-weight:700; }
.v2-capability-node-link-graph .v2-capability-graph-node strong { display:block; overflow-wrap:anywhere; color:#172d33; font-size:14px; line-height:1.32; }
.v2-capability-node-link-graph .v2-capability-graph-node p { margin:6px 0 0; overflow-wrap:anywhere; color:#62757b; font-size:10px; line-height:1.38; }
.v2-capability-geo-network { display:grid; gap:12px; min-width:0; }
.v2-capability-world-map { position:relative; min-height:470px; overflow:hidden; border:1px solid rgba(56,214,199,.22); border-radius:14px; background:linear-gradient(rgba(247,251,251,.34),rgba(247,251,251,.34)),url('../images/world-map-robinson-public-domain.png') center/92% auto no-repeat; }
.v2-capability-world-map>svg { position:absolute; inset:5% 4%; width:92%; height:90%; overflow:visible; }
.v2-capability-world-map>svg line { stroke:rgba(99,75,190,.68); stroke-width:.42; vector-effect:non-scaling-stroke; }
.v2-capability-world-map>svg marker path { fill:#654ec0; stroke:none; }
.v2-capability-geo-pin { position:absolute; z-index:2; width:150px; min-height:58px; transform:translate(-50%,-50%); padding:9px 10px 8px 19px; border:1px solid rgba(56,214,199,.52); border-radius:10px; background:rgba(255,255,255,.95); box-shadow:0 6px 18px rgba(28,61,70,.08); }
.v2-capability-geo-pin>i { position:absolute; left:7px; top:13px; width:7px; height:7px; border-radius:50%; background:#24c9bc; box-shadow:0 0 0 4px rgba(36,201,188,.14); }
.v2-capability-geo-pin small,.v2-capability-geo-pin strong,.v2-capability-geo-pin span { display:block; }
.v2-capability-geo-pin small { color:#008f86; font-size:8px; font-weight:750; }.v2-capability-geo-pin strong { color:#172d33; font-size:11px; line-height:1.25; }.v2-capability-geo-pin span { margin-top:4px; color:#62757b; font-size:8px; line-height:1.3; }
.v2-capability-geo-signals { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; }.v2-capability-geo-signals span { padding:10px 12px; border:1px solid var(--v2-border); border-radius:9px; background:rgba(255,255,255,.55); }.v2-capability-geo-signals small,.v2-capability-geo-signals strong { display:block; }.v2-capability-geo-signals small { color:var(--v2-dim); font-size:8px; }.v2-capability-geo-signals strong { margin-top:4px; color:#172d33; font-size:11px; }
.v2-gene-directory-hint { margin:10px 0 0; color:var(--v2-dim); font-size:9px; }
.v2-capability-flow-arrow { display:flex; flex:0 1 92px; flex-direction:column; align-items:center; justify-content:center; min-width:44px; color:var(--v2-purple); text-align:center; }
.v2-capability-flow-arrow span { font-size:9px; line-height:1.35; }
.v2-capability-flow-arrow i { font-size:20px; font-style:normal; line-height:1; }
.v2-capability-visual-sequence article,.v2-capability-visual-bridge > article,.v2-capability-visual-network article,.v2-capability-visual-gate article,.v2-capability-visual-architecture article { flex:1 1 0; min-width:0; padding:12px; border:1px solid rgba(56,214,199,.34); border-radius:10px; background:var(--v2-panel); }
.v2-capability-mechanism-visual article small,.v2-capability-mechanism-visual article strong,.v2-capability-mechanism-visual article p { display:block; }
.v2-capability-mechanism-visual article small { color:var(--v2-cyan); font-size:9px; font-weight:800; }
.v2-capability-mechanism-visual article strong { margin-top:5px; color:var(--v2-text); font-size:12px; line-height:1.45; }
.v2-capability-mechanism-visual article p { margin:5px 0 0; color:var(--v2-muted); font-size:10px; line-height:1.5; }
.v2-capability-visual-edge { display:flex; flex:0 0 58px; flex-direction:column; align-items:center; justify-content:center; color:var(--v2-purple); text-align:center; }
.v2-capability-visual-edge span { font-size:9px; line-height:1.25; }
.v2-capability-visual-edge i { font-size:18px; font-style:normal; }
.v2-capability-visual-bridge { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.7fr) minmax(0,1fr); gap:12px; align-items:stretch; }
.v2-capability-visual-edge-list { display:flex; flex-direction:column; justify-content:center; gap:6px; }
.v2-capability-visual-edge-list span { display:grid; grid-template-columns:1fr auto 1fr; gap:5px; align-items:center; color:var(--v2-muted); font-size:9px; }
.v2-capability-visual-edge-list span b { color:var(--v2-text); font-weight:750; }
.v2-capability-visual-edge-list span i { color:var(--v2-purple); font-style:normal; }
.v2-capability-visual-network { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr); gap:14px; }
.v2-capability-visual-network > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.v2-capability-visual-network ul { display:flex; flex-direction:column; justify-content:center; gap:7px; margin:0; padding:0; list-style:none; }
.v2-capability-visual-network li { display:grid; grid-template-columns:1fr auto 1fr; gap:6px; align-items:center; padding:8px; border-bottom:1px solid var(--v2-border); color:var(--v2-muted); font-size:9px; }
.v2-capability-visual-network li b { color:var(--v2-text); }
.v2-capability-visual-network li span { color:var(--v2-purple); }
.v2-capability-mechanism-visual > .is-capability-grammar { margin-top:0; background:transparent; }
.v2-capability-mechanism-visual .v2-contract-map > .v2-capability-visual-edge-list { display:flex; margin-top:12px; padding-top:10px; border-top:1px solid var(--v2-border); }
.v2-capability-visual-gate { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.72fr) minmax(0,1fr); gap:10px; align-items:stretch; }
.v2-capability-visual-gate > div { display:grid; gap:8px; align-content:center; }
.v2-capability-visual-gate .gates article { border-width:2px; border-color:var(--v2-purple); background:color-mix(in srgb,var(--v2-purple) 8%,var(--v2-panel)); }
.v2-capability-visual-gate ul { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:6px; margin:2px 0 0; padding:10px 0 0; border-top:1px solid var(--v2-border); list-style:none; }
.v2-capability-visual-gate li { display:grid; grid-template-columns:1fr auto 1fr; gap:6px; align-items:center; color:var(--v2-muted); font-size:9px; }
.v2-capability-visual-gate li b { color:var(--v2-text); }.v2-capability-visual-gate li span { color:var(--v2-purple); }
.v2-capability-visual-architecture { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:9px; }
.v2-capability-visual-architecture article.is-data { border-top:3px solid var(--v2-blue); }.v2-capability-visual-architecture article.is-system { border-top:3px solid var(--v2-purple); }.v2-capability-visual-architecture article.is-process { border-top:3px solid var(--v2-cyan); }
.v2-capability-visual-architecture > .v2-capability-visual-edge-list { grid-column:1/-1; padding-top:10px; border-top:1px solid var(--v2-border); }
.v2-capability-visual-bars { display:flex; align-items:flex-end; gap:10px; min-height:170px; }
.v2-capability-visual-bars article { display:grid; flex:1 1 0; grid-template-rows:auto 1fr auto; min-width:0; height:150px; text-align:center; }
.v2-capability-visual-bars article > b { color:var(--v2-text); font-size:11px; }
.v2-capability-visual-bars article > i { display:flex; align-items:flex-end; justify-content:center; min-height:90px; }
.v2-capability-visual-bars article > i span { width:min(42px,70%); border-radius:7px 7px 2px 2px; background:linear-gradient(180deg,var(--v2-cyan),var(--v2-purple)); }
.v2-capability-visual-bars article > small { color:var(--v2-muted); font-size:9px; }
.v2-capability-visual-boundary { margin:13px 0 0; padding-top:10px; border-top:1px solid var(--v2-border); color:var(--v2-dim); font-size:9px; line-height:1.55; }
@media (max-width: 768px) {
    .v2-capability-visual-insight { grid-template-columns:1fr; }
    .v2-inline-capability-card,.v2-capability-mechanism-visual { box-sizing:border-box; min-width:0; width:100%; }
    .v2-capability-visual-sequence { flex-direction:column; }
    .v2-capability-directed-edge { grid-template-columns:minmax(0,1fr); }
    .v2-capability-directed-edge .v2-capability-flow-arrow i { transform:rotate(90deg); }
    .v2-capability-node-link-graph { min-width:680px; }
    .v2-capability-node-link-wrap.is-compact { overflow-x:auto; }
    .v2-capability-flow-arrow { flex:0 0 auto; min-height:38px; }
    .v2-capability-flow-arrow i { transform:rotate(90deg); }
    .v2-capability-visual-edge { flex:0 0 auto; min-height:38px; }
    .v2-capability-visual-edge i { transform:rotate(90deg); }
    .v2-capability-visual-bridge,.v2-capability-visual-network,.v2-capability-visual-gate { grid-template-columns:1fr; }
    .v2-capability-visual-network > div { grid-template-columns:1fr; }
    .v2-capability-visual-gate ul { grid-column:1; grid-template-columns:1fr; }
    .v2-capability-visual-architecture { grid-template-columns:1fr; }
}
