:root,
[data-bs-theme="light"] {
    --identity-bg: #fcfcfd;
    --identity-surface: #ffffff;
    --identity-surface-muted: #edf1f4;
    --identity-text: #101417;
    --identity-text-soft: #45515b;
    --identity-text-muted: #66717b;
    --identity-line: #dee2e6;
    --identity-line-strong: #c8d0d7;
    --identity-navy: #003049;
    --identity-navy-deep: #001f30;
    --identity-orange: #f77f00;
    --identity-green: #16803b;
    --identity-green-bright: #1c9a52;
    --identity-success-soft: #dff3e6;
    --identity-shadow: 0 28px 80px rgba(0, 20, 31, 0.22);
}

[data-bs-theme="dark"] {
    --identity-bg: #07161f;
    --identity-surface: #102733;
    --identity-surface-muted: #1a3542;
    --identity-text: #f4f7f8;
    --identity-text-soft: #c5d0d5;
    --identity-text-muted: #9fb0b9;
    --identity-line: #2b4856;
    --identity-line-strong: #3c5c6b;
    --identity-success-soft: #103d2c;
    --identity-shadow: 0 28px 80px rgba(0, 0, 0, 0.4);
}

.identity-section,
.identity-section button {
    font-family: system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

.identity-section {
    position: relative;
    overflow: hidden;
    padding-block: clamp(76px, 7.5vw, 112px);
    color: var(--identity-text);
    background: linear-gradient(125deg, rgba(247, 127, 0, 0.04), transparent 35%),
    var(--identity-bg);
    font-size: 16px;
    line-height: 1.6;
}

.identity-container {
    width: calc(100% - 40px);
    max-width: 1400px;
    margin-inline: auto;
    padding-inline: 0;
}

.identity-row {
    --bs-gutter-x: clamp(50px, 8vw, 120px);
    --bs-gutter-y: 56px;
}

.identity-copy,
.identity-lab-column,
.identity-result > div,
.identity-definitions article > div {
    min-width: 0;
}

.identity-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: var(--identity-navy);
    font-size: 0.6875rem;
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

[data-bs-theme="dark"] .identity-kicker {
    color: #8ecae6;
}

.identity-kicker-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background: var(--identity-green-bright);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(28, 154, 82, 0.14);
}

.identity-copy h2 {
    margin: 0 0 18px;
    color: var(--identity-text);
    font-size: clamp(2.25rem, 3.3vw, 3.25rem);
    font-weight: 900;
    line-height: 1.07;
    letter-spacing: -0.047em;
}

.identity-copy > p {
    max-width: 730px;
    margin: 0;
    color: var(--identity-text-soft);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    line-height: 1.72;
}

.identity-definitions {
    gap: 0;
    margin-top: 35px;
}

.identity-definitions article {
    gap: 15px;
    padding-block: 15px;
    border-top: 1px solid var(--identity-line);
}

.identity-definitions article > span {
    display: grid;
    width: 53px;
    height: 36px;
    place-items: center;
    color: #ffffff;
    background: var(--identity-navy);
    border-radius: 9px;
    font-size: 0.6875rem;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: 0.07em;
}

.identity-definitions h3 {
    margin: 1px 0 4px;
    color: var(--identity-text);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.35;
}

.identity-definitions p {
    margin: 0;
    color: var(--identity-text-muted);
    font-size: 0.75rem;
    line-height: 1.55;
}

.identity-lab {
    position: relative;
    overflow: hidden;
    padding: clamp(25px, 4vw, 46px);
    color: #ffffff;
    background: radial-gradient(circle at 85% 5%, rgba(47, 200, 225, 0.15), transparent 27%),
    linear-gradient(145deg, var(--identity-navy), var(--identity-navy-deep));
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    box-shadow: var(--identity-shadow);
}

.identity-lab::before {
    position: absolute;
    right: -80px;
    bottom: -80px;
    width: 260px;
    height: 260px;
    content: "";
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    box-shadow: 0 0 0 45px rgba(255, 255, 255, 0.02),
    0 0 0 90px rgba(255, 255, 255, 0.02);
    pointer-events: none;
}

.identity-lab-header,
.identity-lid-row,
.identity-equation,
.identity-result,
.identity-lab-note {
    position: relative;
    z-index: 1;
}

.identity-lab-header {
    margin-bottom: 34px;
}

.identity-meta-label {
    display: block;
    margin-bottom: 7px;
    color: #91aeba;
    font-size: 0.6875rem;
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.identity-lab-header strong {
    display: block;
    font-size: 1.3rem;
    line-height: 1.35;
}

.identity-status-pill {
    min-height: 27px;
    padding: 5px 10px;
    color: #75d394;
    background: rgba(28, 154, 82, 0.15);
    border: 1px solid rgba(117, 211, 148, 0.28);
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.identity-lid-row {
    margin-bottom: 18px;
}

.identity-lid-segment {
    min-width: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 13px;
}

.identity-lid-segment b,
.identity-lid-segment span {
    display: block;
    text-align: center;
}

.identity-lid-segment b {
    padding: 19px 8px 13px;
    color: #ffffff;
    font-size: clamp(1rem, 2vw, 1.5rem);
    line-height: 1.2;
}

.identity-lid-segment span {
    padding: 8px 5px;
    color: #8eabb8;
    background: rgba(255, 255, 255, 0.06);
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.identity-lid-segment-continent {
    border-top: 3px solid #38bdf8;
}

.identity-lid-segment-country {
    border-top: 3px solid #22c55e;
}

.identity-lid-segment-company {
    border-top: 3px solid var(--identity-orange);
}

.identity-lid-segment-product {
    border-top: 3px solid #a78bfa;
}

.identity-equation {
    margin-bottom: 18px;
}

.identity-equation-card {
    height: 100%;
    padding: 13px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 11px;
}

.identity-equation-card span,
.identity-equation-card strong {
    display: block;
}

.identity-equation-card span {
    color: #7e9ba8;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.4;
    text-transform: uppercase;
}

.identity-equation-card strong {
    margin-top: 3px;
    color: #dce9ee;
    font-size: 0.75rem;
    line-height: 1.55;
}

.identity-equation-plus {
    color: var(--identity-orange);
    font-size: 1.1rem;
    line-height: 1;
}

.identity-result {
    padding: 18px;
    background: rgba(247, 127, 0, 0.1);
    border: 1px solid rgba(247, 127, 0, 0.35);
    border-radius: 14px;
}

.identity-result span,
.identity-result strong {
    display: block;
}

.identity-result > div > span {
    margin-bottom: 3px;
    color: #e2ad73;
    font-size: 0.6875rem;
    font-weight: 850;
    line-height: 1.4;
    text-transform: uppercase;
}

.identity-mono {
    font-family: SFMono-Regular,
    Consolas,
    "Liberation Mono",
    monospace;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}

.identity-result strong {
    overflow: visible;
    color: #ffffff;
    font-size: clamp(0.6875rem, 1vw, 0.875rem);
    line-height: 1.55;
    overflow-wrap: normal;
    text-overflow: clip;
    white-space: nowrap;
}

.identity-copy-button {
    min-width: 80px;
    min-height: 34px;
    padding: 6px 11px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 9px;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.3;
    white-space: nowrap;
    transition: color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease;
}

.identity-copy-button:hover,
.identity-copy-button:focus-visible {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.62);
}

.identity-copy-button:focus-visible {
    outline: 3px solid rgba(247, 127, 0, 0.48);
    outline-offset: 3px;
    box-shadow: none;
}

.identity-copy-button.is-copied {
    color: #ffffff;
    background: rgba(28, 154, 82, 0.42);
    border-color: rgba(117, 211, 148, 0.68);
}

.identity-lab-note {
    margin: 18px 0 0;
    color: #7f9ca9;
    font-size: 0.6875rem;
    line-height: 1.55;
}

.identity-lab-note strong {
    color: #b8ccd5;
}

[data-bs-theme="light"] .identity-lab {
    color: var(--identity-text);
    background: radial-gradient(circle at 85% 5%, rgba(13, 110, 253, 0.08), transparent 27%),
    linear-gradient(145deg, var(--identity-surface), var(--identity-surface-muted));
    border-color: var(--identity-line);
}

[data-bs-theme="light"] .identity-lab::before {
    border-color: rgba(0, 48, 73, 0.08);
    box-shadow: 0 0 0 45px rgba(0, 48, 73, 0.025),
    0 0 0 90px rgba(0, 48, 73, 0.025);
}

[data-bs-theme="light"] .identity-meta-label {
    color: var(--identity-navy);
}

[data-bs-theme="light"] .identity-status-pill {
    color: #117234;
    background: var(--identity-success-soft);
    border-color: rgba(22, 128, 59, 0.25);
}

[data-bs-theme="light"] .identity-lid-segment {
    background: var(--identity-surface);
    border-color: var(--identity-line);
}

[data-bs-theme="light"] .identity-lid-segment-continent {
    border-top-color: #38bdf8;
}

[data-bs-theme="light"] .identity-lid-segment-country {
    border-top-color: #22c55e;
}

[data-bs-theme="light"] .identity-lid-segment-company {
    border-top-color: #f77f00;
}

[data-bs-theme="light"] .identity-lid-segment-product {
    border-top-color: #a78bfa;
}

[data-bs-theme="light"] .identity-lid-segment b,
[data-bs-theme="light"] .identity-result strong {
    color: var(--identity-text);
}

[data-bs-theme="light"] .identity-lid-segment span {
    color: var(--identity-text-muted);
    background: var(--identity-surface-muted);
}

[data-bs-theme="light"] .identity-equation-card {
    background: var(--identity-surface);
    border-color: var(--identity-line);
}

[data-bs-theme="light"] .identity-equation-card span,
[data-bs-theme="light"] .identity-lab-note {
    color: var(--identity-text-muted);
}

[data-bs-theme="light"] .identity-equation-card strong,
[data-bs-theme="light"] .identity-lab-note strong {
    color: var(--identity-text-soft);
}

[data-bs-theme="light"] .identity-result {
    background: #fff0df;
    border-color: rgba(247, 127, 0, 0.35);
}

[data-bs-theme="light"] .identity-result > div > span {
    color: #a94f00;
}

[data-bs-theme="light"] .identity-copy-button {
    color: var(--identity-navy);
    background: var(--identity-surface);
    border-color: var(--identity-line-strong);
}

[data-bs-theme="light"] .identity-copy-button:hover,
[data-bs-theme="light"] .identity-copy-button:focus-visible {
    color: var(--identity-navy);
    background: #e9f2ff;
    border-color: #7aa7d8;
}

[data-bs-theme="light"] .identity-copy-button.is-copied {
    color: #117234;
    background: var(--identity-success-soft);
    border-color: rgba(22, 128, 59, 0.38);
}

@media (min-width: 1051px) {
    .identity-copy {
        width: 40%;
        max-width: 40%;
        flex: 0 0 40%;
    }

    .identity-lab-column {
        width: 60%;
        max-width: 60%;
        flex: 0 0 60%;
    }
}

@media (min-width: 621px) {
    .identity-lid-col-continent,
    .identity-lid-col-country {
        width: 16.66666667%;
        max-width: 16.66666667%;
        flex: 0 0 16.66666667%;
    }

    .identity-lid-col-company,
    .identity-lid-col-product {
        width: 33.33333333%;
        max-width: 33.33333333%;
        flex: 0 0 33.33333333%;
    }

    .identity-result {
        align-items: center !important;
        flex-direction: row !important;
    }
}

@media (min-width: 391px) {
    .identity-equation-term {
        width: auto;
        max-width: 100%;
        flex: 1 0 0%;
    }

    .identity-equation-plus {
        width: auto;
        max-width: none;
        flex: 0 0 auto;
    }
}

@media (max-width: 1050px) {
    .identity-copy {
        max-width: 820px;
    }

    .identity-lab {
        width: min(100%, 850px);
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .identity-container {
        width: calc(100% - 28px);
    }

    .identity-copy h2 {
        font-size: clamp(2rem, 9.25vw, 2.6rem);
        letter-spacing: -0.045em;
    }

    .identity-result strong {
        font-size: clamp(0.6875rem, 3.5vw, 0.875rem);
    }

    .identity-copy-button {
        width: 100%;
    }
}

@media (max-width: 390px) {
    .identity-container {
        width: calc(100% - 22px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .identity-copy-button {
        transition: none;
    }
}

@media print {
    .identity-section {
        padding-block: 30px;
        break-inside: avoid;
    }
}
