.cel-shell {
    --cel-blue: var(--college-brand-navy, #00235E);
    --cel-blue-deep: var(--college-brand-navy-deep, #001845);
    --cel-yellow: var(--college-brand-yellow, #FFB600);
    --cel-text: var(--college-text, #111827);
    --cel-muted: var(--college-muted, #566170);
    --cel-border: var(--college-border, #D9E1EA);
    --cel-soft: var(--college-surface, #F7F8FA);
    --cel-soft-blue: var(--college-surface-brand-soft, #F1F6FC);
    --cel-white: var(--college-color-white, #FFFFFF);
    --cel-target-min: var(--college-target-min, 44px);
    --cel-target-comfortable: var(--college-target-comfortable, 48px);
    --cel-motion-fast: var(--college-motion-fast, 140ms);
    --cel-motion-base: var(--college-motion-base, 180ms);
    --cel-ease-standard: var(--college-ease-standard, cubic-bezier(.2, 0, 0, 1));
    color: var(--cel-text);
    font-family: var(--college-font-body, inherit);
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.55;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}


.cel-shell *,
.cel-shell *::before,
.cel-shell *::after {
    box-sizing: border-box;
}

.cel-shell [hidden] {
    display: none !important;
}

.cel-shell :where(h2, h3, h4) {
    font-family: var(--college-font-heading, inherit);
}

.cel-shell :where(button, input, select, a, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--college-focus-outline, var(--cel-blue));
    outline-offset: 2px;
    box-shadow: 0 0 0 5px var(--college-focus-halo, rgba(255, 182, 0, .58));
}

.cel-intro,
.cel-workspace-tabs,
.cel-workspace-body,
.cel-module,
.cel-meta {
    width: min(100%, 1120px);
    margin-inline: auto;
}

.cel-intro {
    margin-bottom: 18px;
}

.cel-product-name {
    margin: 0 0 5px;
    color: var(--cel-blue);
    font-weight: 700;
}

.cel-lead {
    max-width: 780px;
    margin: 0;
    color: var(--cel-text);
    font-size: 1.06rem;
}

.cel-local-note {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    max-width: 820px;
    margin: 12px 0 0;
    color: var(--cel-muted);
    font-size: .92rem;
}

.cel-local-note > span {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: var(--cel-soft-blue);
    color: var(--cel-blue);
    font-size: .78rem;
    font-weight: 800;
}

.cel-workspace-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px;
    border: 1px solid var(--cel-border);
    border-radius: 18px;
    background: var(--cel-soft);
}

.cel-workspace-tab,
.cel-tab,
.cel-circuit-mode {
    appearance: none;
    -webkit-appearance: none;
    touch-action: manipulation;
    box-shadow: none;
    text-transform: none;
    border: 1px solid transparent;
    color: var(--cel-blue);
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.cel-workspace-tab {
    display: grid;
    gap: 1px;
    min-height: 58px;
    align-content: center;
    padding: 8px 14px;
    border-radius: 13px;
    text-align: center;
}

.cel-workspace-tab span {
    font-weight: 700;
}

.cel-workspace-tab small {
    color: var(--cel-muted);
    font-size: .78rem;
    line-height: 1.25;
}

.cel-workspace-tab:hover {
    background: #FFFFFF;
}

.cel-workspace-tab.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: #FFFFFF;
}

.cel-workspace-tab.is-active small {
    color: rgba(255,255,255,.78);
}

.cel-module {
    scroll-margin-top: 120px;
    min-width: 0;
    max-width: 100%;
    padding: clamp(18px, 3vw, 32px);
    border: 1px solid var(--cel-border);
    border-radius: 22px;
    background: var(--cel-white);
}

.cel-workspace-body .cel-module {
    margin-bottom: 0;
}

.cel-shell:not([data-cel-workspace]) > .cel-module {
    margin-bottom: 18px;
}

.cel-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 20px;
}

.cel-kicker {
    margin: 0 0 6px;
    color: var(--cel-blue);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cel-module h2 {
    margin: 0;
    color: var(--cel-blue);
    font-size: clamp(1.42rem, 2.7vw, 1.9rem);
    line-height: 1.2;
}

.cel-section-head p:last-child {
    max-width: 720px;
    margin: 7px 0 0;
    color: var(--cel-muted);
}

.cel-badge {
    flex: 0 0 auto;
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    background: #FFF5D6;
    color: var(--cel-blue);
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
}

.cel-tabs,
.cel-circuit-modes {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 16px;
}

.cel-tab,
.cel-circuit-mode {
    min-height: 44px;
    padding: 9px 14px;
    border-color: var(--cel-border);
    border-radius: 999px;
    background: #FFFFFF;
    font-weight: 650;
}

.cel-tab:hover,
.cel-circuit-mode:hover {
    border-color: #AEB9C8;
    background: var(--cel-soft);
}

.cel-tab.is-active,
.cel-circuit-mode.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: #FFFFFF;
}

.cel-panel-grid,
.cel-resistor-layout,
.cel-sim-layout {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 14px;
    align-items: stretch;
}

.cel-control-panel,
.cel-result-panel,
.cel-resistor-preview-panel,
.cel-sim-visual-panel {
    min-width: 0;
    padding: clamp(16px, 2.2vw, 23px);
    border: 1px solid var(--cel-border);
    border-radius: 18px;
}

.cel-control-panel {
    background: var(--cel-soft);
}

.cel-result-panel,
.cel-resistor-preview-panel,
.cel-sim-visual-panel {
    background: #FFFFFF;
}

.cel-panel-label {
    margin: 0 0 14px;
    color: var(--cel-blue);
    font-size: .88rem;
    font-weight: 700;
}

.cel-field {
    display: grid;
    gap: 7px;
    margin: 0 0 13px;
    color: var(--cel-text);
    font-weight: 650;
}

.cel-field input,
.cel-field select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #C9D2E0;
    border-radius: 12px;
    padding: 10px 12px;
    background: #FFFFFF;
    color: var(--cel-text);
    font: inherit;
    font-weight: 500;
    box-shadow: none;
}

.cel-field input:hover,
.cel-field select:hover {
    border-color: #AEB9C8;
}

.cel-input-grid,
.cel-band-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

.cel-result-topline,
.cel-preview-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}

.cel-result-label {
    margin: 0;
    color: var(--cel-muted);
    font-size: .88rem;
    font-weight: 650;
}

.cel-result-status {
    color: var(--cel-blue);
    font-size: .76rem;
    font-weight: 650;
}

.cel-result-value {
    display: block;
    margin: 4px 0 17px;
    color: var(--cel-blue);
    font-size: clamp(1.9rem, 4vw, 2.85rem);
    font-weight: 800;
    line-height: 1.12;
    overflow-wrap: anywhere;
}

.cel-formula-list {
    display: grid;
    gap: 0;
    margin: 0;
    border-top: 1px solid var(--cel-border);
}

.cel-formula-list div {
    display: grid;
    grid-template-columns: minmax(90px, .35fr) minmax(0, 1fr);
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--cel-border);
}

.cel-formula-list dt {
    color: var(--cel-muted);
    font-size: .84rem;
}

.cel-formula-list dd {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    overflow-wrap: anywhere;
}

.cel-helper {
    margin: 13px 0 0;
    color: var(--cel-muted);
    font-size: .9rem;
}

.cel-learning-note {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 3px solid var(--cel-yellow);
    border-radius: 0 12px 12px 0;
    background: var(--cel-soft);
    color: var(--cel-text);
    font-size: .92rem;
}

.cel-learning-note strong {
    color: var(--cel-blue);
}

.cel-learning-details {
    margin-top: 12px;
    border-top: 1px solid var(--cel-border);
    padding-top: 10px;
}

.cel-learning-details summary {
    width: max-content;
    max-width: 100%;
    border-radius: 8px;
    color: var(--cel-blue);
    font-weight: 700;
    cursor: pointer;
}

.cel-learning-details[open] summary {
    margin-bottom: 8px;
}

.cel-learning-details .cel-formula-list {
    margin-top: 4px;
}

.cel-learning-details-body {
    display: grid;
    gap: 7px;
    color: var(--cel-muted);
    font-size: .9rem;
}

.cel-learning-details-body p {
    margin: 0;
}

.cel-learning-details-body strong {
    color: var(--cel-text);
}

.cel-resistor-preview-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cel-resistor-visual {
    display: grid;
    grid-template-columns: minmax(22px, 1fr) minmax(210px, 3.2fr) minmax(22px, 1fr);
    align-items: center;
    width: 100%;
    max-width: 580px;
    margin: 14px auto 24px;
}

.cel-wire {
    height: 5px;
    background: #858D99;
}

.cel-body {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: clamp(12px, 3vw, 26px);
    min-height: 92px;
    padding: 0 35px;
    overflow: hidden;
    border: 2px solid #C69B59;
    border-radius: 48% 48% 45% 45% / 44% 44% 54% 54%;
    background: #E7C187;
}

.cel-res-band {
    width: 13px;
    min-width: 13px;
    height: 100%;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.13);
}

.cel-res-band.is-last {
    margin-left: 12px;
}

.cel-color-black{background:#151515}.cel-color-brown{background:#7A4A22}.cel-color-red{background:#D92929}.cel-color-orange{background:#EF861B}.cel-color-yellow{background:#F2CF2F}.cel-color-green{background:#248A45}.cel-color-blue{background:#2762C8}.cel-color-violet{background:#7B4AB8}.cel-color-gray{background:#8A8F99}.cel-color-white{background:#F8F8F8}.cel-color-gold{background:#C8A53A}.cel-color-silver{background:#B9BEC6}

.cel-select-with-swatch {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
}

.cel-select-swatch,
.cel-color-chip-swatch {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(23,32,51,.24);
    border-radius: 999px;
    background: var(--cel-swatch, #FFFFFF);
}

.cel-color-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: -3px;
}

.cel-color-chip {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    padding: 6px 9px;
    border: 1px solid var(--cel-border);
    border-radius: 999px;
    background: var(--cel-soft);
    color: var(--cel-text);
    font-size: .78rem;
}

.cel-range-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 11px;
    align-items: center;
}

.cel-range-row input[type="range"] {
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    accent-color: var(--cel-blue);
}

.cel-circuit {
    display: block;
    width: 100%;
    height: auto;
    min-height: 235px;
    color: var(--cel-blue);
}

.cel-circuit-wire {
    fill: none;
    stroke: currentColor;
    stroke-width: 6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cel-source-long,
.cel-source-short {
    stroke: var(--cel-yellow);
    stroke-width: 8;
    stroke-linecap: round;
}

.cel-circuit-component {
    fill: #FFF5D6;
    stroke: var(--cel-blue);
    stroke-width: 4;
}

.cel-circuit-label {
    fill: var(--cel-text);
    font-size: 21px;
    font-weight: 700;
}

.cel-current-dots circle {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.cel-metrics div {
    min-width: 0;
    padding: 11px;
    border-radius: 12px;
    background: var(--cel-soft);
}

.cel-metrics span,
.cel-metrics strong {
    display: block;
}

.cel-metrics span {
    color: var(--cel-muted);
    font-size: .78rem;
}

.cel-metrics strong {
    margin-top: 3px;
    color: var(--cel-blue);
    font-size: .96rem;
    overflow-wrap: anywhere;
}

.cel-formula-strip {
    margin: 11px 0 0;
    padding: 11px 12px;
    border-radius: 12px;
    background: var(--cel-soft-blue);
    color: var(--cel-text);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .84rem;
    overflow-wrap: anywhere;
}

.cel-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: center;
    margin-top: 16px;
    color: var(--cel-muted);
    font-size: .82rem;
}

.cel-meta a {
    color: var(--cel-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cel-meta a:hover {
    color: var(--cel-blue);
}

@media (prefers-reduced-motion: reduce) {
    .cel-current-dots {
        display: none;
    }
}

@media (max-width: 820px) {
    .cel-panel-grid,
    .cel-resistor-layout,
    .cel-sim-layout {
        grid-template-columns: 1fr;
    }

    .cel-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .cel-workspace-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
        padding: 5px;
    }

    .cel-workspace-tab {
        display: grid;
        min-height: 46px;
        padding: 7px 6px;
        font-size: .84rem;
        text-align: center;
    }

    .cel-workspace-tab small {
        display: none;
    }

    .cel-module {
        border-radius: 18px;
        padding: 17px;
    }

    .cel-section-head {
        display: grid;
        gap: 10px;
    }

    .cel-badge {
        width: max-content;
    }

    .cel-input-grid,
    .cel-band-fields {
        grid-template-columns: 1fr;
    }

    .cel-formula-list div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .cel-range-row {
        grid-template-columns: minmax(0, 1fr) 92px;
    }

    .cel-resistor-visual {
        grid-template-columns: minmax(14px, 1fr) minmax(168px, 4fr) minmax(14px, 1fr);
    }

    .cel-body {
        gap: 10px;
        min-height: 74px;
        padding: 0 21px;
    }

    .cel-res-band {
        width: 10px;
        min-width: 10px;
    }

    .cel-circuit-modes {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cel-circuit-mode {
        border-radius: 12px;
        text-align: left;
    }

    .cel-circuit-label {
        font-size: 18px;
    }

    .cel-meta-separator {
        display: none;
    }
}

/* Functional controls added in 0.3.0 */
.cel-value-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 8px;
}

.cel-value-control select {
    padding-inline: 9px;
}

.cel-helper-top {
    margin-top: 0;
    margin-bottom: 14px;
}

.cel-detail-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.cel-detail-metrics-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cel-detail-metrics > div {
    min-width: 0;
    padding: 10px 11px;
    border-radius: 12px;
    background: var(--cel-soft);
}

.cel-detail-metrics span,
.cel-detail-metrics strong {
    display: block;
}

.cel-detail-metrics span {
    color: var(--cel-muted);
    font-size: .76rem;
}

.cel-detail-metrics strong {
    margin-top: 3px;
    color: var(--cel-blue);
    font-size: .94rem;
    overflow-wrap: anywhere;
}

.cel-primary-action,
.cel-secondary-action {
    appearance: none;
    -webkit-appearance: none;
    touch-action: manipulation;
    box-shadow: none;
    text-transform: none;
    min-height: 44px;
    border-radius: 12px;
    padding: 9px 14px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.cel-primary-action {
    border: 1px solid var(--cel-blue);
    background: var(--cel-blue);
    color: #FFFFFF;
}

.cel-primary-action:hover {
    filter: brightness(.96);
}

.cel-secondary-action {
    margin-top: 12px;
    border: 1px solid var(--cel-border);
    background: #FFFFFF;
    color: var(--cel-blue);
}

.cel-secondary-action:hover {
    border-color: #AEB9C8;
    background: var(--cel-soft);
}

.cel-primary-action:disabled,
.cel-secondary-action:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.cel-circuit-sub-label {
    fill: var(--cel-muted);
    font-size: 16px;
    font-weight: 650;
}

.cel-metrics-dynamic {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cel-measurements {
    margin-top: 16px;
    padding-top: 20px;
    border-top: 1px solid var(--cel-border);
}

.cel-measurements-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.cel-measurements h3 {
    margin: 0;
    color: var(--cel-blue);
    font-size: 1.12rem;
    line-height: 1.3;
}

.cel-measurements-head p {
    max-width: 720px;
    margin: 5px 0 0;
    color: var(--cel-muted);
    font-size: .9rem;
}

.cel-measurement-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.cel-measurement-actions .cel-secondary-action {
    margin-top: 0;
}

.cel-table-wrap {
    width: 100%;
    margin-top: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--cel-border);
    border-radius: 14px;
}

.cel-measurement-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    background: #FFFFFF;
    font-size: .86rem;
}

.cel-measurement-table th,
.cel-measurement-table td {
    padding: 10px 11px;
    border-bottom: 1px solid var(--cel-border);
    text-align: left;
    white-space: nowrap;
}

.cel-measurement-table th {
    background: var(--cel-soft);
    color: var(--cel-blue);
    font-size: .78rem;
    font-weight: 700;
}

.cel-measurement-table tbody tr:last-child td {
    border-bottom: 0;
}

@media (max-width: 820px) {
    .cel-detail-metrics-3,
    .cel-metrics-dynamic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-measurements-head {
        display: grid;
    }

    .cel-measurement-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    .cel-value-control {
        grid-template-columns: minmax(0, 1fr) 82px;
    }

    .cel-detail-metrics,
    .cel-detail-metrics-3,
    .cel-metrics-dynamic {
        grid-template-columns: 1fr 1fr;
    }

    .cel-measurement-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .cel-measurement-actions button {
        width: 100%;
    }
}

.cel-experiments {
    margin-top: 16px;
    padding-top: 20px;
    border-top: 1px solid var(--cel-border);
}

.cel-experiments h3 {
    margin: 0;
    color: var(--cel-blue);
    font-size: 1.12rem;
    line-height: 1.3;
}

.cel-experiments-head p {
    max-width: 760px;
    margin: 5px 0 0;
    color: var(--cel-muted);
    font-size: .9rem;
}

.cel-experiment-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.cel-experiment-tab {
    appearance: none;
    -webkit-appearance: none;
    touch-action: manipulation;
    box-shadow: none;
    text-transform: none;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid var(--cel-border);
    border-radius: 999px;
    background: #FFFFFF;
    color: var(--cel-blue);
    font: inherit;
    font-size: .88rem;
    font-weight: 650;
    cursor: pointer;
}

.cel-experiment-tab:hover {
    border-color: #AEB9C8;
    background: var(--cel-soft);
}

.cel-experiment-tab.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: #FFFFFF;
}

.cel-experiment-card {
    margin-top: 10px;
    padding: 16px;
    border: 1px solid var(--cel-border);
    border-radius: 16px;
    background: var(--cel-soft-blue);
}

.cel-experiment-card > p:not(.cel-panel-label) {
    margin: 7px 0 0;
}

.cel-experiment-baseline {
    color: var(--cel-muted);
    font-size: .9rem;
}

.cel-experiment-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 13px;
}

.cel-experiment-actions .cel-secondary-action {
    margin-top: 0;
}

.cel-experiment-feedback {
    padding-top: 10px;
    color: var(--cel-blue);
    font-weight: 650;
}

@media (max-width: 620px) {
    .cel-experiment-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .cel-experiment-tab {
        border-radius: 12px;
        text-align: left;
    }

    .cel-experiment-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cel-experiment-actions button {
        width: 100%;
    }
}

/* Electrical calculations and graph lab added in 0.4.0 */
.cel-field small {
    color: var(--cel-muted);
    font-size: .76rem;
    font-weight: 500;
}

.cel-graph-lab {
    margin-top: 16px;
    padding-top: 20px;
    border-top: 1px solid var(--cel-border);
}

.cel-graph-lab h3 {
    margin: 0;
    color: var(--cel-blue);
    font-size: 1.12rem;
    line-height: 1.3;
}

.cel-graph-head p {
    max-width: 760px;
    margin: 5px 0 0;
    color: var(--cel-muted);
    font-size: .9rem;
}

.cel-graph-card {
    margin-top: 10px;
    padding: clamp(14px, 2vw, 18px);
    border: 1px solid var(--cel-border);
    border-radius: 16px;
    background: #FFFFFF;
}

.cel-graph {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 4px;
    overflow: visible;
}

.cel-graph-axis {
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-graph-grid-line {
    stroke: var(--cel-border);
    stroke-width: 1;
}

.cel-graph-line {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cel-graph-point {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-graph-axis-label {
    fill: var(--cel-text);
    font-size: 15px;
    font-weight: 700;
}

.cel-graph-tick {
    fill: var(--cel-muted);
    font-size: 12px;
}

.cel-graph-table-wrap {
    margin-top: 10px;
}

.cel-graph-table {
    min-width: 420px;
}

@media (max-width: 620px) {
    .cel-graph-card {
        padding: 12px;
    }

    .cel-graph-axis-label {
        font-size: 14px;
    }

    .cel-graph-tick {
        font-size: 11px;
    }
}

/* UX, accessibility and progressive-disclosure pass in 0.5.0 */
.cel-field-label {
    display: block;
}

.cel-panel-grid {
    align-items: start;
}

.cel-sim-view-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 16px;
    padding: 5px;
    border: 1px solid var(--cel-border);
    border-radius: 15px;
    background: var(--cel-soft);
}

.cel-sim-view-tab {
    appearance: none;
    -webkit-appearance: none;
    touch-action: manipulation;
    box-shadow: none;
    text-transform: none;
    min-width: 0;
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: 8px 10px;
    background: transparent;
    color: var(--cel-blue);
    font: inherit;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
}

.cel-sim-view-tab:hover {
    background: #FFFFFF;
}

.cel-sim-view-tab.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: #FFFFFF;
}

.cel-count-badge {
    display: inline-grid;
    min-width: 20px;
    min-height: 20px;
    margin-left: 4px;
    place-items: center;
    border-radius: 999px;
    background: rgba(0, 35, 94, .08);
    color: currentColor;
    font-size: .72rem;
    line-height: 1;
}

.cel-sim-view-tab.is-active .cel-count-badge {
    background: rgba(255, 255, 255, .18);
}

.cel-sim-view-panel.cel-experiments,
.cel-sim-view-panel.cel-graph-lab,
.cel-sim-view-panel.cel-measurements {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.cel-sim-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.cel-sim-actions .cel-primary-action,
.cel-sim-actions .cel-secondary-action {
    margin-top: 0;
}

.cel-action-status {
    min-height: 1.35em;
    margin: 8px 0 0;
    color: var(--cel-muted);
    font-size: .84rem;
}

.cel-data-details {
    margin-top: 12px;
    border-top: 1px solid var(--cel-border);
    padding-top: 10px;
}

.cel-data-details summary {
    width: max-content;
    max-width: 100%;
    border-radius: 8px;
    color: var(--cel-blue);
    font-weight: 700;
    cursor: pointer;
}

.cel-data-details[open] summary {
    margin-bottom: 8px;
}

.cel-table-wrap[tabindex="0"] {
    scrollbar-width: thin;
}

.cel-table-wrap[tabindex="0"]:focus-visible {
    border-color: var(--cel-blue);
}

@media (max-width: 620px) {
    .cel-intro {
        margin-bottom: 14px;
    }

    .cel-lead {
        font-size: 1rem;
    }

    .cel-local-note {
        margin-top: 10px;
        font-size: .86rem;
    }

    .cel-sim-view-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-sim-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cel-sim-actions button {
        width: 100%;
    }
}

@media (max-width: 350px) {
    .cel-workspace-tab {
        font-size: .78rem;
        padding-inline: 3px;
    }
}

@media (forced-colors: active) {
    .cel-workspace-tab.is-active,
    .cel-tab.is-active,
    .cel-circuit-mode.is-active,
    .cel-experiment-tab.is-active,
    .cel-sim-view-tab.is-active,
    .cel-lab-card.is-active {
        border: 2px solid ButtonText;
    }
}

@media (max-width: 620px) {
    .cel-circuit-modes {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .cel-circuit-mode {
        min-width: 0;
        min-height: 52px;
        padding: 7px 6px;
        text-align: center;
        line-height: 1.2;
    }
}

.cel-active-experiment {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #C9D8EE;
    border-radius: 14px;
    background: var(--cel-soft-blue);
}

.cel-active-experiment-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
}

.cel-active-label {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    background: #FFF5D6;
    color: var(--cel-blue);
    font-size: .76rem;
    font-weight: 700;
}

.cel-active-experiment-head strong {
    color: var(--cel-blue);
}

.cel-active-experiment > p {
    margin: 8px 0 0;
}

.cel-active-feedback {
    color: var(--cel-blue);
    font-weight: 650;
}

.cel-active-experiment-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.cel-active-experiment-actions .cel-secondary-action {
    margin-top: 0;
}

@media (max-width: 620px) {
    .cel-active-experiment-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cel-active-experiment-actions button {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .cel-field input,
    .cel-field select {
        font-size: 16px;
    }

    .cel-module {
        scroll-margin-top: 92px;
    }
}

@media (prefers-contrast: more) {
    .cel-module,
    .cel-control-panel,
    .cel-result-panel,
    .cel-resistor-preview-panel,
    .cel-sim-visual-panel,
    .cel-table-wrap {
        border-color: var(--cel-blue);
    }

    .cel-helper,
    .cel-muted,
    .cel-result-label {
        color: var(--cel-text);
    }
}

/* Production hardening in 0.6.0 */
.cel-tab,
.cel-circuit-mode,
.cel-experiment-tab {
    min-height: 44px;
}

.cel-simulator.has-zero-current .cel-current-dots {
    display: none;
}

/* Universal laboratory framework added in 0.7.0 */
.cel-lab-catalog {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 16px;
}

.cel-lab-card {
    appearance: none;
    -webkit-appearance: none;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px 10px;
    min-width: 0;
    min-height: 78px;
    padding: 12px 14px;
    border: 1px solid var(--cel-border);
    border-radius: 15px;
    background: #FFFFFF;
    color: var(--cel-text);
    font: inherit;
    text-align: left;
    box-shadow: none;
    text-transform: none;
    touch-action: manipulation;
    cursor: pointer;
}

.cel-lab-card:hover {
    border-color: #AEB9C8;
    background: var(--cel-soft);
}

.cel-lab-card.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-soft-blue);
}

.cel-lab-card-index {
    grid-row: 1 / span 2;
    align-self: start;
    display: inline-grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    background: var(--cel-blue);
    color: #FFFFFF;
    font-size: .74rem;
    font-weight: 800;
}

.cel-lab-card strong {
    min-width: 0;
    color: var(--cel-blue);
    font-size: .94rem;
    line-height: 1.25;
}

.cel-lab-card small {
    min-width: 0;
    color: var(--cel-muted);
    font-size: .78rem;
    line-height: 1.35;
}

.cel-lab-workspace {
    display: grid;
    grid-template-columns: minmax(240px, .68fr) minmax(0, 1.7fr);
    gap: 14px;
    align-items: start;
}

.cel-lab-guide,
.cel-lab-bench,
.cel-lab-results,
.cel-lab-reflection {
    min-width: 0;
    border: 1px solid var(--cel-border);
    border-radius: 18px;
}

.cel-lab-guide {
    position: sticky;
    top: 110px;
    padding: 18px;
    background: var(--cel-soft);
}

.cel-lab-guide-head,
.cel-lab-bench-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.cel-lab-guide h3,
.cel-lab-results h3,
.cel-lab-reflection h3 {
    margin: 0;
    color: var(--cel-blue);
    font-size: 1.12rem;
    line-height: 1.3;
}

.cel-lab-objective {
    margin: 7px 0 0;
    color: var(--cel-muted);
    font-size: .9rem;
}

.cel-lab-progress-text {
    color: var(--cel-blue);
    font-size: .82rem;
    font-weight: 800;
}

.cel-lab-progress {
    height: 9px;
    margin: 15px 0;
    overflow: hidden;
    border-radius: 999px;
    background: #E5EAF1;
}

.cel-lab-progress > span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--cel-blue);
    transition: width .2s ease;
}

.cel-lab-facts {
    display: grid;
    gap: 0;
    margin: 0;
    border-top: 1px solid var(--cel-border);
}

.cel-lab-facts div {
    display: grid;
    gap: 3px;
    padding: 10px 0;
    border-bottom: 1px solid var(--cel-border);
}

.cel-lab-facts dt {
    color: var(--cel-muted);
    font-size: .76rem;
    font-weight: 650;
}

.cel-lab-facts dd {
    margin: 0;
    font-size: .9rem;
    font-weight: 650;
}

.cel-lab-next-step {
    margin-top: 14px;
    padding: 13px;
    border: 1px solid #C9D8EE;
    border-radius: 14px;
    background: var(--cel-soft-blue);
}

.cel-lab-next-step strong {
    display: block;
    margin-top: 3px;
    color: var(--cel-blue);
    line-height: 1.35;
}

.cel-lab-next-step p:last-child {
    margin: 6px 0 0;
    color: var(--cel-muted);
    font-size: .84rem;
}

.cel-lab-guide-actions {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}

.cel-lab-guide-actions .cel-secondary-action {
    width: 100%;
    margin-top: 0;
}

.cel-lab-main {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.cel-lab-bench,
.cel-lab-results,
.cel-lab-reflection {
    padding: clamp(16px, 2.2vw, 22px);
    background: #FFFFFF;
}

.cel-lab-bench-note {
    margin: 3px 0 0;
    color: var(--cel-muted);
    font-size: .84rem;
}

.cel-lab-inputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cel-lab-meter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 2px;
}

.cel-lab-meter {
    min-width: 0;
    padding: 11px;
    border: 1px solid var(--cel-border);
    border-radius: 13px;
    background: var(--cel-soft);
}

.cel-lab-meter span,
.cel-lab-meter strong {
    display: block;
}

.cel-lab-meter span {
    color: var(--cel-muted);
    font-size: .75rem;
}

.cel-lab-meter strong {
    margin-top: 2px;
    color: var(--cel-blue);
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.cel-lab-bench-actions {
    justify-content: flex-start;
    margin-top: 12px;
}

.cel-lab-feedback,
.cel-lab-reflection-feedback {
    min-height: 1.4em;
    margin: 9px 0 0;
    color: var(--cel-blue);
    font-size: .88rem;
    font-weight: 650;
}

.cel-lab-count {
    align-self: start;
    min-width: 30px;
    min-height: 30px;
    background: var(--cel-soft-blue);
    color: var(--cel-blue);
    font-weight: 800;
}

.cel-lab-table-wrap {
    margin-top: 13px;
}

.cel-lab-table {
    min-width: 620px;
}

.cel-lab-empty-cell {
    color: var(--cel-muted);
    text-align: center !important;
}

.cel-lab-graph-card {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--cel-border);
}

.cel-lab-reflection {
    background: var(--cel-soft-blue);
}

.cel-lab-reflection > p:not(.cel-kicker),
.cel-lab-reflection h3 {
    max-width: 760px;
}

.cel-lab-reflection > p:not(.cel-kicker) {
    margin: 7px 0 0;
}

.cel-lab-options {
    display: grid;
    gap: 8px;
    margin: 14px 0;
}

.cel-lab-option {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--cel-border);
    border-radius: 12px;
    background: #FFFFFF;
    cursor: pointer;
}

.cel-lab-option:hover {
    border-color: #AEB9C8;
}

.cel-lab-option input {
    flex: 0 0 auto;
    margin-top: 3px;
    accent-color: var(--cel-blue);
}

.cel-lab-option span {
    line-height: 1.4;
}

@media (max-width: 900px) {
    .cel-lab-workspace {
        grid-template-columns: 1fr;
    }

    .cel-lab-guide {
        position: static;
    }
}

@media (max-width: 720px) {
    .cel-lab-catalog {
        grid-template-columns: 1fr;
    }

    .cel-lab-card {
        min-height: 66px;
    }

    .cel-lab-inputs,
    .cel-lab-meter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .cel-lab-inputs,
    .cel-lab-meter-grid {
        grid-template-columns: 1fr;
    }

    .cel-lab-bench-actions,
    .cel-lab-bench-actions button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cel-lab-progress > span {
        transition: none;
    }
}

@media (prefers-contrast: more) {
    .cel-lab-card,
    .cel-lab-guide,
    .cel-lab-bench,
    .cel-lab-results,
    .cel-lab-reflection,
    .cel-lab-option,
    .cel-lab-meter {
        border-color: var(--cel-blue);
    }
}

.cel-lab-empty-results {
    margin: 12px 0 0;
    padding: 14px;
    border: 1px dashed var(--cel-border);
    border-radius: 13px;
    background: var(--cel-soft);
    color: var(--cel-muted);
    font-size: .88rem;
    text-align: center;
}

/* Laboratory framework 0.8.0: scalable catalog, session progress and exports */
.cel-lab-catalog {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.cel-lab-card {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
}

.cel-lab-card-body {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.cel-lab-card-meta {
    color: var(--cel-muted);
    font-size: .7rem;
    font-weight: 750;
    line-height: 1.25;
}

.cel-lab-card.is-complete {
    border-color: #8EB6A1;
    background: #F3FAF6;
}

.cel-lab-card.is-complete .cel-lab-card-index {
    background: #215D3A;
}

.cel-lab-card.is-complete .cel-lab-card-meta {
    color: #215D3A;
}

.cel-lab-card.is-active.is-complete {
    border-color: var(--cel-blue);
    background: var(--cel-soft-blue);
}

.cel-lab-formula {
    color: var(--cel-blue);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    overflow-wrap: anywhere;
}

.cel-lab-results-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.cel-lab-export {
    margin-top: 0;
    min-height: 44px;
    padding-top: 7px;
    padding-bottom: 7px;
}

.cel-lab-guide-actions .cel-secondary-action:disabled,
.cel-lab-export:disabled {
    cursor: not-allowed;
    opacity: .55;
}

@media (max-width: 720px) {
    .cel-lab-catalog {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-lab-card {
        min-height: 82px;
    }
}

@media (max-width: 520px) {
    .cel-lab-catalog {
        grid-template-columns: 1fr;
    }

    .cel-lab-card {
        min-height: 66px;
    }

    .cel-lab-results-actions {
        width: 100%;
        justify-content: space-between;
    }
}

@media (prefers-contrast: more) {
    .cel-lab-card.is-complete {
        border-color: #215D3A;
    }
}

/* Advanced laboratory model and grouped catalog in 0.9.0 */
.cel-lab-catalog {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.cel-lab-category-group {
    min-width: 0;
}

.cel-lab-category-title {
    margin: 0 0 7px;
    color: var(--cel-blue);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.cel-lab-category-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.cel-lab-inputs {
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}

.cel-lab-inputs .cel-field {
    min-width: 0;
}

.cel-lab-inputs input {
    width: 100%;
}

@media (max-width: 900px) {
    .cel-lab-category-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-lab-inputs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .cel-lab-category-cards,
    .cel-lab-inputs {
        grid-template-columns: 1fr;
    }
}

/* Reactive simulator core added in 0.10.0 */
.cel-sim-family-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 14px;
    padding: 5px;
    border: 1px solid var(--cel-border);
    border-radius: 15px;
    background: var(--cel-soft-blue);
}

.cel-sim-family-tab,
.cel-reactive-mode {
    appearance: none;
    -webkit-appearance: none;
    min-width: 0;
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: 8px 12px;
    background: transparent;
    color: var(--cel-blue);
    font: inherit;
    font-weight: 700;
    text-transform: none;
    box-shadow: none;
    touch-action: manipulation;
    cursor: pointer;
}

.cel-sim-family-tab:hover,
.cel-reactive-mode:hover {
    background: #FFFFFF;
}

.cel-sim-family-tab.is-active,
.cel-reactive-mode.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: #FFFFFF;
}

.cel-reactive-mode-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 16px;
}

.cel-reactive-mode {
    border-color: var(--cel-border);
    background: #FFFFFF;
    font-size: .88rem;
}

.cel-reactive-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 14px;
    align-items: stretch;
}

.cel-reactive-mode-note,
.cel-reactive-graph-note {
    margin: 3px 0 0;
    color: var(--cel-muted);
    font-size: .86rem;
    font-weight: 500;
}

.cel-reactive-input-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cel-reactive-time-control {
    margin-top: 4px;
    padding: 12px;
    border: 1px solid var(--cel-border);
    border-radius: 13px;
    background: #FFFFFF;
}

.cel-reactive-time-head,
.cel-reactive-scale-labels {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.cel-reactive-time-head {
    align-items: baseline;
    margin-bottom: 8px;
    color: var(--cel-muted);
    font-size: .82rem;
}

.cel-reactive-time-head strong {
    color: var(--cel-blue);
    font-size: .9rem;
}

.cel-reactive-time-control input[type="range"] {
    width: 100%;
    min-height: 44px;
    margin: 0;
    accent-color: var(--cel-blue);
}

.cel-reactive-scale-labels {
    color: var(--cel-muted);
    font-size: .7rem;
}

.cel-reactive-source-circle,
.cel-reactive-component-line,
.cel-reactive-coil,
.cel-reactive-current-arrow {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cel-reactive-sine {
    fill: none;
    stroke: var(--cel-yellow);
    stroke-width: 5;
    stroke-linecap: round;
}

.cel-reactive-component-line {
    stroke-width: 6;
}

.cel-reactive-arrow-head {
    fill: var(--cel-blue);
}

.cel-reactive-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cel-reactive-analysis-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin-top: 14px;
}

.cel-reactive-analysis-grid.has-phasor {
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
}

.cel-reactive-wave-card,
.cel-reactive-phasor-card {
    margin-top: 0;
}

.cel-reactive-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 3px 0 7px;
    color: var(--cel-text);
    font-size: .8rem;
}

.cel-reactive-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cel-reactive-legend-line {
    display: inline-block;
    width: 26px;
    height: 0;
    border-top: 3px solid var(--cel-blue);
}

.cel-reactive-legend-line.is-b {
    border-top-color: #A57100;
    border-top-style: dashed;
}

.cel-reactive-wave-line {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cel-reactive-wave-line.is-b {
    stroke: #A57100;
    stroke-dasharray: 9 6;
}

.cel-reactive-wave-marker {
    stroke: var(--cel-muted);
    stroke-width: 2;
    stroke-dasharray: 5 5;
}

.cel-reactive-wave-dot {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-reactive-wave-dot.is-b {
    fill: #FFFFFF;
    stroke: #A57100;
}

.cel-reactive-phasor {
    display: block;
    width: min(100%, 410px);
    height: auto;
    margin: 2px auto 0;
}

.cel-reactive-phasor-axis {
    stroke: var(--cel-border);
    stroke-width: 1.5;
}

.cel-reactive-phasor-u,
.cel-reactive-phasor-i {
    stroke-width: 5;
    stroke-linecap: round;
}

.cel-reactive-phasor-u {
    stroke: var(--cel-blue);
}

.cel-reactive-phasor-i {
    stroke: #A57100;
}

.cel-reactive-phasor-arrow-u {
    fill: var(--cel-blue);
}

.cel-reactive-phasor-arrow-i {
    fill: #A57100;
}

.cel-reactive-phasor-label {
    fill: var(--cel-text);
    font-size: 18px;
    font-weight: 800;
}

.cel-reactive-phase-arc {
    fill: none;
    stroke: var(--cel-yellow);
    stroke-width: 4;
    stroke-linecap: round;
}

@media (max-width: 900px) {
    .cel-reactive-mode-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-reactive-layout,
    .cel-reactive-analysis-grid,
    .cel-reactive-analysis-grid.has-phasor {
        grid-template-columns: 1fr;
    }

    .cel-reactive-phasor-card {
        max-width: 620px;
    }
}

@media (max-width: 620px) {
    .cel-sim-family-tabs,
    .cel-reactive-mode-tabs {
        grid-template-columns: 1fr 1fr;
    }

    .cel-reactive-mode {
        min-height: 50px;
        padding-inline: 7px;
        font-size: .82rem;
        line-height: 1.2;
    }

    .cel-reactive-input-grid,
    .cel-reactive-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-reactive-circuit {
        min-height: 205px;
    }
}

@media (max-width: 390px) {
    .cel-sim-family-tab {
        padding-inline: 6px;
        font-size: .84rem;
    }

    .cel-reactive-input-grid {
        grid-template-columns: 1fr;
    }
}

@media (forced-colors: active) {
    .cel-sim-family-tab.is-active,
    .cel-reactive-mode.is-active {
        border: 2px solid ButtonText;
    }

    .cel-reactive-wave-line.is-b,
    .cel-reactive-phasor-i {
        stroke-dasharray: 8 5;
    }
}

.cel-reactive-circuit .cel-circuit-label {
    font-size: 26px;
}

.cel-reactive-circuit .cel-circuit-sub-label {
    font-size: 20px;
}

.cel-reactive-assumption {
    padding-top: 10px;
    border-top: 1px solid var(--cel-border);
}

/* Transformer and three-phase simulator added in 0.11.0 */
.cel-sim-family-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cel-power-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.cel-power-head h3 {
    margin: 2px 0 3px;
    color: var(--cel-blue);
    font-size: 1.12rem;
}

.cel-power-head p {
    margin: 0;
}

.cel-power-mode-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 16px;
}

.cel-power-mode {
    appearance: none;
    -webkit-appearance: none;
    min-height: 44px;
    border: 1px solid var(--cel-border);
    border-radius: 11px;
    padding: 8px 12px;
    background: var(--cel-white);
    color: var(--cel-blue);
    font: inherit;
    font-weight: 700;
    text-transform: none;
    box-shadow: none;
    touch-action: manipulation;
    cursor: pointer;
}

.cel-power-mode:hover {
    background: var(--cel-soft-blue);
}

.cel-power-mode.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: var(--cel-white);
}

.cel-power-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 14px;
    align-items: stretch;
}

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

.cel-power-input-grid .cel-field {
    min-width: 0;
}

.cel-power-input-grid input,
.cel-power-input-grid select {
    width: 100%;
}

.cel-power-transformer-svg,
.cel-power-three-svg {
    display: block;
    width: 100%;
    min-height: 245px;
    border-radius: 14px;
    background: var(--cel-soft);
}

.cel-power-wire,
.cel-power-coil,
.cel-power-core,
.cel-power-load-line,
.cel-power-arrow,
.cel-power-phase {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cel-power-core {
    stroke-width: 7;
    opacity: .7;
}

.cel-power-coil {
    stroke-width: 5;
}

.cel-power-source-circle {
    fill: var(--cel-white);
    stroke: var(--cel-blue);
    stroke-width: 4;
}

.cel-power-sine {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 3;
    stroke-linecap: round;
}

.cel-power-arrow-head {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-power-label {
    fill: var(--cel-blue);
    font-size: 22px;
    font-weight: 800;
}

.cel-power-sub-label,
.cel-power-phase-label {
    fill: var(--cel-text);
    font-size: 18px;
    font-weight: 700;
}

.cel-power-phase.phase-a,
.cel-power-wave-line.phase-a,
.cel-power-phase-legend i.phase-a {
    stroke: var(--cel-blue);
}

.cel-power-phase.phase-b,
.cel-power-wave-line.phase-b,
.cel-power-phase-legend i.phase-b {
    stroke: var(--cel-yellow);
}

.cel-power-phase.phase-c,
.cel-power-wave-line.phase-c,
.cel-power-phase-legend i.phase-c {
    stroke: var(--cel-muted);
}

.cel-power-phase.phase-b,
.cel-power-wave-line.phase-b {
    stroke-dasharray: 10 5;
}

.cel-power-phase.phase-c,
.cel-power-wave-line.phase-c {
    stroke-dasharray: 3 5;
}

.cel-power-neutral {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-power-metrics {
    margin-top: 12px;
}

.cel-power-analysis-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 14px;
}

.cel-power-graph-note {
    margin: 3px 0 0;
    color: var(--cel-muted);
    font-size: .86rem;
    font-weight: 500;
}

.cel-power-phase-legend {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin: 8px 0 2px;
    color: var(--cel-muted);
    font-size: .82rem;
    font-weight: 700;
}

.cel-power-phase-legend span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.cel-power-phase-legend i {
    display: block;
    width: 28px;
    border-top: 3px solid currentColor;
}

.cel-power-phase-legend i.phase-b {
    border-top-style: dashed;
}

.cel-power-phase-legend i.phase-c {
    border-top-style: dotted;
}

.cel-power-wave-line {
    fill: none;
    stroke-width: 3.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 900px) {
    .cel-power-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .cel-sim-family-tabs {
        grid-template-columns: 1fr;
    }

    .cel-power-head {
        display: block;
    }

    .cel-power-head .cel-result-status {
        display: inline-flex;
        margin-top: 8px;
    }

    .cel-power-input-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-power-transformer-svg,
    .cel-power-three-svg {
        min-height: 205px;
    }

    .cel-power-label {
        font-size: 18px;
    }

    .cel-power-sub-label,
    .cel-power-phase-label {
        font-size: 15px;
    }
}

@media (max-width: 390px) {
    .cel-power-mode-tabs,
    .cel-power-input-grid {
        grid-template-columns: 1fr;
    }
}

@media (forced-colors: active) {
    .cel-power-mode.is-active {
        border: 2px solid ButtonText;
    }

    .cel-power-wave-line.phase-b {
        stroke-dasharray: 10 5;
    }

    .cel-power-wave-line.phase-c {
        stroke-dasharray: 3 5;
    }
}

.cel-power-three-analysis {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
    gap: 14px;
}

.cel-power-triangle {
    display: block;
    width: 100%;
    min-height: 245px;
}

.cel-power-triangle-axis {
    stroke: var(--cel-border);
    stroke-width: 1.5;
}

.cel-power-triangle-p,
.cel-power-triangle-q,
.cel-power-triangle-s {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
}

.cel-power-triangle-p {
    stroke: var(--cel-blue);
}

.cel-power-triangle-q {
    stroke: var(--cel-yellow);
    stroke-dasharray: 8 5;
}

.cel-power-triangle-s {
    stroke: var(--cel-muted);
    stroke-dasharray: 3 5;
}

.cel-power-triangle-label {
    fill: var(--cel-text);
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 900px) {
    .cel-power-three-analysis {
        grid-template-columns: 1fr;
    }
}

/* Series RLC resonance simulator added in 0.12.0 */
.cel-sim-family-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cel-rlc-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.cel-rlc-head h3,
.cel-rlc-passport h3 {
    margin: 2px 0 3px;
    color: var(--cel-blue);
    font-size: 1.12rem;
}

.cel-rlc-head p,
.cel-rlc-passport p {
    margin: 0;
}

.cel-rlc-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 14px;
    align-items: stretch;
}

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

.cel-rlc-input-grid .cel-field {
    min-width: 0;
}

.cel-rlc-input-grid input {
    width: 100%;
}

.cel-rlc-frequency-field {
    grid-column: 1 / -1;
}

.cel-rlc-frequency-control {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--cel-border);
    border-radius: 13px;
    background: var(--cel-white);
}

.cel-rlc-frequency-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
    margin-bottom: 8px;
    color: var(--cel-muted);
    font-size: .82rem;
}

.cel-rlc-frequency-head strong {
    color: var(--cel-blue);
    font-size: .9rem;
}

.cel-rlc-frequency-control input[type="range"] {
    width: 100%;
    min-height: 44px;
    margin: 0 0 8px;
    accent-color: var(--cel-blue);
}

.cel-rlc-preset-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
}

.cel-rlc-preset-grid button {
    min-width: 0;
    min-height: 44px;
    padding-inline: 8px;
    font-size: .8rem;
    line-height: 1.2;
}

.cel-rlc-assumption {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--cel-border);
}

.cel-rlc-circuit {
    display: block;
    width: 100%;
    min-height: 245px;
    border-radius: 14px;
    background: var(--cel-soft);
}

.cel-rlc-wire,
.cel-rlc-coil,
.cel-rlc-capacitor,
.cel-rlc-current {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cel-rlc-resistor,
.cel-rlc-source {
    fill: var(--cel-white);
    stroke: var(--cel-blue);
    stroke-width: 4;
}

.cel-rlc-sine {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 3;
    stroke-linecap: round;
}

.cel-rlc-arrow-head {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-rlc-label {
    fill: var(--cel-blue);
    font-size: 19px;
    font-weight: 800;
}

.cel-rlc-sub-label {
    fill: var(--cel-text);
    font-size: 17px;
    font-weight: 700;
}

.cel-rlc-metrics {
    margin-top: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cel-rlc-analysis-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
    gap: 14px;
    margin-top: 14px;
}

.cel-rlc-graph-note {
    margin: 3px 0 0;
    color: var(--cel-muted);
    font-size: .86rem;
    font-weight: 500;
}

.cel-rlc-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 7px 0 2px;
    color: var(--cel-muted);
    font-size: .8rem;
    font-weight: 700;
}

.cel-rlc-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cel-rlc-legend-line {
    display: block;
    width: 28px;
    border-top: 3px solid var(--cel-blue);
}

.cel-rlc-legend-line.is-resonance {
    border-top-color: var(--cel-yellow);
    border-top-style: dashed;
}

.cel-rlc-legend-line.is-band {
    border-top-color: var(--cel-muted);
    border-top-style: dotted;
}

.cel-rlc-response-line {
    stroke-width: 4;
}

.cel-rlc-resonance-line,
.cel-rlc-band-edge,
.cel-rlc-band-line {
    fill: none;
    stroke-width: 2;
}

.cel-rlc-resonance-line {
    stroke: var(--cel-yellow);
    stroke-dasharray: 9 5;
}

.cel-rlc-band-edge,
.cel-rlc-band-line {
    stroke: var(--cel-muted);
    stroke-dasharray: 3 5;
}

.cel-rlc-current-point {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2.5;
}

.cel-rlc-graph-label {
    fill: var(--cel-muted);
    font-size: 12px;
    font-weight: 800;
}

.cel-rlc-graph-label.is-resonance {
    fill: var(--cel-blue);
}

.cel-rlc-vector {
    display: block;
    width: min(100%, 390px);
    min-height: 245px;
    margin: 0 auto;
}

.cel-rlc-vector-axis {
    stroke: var(--cel-border);
    stroke-width: 1.5;
}

.cel-rlc-vector-r,
.cel-rlc-vector-x,
.cel-rlc-vector-z {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
}

.cel-rlc-vector-r {
    stroke: var(--cel-blue);
}

.cel-rlc-vector-x {
    stroke: var(--cel-yellow);
    stroke-dasharray: 8 5;
}

.cel-rlc-vector-z {
    stroke: var(--cel-muted);
    stroke-dasharray: 3 5;
}

.cel-rlc-vector-label {
    fill: var(--cel-text);
    font-size: 12px;
    font-weight: 800;
}

.cel-rlc-passport {
    margin-top: 14px;
    padding: 15px;
    border: 1px solid var(--cel-border);
    border-radius: 15px;
    background: var(--cel-soft-blue);
}

.cel-rlc-passport-metrics {
    margin-top: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cel-rlc-passport .cel-helper {
    margin-top: 10px;
}

@media (max-width: 1000px) {
    .cel-sim-family-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-rlc-layout,
    .cel-rlc-analysis-grid {
        grid-template-columns: 1fr;
    }

    .cel-rlc-preset-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .cel-sim-family-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-rlc-head {
        display: block;
    }

    .cel-rlc-head .cel-result-status {
        display: inline-flex;
        margin-top: 8px;
    }

    .cel-rlc-input-grid,
    .cel-rlc-metrics,
    .cel-rlc-passport-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-rlc-frequency-field {
        grid-column: auto;
    }

    .cel-rlc-preset-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-rlc-circuit {
        min-height: 205px;
    }

    .cel-rlc-label {
        font-size: 16px;
    }

    .cel-rlc-sub-label {
        font-size: 14px;
    }
}

@media (max-width: 390px) {
    .cel-rlc-input-grid,
    .cel-rlc-metrics,
    .cel-rlc-passport-metrics,
    .cel-rlc-preset-grid {
        grid-template-columns: 1fr;
    }
}

@media (forced-colors: active) {
    .cel-rlc-resonance-line,
    .cel-rlc-band-edge,
    .cel-rlc-band-line,
    .cel-rlc-vector-x,
    .cel-rlc-vector-z {
        stroke-dasharray: 7 5;
    }
}

/* Grid efficiency simulator added in 0.13.0 */
.cel-sim-family-tabs {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cel-grid-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.cel-grid-head h3 {
    margin: 2px 0 3px;
    color: var(--cel-blue);
    font-size: 1.12rem;
}

.cel-grid-head p {
    margin: 0;
}

.cel-grid-mode-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}

.cel-grid-mode {
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--cel-border);
    border-radius: 12px;
    background: var(--cel-white);
    color: var(--cel-blue);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.cel-grid-mode:hover {
    background: var(--cel-soft);
}

.cel-grid-mode.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-soft-blue);
}

.cel-grid-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 14px;
    align-items: stretch;
}

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

.cel-grid-input-grid .cel-field {
    min-width: 0;
}

.cel-grid-input-grid input,
.cel-grid-input-grid select {
    width: 100%;
}

.cel-grid-line-svg,
.cel-grid-pfc-svg,
.cel-grid-graph {
    display: block;
    width: 100%;
}

.cel-grid-line-svg,
.cel-grid-pfc-svg {
    min-height: 245px;
    border-radius: 14px;
    background: var(--cel-soft);
}

.cel-grid-source,
.cel-grid-load {
    fill: var(--cel-white);
    stroke: var(--cel-blue);
    stroke-width: 3;
}

.cel-grid-wire,
.cel-grid-drop-arrow {
    fill: none;
    stroke: var(--cel-blue);
    stroke-width: 5;
    stroke-linecap: round;
}

.cel-grid-wire.phase-b {
    stroke: var(--cel-yellow);
    stroke-dasharray: 10 5;
}

.cel-grid-wire.phase-c {
    stroke: var(--cel-muted);
    stroke-dasharray: 3 5;
}

.cel-grid-drop-arrow {
    stroke-width: 3;
}

.cel-grid-drop-arrow-head {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 1.5;
}

.cel-grid-label {
    fill: var(--cel-blue);
    font-size: 18px;
    font-weight: 800;
}

.cel-grid-sub-label {
    fill: var(--cel-text);
    font-size: 15px;
    font-weight: 700;
}

.cel-grid-metrics {
    margin-top: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cel-grid-triangle-axis {
    stroke: var(--cel-border);
    stroke-width: 1.5;
}

.cel-grid-triangle-p,
.cel-grid-triangle-q,
.cel-grid-triangle-s {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
}

.cel-grid-triangle-p {
    stroke: var(--cel-blue);
}

.cel-grid-triangle-q {
    stroke: var(--cel-yellow);
    stroke-dasharray: 8 5;
}

.cel-grid-triangle-s {
    stroke: var(--cel-muted);
    stroke-dasharray: 3 5;
}

.cel-grid-triangle-label {
    fill: var(--cel-text);
    font-size: 12px;
    font-weight: 800;
}

.cel-grid-analysis-card {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--cel-border);
    border-radius: 15px;
    background: var(--cel-white);
}

.cel-grid-graph {
    min-height: 260px;
}

.cel-grid-graph-line {
    stroke-width: 4;
}

.cel-grid-graph-current {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2.5;
}

@media (max-width: 1100px) {
    .cel-sim-family-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .cel-grid-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .cel-sim-family-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-grid-head {
        display: block;
    }

    .cel-grid-head .cel-result-status {
        display: inline-flex;
        margin-top: 8px;
    }

    .cel-grid-input-grid,
    .cel-grid-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-grid-line-svg,
    .cel-grid-pfc-svg {
        min-height: 205px;
    }

    .cel-grid-label {
        font-size: 15px;
    }

    .cel-grid-sub-label,
    .cel-grid-triangle-label {
        font-size: 13px;
    }
}

@media (max-width: 390px) {
    .cel-grid-mode-tabs,
    .cel-grid-input-grid,
    .cel-grid-metrics {
        grid-template-columns: 1fr;
    }
}

@media (forced-colors: active) {
    .cel-grid-mode.is-active {
        border: 2px solid ButtonText;
    }

    .cel-grid-wire.phase-b,
    .cel-grid-wire.phase-c,
    .cel-grid-triangle-q,
    .cel-grid-triangle-s {
        stroke-dasharray: 7 5;
    }
}

/* 0.13.2 — simplified laboratory flow and resistor preview hardening */
.cel-resistor-visual-hint {
    margin: 8px 0 0;
    text-align: center;
}

.cel-resistor-visual .cel-body {
    height: 96px;
    min-height: 96px;
}

.cel-resistor-visual .cel-res-band {
    position: relative;
    z-index: 2;
    align-self: stretch;
    width: 16px;
    min-width: 16px;
    height: auto;
    background: var(--cel-band-color, #151515);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2);
}

.cel-resistor-visual .cel-res-band.is-last {
    margin-left: 12px;
}

.cel-lab-picker {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid var(--cel-border);
    border-radius: 16px;
    background: var(--cel-soft);
}

.cel-lab-picker-field {
    margin: 0;
}

.cel-lab-picker-nav {
    display: flex;
    gap: 8px;
}

.cel-lab-picker-nav .cel-secondary-action {
    min-height: 44px;
    margin: 0;
    white-space: nowrap;
}

.cel-lab-picker-nav .cel-secondary-action:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.cel-lab-info-details {
    margin-top: 12px;
    border-top: 1px solid var(--cel-border);
    border-bottom: 1px solid var(--cel-border);
}

.cel-lab-info-details summary {
    padding: 10px 0;
    color: var(--cel-blue);
    font-size: .86rem;
    font-weight: 750;
    cursor: pointer;
}

.cel-lab-info-details .cel-lab-facts {
    border-top: 0;
}

.cel-lab-results {
    padding: 0;
    overflow: hidden;
}

.cel-lab-results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    color: var(--cel-blue);
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}

.cel-lab-results-summary::-webkit-details-marker {
    display: none;
}

.cel-lab-results-summary::after {
    content: 'Показати';
    margin-left: auto;
    color: var(--cel-muted);
    font-size: .78rem;
    font-weight: 650;
}

.cel-lab-results[open] .cel-lab-results-summary::after {
    content: 'Згорнути';
}

.cel-lab-results-summary .cel-count-badge {
    margin-left: 4px;
}

.cel-lab-results-body {
    padding: 0 16px 16px;
    border-top: 1px solid var(--cel-border);
}

.cel-lab-results-body .cel-measurements-head {
    padding-top: 14px;
}

@media (max-width: 720px) {
    .cel-lab-picker {
        grid-template-columns: 1fr;
    }

    .cel-lab-picker-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-lab-picker-nav .cel-secondary-action {
        width: 100%;
        white-space: normal;
    }

    .cel-resistor-visual .cel-body {
        height: 84px;
        min-height: 84px;
        padding-inline: 24px;
        gap: 10px;
    }

    .cel-resistor-visual .cel-res-band {
        width: 13px;
        min-width: 13px;
    }
}

@media (max-width: 420px) {
    .cel-lab-results-summary {
        padding-inline: 13px;
    }

    .cel-lab-results-body {
        padding-inline: 13px;
    }
}

/* 0.14.0 — multi-page product architecture */
.cel-product-nav,
.cel-overview {
    width: min(100%, 1120px);
    margin-inline: auto;
}

.cel-product-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 14px;
    padding: 6px;
    border: 1px solid var(--cel-border);
    border-radius: 17px;
    background: var(--cel-soft);
}

.cel-product-nav-link {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--cel-blue);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.cel-product-nav-link:hover {
    border-color: var(--cel-border);
    background: var(--cel-white);
    color: var(--cel-blue);
    text-decoration: none;
}

.cel-product-nav-link.is-active,
.cel-product-nav-link[aria-current="page"] {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: var(--cel-white);
}

.cel-overview-intro {
    max-width: 760px;
    margin-bottom: 20px;
}

.cel-overview-intro h2 {
    margin: 0;
    color: var(--cel-blue);
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.2;
}

.cel-overview-intro p:last-child {
    margin: 8px 0 0;
    color: var(--cel-muted);
}

.cel-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.cel-overview-card {
    display: flex;
    min-width: 0;
    min-height: 230px;
    flex-direction: column;
    padding: clamp(18px, 2.5vw, 26px);
    border: 1px solid var(--cel-border);
    border-radius: 20px;
    background: var(--cel-white);
    color: var(--cel-text);
    text-decoration: none;
    transition: border-color .16s ease, transform .16s ease, background-color .16s ease;
}

.cel-overview-card:hover {
    border-color: #AEB9C8;
    background: var(--cel-soft);
    color: var(--cel-text);
    text-decoration: none;
    transform: translateY(-1px);
}

.cel-overview-action {
    margin-bottom: 8px;
    color: var(--cel-blue);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cel-overview-card h3 {
    margin: 0;
    color: var(--cel-blue);
    font-size: clamp(1.15rem, 2vw, 1.38rem);
    line-height: 1.25;
}

.cel-overview-card p {
    margin: 9px 0 14px;
    color: var(--cel-muted);
}

.cel-overview-meta {
    display: inline-flex;
    align-self: flex-start;
    margin-top: auto;
    padding: 6px 9px;
    border-radius: 999px;
    background: #FFF5D6;
    color: var(--cel-blue);
    font-size: .78rem;
    font-weight: 750;
}

.cel-overview-cta {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    margin-top: 15px;
    color: var(--cel-blue);
    font-weight: 800;
}

.cel-overview-tip {
    margin: 16px 0 0;
    padding: 13px 15px;
    border-left: 4px solid var(--cel-yellow);
    border-radius: 0 12px 12px 0;
    background: var(--cel-soft);
    color: var(--cel-text);
}

.cel-overview + .cel-meta {
    margin-top: 20px;
}

@media (max-width: 720px) {
    .cel-product-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cel-overview-grid {
        grid-template-columns: 1fr;
    }

    .cel-overview-card {
        min-height: 0;
    }
}

@media (max-width: 420px) {
    .cel-product-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-product-nav-link {
        padding-inline: 8px;
        font-size: .92rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cel-overview-card {
        transition: none;
    }

    .cel-overview-card:hover {
        transform: none;
    }
}

@media (forced-colors: active) {
    .cel-product-nav-link.is-active,
    .cel-product-nav-link[aria-current="page"],
    .cel-overview-card {
        border: 2px solid ButtonText;
    }
}

@media (max-width: 420px) {
    .cel-product-nav-link:last-child {
        grid-column: 1 / -1;
    }
}

/* 0.15.0 — visual UX refresh inspired by the college analytics design language */
.cel-shell {
    --cel-blue: var(--college-brand-navy, #00235E);
    --cel-blue-deep: var(--college-brand-navy-deep, #001845);
    --cel-blue-2: #0B4BB3;
    --cel-blue-bright: #1769E0;
    --cel-yellow: var(--college-brand-yellow, #FFB600);
    --cel-yellow-soft: #FFF4CE;
    --cel-text: var(--college-text, #111827);
    --cel-muted: var(--college-muted, #566170);
    --cel-border: var(--college-border, #D9E1EA);
    --cel-border-strong: var(--college-border-strong, #B8CAE0);
    --cel-soft: var(--college-surface, #F7F8FA);
    --cel-soft-blue: var(--college-surface-brand-soft, #EEF5FF);
    --cel-soft-green: #EFF9F2;
    --cel-soft-purple: #F5F0FF;
    --cel-white: var(--college-color-white, #FFFFFF);
    --cel-shadow-sm: var(--college-shadow-subtle, 0 4px 16px rgba(0, 35, 94, .06));
    --cel-shadow-md: var(--college-shadow-small, 0 16px 42px rgba(0, 35, 94, .10));
}

.cel-shell :where(button, input, select, a, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--college-focus-outline, var(--cel-blue));
    outline-offset: 3px;
    box-shadow: 0 0 0 6px var(--college-focus-halo, rgba(255, 182, 0, .55));
}

/* Product navigation: one compact, app-like control across all child pages. */
.cel-product-nav {
    display: flex;
    gap: 7px;
    margin-bottom: 18px;
    padding: 6px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    border: 1px solid var(--cel-border);
    border-radius: 18px;
    background: rgba(247, 250, 254, .96);
    box-shadow: var(--cel-shadow-sm);
}

.cel-product-nav::-webkit-scrollbar {
    display: none;
}

.cel-product-nav-link {
    display: flex;
    flex: 1 1 0;
    gap: 7px;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 48px;
    padding: 9px 12px;
    border-radius: 13px;
    font-weight: 750;
    white-space: nowrap;
    transition: background-color var(--cel-motion-fast) var(--cel-ease-standard), color var(--cel-motion-fast) var(--cel-ease-standard), border-color var(--cel-motion-fast) var(--cel-ease-standard), transform var(--cel-motion-fast) var(--cel-ease-standard);
}

.cel-product-nav-icon {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    font-size: 1rem;
    line-height: 1;
}

.cel-product-nav-label {
    min-width: 0;
}

.cel-product-nav-link:hover {
    border-color: var(--cel-border-strong);
    background: var(--cel-white);
    box-shadow: 0 4px 12px rgba(0, 35, 94, .06);
    transform: translateY(-1px);
}

.cel-product-nav-link.is-active,
.cel-product-nav-link[aria-current="page"] {
    border-color: var(--cel-blue);
    background: linear-gradient(135deg, var(--cel-blue), #0A3B8F);
    color: var(--cel-white);
    box-shadow: 0 7px 18px rgba(0, 35, 94, .18);
}

/* Overview hero: quiet product surface without duplicating the WordPress page title. */
.cel-overview {
    display: grid;
    gap: 18px;
}

.cel-overview-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr);
    gap: clamp(18px, 4vw, 44px);
    align-items: center;
    min-height: 268px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid var(--cel-border);
    border-top: 3px solid var(--cel-yellow);
    border-radius: 24px;
    background: #F7F9FC;
    box-shadow: none;
    isolation: isolate;
}

.cel-overview-hero::before,
.cel-overview-hero::after {
    content: none;
}

.cel-overview-hero-copy {
    min-width: 0;
}

.cel-overview-eyebrow {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    margin: 0 0 10px;
    padding: 7px 11px;
    border: 1px solid #D6E5F8;
    border-radius: 999px;
    background: var(--cel-white);
    color: var(--cel-blue);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .015em;
    box-shadow: none;
}

.cel-overview-hero h2 {
    max-width: 680px;
    margin: 0;
    color: var(--cel-blue);
    font-size: clamp(2rem, 5vw, 3.15rem);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.cel-overview-hero-copy > p:not(.cel-overview-eyebrow) {
    max-width: 720px;
    margin: 14px 0 0;
    color: #53627A;
    font-size: clamp(1rem, 2vw, 1.14rem);
}

.cel-overview-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.cel-overview-hero-chips > span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid rgba(0, 35, 94, .08);
    border-radius: 999px;
    background: var(--cel-white);
    color: var(--cel-blue);
    font-size: .82rem;
    font-weight: 750;
}

.cel-overview-orbit {
    position: relative;
    width: min(100%, 220px);
    aspect-ratio: 1;
    justify-self: center;
    border: 1px solid var(--cel-border);
    border-radius: 50%;
    background: var(--cel-white);
    box-shadow: none;
}

.cel-overview-orbit::before,
.cel-overview-orbit::after {
    content: '';
    position: absolute;
    inset: 16%;
    border: 1px dashed #C8D3E1;
    border-radius: 50%;
}

.cel-overview-orbit::after {
    inset: 32%;
    border-style: solid;
    border-color: #E6EBF2;
}

.cel-orbit-core,
.cel-orbit-icon {
    position: absolute;
    display: grid;
    place-items: center;
    border-radius: 50%;
    box-shadow: none;
}

.cel-orbit-core {
    inset: 50% auto auto 50%;
    width: 72px;
    height: 72px;
    transform: translate(-50%, -50%);
    background: var(--cel-blue);
    color: var(--cel-white);
    font-size: 1.22rem;
    font-weight: 850;
    letter-spacing: .02em;
}

.cel-orbit-icon {
    width: 42px;
    height: 42px;
    border: 1px solid var(--cel-border);
    background: var(--cel-white);
    color: var(--cel-blue);
    font-size: 1.22rem;
    font-weight: 850;
}

.cel-orbit-icon-a { top: 2%; left: 40%; background: var(--cel-yellow-soft); }
.cel-orbit-icon-b { top: 39%; right: -2%; background: var(--cel-white); }
.cel-orbit-icon-c { bottom: 0; left: 43%; background: var(--cel-white); }
.cel-orbit-icon-d { top: 39%; left: -2%; background: var(--cel-white); }

/* Overview cards: clear choice, quiet surfaces, local module accents. */
.cel-overview-grid {
    gap: 16px;
}

.cel-overview-card {
    --cel-card-soft: var(--cel-soft-blue);
    position: relative;
    min-height: 264px;
    overflow: hidden;
    padding: clamp(20px, 2.8vw, 26px);
    border: 1px solid var(--cel-border);
    border-radius: 20px;
    background: var(--cel-white);
    box-shadow: none;
    transition: border-color var(--cel-motion-base) var(--cel-ease-standard), background-color var(--cel-motion-base) var(--cel-ease-standard);
}

.cel-overview-card--calculator { --cel-card-soft: #EAF3FF; }
.cel-overview-card--resistor { --cel-card-soft: #F5EDFF; }
.cel-overview-card--simulator { --cel-card-soft: #EAF8F5; }
.cel-overview-card--laboratory { --cel-card-soft: #FFF5D6; }

.cel-overview-card-glow {
    display: none;
}

.cel-overview-card:hover {
    border-color: var(--cel-blue);
    background: #FBFCFE;
    box-shadow: none;
    transform: none;
}

.cel-overview-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 16px;
}

.cel-overview-icon {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid var(--cel-border);
    border-radius: 15px;
    background: var(--cel-card-soft);
    font-size: 1.45rem;
    box-shadow: none;
}

.cel-overview-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid var(--cel-border);
    border-radius: 999px;
    background: var(--cel-soft);
    color: var(--cel-blue);
    font-size: .73rem;
    font-weight: 800;
    white-space: nowrap;
}

.cel-overview-action {
    position: relative;
    z-index: 1;
    margin-bottom: 6px;
    color: #53627A;
    font-size: .75rem;
    letter-spacing: .035em;
}

.cel-overview-card h3 {
    position: relative;
    z-index: 1;
    font-size: clamp(1.22rem, 2vw, 1.48rem);
    letter-spacing: -.012em;
}

.cel-overview-card p {
    position: relative;
    z-index: 1;
    margin: 9px 0 18px;
    color: #5D6B80;
}

.cel-overview-card-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}

.cel-overview-meta {
    margin-top: 0;
    background: var(--cel-soft);
}

.cel-overview-cta {
    margin-top: 0;
    padding: 7px 0;
}

.cel-overview-arrow {
    display: inline-block;
    transition: none;
}

.cel-overview-card:hover .cel-overview-arrow {
    transform: none;
}

.cel-overview-start {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 0;
    padding: 16px 18px;
    border: 1px solid #E8D9A7;
    border-radius: 16px;
    background: #FFFCF4;
    color: var(--cel-text);
}

.cel-overview-start-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--cel-yellow-soft);
    font-size: 1.1rem;
}

.cel-overview-start strong {
    color: var(--cel-blue);
}

.cel-overview-start p {
    margin: 3px 0 0;
    color: #5D6B80;
}

.cel-overview-start a {
    color: var(--cel-blue);
    font-weight: 750;
}

/* Modules: clearer surfaces, more tactile controls, less form-like appearance. */
.cel-module {
    border-color: #D4E0EF;
    border-radius: 26px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FCFDFF 100%);
    box-shadow: var(--cel-shadow-md);
}

.cel-section-head {
    padding-bottom: 18px;
    border-bottom: 1px solid #E5EBF3;
}

.cel-kicker {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    width: max-content;
    max-width: 100%;
    margin-bottom: 8px;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--cel-soft-blue);
    font-size: .74rem;
    letter-spacing: .025em;
}

.cel-module h2 {
    letter-spacing: -.02em;
}

.cel-badge {
    gap: 5px;
    align-items: center;
    padding: 8px 11px;
    border: 1px solid #F2D77E;
    background: var(--cel-yellow-soft);
    box-shadow: 0 4px 12px rgba(229, 163, 0, .08);
}

.cel-tabs,
.cel-circuit-modes,
.cel-reactive-mode-tabs,
.cel-power-mode-tabs,
.cel-grid-mode-tabs {
    gap: 8px;
}

.cel-tab,
.cel-circuit-mode,
.cel-reactive-mode,
.cel-power-mode,
.cel-grid-mode {
    min-height: 46px;
    border-color: #CFDAE8;
    background: #FFFFFF;
    box-shadow: 0 2px 7px rgba(0, 35, 94, .035);
}

.cel-tab:hover,
.cel-circuit-mode:hover,
.cel-reactive-mode:hover,
.cel-power-mode:hover,
.cel-grid-mode:hover {
    border-color: #AFC3DD;
    background: var(--cel-soft-blue);
}

.cel-tab.is-active,
.cel-circuit-mode.is-active,
.cel-reactive-mode.is-active,
.cel-power-mode.is-active,
.cel-grid-mode.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: var(--cel-white);
    box-shadow: 0 7px 16px rgba(0, 35, 94, .16);
}

.cel-control-panel,
.cel-result-panel,
.cel-resistor-preview-panel,
.cel-sim-visual-panel,
.cel-lab-guide,
.cel-lab-bench,
.cel-lab-results,
.cel-lab-reflection {
    border-color: #D7E2F0;
    border-radius: 20px;
}

.cel-control-panel {
    background: linear-gradient(180deg, #F6F9FD, #F9FBFE);
}

.cel-result-panel,
.cel-resistor-preview-panel,
.cel-sim-visual-panel {
    background: linear-gradient(180deg, #FBFDFF 0%, #FFFFFF 42%);
    box-shadow: inset 0 3px 0 #D8E8FB;
}

.cel-panel-label,
.cel-result-label {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.cel-field {
    gap: 8px;
}

.cel-field input,
.cel-field select {
    min-height: 48px;
    border-color: #C8D5E5;
    border-radius: 13px;
    background: #FFFFFF;
    box-shadow: 0 2px 6px rgba(0, 35, 94, .025);
    transition: border-color .14s ease, box-shadow .14s ease, background-color .14s ease;
}

.cel-field input:hover,
.cel-field select:hover {
    border-color: #9FB6D2;
}

.cel-field input:focus-visible,
.cel-field select:focus-visible {
    border-color: var(--college-focus-outline, var(--cel-blue));
    box-shadow: 0 0 0 3px var(--college-focus-halo, rgba(255, 182, 0, .40));
}

.cel-result-value {
    width: 100%;
    margin: 6px 0 15px;
    padding: 13px 15px;
    border: 1px solid #D7E7FA;
    border-radius: 16px;
    background: linear-gradient(135deg, #F2F7FF, #FCFEFF);
}

.cel-learning-note {
    border: 1px solid #E6D7A4;
    border-left: 4px solid var(--cel-yellow);
    border-radius: 13px;
    background: #FFF9E8;
}

.cel-detail-metrics > div,
.cel-lab-meter {
    border: 1px solid #E1E8F2;
    background: #F7FAFE;
}

.cel-primary-action,
.cel-secondary-action {
    min-height: 46px;
    border-radius: 13px;
    padding: 10px 15px;
    transition: border-color .14s ease, background-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.cel-primary-action {
    background: linear-gradient(135deg, var(--cel-blue), #0A3F96);
    box-shadow: 0 7px 16px rgba(0, 35, 94, .16);
}

.cel-primary-action:hover {
    filter: none;
    background: linear-gradient(135deg, #001D50, #073681);
    box-shadow: 0 9px 20px rgba(0, 35, 94, .20);
    transform: translateY(-1px);
}

.cel-secondary-action {
    border-color: #C9D7E7;
    background: #FFFFFF;
    box-shadow: 0 3px 9px rgba(0, 35, 94, .04);
}

.cel-secondary-action:hover {
    border-color: #AFC3DD;
    background: var(--cel-soft-blue);
    transform: translateY(-1px);
}

/* Simulator: first-level choices stay technical, clear and quiet. */
.cel-sim-family-tabs {
    gap: 6px;
    padding: 5px;
    border-color: var(--cel-border);
    border-radius: 16px;
    background: var(--cel-soft);
    box-shadow: none;
}

.cel-sim-family-tab {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 8px 10px;
    border-radius: 11px;
    line-height: 1.2;
    font-weight: 650;
    transition: border-color var(--cel-motion-fast) var(--cel-ease-standard), background-color var(--cel-motion-fast) var(--cel-ease-standard), color var(--cel-motion-fast) var(--cel-ease-standard);
}

.cel-sim-family-tab:hover {
    border-color: #B8C8DB;
    background: #FFFFFF;
    box-shadow: none;
    transform: none;
}

.cel-sim-family-tab.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: var(--cel-white);
    box-shadow: none;
    transform: none;
}

.cel-sim-view-tabs {
    padding: 4px;
    border-color: var(--cel-border);
    background: var(--cel-soft);
    box-shadow: none;
}

.cel-sim-view-tab {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
    font-weight: 650;
}

.cel-sim-view-tab.is-active {
    box-shadow: none;
}

/* Laboratory: next-action hierarchy without decorative elevation. */
.cel-lab-picker {
    padding: 14px;
    border-color: var(--cel-border);
    border-radius: 18px;
    background: var(--cel-soft);
    box-shadow: none;
}

.cel-lab-guide {
    background: #FFFFFF;
    box-shadow: none;
}

.cel-lab-next-step {
    position: relative;
    overflow: hidden;
    padding: 15px 16px;
    border: 1px solid #E6D79A;
    border-left: 3px solid var(--cel-yellow);
    border-radius: 15px;
    background: #FFF9E9;
}

.cel-lab-next-step::after {
    content: none;
}

.cel-lab-next-step strong {
    color: var(--cel-blue);
    font-size: 1.12rem;
}

.cel-lab-progress {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #E7EDF5;
}

.cel-lab-progress > span {
    border-radius: inherit;
    background: var(--cel-yellow);
}

.cel-lab-bench {
    background: #FFFFFF;
    box-shadow: none;
}

.cel-lab-feedback:not(:empty) {
    padding: 10px 12px;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    background: #F8FAFC;
}

.cel-lab-reflection {
    border-color: var(--cel-border);
    background: var(--cel-soft-blue);
}

/* Footer remains unobtrusive but visually connected to the product. */
.cel-meta {
    padding-top: 15px;
    border-top: 1px solid #E4EAF2;
    color: #708096;
}

.cel-meta a {
    color: var(--cel-blue);
    font-weight: 650;
}

@media (max-width: 900px) {
    .cel-overview-hero {
        grid-template-columns: minmax(0, 1fr) 210px;
    }

    .cel-overview-orbit {
        width: 205px;
    }

    .cel-sim-family-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-sim-family-tab:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .cel-product-nav {
        margin-inline: -2px;
        padding: 5px;
    }

    .cel-product-nav-link {
        flex: 0 0 auto;
        min-width: 128px;
        min-height: 48px;
    }

    .cel-overview-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 24px 20px;
        border-radius: 24px;
    }

    .cel-overview-orbit {
        display: none;
    }

    .cel-overview-hero h2 {
        font-size: clamp(1.9rem, 10vw, 2.55rem);
    }

    .cel-overview-grid {
        grid-template-columns: 1fr;
    }

    .cel-overview-card {
        min-height: 0;
        border-radius: 21px;
    }

    .cel-module {
        border-radius: 22px;
    }

    .cel-section-head {
        gap: 12px;
    }

    .cel-sim-family-tabs {
        display: flex;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .cel-sim-family-tabs::-webkit-scrollbar {
        display: none;
    }

    .cel-sim-family-tab,
    .cel-sim-family-tab:last-child {
        flex: 0 0 auto;
        min-width: 158px;
        min-height: 48px;
        grid-column: auto;
        justify-content: center;
    }
}

@media (max-width: 520px) {
    .cel-overview-hero-chips {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .cel-overview-hero-chips > span {
        justify-content: center;
        padding-inline: 7px;
        font-size: .76rem;
    }

    .cel-overview-card-top {
        align-items: flex-start;
    }

    .cel-overview-badge {
        white-space: normal;
        text-align: center;
    }

    .cel-overview-card-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .cel-overview-start {
        padding: 14px;
    }

    .cel-section-head {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cel-badge {
        justify-self: start;
    }

    .cel-sim-view-tabs {
        display: flex;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .cel-sim-view-tabs::-webkit-scrollbar {
        display: none;
    }

    .cel-sim-view-tab {
        flex: 0 0 auto;
        min-width: 116px;
    }
}

@media (max-width: 380px) {
    .cel-overview-hero-chips {
        grid-template-columns: 1fr;
    }

    .cel-product-nav-link {
        min-width: 118px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cel-product-nav-link,
    .cel-overview-card,
    .cel-overview-arrow,
    .cel-primary-action,
    .cel-secondary-action {
        transition: none;
    }

    .cel-product-nav-link:hover,
    .cel-overview-card:hover,
    .cel-primary-action:hover,
    .cel-secondary-action:hover,
    .cel-overview-card:hover .cel-overview-arrow {
        transform: none;
    }
}

@media (forced-colors: active) {
    .cel-overview-hero,
    .cel-overview-card,
    .cel-overview-start,
    .cel-module,
    .cel-control-panel,
    .cel-result-panel,
    .cel-resistor-preview-panel,
    .cel-sim-visual-panel,
    .cel-lab-guide,
    .cel-lab-bench {
        background: Canvas;
        box-shadow: none;
    }

    .cel-overview-icon,
    .cel-overview-badge,
    .cel-overview-meta,
    .cel-kicker,
    .cel-badge {
        background: Canvas;
        border: 1px solid ButtonText;
    }
}

/* 0.15.1 — production polish for standalone module pages. */
.cel-standalone-intro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin: -2px 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid #E5EBF3;
}

.cel-standalone-intro > p {
    max-width: 760px;
    margin: 0;
    color: #53627A;
    font-size: .97rem;
    line-height: 1.55;
}

/* Standalone pages already have an H1 supplied by WordPress. Keep the
   product navigation and module content visually close to that page title. */
.cel-shell:not([data-cel-workspace]) .cel-product-nav {
    margin-bottom: 14px;
}

.cel-shell:not([data-cel-workspace]) > .cel-module {
    padding-top: clamp(16px, 2.4vw, 24px);
}

@media (max-width: 520px) {
    .cel-standalone-intro {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 14px;
        padding-bottom: 14px;
    }

    .cel-standalone-intro .cel-badge {
        justify-self: start;
    }
}

.cel-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* 0.16.0 — student-first simplification and progressive disclosure. */
.cel-calc-choice {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid #E1E8F2;
    border-radius: 18px;
    background: #FBFCFE;
}

.cel-calc-choice > .cel-panel-label {
    margin: 0 0 10px;
}

.cel-tabs-primary {
    margin-bottom: 0;
}

.cel-more-calculations {
    margin-top: 10px;
}

.cel-more-calculations > summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    padding: 8px 13px;
    border: 1px solid #D6E0EE;
    border-radius: 999px;
    color: var(--cel-blue);
    background: #FFFFFF;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.cel-more-calculations > summary::-webkit-details-marker {
    display: none;
}

.cel-more-calculations[open] > summary {
    background: #F2F7FF;
    border-color: #B8CCEA;
}

.cel-tabs-advanced {
    margin-top: 10px;
    margin-bottom: 0;
}

.cel-model-note {
    margin-top: 10px;
    border-top: 1px solid #E6ECF4;
}

.cel-model-note > summary {
    min-height: 42px;
    display: flex;
    align-items: center;
    color: #56677F;
    font-size: .88rem;
    font-weight: 650;
    cursor: pointer;
}

.cel-model-note > p {
    margin: 0 0 10px;
    color: #637188;
    font-size: .88rem;
    line-height: 1.55;
}

.cel-model-note-warning > summary::before {
    content: "⚠️";
    margin-right: 7px;
}

.cel-lab-workspace-focused .cel-lab-guide {
    align-self: start;
}

.cel-lab-workspace-focused .cel-lab-guide h3 {
    margin-bottom: 5px;
}

.cel-lab-workspace-focused .cel-lab-objective {
    margin-bottom: 12px;
}

.cel-lab-workspace-focused .cel-lab-next-step {
    margin-top: 14px;
    margin-bottom: 12px;
}

.cel-lab-workspace-focused .cel-lab-info-details {
    margin-top: 0;
}

.cel-lab-workspace-focused .cel-lab-guide-actions {
    margin-top: 12px;
    gap: 8px;
}

.cel-lab-workspace-focused .cel-lab-guide-actions .cel-secondary-action {
    min-height: 42px;
    padding-block: 8px;
    font-size: .9rem;
}

.cel-lab-bench-heading {
    margin-bottom: 12px;
}

.cel-product-nav {
    scroll-snap-type: x proximity;
}

.cel-product-nav-link {
    scroll-snap-align: start;
}

@media (max-width: 720px) {
    .cel-sim-family-tab,
    .cel-sim-family-tab:last-child {
        min-width: 112px;
        padding-inline: 13px;
    }

    .cel-lab-workspace-focused .cel-lab-guide,
    .cel-lab-workspace-focused .cel-lab-bench {
        padding: 16px;
    }

    .cel-lab-workspace-focused .cel-lab-guide-actions {
        display: flex;
        flex-wrap: wrap;
    }

    .cel-lab-workspace-focused .cel-lab-guide-actions .cel-secondary-action {
        flex: 1 1 145px;
    }
}

@media (min-width: 360px) and (max-width: 520px) {
    .cel-lab-workspace-focused .cel-lab-inputs,
    .cel-lab-workspace-focused .cel-lab-meter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-lab-workspace-focused .cel-lab-inputs .cel-field {
        min-width: 0;
    }

    .cel-lab-workspace-focused .cel-lab-inputs input,
    .cel-lab-workspace-focused .cel-lab-inputs select {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 520px) {
    .cel-calc-choice {
        padding: 12px;
        border-radius: 16px;
    }

    .cel-tabs-primary,
    .cel-tabs-advanced {
        gap: 7px;
    }

    .cel-tabs-primary .cel-tab,
    .cel-tabs-advanced .cel-tab {
        min-height: 44px;
        padding: 8px 12px;
    }

    .cel-lab-workspace-focused .cel-lab-objective {
        font-size: .9rem;
        line-height: 1.45;
    }

    .cel-lab-workspace-focused .cel-lab-next-step {
        padding: 14px;
    }

    .cel-lab-workspace-focused .cel-lab-next-step strong {
        font-size: 1.05rem;
    }

    .cel-lab-workspace-focused .cel-lab-feedback {
        margin-top: 8px;
    }
}

/* 0.16.1 — final accessibility and reflow polish. */
.cel-learning-details summary {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-block: 8px;
}

.cel-model-note > summary,
.cel-lab-workspace-focused .cel-lab-guide-actions .cel-secondary-action {
    min-height: 44px;
}

.cel-meta {
    color: var(--cel-muted);
}

.cel-result-topline,
.cel-preview-heading {
    flex-wrap: wrap;
}

.cel-result-status,
.cel-panel-label,
.cel-lab-objective,
.cel-lab-next-step,
.cel-lab-bench,
.cel-lab-guide,
.cel-result-panel,
.cel-control-panel,
.cel-panel-grid,
.cel-lab-main,
.cel-lab-workspace,
.cel-lab-picker {
    min-width: 0;
    max-width: 100%;
}

.cel-result-status,
.cel-tab,
.cel-sim-family-tab,
.cel-sim-view-tab,
.cel-secondary-action,
.cel-primary-action {
    overflow-wrap: anywhere;
}

@media (max-width: 520px) {
    .cel-tabs-primary .cel-tab,
    .cel-tabs-advanced .cel-tab {
        min-width: 0;
        max-width: 100%;
        white-space: normal;
    }

    .cel-preview-heading,
    .cel-result-topline,
    .cel-lab-bench-heading {
        align-items: flex-start;
    }
}

.cel-lab-info-details summary {
    display: flex;
    align-items: center;
    min-height: 44px;
}

@media (max-width: 720px) {
    .cel-sim-family-tab,
    .cel-sim-family-tab:last-child {
        flex: 0 0 clamp(112px, 42vw, 158px);
        min-width: 0;
        max-width: calc(100% - 8px);
        white-space: normal;
    }
}

@media (max-width: 520px) {
    .cel-sim-view-tab {
        flex: 0 0 clamp(108px, 38vw, 136px);
        min-width: 0;
        max-width: calc(100% - 8px);
        white-space: normal;
    }
}

.cel-standalone-intro,
.cel-standalone-intro > p {
    min-width: 0;
    max-width: 100%;
}

.cel-standalone-intro > p,
.cel-standalone-intro .cel-badge {
    overflow-wrap: anywhere;
}

@media (max-width: 520px) {
    .cel-standalone-intro {
        grid-template-columns: minmax(0, 1fr);
    }

    .cel-standalone-intro .cel-badge {
        max-width: 100%;
        white-space: normal;
    }
}

/* 0.17.0 — unified educational schematic system */
.cel-schematic {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
    border: 1px solid #E2EAF4;
    border-radius: 18px;
    background-color: #F8FAFD;
    background-image: radial-gradient(circle at 1px 1px, rgba(0, 35, 94, .07) 1px, transparent 1.2px);
    background-size: 22px 22px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.cel-schematic-caption {
    fill: #667085;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .075em;
}

.cel-schematic-value {
    fill: var(--cel-blue);
    font-weight: 850;
}

.cel-schematic-node {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2.5;
}

.cel-schematic .cel-circuit-wire,
.cel-schematic .cel-rlc-wire,
.cel-schematic .cel-power-wire,
.cel-schematic .cel-power-load-line,
.cel-schematic .cel-grid-wire {
    stroke-width: 4;
}

.cel-schematic .cel-circuit-component,
.cel-schematic .cel-rlc-resistor {
    fill: #FFF6D8;
    stroke-width: 3.5;
}

.cel-schematic .cel-source-long,
.cel-schematic .cel-source-short {
    stroke-width: 7;
}

.cel-schematic .cel-current-dots circle {
    r: 5px;
    filter: drop-shadow(0 1px 1px rgba(0,35,94,.18));
}

.cel-schematic .cel-reactive-source-circle,
.cel-schematic .cel-power-source-circle,
.cel-schematic .cel-rlc-source {
    fill: #FFFFFF;
    stroke: var(--cel-blue);
    stroke-width: 3.5;
}

.cel-schematic .cel-reactive-sine,
.cel-schematic .cel-power-sine,
.cel-schematic .cel-rlc-sine {
    stroke: #A57100;
    stroke-width: 3.5;
}

.cel-schematic .cel-reactive-current-arrow,
.cel-schematic .cel-power-arrow,
.cel-schematic .cel-rlc-current,
.cel-schematic .cel-grid-drop-arrow {
    stroke: var(--cel-blue);
    stroke-width: 3.5;
}

.cel-schematic .cel-reactive-arrow-head,
.cel-schematic .cel-power-arrow-head,
.cel-schematic .cel-rlc-arrow-head,
.cel-schematic .cel-grid-drop-arrow-head {
    fill: var(--cel-yellow);
    stroke: var(--cel-blue);
    stroke-width: 2;
}

.cel-reactive-circuit .cel-circuit-label,
.cel-rlc-label,
.cel-power-label,
.cel-grid-label {
    fill: var(--cel-blue);
    font-weight: 850;
}

.cel-reactive-circuit .cel-circuit-label {
    font-size: 21px;
}

.cel-reactive-circuit .cel-circuit-sub-label,
.cel-rlc-sub-label,
.cel-power-sub-label,
.cel-grid-sub-label {
    fill: var(--cel-text);
    font-weight: 750;
}

.cel-rlc-circuit,
.cel-power-transformer-svg,
.cel-power-three-svg,
.cel-grid-line-svg {
    min-height: 270px;
}

.cel-rlc-coil,
.cel-rlc-capacitor,
.cel-reactive-coil,
.cel-reactive-component-line {
    transition: stroke-width .18s ease, stroke .18s ease, filter .18s ease;
}

[data-cel-rlc-inductor].is-dominant .cel-rlc-coil,
[data-cel-rlc-capacitor].is-dominant .cel-rlc-capacitor {
    stroke: #8A6100;
    stroke-width: 7;
    filter: drop-shadow(0 2px 1px rgba(255,182,0,.20));
}

[data-cel-rlc-inductor].is-balanced .cel-rlc-coil,
[data-cel-rlc-capacitor].is-balanced .cel-rlc-capacitor {
    stroke-width: 6;
}

[data-cel-rlc-inductor].is-dominant .cel-rlc-label,
[data-cel-rlc-capacitor].is-dominant .cel-rlc-label {
    fill: #6F5000;
}

.cel-power-source-box,
.cel-power-load-box {
    fill: rgba(255,255,255,.92);
    stroke: #B9C9DD;
    stroke-width: 2;
}

.cel-power-load-box {
    fill: #FFF9E8;
}

.cel-power-core {
    stroke: #7B8798;
    stroke-width: 6;
    opacity: .78;
}

.cel-power-coil {
    stroke-width: 4.5;
}

.cel-power-phase-label,
.cel-grid-phase-label {
    fill: var(--cel-blue);
    font-size: 15px;
    font-weight: 850;
}

.cel-grid-source,
.cel-grid-load {
    stroke-width: 2.5;
}

.cel-grid-source {
    fill: rgba(255,255,255,.94);
}

.cel-grid-load {
    fill: #FFF9E8;
}

.cel-preview-heading .cel-result-status {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 5px 10px;
    border: 1px solid #D6E1EF;
    border-radius: 999px;
    background: #F5F8FC;
    color: var(--cel-blue);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
}

.cel-preview-heading .cel-result-label {
    color: var(--cel-blue);
    font-weight: 800;
}

@media (max-width: 620px) {
    .cel-schematic {
        border-radius: 15px;
        background-size: 18px 18px;
    }

    .cel-schematic-caption {
        font-size: 16px;
        letter-spacing: .045em;
    }

    .cel-reactive-circuit .cel-circuit-label,
    .cel-rlc-label,
    .cel-power-label,
    .cel-grid-label {
        font-size: 20px;
    }

    .cel-reactive-circuit .cel-circuit-sub-label,
    .cel-rlc-sub-label,
    .cel-power-sub-label,
    .cel-grid-sub-label {
        font-size: 16px;
    }

    .cel-rlc-circuit,
    .cel-power-transformer-svg,
    .cel-power-three-svg,
    .cel-grid-line-svg,
    .cel-reactive-circuit,
    .cel-circuit.cel-schematic {
        min-height: 220px;
    }
}

@media (forced-colors: active) {
    .cel-schematic {
        background: Canvas;
        border: 2px solid CanvasText;
    }

    .cel-schematic-node,
    .cel-power-source-box,
    .cel-power-load-box {
        fill: Canvas;
        stroke: CanvasText;
    }

    [data-cel-rlc-inductor].is-dominant .cel-rlc-coil,
    [data-cel-rlc-capacitor].is-dominant .cel-rlc-capacitor {
        stroke: CanvasText;
        stroke-width: 7;
    }
}

/* Keep schematic labels legible after the SVG scales down on phones. */
@media (max-width: 620px) {
    .cel-schematic-caption {
        font-size: 20px;
        letter-spacing: .035em;
    }

    .cel-reactive-circuit .cel-circuit-label,
    .cel-rlc-label,
    .cel-power-label,
    .cel-grid-label {
        font-size: 24px;
    }

    .cel-reactive-circuit .cel-circuit-sub-label,
    .cel-rlc-sub-label,
    .cel-power-sub-label,
    .cel-power-phase-label,
    .cel-grid-sub-label,
    .cel-grid-phase-label {
        font-size: 19px;
    }

    .cel-grid-line-svg .cel-schematic-caption,
    .cel-power-three-svg .cel-schematic-caption {
        font-size: 16px;
        letter-spacing: .02em;
    }
}

@media (max-width: 620px) {
    .cel-rlc-circuit .cel-schematic-caption,
    .cel-reactive-circuit .cel-schematic-caption {
        display: none;
    }
}

@media (max-width: 620px) {
    .cel-grid-line-svg .cel-schematic-caption {
        display: none;
    }

    .cel-grid-line-svg .cel-grid-sub-label:not(.cel-schematic-value) {
        display: none;
    }

    .cel-grid-line-svg .cel-schematic-value,
    .cel-rlc-circuit .cel-schematic-value,
    .cel-reactive-circuit .cel-schematic-value,
    .cel-power-transformer-svg .cel-schematic-value {
        font-size: 24px;
    }
}

/* 0.17.1 — schematic polish: calmer labels, stronger geometry, consistent notation */
.cel-schematic-caption {
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .035em;
}

.cel-schematic :where(.cel-power-phase-label, .cel-grid-phase-label) {
    paint-order: stroke fill;
    stroke: #F8FAFD;
    stroke-width: 5px;
    stroke-linejoin: round;
}

.cel-power-transformer-svg .cel-power-coil {
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cel-power-transformer-svg .cel-power-core {
    stroke: #7E8A9C;
    stroke-width: 8;
    opacity: .72;
}

.cel-power-transformer-svg .cel-power-label,
.cel-power-three-svg .cel-power-label {
    font-size: 20px;
}

.cel-power-transformer-svg .cel-schematic-value,
.cel-power-three-svg .cel-schematic-value {
    fill: var(--cel-blue);
}

.cel-power-three-svg .cel-power-source-box,
.cel-power-three-svg .cel-power-load-box {
    stroke-width: 2.25;
}

.cel-power-three-svg .cel-power-phase {
    stroke-width: 4.25;
}

.cel-power-three-svg .cel-power-load-line {
    stroke-width: 4.25;
}

.cel-grid-line-svg .cel-grid-label {
    font-size: 19px;
}

/* The DC board no longer needs a long explanatory legend below the circuit. */
.cel-circuit.cel-schematic {
    min-height: 250px;
}

@media (max-width: 620px) {
    .cel-schematic-caption {
        font-size: 18px;
        letter-spacing: .02em;
    }

    .cel-power-transformer-svg .cel-power-label,
    .cel-power-three-svg .cel-power-label {
        font-size: 22px;
    }

    .cel-power-three-svg .cel-schematic-caption {
        font-size: 16px;
    }

    .cel-circuit.cel-schematic {
        min-height: 205px;
    }
}

@media (forced-colors: active) {
    .cel-schematic :where(.cel-power-phase-label, .cel-grid-phase-label) {
        stroke: Canvas;
    }
}

/* Keep the information-dense power schematics readable after viewBox scaling on phones. */
@media (max-width: 620px) {
    .cel-power-transformer-svg .cel-schematic-caption {
        font-size: 24px;
    }

    .cel-power-transformer-svg .cel-power-label {
        font-size: 30px;
    }

    .cel-power-transformer-svg .cel-power-sub-label {
        font-size: 26px;
    }

    .cel-power-three-svg .cel-schematic-caption {
        font-size: 25px;
    }

    .cel-power-three-svg .cel-power-label {
        font-size: 28px;
    }

    .cel-power-three-svg .cel-power-sub-label,
    .cel-power-three-svg .cel-power-phase-label {
        font-size: 25px;
    }

    .cel-power-three-svg [data-cel-power-connection-label] {
        font-size: 23px;
    }
}

/* 0.17.2 — final product polish: discoverability, rhythm and consistency. */
.cel-shell {
    color-scheme: light;
}

.cel-shell :where(.cel-result-value, .cel-metrics strong, .cel-detail-metrics strong, .cel-lab-meter strong, input[type="number"]) {
    font-variant-numeric: tabular-nums;
}

.cel-overview-hero h2,
.cel-overview-card h3,
.cel-module h2,
.cel-lab-guide h3,
.cel-lab-reflection h3 {
    text-wrap: balance;
}

.cel-overview-card p,
.cel-standalone-intro > p,
.cel-lab-objective {
    text-wrap: pretty;
}

.cel-product-nav,
.cel-sim-family-tabs {
    scroll-padding-inline: 12px;
}

.cel-primary-action:disabled,
.cel-secondary-action:disabled,
.cel-lab-export:disabled {
    opacity: .62;
}

/* Make disclosure controls read as controls, not plain text. */
.cel-learning-details > summary,
.cel-model-note > summary,
.cel-lab-info-details > summary {
    gap: 8px;
}

.cel-learning-details > summary::after,
.cel-model-note > summary::after,
.cel-lab-info-details > summary::after {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    margin: -3px 3px 0 2px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--cel-motion-fast) var(--cel-ease-standard), margin-top var(--cel-motion-fast) var(--cel-ease-standard);
}

.cel-learning-details[open] > summary::after,
.cel-model-note[open] > summary::after,
.cel-lab-info-details[open] > summary::after {
    margin-top: 3px;
    transform: rotate(225deg);
}

/* On phones the five top-level product destinations stay visible at once.
   This avoids stacking two horizontal scrollers above the simulator. */
@media (max-width: 520px) {
    .cel-product-nav {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        overflow: visible;
    }

    .cel-product-nav-link,
    .cel-product-nav-link:last-child {
        display: flex;
        grid-column: span 2;
        min-width: 0;
        min-height: 60px;
        flex-direction: column;
        gap: 3px;
        padding: 7px 5px;
        font-size: .76rem;
        line-height: 1.08;
        white-space: normal;
    }

    .cel-product-nav-link:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .cel-product-nav-link:nth-child(5),
    .cel-product-nav-link:last-child {
        grid-column: 4 / span 2;
    }

    .cel-product-nav-icon {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }

    /* Four DC work modes are clearer as a compact 2×2 control than as
       truncated horizontal tabs. */
    .cel-sim-view-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
    }

    .cel-sim-view-tab {
        min-width: 0;
        max-width: none;
        padding-inline: 8px;
        font-size: .82rem;
        white-space: normal;
    }

    .cel-sim-view-tab .cel-count-badge {
        min-width: 18px;
        min-height: 18px;
        margin-left: 2px;
        font-size: .66rem;
    }
}

/* On narrow screens show a meaningful slice of the next simulator family so
   the horizontal gesture is self-evident. */
@media (max-width: 720px) {
    .cel-sim-family-tab,
    .cel-sim-family-tab:last-child {
        flex: 0 0 clamp(96px, 32vw, 132px);
        min-width: 0;
        max-width: none;
    }
}

@media (hover: none) {
    .cel-product-nav-link:hover,
    .cel-overview-card:hover,
    .cel-primary-action:hover,
    .cel-secondary-action:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cel-learning-details > summary::after,
    .cel-model-note > summary::after,
    .cel-lab-info-details > summary::after {
        transition: none;
    }
}

@media (prefers-contrast: more) {
    .cel-product-nav,
    .cel-calc-choice,
    .cel-lab-picker,
    .cel-learning-note,
    .cel-lab-next-step {
        border-color: var(--cel-blue);
    }
}

/* Extra-narrow phones: prefer readable labels over squeezing controls. */
@media (max-width: 340px) {
    .cel-product-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-product-nav-link,
    .cel-product-nav-link:nth-child(4),
    .cel-product-nav-link:nth-child(5),
    .cel-product-nav-link:last-child {
        grid-column: auto;
        min-height: 48px;
        flex-direction: row;
        gap: 5px;
        padding: 6px 7px;
        font-size: .76rem;
        line-height: 1.15;
    }

    .cel-product-nav-link:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 4px);
        justify-self: center;
    }

    .cel-circuit-modes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cel-circuit-mode:first-child {
        grid-column: 1 / -1;
    }
}

/* Text-only zoom can make long Ukrainian technical terms wider than a narrow
   metric cell. Allow safe wrapping instead of leaking outside the module. */
@media (max-width: 340px) {
    .cel-circuit-mode,
    .cel-metrics span,
    .cel-detail-metrics span,
    .cel-preview-heading,
    .cel-preview-heading > * {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

.cel-overview-card {
    overflow: hidden;
}

@supports (overflow: clip) {
    .cel-overview-card {
        overflow: clip;
    }
}

@media (max-width: 340px) {
    .cel-overview-card-glow {
        right: -10px;
    }
}

@media (max-width: 340px) {
    .cel-overview-start {
        grid-template-columns: 1fr;
    }
}


/* 0.17.5 — calculator quiet-premium visual baseline. */
[data-cel-calculator] .cel-calc-choice {
    border-color: var(--cel-border);
    border-radius: 16px;
    background: var(--cel-soft);
    box-shadow: none;
}

[data-cel-calculator] .cel-tab {
    border-color: var(--cel-border);
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
    font-weight: 500;
    transition: border-color var(--cel-motion-fast) var(--cel-ease-standard), background-color var(--cel-motion-fast) var(--cel-ease-standard), color var(--cel-motion-fast) var(--cel-ease-standard);
}

[data-cel-calculator] .cel-tab:hover {
    border-color: #AFC3DD;
    background: var(--cel-soft-blue);
    box-shadow: none;
    transform: none;
}

[data-cel-calculator] .cel-tab.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: var(--cel-white);
    box-shadow: none;
    transform: none;
}

[data-cel-calculator] .cel-more-calculations > summary {
    border-color: var(--cel-border);
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
    font-weight: 500;
}

[data-cel-calculator] .cel-more-calculations[open] > summary {
    border-color: #B8CCEA;
    background: var(--cel-soft-blue);
}

[data-cel-calculator] .cel-control-panel,
[data-cel-calculator] .cel-result-panel {
    border-color: var(--cel-border);
    border-radius: 18px;
    box-shadow: none;
}

[data-cel-calculator] .cel-control-panel {
    background: var(--cel-soft);
}

[data-cel-calculator] .cel-result-panel {
    position: relative;
    background: var(--cel-surface-raised, #FFFFFF);
    border-top: 2px solid var(--cel-yellow);
}

[data-cel-calculator] .cel-panel-label,
[data-cel-calculator] .cel-result-label {
    font-weight: 500;
}

[data-cel-calculator] .cel-result-status {
    color: var(--cel-muted);
    font-weight: 500;
}

[data-cel-calculator] .cel-field {
    font-weight: 500;
}

[data-cel-calculator] .cel-field input,
[data-cel-calculator] .cel-field select {
    border-color: var(--cel-border);
    border-radius: 12px;
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
}

[data-cel-calculator] .cel-field input:hover,
[data-cel-calculator] .cel-field select:hover {
    border-color: #9FB6D2;
    box-shadow: none;
}

[data-cel-calculator] .cel-result-value {
    margin-block: 6px 15px;
    padding: 12px 14px;
    border-color: var(--cel-border);
    border-radius: 14px;
    background: var(--cel-soft);
    box-shadow: none;
}

[data-cel-calculator] .cel-learning-note {
    border: 1px solid #E6D7A4;
    border-left-width: 1px;
    border-radius: 12px;
    background: #FFF9E8;
}

[data-cel-calculator] .cel-learning-details {
    border-top-color: var(--cel-border);
}

[data-cel-calculator] .cel-learning-details summary {
    color: var(--cel-blue);
    font-weight: 500;
}

[data-cel-calculator] .cel-detail-metrics > div {
    border-color: var(--cel-border);
    background: var(--cel-soft);
    box-shadow: none;
}

@media (hover: none) {
    [data-cel-calculator] .cel-tab:hover,
    [data-cel-calculator] .cel-more-calculations > summary:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-cel-calculator] .cel-tab {
        transition: none;
    }
}

@media (prefers-contrast: more) {
    [data-cel-calculator] .cel-control-panel,
    [data-cel-calculator] .cel-result-panel,
    [data-cel-calculator] .cel-calc-choice,
    [data-cel-calculator] .cel-result-value {
        border-color: var(--cel-blue);
    }
}

@media (forced-colors: active) {
    [data-cel-calculator] .cel-result-panel,
    [data-cel-calculator] .cel-control-panel,
    [data-cel-calculator] .cel-calc-choice,
    [data-cel-calculator] .cel-result-value,
    [data-cel-calculator] .cel-learning-note {
        border-color: CanvasText;
        background: Canvas;
    }

    [data-cel-calculator] .cel-tab.is-active {
        border-color: Highlight;
        background: Highlight;
        color: HighlightText;
    }
}


/* 0.17.7 — calculator column balance after live-review.
   Keep each panel at its intrinsic height: equal-height cards created a large
   empty region in the shorter input panel. */
[data-cel-calculator] .cel-panel-grid {
    align-items: start;
}

[data-cel-calculator] .cel-control-panel,
[data-cel-calculator] .cel-result-panel {
    align-self: start;
}

/* Keep the progressive-disclosure control plugin-owned.
   College Theme may style native <details>, so explicitly reset the wrapper
   and let only its summary carry the interactive surface. */
[data-cel-calculator] .cel-more-calculations {
    margin: 10px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}


/* 0.17.8 — resistor quiet-premium visual baseline. */
[data-cel-resistor] .cel-tabs {
    gap: 8px;
}

[data-cel-resistor] .cel-tab {
    border-color: var(--cel-border);
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
    font-weight: 500;
    transition: border-color var(--cel-motion-fast) var(--cel-ease-standard), background-color var(--cel-motion-fast) var(--cel-ease-standard), color var(--cel-motion-fast) var(--cel-ease-standard);
}

[data-cel-resistor] .cel-tab:hover {
    border-color: #AFC3DD;
    background: var(--cel-soft-blue);
    box-shadow: none;
    transform: none;
}

[data-cel-resistor] .cel-tab.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: var(--cel-white);
    box-shadow: none;
    transform: none;
}

[data-cel-resistor] .cel-resistor-layout {
    align-items: start;
}

[data-cel-resistor] .cel-control-panel,
[data-cel-resistor] .cel-resistor-preview-panel {
    align-self: start;
    border-color: var(--cel-border);
    border-radius: 18px;
    box-shadow: none;
}

[data-cel-resistor] .cel-control-panel {
    background: var(--cel-soft);
}

[data-cel-resistor] .cel-resistor-preview-panel {
    position: relative;
    overflow: visible;
    justify-content: flex-start;
    background: var(--cel-surface-raised, #FFFFFF);
    border-top: 2px solid var(--cel-yellow);
}

[data-cel-resistor] .cel-resistor-preview-panel::before {
    display: none;
    content: none;
}

[data-cel-resistor] .cel-panel-label,
[data-cel-resistor] .cel-result-label,
[data-cel-resistor] .cel-result-status,
[data-cel-resistor] .cel-field {
    font-weight: 500;
}

[data-cel-resistor] .cel-result-status {
    color: var(--cel-muted);
}

[data-cel-resistor] .cel-field input,
[data-cel-resistor] .cel-field select {
    border-color: var(--cel-border);
    border-radius: 12px;
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
}

[data-cel-resistor] .cel-field input:hover,
[data-cel-resistor] .cel-field select:hover {
    border-color: #9FB6D2;
    box-shadow: none;
}

[data-cel-resistor] .cel-resistor-visual {
    max-width: 580px;
    margin-block: 14px 22px;
    padding-block: 10px;
}

[data-cel-resistor] .cel-wire {
    height: 5px;
    background: #858D99;
}

[data-cel-resistor] .cel-resistor-visual .cel-body {
    border-color: #BE914D;
    background: linear-gradient(180deg, #ECD09F 0%, #DDB677 100%);
    box-shadow: inset 0 3px 5px rgba(255,255,255,.22), inset 0 -3px 5px rgba(91,57,15,.08);
}

[data-cel-resistor] .cel-resistor-visual .cel-res-band {
    width: 16px;
    min-width: 16px;
    border-radius: 1px;
    box-shadow: inset 1px 0 rgba(255,255,255,.18), inset -1px 0 rgba(0,0,0,.14);
}

[data-cel-resistor] .cel-color-chip {
    min-height: 32px;
    padding: 6px 10px;
    border-color: var(--cel-border);
    background: var(--cel-soft);
    box-shadow: none;
}

[data-cel-resistor] .cel-detail-metrics > div {
    border-color: var(--cel-border);
    background: var(--cel-soft);
    box-shadow: none;
}

/* Keep the tolerance/TCR disclosure plugin-owned even when the host theme
   styles native <details> elements. */
[data-cel-resistor] .cel-learning-details {
    margin-top: 12px;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid var(--cel-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

[data-cel-resistor] .cel-learning-details > summary {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--cel-blue);
    font-weight: 500;
}

[data-cel-resistor] .cel-secondary-action {
    border-color: var(--cel-border);
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
    transform: none;
}

[data-cel-resistor] .cel-secondary-action:hover {
    border-color: #AFC3DD;
    background: var(--cel-soft-blue);
    box-shadow: none;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-cel-resistor] .cel-tab {
        transition: none;
    }
}

@media (prefers-contrast: more) {
    [data-cel-resistor] .cel-control-panel,
    [data-cel-resistor] .cel-resistor-preview-panel,
    [data-cel-resistor] .cel-color-chip,
    [data-cel-resistor] .cel-detail-metrics > div {
        border-color: var(--cel-blue);
    }
}

@media (forced-colors: active) {
    [data-cel-resistor] .cel-control-panel,
    [data-cel-resistor] .cel-resistor-preview-panel,
    [data-cel-resistor] .cel-color-chip,
    [data-cel-resistor] .cel-detail-metrics > div,
    [data-cel-resistor] .cel-learning-details {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
    }

    [data-cel-resistor] .cel-tab.is-active {
        border-color: Highlight;
        background: Highlight;
        color: HighlightText;
    }
}


/* 0.17.10 — simulator quiet-premium visual baseline. */
[data-cel-simulator].cel-module {
    border-color: var(--cel-border);
    border-radius: 24px;
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
}

[data-cel-simulator] .cel-badge {
    border-color: #E8D9A7;
    background: var(--cel-yellow-soft);
    box-shadow: none;
}

[data-cel-simulator] .cel-circuit-mode,
[data-cel-simulator] .cel-reactive-mode,
[data-cel-simulator] .cel-power-mode,
[data-cel-simulator] .cel-grid-mode {
    border-color: var(--cel-border);
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
    font-weight: 650;
    transition: border-color var(--cel-motion-fast) var(--cel-ease-standard), background-color var(--cel-motion-fast) var(--cel-ease-standard), color var(--cel-motion-fast) var(--cel-ease-standard);
}

[data-cel-simulator] .cel-circuit-mode:hover,
[data-cel-simulator] .cel-reactive-mode:hover,
[data-cel-simulator] .cel-power-mode:hover,
[data-cel-simulator] .cel-grid-mode:hover {
    border-color: #AFC3DD;
    background: var(--cel-soft-blue);
    box-shadow: none;
    transform: none;
}

[data-cel-simulator] .cel-circuit-mode.is-active,
[data-cel-simulator] .cel-reactive-mode.is-active,
[data-cel-simulator] .cel-power-mode.is-active,
[data-cel-simulator] .cel-grid-mode.is-active {
    border-color: var(--cel-blue);
    background: var(--cel-blue);
    color: var(--cel-white);
    box-shadow: none;
    transform: none;
}

[data-cel-simulator] .cel-sim-layout,
[data-cel-simulator] .cel-reactive-layout,
[data-cel-simulator] .cel-power-layout,
[data-cel-simulator] .cel-rlc-layout,
[data-cel-simulator] .cel-grid-layout {
    align-items: start;
}

[data-cel-simulator] .cel-control-panel,
[data-cel-simulator] .cel-sim-visual-panel {
    align-self: start;
    border-color: var(--cel-border);
    border-radius: 18px;
    box-shadow: none;
}

[data-cel-simulator] .cel-control-panel {
    background: var(--cel-soft);
}

[data-cel-simulator] .cel-sim-visual-panel {
    background: var(--cel-surface-raised, #FFFFFF);
    border-top: 2px solid var(--cel-yellow);
}

[data-cel-simulator] .cel-panel-label,
[data-cel-simulator] .cel-result-label,
[data-cel-simulator] .cel-result-status,
[data-cel-simulator] .cel-field {
    font-weight: 500;
}

[data-cel-simulator] .cel-result-status {
    color: var(--cel-muted);
}

[data-cel-simulator] .cel-field input,
[data-cel-simulator] .cel-field select {
    border-color: var(--cel-border);
    border-radius: 12px;
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
}

[data-cel-simulator] .cel-field input:hover,
[data-cel-simulator] .cel-field select:hover {
    border-color: #9FB6D2;
    box-shadow: none;
}

[data-cel-simulator] .cel-schematic {
    border-color: var(--cel-border);
    background-color: #F8FAFD;
    box-shadow: none;
}

[data-cel-simulator] .cel-metrics > div,
[data-cel-simulator] .cel-detail-metrics > div {
    border: 1px solid var(--cel-border);
    background: var(--cel-soft);
    box-shadow: none;
}

[data-cel-simulator] .cel-formula-strip {
    border: 1px solid var(--cel-border);
    background: var(--cel-soft);
}

[data-cel-simulator] .cel-graph-card,
[data-cel-simulator] .cel-grid-analysis-card,
[data-cel-simulator] .cel-rlc-passport {
    border-color: var(--cel-border);
    background: var(--cel-surface-raised, #FFFFFF);
    box-shadow: none;
}

[data-cel-simulator] .cel-active-experiment {
    border-color: #E6D7A4;
    border-left: 2px solid var(--cel-yellow);
    background: #FFF9E8;
    box-shadow: none;
}

[data-cel-simulator] .cel-primary-action,
[data-cel-simulator] .cel-secondary-action {
    box-shadow: none;
    transform: none;
}

[data-cel-simulator] .cel-primary-action {
    background: var(--cel-blue);
}

[data-cel-simulator] .cel-primary-action:hover {
    background: var(--cel-blue-deep);
    box-shadow: none;
    transform: none;
}

[data-cel-simulator] .cel-secondary-action {
    border-color: var(--cel-border);
    background: var(--cel-surface-raised, #FFFFFF);
}

[data-cel-simulator] .cel-secondary-action:hover {
    border-color: #AFC3DD;
    background: var(--cel-soft-blue);
    box-shadow: none;
    transform: none;
}

/* Keep simulator disclosures plugin-owned when College Theme styles native details. */
[data-cel-simulator] .cel-learning-details,
[data-cel-simulator] .cel-model-note,
[data-cel-simulator] .cel-data-details {
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

[data-cel-simulator] .cel-learning-details > summary,
[data-cel-simulator] .cel-model-note > summary,
[data-cel-simulator] .cel-data-details > summary {
    border: 0;
    background: transparent;
    box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-cel-simulator] .cel-sim-family-tab,
    [data-cel-simulator] .cel-circuit-mode,
    [data-cel-simulator] .cel-reactive-mode,
    [data-cel-simulator] .cel-power-mode,
    [data-cel-simulator] .cel-grid-mode {
        transition: none;
    }
}

@media (prefers-contrast: more) {
    [data-cel-simulator] .cel-control-panel,
    [data-cel-simulator] .cel-sim-visual-panel,
    [data-cel-simulator] .cel-graph-card,
    [data-cel-simulator] .cel-grid-analysis-card,
    [data-cel-simulator] .cel-rlc-passport {
        border-color: var(--cel-blue);
    }
}

@media (forced-colors: active) {
    [data-cel-simulator].cel-module,
    [data-cel-simulator] .cel-control-panel,
    [data-cel-simulator] .cel-sim-visual-panel,
    [data-cel-simulator] .cel-graph-card,
    [data-cel-simulator] .cel-grid-analysis-card,
    [data-cel-simulator] .cel-rlc-passport,
    [data-cel-simulator] .cel-active-experiment {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
    }

    [data-cel-simulator] .cel-sim-family-tab.is-active,
    [data-cel-simulator] .cel-sim-view-tab.is-active,
    [data-cel-simulator] .cel-circuit-mode.is-active,
    [data-cel-simulator] .cel-reactive-mode.is-active,
    [data-cel-simulator] .cel-power-mode.is-active,
    [data-cel-simulator] .cel-grid-mode.is-active {
        border-color: Highlight;
        background: Highlight;
        color: HighlightText;
    }
}


/* 0.17.11 — simulator diagram emphasis: give the live schematic more visual authority. */
@media (min-width: 821px) {
    [data-cel-simulator] .cel-sim-layout,
    [data-cel-simulator] .cel-reactive-layout,
    [data-cel-simulator] .cel-power-layout,
    [data-cel-simulator] .cel-rlc-layout,
    [data-cel-simulator] .cel-grid-layout {
        grid-template-columns: minmax(230px, .82fr) minmax(0, 1.18fr);
    }
}

[data-cel-simulator] .cel-sim-visual-panel {
    padding: clamp(14px, 1.8vw, 20px);
}

[data-cel-simulator] .cel-schematic {
    background-color: #FAFBFD;
    background-image: radial-gradient(circle at 1px 1px, rgba(0, 35, 94, .045) 1px, transparent 1.15px);
    background-size: 24px 24px;
}

[data-cel-simulator] .cel-schematic :where(
    .cel-circuit-wire,
    .cel-rlc-wire,
    .cel-power-wire,
    .cel-power-load-line,
    .cel-grid-wire
) {
    stroke-width: 4.5;
}

[data-cel-simulator] .cel-schematic .cel-schematic-node {
    r: 5.5px;
}

[data-cel-simulator] .cel-schematic :where(
    .cel-circuit-label,
    .cel-rlc-label,
    .cel-power-label,
    .cel-grid-label
) {
    font-weight: 800;
}

[data-cel-simulator] .cel-metrics {
    gap: 7px;
}

[data-cel-simulator] .cel-metrics > div,
[data-cel-simulator] .cel-detail-metrics > div {
    padding: 9px 10px;
    background: #FAFBFD;
}

[data-cel-simulator] .cel-metrics span,
[data-cel-simulator] .cel-detail-metrics span {
    color: #687487;
    font-size: .74rem;
}

[data-cel-simulator] .cel-metrics strong,
[data-cel-simulator] .cel-detail-metrics strong {
    margin-top: 2px;
    font-size: .92rem;
}

[data-cel-simulator] .cel-formula-strip {
    margin-top: 9px;
    padding: 9px 11px;
    background: #FAFBFD;
    color: #344054;
    font-size: .8rem;
}

@media (max-width: 820px) {
    [data-cel-simulator] .cel-sim-visual-panel {
        padding: 15px;
    }
}

@media (prefers-contrast: more) {
    [data-cel-simulator] .cel-schematic {
        background-image: none;
    }
}

@media (forced-colors: active) {
    [data-cel-simulator] .cel-schematic {
        background: Canvas;
    }
}

/* 0.17.12 — simulator dense-state refinement after live review */
[data-cel-simulator] .cel-power-head > .cel-result-status {
    display: none;
}

[data-cel-simulator] .cel-rlc-head {
    display: block;
}

[data-cel-simulator] .cel-rlc-head > .cel-result-status {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin-top: 8px;
    padding: 5px 9px;
    border: 1px solid var(--cel-border);
    border-radius: 999px;
    background: var(--cel-soft);
    color: var(--cel-muted);
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: normal;
}

[data-cel-simulator] .cel-rlc-analysis-grid {
    align-items: start;
}

[data-cel-simulator] .cel-rlc-vector-card {
    align-self: start;
}

[data-cel-simulator] .cel-rlc-vector {
    min-height: 0;
    height: auto;
    aspect-ratio: 360 / 280;
}

@media (forced-colors: active) {
    [data-cel-simulator] .cel-rlc-head > .cel-result-status {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
    }
}

/* 0.17.13 — simulator state cleanup after live review */
[data-cel-simulator] .cel-grid-head > .cel-result-status {
    display: none;
}

/* 0.17.14 — laboratory quiet-premium baseline after live review */
[data-cel-laboratory] {
    box-shadow: none;
}

[data-cel-laboratory] .cel-lab-workspace {
    gap: 16px;
}

[data-cel-laboratory] .cel-lab-guide,
[data-cel-laboratory] .cel-lab-bench,
[data-cel-laboratory] .cel-lab-results,
[data-cel-laboratory] .cel-lab-reflection {
    box-shadow: none;
}

[data-cel-laboratory] .cel-lab-bench {
    border-top: 2px solid var(--cel-yellow);
}

[data-cel-laboratory] .cel-lab-meter {
    background: #FAFBFD;
}

[data-cel-laboratory] :where(.cel-secondary-action, .cel-primary-action) {
    box-shadow: none;
    transform: none;
}

[data-cel-laboratory] :where(.cel-secondary-action, .cel-primary-action):hover {
    box-shadow: none;
    transform: none;
}

[data-cel-laboratory] .cel-lab-picker-nav .cel-secondary-action:disabled {
    opacity: .58;
}

[data-cel-laboratory] .cel-lab-info-details {
    border: 1px solid var(--cel-border);
    border-radius: 14px;
    background: #FFFFFF;
}

[data-cel-laboratory] .cel-lab-info-details > summary {
    padding-inline: 14px;
}

[data-cel-laboratory] .cel-lab-info-details[open] .cel-lab-facts {
    margin-inline: 14px;
    margin-bottom: 12px;
}

@media (forced-colors: active) {
    [data-cel-laboratory] .cel-lab-bench {
        border-top-color: Highlight;
    }

    [data-cel-laboratory] .cel-lab-next-step {
        border-color: CanvasText;
        background: Canvas;
    }
}

/* 0.17.15 — keep laboratory result headers readable regardless of host-theme table styles. */
[data-cel-laboratory] .cel-lab-table thead {
    background: var(--cel-blue);
    color: #FFFFFF;
}

[data-cel-laboratory] .cel-lab-table thead th {
    padding: 9px 11px;
    border-color: rgba(255, 255, 255, .18);
    background: transparent;
    color: #FFFFFF;
    font-size: .76rem;
    font-weight: 750;
    letter-spacing: .01em;
    line-height: 1.3;
}

[data-cel-laboratory] .cel-lab-table tbody td {
    color: var(--cel-text);
    background: #FFFFFF;
}

[data-cel-laboratory] .cel-lab-table tbody tr:nth-child(even) td {
    background: #FAFBFD;
}

@media (forced-colors: active) {
    [data-cel-laboratory] .cel-lab-table thead,
    [data-cel-laboratory] .cel-lab-table thead th {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
    }
}

