/* /Components/ArtifactLoadStateView.razor.rz.scp.css */
.status-block[b-51opswc13f] {
    display: grid;
    min-height: 420px;
    place-items: center;
}
/* /Components/BrandMark.razor.rz.scp.css */
.brand[b-34h0pvpqdg] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1;
}

.brand-mark[b-34h0pvpqdg] {
    flex: 0 0 auto;
    /* The mark's own origin node sits low in its box, so it optically rides high beside a cap
       height. A hair of translation seats it on the wordmark's baseline. */
    transform: translateY(1px);
}

.brand-name[b-34h0pvpqdg] {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.brand-name span[b-34h0pvpqdg] {
    font-weight: 400;
    color: var(--brand-accent, currentColor);
}

/* The depth fade reads as detail at 44px and as dirt at 26px, where a 0.5-opacity wedge is two
   pixels of half-tone. The small lockup is flat instead. */
.brand-mark.is-small[b-34h0pvpqdg]  .wedge-back {
    opacity: 1;
}
/* /Components/CaseStudyAppendix.razor.rz.scp.css */
.appendix-block[b-sjmezkgsu6] {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-strong);
}

.appendix-block h3[b-sjmezkgsu6] {
    margin: 0 0 0.5rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
}

.appendix-block > p[b-sjmezkgsu6] {
    max-width: 70ch;
    color: var(--color-muted);
    line-height: 1.6;
}

.appendix-block pre[b-sjmezkgsu6] {
    padding: 1rem;
    overflow-x: auto;
    border: 1px solid var(--color-border);
    background: var(--color-surface-muted);
}

.capabilities[b-sjmezkgsu6],
.input-files[b-sjmezkgsu6] {
    margin: 1.25rem 0 0;
    padding: 0;
    border-top: 1px solid var(--color-ink);
    list-style: none;
}

.capabilities[b-sjmezkgsu6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
}

.capabilities li[b-sjmezkgsu6] {
    padding: 1rem 1.5rem 1rem 0;
    border-bottom: 1px solid var(--color-border);
}

.capabilities strong[b-sjmezkgsu6],
.capabilities span[b-sjmezkgsu6] {
    display: block;
}

.capabilities span[b-sjmezkgsu6] {
    margin-top: 0.25rem;
    color: var(--color-muted);
    font-size: 0.85rem;
}

.capabilities .is-absent strong[b-sjmezkgsu6] {
    color: var(--color-muted);
}

.input-files li[b-sjmezkgsu6] {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-border);
    font-size: 0.86rem;
}

.input-files a[b-sjmezkgsu6] {
    overflow-wrap: anywhere;
}

.input-files small[b-sjmezkgsu6] {
    color: var(--color-muted);
}

@media (max-width: 640px) {
    .input-files li[b-sjmezkgsu6] {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
}
/* /Components/CaseStudyNarrative.razor.rz.scp.css */
.case-narrative[b-u0j9rcbfq5] {
    --case-shell: 1180px;
    color: var(--color-ink);
}

.case-opening[b-u0j9rcbfq5],
.case-narrative > section[b-u0j9rcbfq5],
.case-page-nav[b-u0j9rcbfq5] {
    max-width: var(--case-shell);
    box-sizing: border-box;
    margin: 0 auto;
    padding-right: clamp(1.25rem, 4vw, 3rem);
    padding-left: clamp(1.25rem, 4vw, 3rem);
}

.case-opening[b-u0j9rcbfq5] {
    padding-top: clamp(4rem, 8vw, 7rem);
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.case-narrative > section[b-u0j9rcbfq5] {
    padding-top: clamp(3rem, 6vw, 5rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
    border-top: 1px solid var(--color-border);
    scroll-margin-top: 4.25rem;
}

.case-label[b-u0j9rcbfq5],
.timeline-label[b-u0j9rcbfq5] {
    margin: 0 0 0.5rem;
    color: var(--color-brand);
    font-size: var(--type-eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.case-opening h1[b-u0j9rcbfq5] {
    max-width: 19ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.02;
}

.case-opening > p:last-child[b-u0j9rcbfq5],
.case-narrative section > p[b-u0j9rcbfq5],
.case-section-intro > p[b-u0j9rcbfq5] {
    max-width: 74ch;
    color: var(--color-home-copy);
    font-size: 1rem;
    line-height: 1.72;
}

.case-opening > p:last-child[b-u0j9rcbfq5] {
    margin: 1.25rem 0 0;
}

.case-narrative h2[b-u0j9rcbfq5] {
    max-width: 26ch;
    margin: 0 0 1.25rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 600;
    line-height: 1.12;
}

.case-page-nav[b-u0j9rcbfq5] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.case-page-nav span[b-u0j9rcbfq5] {
    margin-right: 0.25rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.case-page-nav a[b-u0j9rcbfq5] {
    color: var(--color-brand);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

.case-page-nav a:hover[b-u0j9rcbfq5] {
    color: var(--color-ink);
}

.case-page-nav a:focus-visible[b-u0j9rcbfq5],
.case-primary:focus-visible[b-u0j9rcbfq5],
.case-secondary:focus-visible[b-u0j9rcbfq5] {
    outline: 3px solid var(--color-brand-accent);
    outline-offset: 3px;
}

.case-summary[b-u0j9rcbfq5] {
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    background: var(--color-ink-surface);
    color: var(--color-on-ink);
}

.case-summary .case-label[b-u0j9rcbfq5],
.case-summary .timeline-label[b-u0j9rcbfq5] {
    color: var(--color-on-ink-accent);
}

.case-summary .case-section-intro > p[b-u0j9rcbfq5],
.case-summary .timeline-stage p:last-child[b-u0j9rcbfq5] {
    color: var(--color-on-ink-muted);
}

.case-summary h2[b-u0j9rcbfq5],
.case-summary .timeline-stage h3[b-u0j9rcbfq5] {
    color: var(--color-on-ink);
}

.case-section-intro[b-u0j9rcbfq5] {
    max-width: var(--case-shell);
    box-sizing: border-box;
    margin: 0 auto;
    padding-right: clamp(1.25rem, 4vw, 3rem);
    padding-left: clamp(1.25rem, 4vw, 3rem);
}

.threshold-timeline[b-u0j9rcbfq5] {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
    max-width: var(--case-shell);
    box-sizing: border-box;
    margin: 2.5rem auto 0;
    padding: 0 clamp(1.25rem, 4vw, 3rem);
    list-style: none;
}

.threshold-timeline[b-u0j9rcbfq5]::before {
    position: absolute;
    top: 1rem;
    right: clamp(3rem, 8vw, 6rem);
    left: clamp(3rem, 8vw, 6rem);
    height: 1px;
    background: var(--color-on-ink-muted);
    content: "";
}

.timeline-stage[b-u0j9rcbfq5] {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.timeline-marker[b-u0j9rcbfq5] {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    margin-bottom: 1rem;
    border: 1px solid var(--color-on-ink-muted);
    border-radius: 50%;
    background: var(--color-ink-surface);
    color: var(--color-on-ink);
    font-size: 0.85rem;
    font-weight: 800;
}

.timeline-stage.is-storage .timeline-marker[b-u0j9rcbfq5] {
    border-color: var(--color-brand);
}

.timeline-stage.is-holding .timeline-marker[b-u0j9rcbfq5] {
    border-color: var(--color-on-ink-accent);
    background: var(--color-on-ink-accent);
    color: var(--color-ink-surface);
}

.timeline-stage.is-last-holding .timeline-marker[b-u0j9rcbfq5] {
    border-color: var(--color-on-ink);
    background: var(--color-on-ink);
    color: var(--color-ink-surface);
}

.timeline-stage.is-breach .timeline-marker[b-u0j9rcbfq5] {
    border-color: var(--color-on-ink-accent);
    border-style: dashed;
    border-width: 2px;
}

.timeline-stage.is-end .timeline-marker[b-u0j9rcbfq5] {
    background: var(--color-on-ink);
    color: var(--color-ink-surface);
}

.timeline-label[b-u0j9rcbfq5] {
    margin-bottom: 0.55rem;
    font-size: 0.7rem;
}

.timeline-stage h3[b-u0j9rcbfq5] {
    margin: 0 0 0.65rem;
    font-family: var(--font-display);
    font-size: 1.1rem;
    line-height: 1.25;
}

.timeline-stage p:last-child[b-u0j9rcbfq5] {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
}

.timeline-stage.is-last-holding[b-u0j9rcbfq5] {
    padding: 0;
}

.timeline-stage.is-last-holding > div:last-child[b-u0j9rcbfq5] {
    margin-top: 0.2rem;
    padding: 0.9rem;
    border: 1px solid var(--color-brand);
    background: var(--color-ink-surface-raised);
}

.run-readouts[b-u0j9rcbfq5],
.reader-changes[b-u0j9rcbfq5],
.cost-components[b-u0j9rcbfq5] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1.5rem 0 2rem;
    border-top: 1px solid var(--color-ink);
}

.run-readouts article[b-u0j9rcbfq5],
.reader-changes article[b-u0j9rcbfq5],
.cost-components article[b-u0j9rcbfq5] {
    padding: 1.25rem 2rem 1.25rem 0;
    border-bottom: 1px solid var(--color-border);
}

.run-readouts span[b-u0j9rcbfq5],
.run-readouts small[b-u0j9rcbfq5] {
    display: block;
    color: var(--color-muted);
    font-size: 0.8rem;
}

.run-readouts strong[b-u0j9rcbfq5] {
    display: block;
    margin: 0.35rem 0;
    font-family: var(--font-display);
    font-size: 1.5rem;
}

.case-emphasis[b-u0j9rcbfq5] {
    margin: 1.5rem 0 2.5rem;
    padding-left: 1rem;
    border-left: 3px solid var(--color-brand);
    color: var(--color-ink) !important;
    font-weight: 600;
}

.cost-components dl[b-u0j9rcbfq5] {
    margin: 0;
}

.cost-components dl div[b-u0j9rcbfq5] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--color-border);
}

.cost-components dd[b-u0j9rcbfq5] {
    margin-left: 0;
    text-align: right;
}

.cost-components h3[b-u0j9rcbfq5],
.reader-changes h3[b-u0j9rcbfq5] {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: 1.15rem;
}

.reader-changes p[b-u0j9rcbfq5] {
    color: var(--color-home-copy);
    line-height: 1.6;
}

.case-note[b-u0j9rcbfq5] {
    margin-top: 1.5rem;
}

.case-paths[b-u0j9rcbfq5] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.75rem;
}

.case-primary[b-u0j9rcbfq5],
.case-secondary[b-u0j9rcbfq5] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-height: 5.5rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid var(--color-brand);
    font-weight: 700;
    text-decoration: none;
}

.case-primary[b-u0j9rcbfq5] {
    background: var(--color-brand);
    color: #fff;
}

.case-secondary[b-u0j9rcbfq5] {
    color: var(--color-brand);
}

.case-primary:hover[b-u0j9rcbfq5],
.case-secondary:hover[b-u0j9rcbfq5] {
    border-color: var(--color-ink);
    background: var(--color-ink);
    color: #fff;
}

.case-paths small[b-u0j9rcbfq5] {
    font-size: 0.86rem;
    font-weight: 400;
    line-height: 1.4;
}

@media (max-width: 800px) {
    .case-page-nav[b-u0j9rcbfq5] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .case-page-nav span[b-u0j9rcbfq5] {
        grid-column: 1 / -1;
    }

    .threshold-timeline[b-u0j9rcbfq5] {
        display: block;
        margin-top: 2rem;
    }

    .threshold-timeline[b-u0j9rcbfq5]::before {
        top: 1rem;
        bottom: 1rem;
        left: calc(clamp(1.25rem, 4vw, 3rem) + 1rem);
        width: 1px;
        height: auto;
    }

    .timeline-stage[b-u0j9rcbfq5] {
        display: grid;
        grid-template-columns: 2rem minmax(0, 1fr);
        gap: 1rem;
        padding-bottom: 2rem;
    }

    .timeline-stage:last-child[b-u0j9rcbfq5] {
        padding-bottom: 0;
    }

    .timeline-marker[b-u0j9rcbfq5] {
        margin: 0;
    }

    .run-readouts[b-u0j9rcbfq5],
    .reader-changes[b-u0j9rcbfq5],
    .cost-components[b-u0j9rcbfq5],
    .case-paths[b-u0j9rcbfq5] {
        grid-template-columns: 1fr;
    }
}
/* /Components/ChartFrame.razor.rz.scp.css */
.chart-section[b-pgh85q5k5i] {
    min-width: 0;
    max-width: 100%;
    padding-top: var(--chart-frame-padding-top, 1rem);
}

.chart-heading[b-pgh85q5k5i] {
    display: flex;
    align-items: var(--chart-frame-heading-align, flex-start);
    flex-direction: var(--chart-frame-heading-direction, row);
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    padding-bottom: var(--chart-frame-heading-padding-bottom, 0);
    border-bottom: var(--chart-frame-heading-border, 0);
}

.chart-heading h2[b-pgh85q5k5i] {
    margin: 0;
    font-size: var(--chart-frame-heading-size, 1.2rem);
}

.chart-heading p:not(.section-index)[b-pgh85q5k5i] {
    margin: var(--chart-frame-description-margin, 0.4rem 0 0);
    color: var(--chart-frame-muted, var(--color-muted));
}

.section-index[b-pgh85q5k5i] {
    margin: 0 0 0.35rem;
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.unit-badge[b-pgh85q5k5i] {
    padding: 0.25rem 0.5rem;
    border: 1px solid currentColor;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 700;
}

@media (max-width: 760px) {
    .chart-heading.stack-on-mobile[b-pgh85q5k5i] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Components/CostByFleet.razor.rz.scp.css */
/* Cost above, the energy it bought below, so the eye compares the two distributions directly
   rather than reading two figures and subtracting. */
.cost-mix-pair[b-m11vh46rj3] {
    display: grid;
    gap: 1.1rem;
}

.reconcile-alert[b-m11vh46rj3] {
    margin-top: 1.2rem;
}
/* /Components/CsvDownload.razor.rz.scp.css */
.csv-download[b-4pghzp23ox] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.csv-download:hover[b-4pghzp23ox] {
    border-color: var(--accent);
    background: var(--accent-soft);
}
/* /Components/FindingCards.razor.rz.scp.css */
.findings[b-2u1ssj8uxk] {
    margin: 1.75rem 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-strong);
}

.findings-heading .section-label[b-2u1ssj8uxk] {
    margin: 0 0 0.25rem;
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.findings-heading h2[b-2u1ssj8uxk] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 600;
}

.findings-heading p:not(.section-label)[b-2u1ssj8uxk] {
    max-width: 720px;
    margin: 0.35rem 0 0;
    color: var(--color-muted);
}

.finding-cards[b-2u1ssj8uxk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(288px, 100%), 1fr));
    gap: 1px;
    margin-top: 1.25rem;
    /* One-pixel gaps over a border colour give hairline rules between cards without each card
       drawing its own box, which at this density reads as a grid rather than as clutter. */
    background: var(--color-border);
    border: 1px solid var(--color-border);
}

.finding[b-2u1ssj8uxk] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.15rem 1.25rem 1.25rem;
    background: var(--color-surface);
    border-top: 3px solid var(--finding-tone, var(--color-muted));
}

.finding-tone[b-2u1ssj8uxk] {
    margin: 0;
    color: var(--finding-tone, var(--color-muted));
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.finding h3[b-2u1ssj8uxk] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.32;
}

.finding-metric[b-2u1ssj8uxk] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    margin: 0.15rem 0 0;
}

.finding-metric strong[b-2u1ssj8uxk] {
    color: var(--finding-tone, var(--color-ink));
    font-family: var(--font-display);
    font-size: 1.85rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 1;
}

.finding-metric small[b-2u1ssj8uxk] {
    color: var(--color-muted);
    font-size: 0.76rem;
}

.finding-detail[b-2u1ssj8uxk] {
    margin: 0;
    color: var(--color-home-copy);
    font-size: 0.86rem;
    line-height: 1.55;
}

.finding a[b-2u1ssj8uxk] {
    margin-top: auto;
    padding-top: 0.35rem;
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
}

.finding a:hover[b-2u1ssj8uxk] {
    text-decoration: underline;
}

.findings-more[b-2u1ssj8uxk] {
    margin: 0.9rem 0 0;
}

.findings-more a[b-2u1ssj8uxk] {
    color: var(--accent);
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
}

.findings-more a:hover[b-2u1ssj8uxk] {
    text-decoration: underline;
}

.tone-neutral[b-2u1ssj8uxk] {
    --finding-tone: var(--color-track-fill);
}

.tone-favourable[b-2u1ssj8uxk] {
    --finding-tone: var(--color-positive);
}

.tone-caution[b-2u1ssj8uxk] {
    --finding-tone: var(--color-notice);
}

.tone-constraint[b-2u1ssj8uxk] {
    --finding-tone: var(--color-negative);
}
/* /Components/LandingPublishedProof.razor.rz.scp.css */
.landing-proof[b-4sjbb650qk] {
    min-width: 0;
}

.proof-plots[b-4sjbb650qk] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.5rem, 4vw, 4rem);
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border);
}

.proof-plots figure[b-4sjbb650qk] {
    min-width: 0;
    margin: 0;
}

.proof-plots figcaption[b-4sjbb650qk] {
    min-height: 5.6rem;
    margin-bottom: 1rem;
}

.proof-plots figcaption p[b-4sjbb650qk] {
    max-width: 40ch;
    margin: 0.45rem 0 0;
    color: var(--color-home-copy);
    font-size: 0.88rem;
    line-height: 1.5;
}

.plot-label[b-4sjbb650qk] {
    margin: 0 0 0.35rem;
    color: var(--color-brand);
    font-size: var(--type-eyebrow);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.proof-plots h3[b-4sjbb650qk],
.threshold-signals h3[b-4sjbb650qk] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.proof-basis[b-4sjbb650qk] {
    max-width: 74ch;
    margin: 1rem 0 0;
    color: var(--color-muted);
    font-size: 0.86rem;
    line-height: 1.6;
}

.proof-basis p[b-4sjbb650qk] {
    margin: 0;
}

.threshold-signals[b-4sjbb650qk] {
    display: grid;
    grid-template-columns: minmax(13rem, 0.65fr) minmax(0, 1.35fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    margin-top: clamp(2.5rem, 6vw, 4.5rem);
}

.threshold-signals ol[b-4sjbb650qk] {
    display: grid;
    grid-template-columns: repeat(5, minmax(9rem, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--color-ink);
    list-style: none;
}

.threshold-signals li[b-4sjbb650qk] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1rem 1rem 1.15rem 0;
    border-bottom: 1px solid var(--color-border);
}

.threshold-signals span[b-4sjbb650qk] {
    color: var(--color-muted);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.35;
    text-transform: uppercase;
}

.threshold-signals strong[b-4sjbb650qk] {
    display: block;
    margin: 0.55rem 0 0.45rem;
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.18;
}

.threshold-signals small[b-4sjbb650qk] {
    color: var(--color-home-copy);
    font-size: 0.82rem;
    line-height: 1.5;
}

@media (max-width: 960px) {
    .threshold-signals[b-4sjbb650qk] {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .threshold-signals ol[b-4sjbb650qk] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .proof-plots[b-4sjbb650qk],
    .threshold-signals ol[b-4sjbb650qk] {
        grid-template-columns: 1fr;
    }

    .proof-plots[b-4sjbb650qk] {
        gap: 2.5rem;
    }

    .proof-plots figcaption[b-4sjbb650qk] {
        min-height: 0;
    }

}
/* /Components/MarketingAssumptions.razor.rz.scp.css */
.assumption-cards[b-otrjskcupa] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--color-ink);
}

.assumption-cards article[b-otrjskcupa] {
    display: flex;
    flex-direction: column;
    padding: 1.35rem 1.75rem 1.5rem 0;
    border-bottom: 1px solid var(--color-border-strong);
}

.assumption-cards h3[b-otrjskcupa] {
    margin: 0 0 0.55rem;
    font-family: var(--font-display);
    font-size: 1.06rem;
    font-weight: 600;
    line-height: 1.3;
}

.assumption-cards p[b-otrjskcupa] {
    margin: 0 0 1rem;
    color: var(--color-home-copy);
    font-size: 0.92rem;
    line-height: 1.65;
}

.assumption-cards a[b-otrjskcupa] {
    margin-top: auto;
    color: var(--color-brand);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
}

.assumption-cards a:hover[b-otrjskcupa] {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

@media (max-width: 800px) {
    .assumption-cards[b-otrjskcupa] {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(82%, 1fr);
        gap: 1rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        overscroll-behavior-inline: contain;
    }

    .assumption-cards article[b-otrjskcupa] {
        padding-right: 1rem;
        scroll-snap-align: start;
    }
}

/* Paper cannot scroll sideways, so the cards stack in two columns whatever the page width. */
@media print {
    .assumption-cards[b-otrjskcupa] {
        grid-template-columns: 1fr 1fr;
        grid-auto-flow: row;
        grid-auto-columns: auto;
        overflow: visible;
    }

    .assumption-cards article[b-otrjskcupa] {
        break-inside: avoid;
    }
}
/* /Components/MetricStrip.razor.rz.scp.css */
.metric-strip[b-a754255t7f] {
    display: grid;
    grid-template-columns: repeat(var(--metric-columns), minmax(0, 1fr));
    margin-top: 1.5rem;
    overflow: hidden;
    border-top: 1px solid var(--metric-border, var(--color-border));
    border-bottom: 1px solid var(--metric-border, var(--color-border));
}

.metric[b-a754255t7f] {
    min-width: 0;
    padding: 1rem 1.15rem;
    border-right: 1px solid var(--metric-border, var(--color-border));
}

.metric:last-child[b-a754255t7f] {
    border-right: 0;
}

.metric span[b-a754255t7f],
.metric small[b-a754255t7f] {
    display: block;
    color: var(--metric-muted, var(--color-muted));
    font-size: var(--metric-label-size, 0.8rem);
}

.metric strong[b-a754255t7f] {
    display: inline-block;
    margin: var(--metric-value-margin, 0.2rem 0.3rem 0 0);
    color: var(--metric-accent, var(--accent));
    font-family: var(--font-display);
    font-size: var(--metric-value-size, 1.75rem);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .metric-strip[b-a754255t7f] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .metric:nth-child(odd)[b-a754255t7f] {
        border-bottom: 1px solid var(--metric-border, var(--color-border));
    }

    .metric:nth-child(even)[b-a754255t7f] {
        border-right: 0;
        border-bottom: 1px solid var(--metric-border, var(--color-border));
    }

    .metric:nth-last-child(-n + 2)[b-a754255t7f] {
        border-bottom: 0;
    }
}

@media (max-width: 420px) {
    .metric-strip[b-a754255t7f] {
        grid-template-columns: 1fr;
    }

    .metric[b-a754255t7f],
    .metric:nth-child(odd)[b-a754255t7f],
    .metric:nth-child(even)[b-a754255t7f] {
        border-right: 0;
        border-bottom: 1px solid var(--metric-border, var(--color-border));
    }

    .metric:last-child[b-a754255t7f] {
        border-bottom: 0;
    }
}
/* /Components/PageHeader.razor.rz.scp.css */
.page-header[b-kdbowsc0r8] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: var(--page-header-padding-bottom, 1.25rem);
    border-bottom: 1px solid var(--page-header-border, var(--color-border));
}

.eyebrow[b-kdbowsc0r8] {
    margin: 0 0 0.35rem;
    color: var(--accent);
    font-size: var(--type-eyebrow, 0.78rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

h1[b-kdbowsc0r8] {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--page-header-title-size, clamp(2rem, 4vw, 3.4rem));
    font-weight: 600;
    letter-spacing: 0;
}

@media (max-width: 760px) {
    .page-header[b-kdbowsc0r8] {
        align-items: stretch;
        flex-direction: column;
        gap: 1rem;
    }
}
/* /Components/ProvenanceFooter.razor.rz.scp.css */
.provenance-footer[b-zk7r4dygij] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 2rem;
    margin-top: 1rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--color-border);
}

.provenance-footer div[b-zk7r4dygij] {
    min-width: 0;
}

.provenance-footer span[b-zk7r4dygij],
.provenance-footer strong[b-zk7r4dygij],
.provenance-footer small[b-zk7r4dygij] {
    display: block;
}

.provenance-footer span[b-zk7r4dygij],
.provenance-footer small[b-zk7r4dygij] {
    color: var(--color-muted);
    font-size: 0.78rem;
}

.provenance-footer span[b-zk7r4dygij] {
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.provenance-footer strong[b-zk7r4dygij] {
    font-size: 0.9rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.provenance-footer small[b-zk7r4dygij] {
    margin-top: 0.2rem;
    overflow-wrap: anywhere;
}

.provenance-footer a[b-zk7r4dygij] {
    color: inherit;
}

@media (max-width: 760px) {
    .provenance-footer[b-zk7r4dygij] {
        grid-template-columns: 1fr;
    }
}
/* /Components/RegionCompareGrid.razor.rz.scp.css */
.region-compare[b-ey865ajf4i] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-strong);
}

.section-label[b-ey865ajf4i] {
    margin: 0 0 0.25rem;
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.section-heading h2[b-ey865ajf4i] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 600;
}

.section-heading p:not(.section-label)[b-ey865ajf4i] {
    max-width: 720px;
    margin: 0.35rem 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.compare-export[b-ey865ajf4i] {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.35rem;
}

.compare-metrics[b-ey865ajf4i] {
    margin-top: 0.6rem;
    overflow-x: auto;
    border-block: 1px solid var(--color-border);
}

.data-table[b-ey865ajf4i] {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    font-size: 0.83rem;
}

.data-table th[b-ey865ajf4i],
.data-table td[b-ey865ajf4i] {
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid var(--color-border);
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.data-table th:first-child[b-ey865ajf4i],
.data-table td:first-child[b-ey865ajf4i] {
    text-align: left;
}

.data-table thead th[b-ey865ajf4i] {
    color: var(--color-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.data-table tbody tr:last-child th[b-ey865ajf4i],
.data-table tbody tr:last-child td[b-ey865ajf4i] {
    border-bottom: 0;
}

.cell-shortfall[b-ey865ajf4i] {
    color: var(--color-negative);
    font-weight: 700;
}

.compare-scope-note[b-ey865ajf4i] {
    margin: 0.6rem 0 0;
    color: var(--color-muted);
    font-size: 0.78rem;
}

/* One column per region while they fit, so the panels are read side by side rather than stacked
   and compared from memory. */
.compare-panels[b-ey865ajf4i] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.compare-legend[b-ey865ajf4i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1.25rem;
    padding: 1rem 0 0;
    color: var(--color-muted);
    font-size: 0.82rem;
}

.compare-legend span[b-ey865ajf4i] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.compare-legend i[b-ey865ajf4i] {
    display: inline-block;
    width: 14px;
    height: 8px;
}

.compare-legend .demand-key[b-ey865ajf4i] {
    height: 2px;
    background: var(--color-demand-line);
}

.compare-axis-note[b-ey865ajf4i] {
    color: var(--color-muted);
    font-variant-numeric: tabular-nums;
    opacity: 0.85;
}

.compare-trade[b-ey865ajf4i] {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-border);
}

.compare-trade h3[b-ey865ajf4i] {
    margin: 0 0 0.85rem;
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 600;
}

.compare-trade ul[b-ey865ajf4i] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--color-border);
    border: 1px solid var(--color-border);
}

.compare-trade li[b-ey865ajf4i] {
    padding: 0.85rem 1rem;
    background: var(--color-surface);
}

.compare-trade li.is-idle[b-ey865ajf4i] {
    color: var(--color-muted);
}

.compare-trade strong[b-ey865ajf4i],
.compare-trade span[b-ey865ajf4i],
.compare-trade small[b-ey865ajf4i] {
    display: block;
}

.compare-trade strong[b-ey865ajf4i] {
    font-size: 0.82rem;
}

.compare-trade span[b-ey865ajf4i] {
    margin: 0.15rem 0;
    color: var(--accent);
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.compare-trade li.is-idle span[b-ey865ajf4i] {
    color: var(--color-muted);
}

.compare-trade small[b-ey865ajf4i] {
    color: var(--color-muted);
    font-size: 0.75rem;
    line-height: 1.45;
}
/* /Components/ScopeLine.razor.rz.scp.css */
.scope-line[b-2205fr4kjp] {
    margin: 0.4rem 0 0;
    color: var(--color-muted);
}
/* /Components/SizingTrajectory.razor.rz.scp.css */
.sizing-trajectory[b-gfb2v0nquf] {
    margin-top: 2.5rem;
}

.section-heading[b-gfb2v0nquf] {
    max-width: 70ch;
    margin-bottom: 1.4rem;
}

.section-label[b-gfb2v0nquf] {
    margin: 0 0 0.35rem;
    color: var(--color-muted);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.section-heading h2[b-gfb2v0nquf] {
    margin: 0 0 0.6rem;
    font-size: 1.35rem;
}

.section-heading p[b-gfb2v0nquf] {
    margin: 0;
    color: var(--color-ink-soft);
    line-height: 1.6;
}

.sizing-note[b-gfb2v0nquf] {
    max-width: 80ch;
    margin: 1rem 0 0;
    color: var(--color-muted);
    font-size: 0.85rem;
    line-height: 1.6;
}

.row-collapsed td[b-gfb2v0nquf] {
    padding: 0.5rem 0.8rem;
    text-align: center;
}

.show-all-passes[b-gfb2v0nquf] {
    padding: 0.4rem 0.9rem;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-ink-soft);
    font: inherit;
    font-size: 0.8rem;
    cursor: pointer;
}

.show-all-passes:hover[b-gfb2v0nquf] {
    border-color: var(--color-ink-soft);
    color: var(--color-ink);
}
/* /Components/SweepChart.razor.rz.scp.css */
.sweep-chart-axis[b-2sijwxvecn] {
    margin: 0.5rem 0;
    color: var(--color-muted);
    font-size: 0.8rem;
}

.sweep-chart-note[b-2sijwxvecn] {
    margin: 0.25rem 0 0;
    color: var(--color-muted);
    font-size: 0.75rem;
}

.sweep-omissions[b-2sijwxvecn] {
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-left: 3px solid var(--color-notice);
    background: var(--color-surface-muted);
}

.sweep-omissions h3[b-2sijwxvecn] {
    margin: 0;
    font-size: 0.9rem;
}

.sweep-omissions ul[b-2sijwxvecn] {
    display: grid;
    gap: 0.4rem;
    margin: 0.7rem 0 0;
    padding: 0;
    list-style: none;
}

.sweep-omissions li[b-2sijwxvecn] {
    display: grid;
    gap: 0.15rem;
}

.sweep-omissions span[b-2sijwxvecn] {
    color: var(--color-muted);
}
/* /Components/SweepCostDivergence.razor.rz.scp.css */
.divergence-note[b-c0xiafuxei] {
    color: var(--color-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

.divergence-readout[b-c0xiafuxei] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1px;
    margin-top: 1.25rem;
    background: var(--color-border);
    border: 1px solid var(--color-border);
}

.divergence-cell[b-c0xiafuxei] {
    padding: 0.9rem 1rem 1rem;
    background: var(--color-surface);
}

.divergence-cell.is-highlighted[b-c0xiafuxei] {
    background: var(--color-notice-soft);
}

.divergence-cell > span[b-c0xiafuxei] {
    display: block;
    color: var(--color-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.divergence-cell > strong[b-c0xiafuxei] {
    display: block;
    margin: 0.15rem 0 0.6rem;
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 600;
}

.divergence-cell dl[b-c0xiafuxei] {
    margin: 0;
}

.divergence-cell dl div[b-c0xiafuxei] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.3rem 0;
    border-top: 1px solid var(--color-track);
}

.divergence-cell dt[b-c0xiafuxei] {
    color: var(--color-muted);
    font-size: 0.76rem;
}

.divergence-cell dd[b-c0xiafuxei] {
    margin: 0;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}
/* /Components/SweepOutcomeSummary.razor.rz.scp.css */
.outcome-summary[b-55094kl8d4] {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-border);
}

.outcome-summary h2[b-55094kl8d4] {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 600;
}

.outcome-cards[b-55094kl8d4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1px;
    border: 1px solid var(--color-border);
    background: var(--color-border);
}

.outcome-card[b-55094kl8d4] {
    display: grid;
    align-content: start;
    gap: 0.2rem;
    min-width: 0;
    padding: 1rem 1.1rem;
    background: var(--color-surface);
}

.outcome-card.outcome-good[b-55094kl8d4] {
    background: var(--accent-soft);
}

.outcome-card.outcome-notice[b-55094kl8d4] {
    box-shadow: inset 3px 0 0 var(--color-notice);
}

.outcome-label[b-55094kl8d4] {
    color: var(--color-muted);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.outcome-card strong[b-55094kl8d4] {
    font-family: var(--font-display);
    font-size: 1.7rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 1.15;
}

.outcome-card strong small[b-55094kl8d4] {
    margin-left: 0.4rem;
    color: var(--color-muted);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 400;
}

.outcome-card p[b-55094kl8d4] {
    margin: 0.3rem 0 0;
    color: var(--color-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

.outcome-failures[b-55094kl8d4] {
    margin-top: 1.25rem;
    padding: 0.9rem 1.1rem;
    border-left: 3px solid var(--color-notice);
    background: var(--color-surface-muted);
}

.outcome-failures h3[b-55094kl8d4] {
    margin: 0;
    font-size: 0.9rem;
}

.outcome-failures ul[b-55094kl8d4] {
    display: grid;
    gap: 0.75rem;
    margin: 0.7rem 0 0;
    padding: 0;
    list-style: none;
}

.outcome-failures li[b-55094kl8d4] {
    display: grid;
    gap: 0.2rem;
}

.outcome-failures li > div[b-55094kl8d4] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.outcome-failures code[b-55094kl8d4] {
    padding: 0.1rem 0.35rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 3px;
    background: var(--color-surface);
    color: var(--color-muted);
    font-size: 0.72rem;
}

.outcome-failures span[b-55094kl8d4] {
    color: var(--color-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

.outcome-failure-points[b-55094kl8d4] {
    font-weight: 700;
}
/* /Components/SweepRunTable.razor.rz.scp.css */
.run-table-section[b-8dksybob75] {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-border);
}

.run-table-heading[b-8dksybob75] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    margin-bottom: 1rem;
}

.run-table-heading h2[b-8dksybob75] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 600;
}

.run-table-heading p[b-8dksybob75] {
    max-width: 60ch;
    margin: 0.25rem 0 0;
    color: var(--color-muted);
    font-size: 0.85rem;
}


/* Same scroll-shadow technique as the shared .table-wrap (see app.css) - this table doesn't use
   that class since it needs its own sticky-column handling, but the same wide-table-on-mobile
   problem applies. */
.run-table-scroll[b-8dksybob75] {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    background-color: var(--color-surface);
    background-image:
        linear-gradient(to right, var(--color-surface) 50%, transparent),
        linear-gradient(to left, var(--color-surface) 50%, transparent),
        linear-gradient(to right, rgba(23, 33, 43, 0.15), transparent),
        linear-gradient(to left, rgba(23, 33, 43, 0.15), transparent);
    background-position: left, right, left, right;
    background-repeat: no-repeat;
    background-size: 24px 100%, 24px 100%, 10px 100%, 10px 100%;
    background-attachment: local, local, scroll, scroll;
}

.run-table[b-8dksybob75] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--color-border);
}

.run-table th[b-8dksybob75],
.run-table td[b-8dksybob75] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    white-space: nowrap;
}

.run-table thead th[b-8dksybob75] {
    position: sticky;
    top: 0;
    background: var(--color-surface-table);
    color: var(--color-muted);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    vertical-align: bottom;
}

.run-table thead th small[b-8dksybob75] {
    display: block;
    color: var(--color-muted);
    font-size: 0.66rem;
    font-weight: 400;
    text-transform: none;
}

/* The run name stays visible while the reader scrolls across a wide row of figures. */
.run-table .sticky-column[b-8dksybob75] {
    position: sticky;
    left: 0;
    z-index: 1;
    border-right: 1px solid var(--color-border);
    background: var(--color-surface);
}

.run-table thead .sticky-column[b-8dksybob75] {
    z-index: 2;
    background: var(--color-surface-table);
}

.run-table tbody th[b-8dksybob75] {
    font-size: 0.85rem;
    font-weight: 700;
}

.run-table td[b-8dksybob75] {
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.run-table tbody tr:last-child th[b-8dksybob75],
.run-table tbody tr:last-child td[b-8dksybob75] {
    border-bottom: 0;
}

.run-table tbody tr:hover td[b-8dksybob75],
.run-table tbody tr:hover .sticky-column[b-8dksybob75] {
    background: var(--accent-soft);
}

.run-table a[b-8dksybob75] {
    color: var(--accent);
    font-weight: 700;
}

/* The reference run is tinted rather than outlined, so it survives horizontal scrolling of a wide
   table where a border on one edge would scroll out of view. */
.run-table .run-highlighted td[b-8dksybob75],
.run-table .run-highlighted th[b-8dksybob75] {
    background: var(--color-notice-soft);
}

.run-table .cell-derived[b-8dksybob75] {
    font-weight: 700;
}

.run-failed[b-8dksybob75] {
    color: var(--color-notice);
    font-weight: 700;
}

.run-constrained[b-8dksybob75] {
    color: var(--color-notice);
    font-weight: 700;
}

.within-target[b-8dksybob75] {
    color: var(--accent);
    font-weight: 700;
}

.outside-target[b-8dksybob75] {
    color: var(--color-notice);
    font-weight: 700;
}

.run-failure[b-8dksybob75] {
    display: inline-block;
    max-width: 28ch;
    overflow: hidden;
    color: var(--color-muted);
    text-overflow: ellipsis;
}

.visually-hidden[b-8dksybob75] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

@media (max-width: 760px) {
    .run-table-heading[b-8dksybob75] {
        align-items: stretch;
        flex-direction: column;
        gap: 0.75rem;
    }
}

/* On paper the table cannot scroll, so it takes its own landscape pages instead (see @page wide
   in app.css) and drops the scroll shadows. */
@media print {
    .run-table-scroll[b-8dksybob75] {
        page: wide;
        overflow: visible;
        background-image: none;
        font-size: 0.8rem;
    }
}
/* /Components/SweepScalarGrid.razor.rz.scp.css */
.scalar-grid[b-b8nsnz5z4c] {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-border);
}

.scalar-grid-heading h3[b-b8nsnz5z4c] {
    margin: 0;
    font-size: 1rem;
}

.scalar-grid-heading p[b-b8nsnz5z4c] {
    margin: 0.25rem 0 1rem;
    color: var(--color-muted);
    font-size: 0.8rem;
}

.scalar-tiles[b-b8nsnz5z4c] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 1px;
    border: 1px solid var(--color-border);
    background: var(--color-border);
}

.scalar-tile[b-b8nsnz5z4c] {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.85rem 0.9rem;
    border: 0;
    background: var(--color-surface);
    color: var(--accent);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.scalar-tile:hover:not(:disabled)[b-b8nsnz5z4c],
.scalar-tile.selected[b-b8nsnz5z4c] {
    background: var(--accent-soft);
}

.scalar-tile.selected[b-b8nsnz5z4c] {
    box-shadow: inset 3px 0 0 var(--accent);
}

.scalar-tile:disabled[b-b8nsnz5z4c] {
    color: var(--color-muted);
    cursor: default;
}

.scalar-tile-label[b-b8nsnz5z4c] {
    color: var(--color-ink);
    font-size: 0.85rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.scalar-tile-unit[b-b8nsnz5z4c],
.scalar-tile-range[b-b8nsnz5z4c],
.scalar-tile-absent[b-b8nsnz5z4c] {
    color: var(--color-muted);
    font-size: 0.72rem;
}

.scalar-tile-range[b-b8nsnz5z4c] {
    font-variant-numeric: tabular-nums;
}

/* The grid background shows through any unfilled cell, so an odd last tile fills the row. */
.scalar-tile:last-child:nth-child(odd)[b-b8nsnz5z4c] {
    grid-column: 1 / -1;
}

.scalar-spark[b-b8nsnz5z4c] {
    width: 100%;
    height: 34px;
    margin: 0.35rem 0 0.15rem;
}

@media (max-width: 420px) {
    .scalar-tiles[b-b8nsnz5z4c] {
        grid-template-columns: 1fr;
    }
}
/* /Components/SweepTradeoffExplorer.razor.rz.scp.css */
.tradeoff[b-pde241hhs8] {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-strong);
}

.tradeoff-heading[b-pde241hhs8] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 1.35rem;
}

.section-index[b-pde241hhs8] {
    margin: 0 0 0.25rem;
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tradeoff-heading h2[b-pde241hhs8] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 600;
}

.tradeoff-heading p:not(.section-index)[b-pde241hhs8] {
    max-width: 620px;
    margin: 0.35rem 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.tradeoff-controls[b-pde241hhs8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.tradeoff-select[b-pde241hhs8] {
    width: 250px;
    min-width: 0;
}

.tradeoff-empty[b-pde241hhs8] {
    margin-top: 1rem;
}

.tradeoff-relationship[b-pde241hhs8] {
    color: var(--color-ink);
    font-weight: 700;
}

@media (max-width: 860px) {
    .tradeoff-heading[b-pde241hhs8] {
        align-items: flex-start;
    }

    .tradeoff-controls[b-pde241hhs8] {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        width: 100%;
    }

    .tradeoff-select[b-pde241hhs8] {
        width: auto;
    }
}
/* /Components/Viz/CompareBars.razor.rz.scp.css */
.compare-bars[b-mmv6jqv81z] {
    display: grid;
    gap: 0.55rem;
}

.compare-row[b-mmv6jqv81z] {
    display: grid;
    grid-template-columns: minmax(72px, 0.9fr) minmax(0, 3fr) minmax(72px, auto);
    align-items: center;
    gap: 0.75rem;
}

.compare-row.is-muted[b-mmv6jqv81z] {
    opacity: 0.62;
}

.compare-label[b-mmv6jqv81z] {
    overflow: hidden;
    color: var(--color-muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compare-track[b-mmv6jqv81z] {
    position: relative;
    height: 12px;
    background: var(--color-track);
}

.compare-track i[b-mmv6jqv81z] {
    display: block;
    height: 100%;
}

/* The reference is a threshold, not a series, so it is drawn as a rule across the track rather
   than as a second bar competing for the same length. */
.compare-track b[b-mmv6jqv81z] {
    position: absolute;
    top: -3px;
    bottom: -3px;
    width: 2px;
    background: var(--color-ink);
}

.compare-value[b-mmv6jqv81z] {
    font-size: 0.84rem;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.compare-reference[b-mmv6jqv81z] {
    margin: 0.35rem 0 0;
    color: var(--color-muted);
    font-size: 0.76rem;
}

@media (max-width: 640px) {
    .compare-row[b-mmv6jqv81z] {
        grid-template-columns: minmax(60px, 1fr) minmax(0, 2fr) minmax(64px, auto);
        gap: 0.5rem;
    }
}
/* /Components/Viz/MixBar.razor.rz.scp.css */
.mix-bar[b-soue07fi76] {
    min-width: 0;
}

.mix-bar-heading[b-soue07fi76] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.4rem;
}

/* A detail with no label beside it sits where the label would have been, rather than pushed to
   the far edge of an otherwise empty row. */
.mix-bar-heading small:only-child[b-soue07fi76] {
    margin-right: auto;
}

.mix-bar-heading span[b-soue07fi76] {
    font-size: 0.85rem;
    font-weight: 700;
}

.mix-bar-heading small[b-soue07fi76] {
    color: var(--color-muted);
    font-size: 0.76rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.mix-bar-track[b-soue07fi76] {
    display: flex;
    overflow: hidden;
    height: 14px;
    border-radius: 2px;
    background: var(--color-track);
}

.mix-bar-track i[b-soue07fi76] {
    display: block;
    height: 100%;
}

.mix-bar-legend[b-soue07fi76] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 1rem;
    margin: 0.55rem 0 0;
    padding: 0;
    list-style: none;
    color: var(--color-muted);
    font-size: 0.76rem;
}

.mix-bar-legend li[b-soue07fi76] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.mix-bar-legend i[b-soue07fi76] {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 2px;
}

.mix-bar-legend strong[b-soue07fi76] {
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
}
/* /Components/WeatherBasisNote.razor.rz.scp.css */
.weather-basis[b-ddzyrflji8] {
    margin-top: 2rem;
    padding: 0.9rem 1.1rem;
    border-left: 3px solid var(--color-notice);
    background: var(--color-surface-muted);
}

.weather-basis p[b-ddzyrflji8] {
    margin: 0;
}

.weather-basis-label[b-ddzyrflji8] {
    color: var(--color-notice);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.weather-basis-location[b-ddzyrflji8] {
    margin-top: 0.2rem !important;
    font-size: 0.9rem;
    font-weight: 700;
}

.weather-basis-description[b-ddzyrflji8] {
    max-width: 80ch;
    margin-top: 0.35rem !important;
    color: var(--color-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.weather-basis-location[b-ddzyrflji8],
.weather-basis-description[b-ddzyrflji8] {
    overflow-wrap: anywhere;
}

.weather-basis-source[b-ddzyrflji8] {
    margin-top: 0.4rem !important;
    color: var(--color-muted);
    font-size: 0.72rem;
    overflow-wrap: anywhere;
}
/* /Components/WorkedExample.razor.rz.scp.css */
/* Two figures on one basis. The title states the result, the standfirst says what the result is
   standing on, and the basis sits under the chart where a reader checking the claim will look for
   it. Nothing here is a card: the figures are set on the page like plates in a report. */

.worked-example[b-mf0aw1aqrj] {
    display: grid;
    gap: 3rem;
}

/* The shortfall figure belongs to the cost figure above it: same runs, same x-axis, and the pair
   is the point. Pulled up so it reads as the second half of one exhibit rather than as a fifth
   unrelated chart. */
.worked-figure-paired[b-mf0aw1aqrj] {
    margin-top: -1.75rem;
}

.worked-figure[b-mf0aw1aqrj] {
    margin: 0;
    min-width: 0;
}

.worked-title[b-mf0aw1aqrj] {
    margin-bottom: 1.25rem;
}

.worked-title h3[b-mf0aw1aqrj] {
    max-width: 34ch;
    margin: 0 0 0.6rem;
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 2.6vw, 1.5rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.22;
}

.worked-title p[b-mf0aw1aqrj] {
    max-width: 72ch;
    margin: 0;
    color: var(--color-home-copy);
    font-size: 0.95rem;
    line-height: 1.65;
}

/* The basis line. Without it the statement above is unfalsifiable, so it is set as text a reader
   can actually read rather than as fine print. */

.worked-basis[b-mf0aw1aqrj] {
    max-width: 78ch;
    margin: 1rem 0 0;
    padding-top: 0.85rem;
    border-top: 1px solid var(--color-border);
    color: var(--color-muted);
    font-size: 0.84rem;
    line-height: 1.6;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-1n0o1cfvgo] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-1n0o1cfvgo] {
    flex: 1;
    min-width: 0;
}

.content[b-1n0o1cfvgo] {
    min-width: 0;
}

.sidebar[b-1n0o1cfvgo] {
    background: var(--color-ink-surface-raised);
    border-right: 1px solid var(--color-ink-surface);
}

.top-row[b-1n0o1cfvgo] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.25rem;
    height: 3.5rem;
    border-bottom: 1px solid var(--color-border);
    background-color: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(14px) saturate(160%);
    -webkit-backdrop-filter: blur(14px) saturate(160%);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .top-row[b-1n0o1cfvgo] {
        background-color: var(--color-surface);
    }
}

    .top-row[b-1n0o1cfvgo]  a, .top-row[b-1n0o1cfvgo]  .btn-link {
        white-space: nowrap;
        text-decoration: none;
    }

    .top-row[b-1n0o1cfvgo]  a:hover, .top-row[b-1n0o1cfvgo]  .btn-link:hover {
        text-decoration: underline;
    }

.top-row[b-1n0o1cfvgo]  .top-row-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: 0;
    color: var(--color-muted);
    font-size: 0.85rem;
    font-weight: 500;
}

.top-row[b-1n0o1cfvgo]  .top-row-link:hover {
    color: var(--color-brand-accent);
    text-decoration: none;
}

/* The one action on every results page that leads out of reading and into running. */
.top-row[b-1n0o1cfvgo]  .top-row-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: 0;
    padding: 0.4rem 0.85rem;
    border-radius: var(--radius-sm);
    background: var(--color-brand);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
}

.top-row[b-1n0o1cfvgo]  .top-row-cta:hover {
    background: var(--color-brand-hover);
    text-decoration: none;
}

@media (max-width: 640.98px) {
    .top-row[b-1n0o1cfvgo] {
        gap: 0.85rem;
    }

    /* The two secondary links fall away before the action does. */
    .top-row[b-1n0o1cfvgo]  .top-row-link {
        display: none;
    }
}

@media (min-width: 641px) {
    .page[b-1n0o1cfvgo] {
        flex-direction: row;
    }

    .sidebar[b-1n0o1cfvgo] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-1n0o1cfvgo] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-1n0o1cfvgo], article[b-1n0o1cfvgo] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/MarketingLayout.razor.rz.scp.css */
.marketing[b-s8t6t4yehh] {
    --bar-height: 3.5rem;
    --shell: 1180px;
    --gutter: clamp(1.25rem, 4vw, 3rem);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    color: var(--color-ink);
    background: var(--color-surface);
}

/* Header --------------------------------------------------------------------
   Clear rather than solid. The page is light, so a light bar lets the content
   pass under it instead of capping the page with a slab, and the two dark bands
   - the banner and the sweep - frost as they cross it rather than being covered.
   It stays ours through what sits on it - the serif wordmark, the ochre in it,
   and a filled ink action - rather than through the bar's own colour. */

.marketing-bar[b-s8t6t4yehh] {
    position: sticky;
    top: 0;
    z-index: 20;
    /* Clear: untinted white at low opacity, carried by the blur rather than by a fill. Content
       stays visible passing under it instead of being covered. */
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border-bottom: 1px solid var(--color-border);
}

/* Without backdrop-filter the bar would be translucent text over live content, so it goes opaque. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .marketing-bar[b-s8t6t4yehh] {
        background: var(--color-surface);
    }
}

.marketing-bar-inner[b-s8t6t4yehh] {
    display: flex;
    align-items: center;
    gap: 2.25rem;
    width: 100%;
    max-width: var(--shell);
    height: var(--bar-height);
    margin: 0 auto;
    padding: 0 var(--gutter);
    box-sizing: border-box;
}

.marketing-brand[b-s8t6t4yehh] {
    color: var(--color-ink);
    text-decoration: none;
    --brand-accent: var(--color-brand-accent);
}

.marketing-nav[b-s8t6t4yehh] {
    display: flex;
    gap: 1.5rem;
}

.marketing-menu[b-s8t6t4yehh] {
    display: none;
    position: relative;
}

.marketing-menu summary[b-s8t6t4yehh] {
    color: var(--color-home-copy);
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
}

.marketing-menu nav[b-s8t6t4yehh] {
    position: absolute;
    top: 2rem;
    right: 0;
    display: grid;
    min-width: 14rem;
    padding: 0.6rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
}

.marketing-menu a[b-s8t6t4yehh] {
    padding: 0.55rem 0.65rem;
    color: var(--color-home-copy);
    font-size: 0.85rem;
    text-decoration: none;
}

.marketing-nav a[b-s8t6t4yehh] {
    position: relative;
    padding: 0.15rem 0;
    color: var(--color-home-copy);
    font-size: 0.85rem;
    text-decoration: none;
}

.marketing-nav a:hover[b-s8t6t4yehh] {
    color: var(--color-brand);
}

.marketing-nav a:hover[b-s8t6t4yehh]::after {
    content: "";
    position: absolute;
    inset: auto 0 -0.3rem 0;
    height: 1px;
    background: var(--color-brand-accent);
}

.marketing-actions[b-s8t6t4yehh] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-left: auto;
}

.marketing-cta[b-s8t6t4yehh] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.95rem;
    border: 1px solid var(--color-brand);
    background: var(--color-brand);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.marketing-cta:hover[b-s8t6t4yehh] {
    background: var(--color-brand-hover);
    border-color: var(--color-brand-hover);
}

main[b-s8t6t4yehh] {
    flex: 1;
    min-width: 0;
}

/* Footer ------------------------------------------------------------------- */

.marketing-footer[b-s8t6t4yehh] {
    margin-top: 4rem;
    padding: 3rem 0 2rem;
    border-top: 3px solid var(--color-ink-surface);
    background: var(--color-surface-muted);
}

.marketing-footer-inner[b-s8t6t4yehh] {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 2fr;
    gap: 2.5rem;
    max-width: var(--shell);
    margin: 0 auto;
    padding: 0 var(--gutter);
    box-sizing: border-box;
}

.footer-brand[b-s8t6t4yehh] {
    --brand-accent: var(--color-brand-accent);
}

.footer-brand p[b-s8t6t4yehh] {
    max-width: 34ch;
    margin: 1rem 0 0;
    color: var(--color-home-copy);
    font-size: 0.88rem;
    line-height: 1.65;
}

.footer-links[b-s8t6t4yehh] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
    gap: 1.75rem;
}

.footer-links h2[b-s8t6t4yehh] {
    margin: 0 0 0.75rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-muted);
    font-family: var(--font-body);
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.footer-links a[b-s8t6t4yehh] {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--color-home-copy);
    font-size: 0.87rem;
    text-decoration: none;
}

.footer-links a:hover[b-s8t6t4yehh] {
    color: var(--color-brand-accent);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.footer-note[b-s8t6t4yehh] {
    max-width: var(--shell);
    margin: 2.5rem auto 0;
    padding: 1.5rem var(--gutter) 0;
    border-top: 1px solid var(--color-border);
    box-sizing: border-box;
    color: var(--color-muted);
    font-size: 0.8rem;
    line-height: 1.6;
}

.footer-note a[b-s8t6t4yehh] {
    color: var(--color-brand-accent);
}

@media (max-width: 900px) {
    .marketing-nav[b-s8t6t4yehh] {
        display: none;
    }

    .marketing-menu[b-s8t6t4yehh] {
        display: block;
    }
}

@media (max-width: 640px) {
    .marketing-menu[b-s8t6t4yehh] {
        margin-left: auto;
    }

    .marketing-actions[b-s8t6t4yehh] {
        margin-left: 0;
    }
}

/* At 320px the wordmark, the gutter and a full-width action do not fit together. The action is
   what the bar is for, so the arrow and some padding go rather than the label or the brand. */
@media (max-width: 420px) {
    .marketing-bar-inner[b-s8t6t4yehh] {
        gap: 0.75rem;
        padding: 0 0.85rem;
    }

    .marketing-cta[b-s8t6t4yehh] {
        padding: 0.4rem 0.65rem;
        font-size: 0.8rem;
    }

    .marketing-cta[b-s8t6t4yehh]  .mud-icon-root {
        display: none;
    }

    .marketing-footer-inner[b-s8t6t4yehh] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 350px) {
    .marketing-brand[b-s8t6t4yehh]  .brand-name {
        display: none;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* The sidebar is chrome, so it uses the brand tokens and never a data colour. */

.nav-head[b-7qwmpdf57i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 3.5rem;
    padding: 0 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.navbar-brand[b-7qwmpdf57i] {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    color: var(--color-on-ink) !important;
    line-height: 1;
    text-decoration: none;
    --brand-accent: var(--color-on-ink-accent);
}

.navbar-toggler[b-7qwmpdf57i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem 0.6rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 4px;
    background-color: transparent;
    line-height: 1;
}

.navbar-toggler-icon[b-7qwmpdf57i] {
    display: inline-block;
    width: 1.35em;
    height: 1.35em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.collapse[b-7qwmpdf57i] {
    display: none;
}

/* Scenario card -------------------------------------------------------------
   The one block that answers "what am I looking at?". It is ruled rather than
   boxed, so it reads as a standing label on the sidebar instead of a widget. */

.scenario-card[b-7qwmpdf57i] {
    padding: 1rem 1rem 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    border-left: 3px solid var(--color-on-ink-accent);
}

.scenario-card.scenario-sharedinput[b-7qwmpdf57i],
.scenario-card.scenario-none[b-7qwmpdf57i] {
    border-left-color: rgba(255, 255, 255, 0.22);
}

.scenario-kind[b-7qwmpdf57i] {
    margin: 0 0 0.3rem;
    color: var(--color-on-ink-accent);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.scenario-card.scenario-sharedinput .scenario-kind[b-7qwmpdf57i],
.scenario-card.scenario-none .scenario-kind[b-7qwmpdf57i] {
    color: var(--color-on-ink-muted);
}

.scenario-title[b-7qwmpdf57i] {
    margin: 0;
    color: var(--color-on-ink);
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.25;
}

.scenario-detail[b-7qwmpdf57i] {
    margin: 0.3rem 0 0;
    color: var(--color-on-ink-muted);
    font-size: 0.75rem;
    line-height: 1.45;
}

.scenario-position[b-7qwmpdf57i] {
    margin: 0.6rem 0 0;
    color: var(--color-on-ink-muted);
    font-size: 0.7rem;
    font-variant-numeric: tabular-nums;
}

.scenario-steps[b-7qwmpdf57i] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

.scenario-steps a[b-7qwmpdf57i],
.scenario-steps span[b-7qwmpdf57i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.9rem;
    height: 1.7rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 3px;
    color: var(--color-on-ink);
    font-size: 0.8rem;
    text-decoration: none;
}

.scenario-steps span[b-7qwmpdf57i] {
    color: rgba(255, 255, 255, 0.22);
}

.scenario-steps a:hover[b-7qwmpdf57i] {
    border-color: var(--color-on-ink-accent);
    color: var(--color-on-ink-accent);
}

.scenario-steps-all[b-7qwmpdf57i] {
    flex: 1;
    font-size: 0.72rem !important;
    letter-spacing: 0.02em;
}

/* Navigation ---------------------------------------------------------------- */

.nav[b-7qwmpdf57i] {
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0.6rem 1rem;
}

.nav-section-label[b-7qwmpdf57i] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 1.15rem 0 0.4rem;
    padding: 0 0.65rem;
    color: rgba(179, 188, 208, 0.72);
    font-size: 0.63rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nav-section-count[b-7qwmpdf57i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    padding: 0 0.25rem;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--color-on-ink-muted);
    font-size: 0.62rem;
    letter-spacing: 0;
}

.nav-empty[b-7qwmpdf57i] {
    margin: 0;
    padding: 0.2rem 0.65rem 0.3rem;
    color: rgba(179, 188, 208, 0.55);
    font-size: 0.78rem;
}

/* Rows are 2.1rem rather than the template's 3rem: nine of them plus the scenario card have to
   sit above the fold on a laptop, and the extra height bought nothing but a taller sidebar. */
.nav[b-7qwmpdf57i]  .nav-link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 2.1rem;
    margin-bottom: 0.1rem;
    padding: 0.4rem 0.65rem;
    border-radius: 4px;
    color: #cfd6e4;
    font-size: 0.87rem;
    line-height: 1.35;
    text-decoration: none;
}

.nav[b-7qwmpdf57i]  .nav-link > .mud-icon-root {
    flex: 0 0 auto;
    color: rgba(179, 188, 208, 0.7);
}

.nav[b-7qwmpdf57i]  .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.06);
    color: #fff;
}

/* The old active state was a flat 37% white wash that read as a disabled row. A left rule in the
   accent plus a faint tint marks the current page without dimming its label. */
.nav[b-7qwmpdf57i]  .nav-link.active {
    position: relative;
    background-color: rgba(227, 154, 60, 0.14);
    color: #fff;
    font-weight: 600;
}

.nav[b-7qwmpdf57i]  .nav-link.active::before {
    content: "";
    position: absolute;
    top: 0.3rem;
    bottom: 0.3rem;
    left: -0.6rem;
    width: 3px;
    border-radius: 0 2px 2px 0;
    background: var(--color-on-ink-accent);
}

.nav[b-7qwmpdf57i]  .nav-link.active > .mud-icon-root {
    color: var(--color-on-ink-accent);
}

/* The view already open. Marked, not linked, and deliberately not hoverable. */
.nav[b-7qwmpdf57i]  .nav-link.is-current,
.nav .nav-link.is-current[b-7qwmpdf57i] {
    position: relative;
    background-color: rgba(227, 154, 60, 0.14);
    color: #fff;
    font-weight: 600;
    cursor: default;
}

.nav .nav-link.is-current[b-7qwmpdf57i]::before {
    content: "";
    position: absolute;
    top: 0.3rem;
    bottom: 0.3rem;
    left: -0.6rem;
    width: 3px;
    border-radius: 0 2px 2px 0;
    background: var(--color-on-ink-accent);
}

.nav .nav-link.is-current > .mud-icon-root[b-7qwmpdf57i] {
    color: var(--color-on-ink-accent);
}

/* A sweep carries a second line, so it is the one row allowed to grow. */
.nav[b-7qwmpdf57i]  .nav-link-sweep {
    align-items: flex-start;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.nav[b-7qwmpdf57i]  .nav-link-sweep > .mud-icon-root {
    margin-top: 0.1rem;
}

.nav[b-7qwmpdf57i]  .nav-link-sweep small {
    display: block;
    margin-top: 0.1rem;
    color: rgba(179, 188, 208, 0.75);
    font-size: 0.71rem;
    font-weight: 400;
    line-height: 1.35;
}

/* The baseline card's onward step. */
.scenario-onward[b-7qwmpdf57i] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.75rem;
    padding: 0.35rem 0.6rem;
    border: 1px solid rgba(227, 154, 60, 0.45);
    border-radius: 3px;
    color: var(--color-on-ink-accent);
    font-size: 0.76rem;
    font-weight: 600;
    text-decoration: none;
}

.scenario-onward:hover[b-7qwmpdf57i] {
    background: rgba(227, 154, 60, 0.12);
}

.nav-foot[b-7qwmpdf57i] {
    margin-top: auto;
    padding: 0.85rem 1rem 1.1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.nav-foot a[b-7qwmpdf57i] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(227, 154, 60, 0.45);
    border-radius: 4px;
    box-sizing: border-box;
    color: var(--color-on-ink-accent);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.nav-foot a:hover[b-7qwmpdf57i] {
    background: rgba(227, 154, 60, 0.12);
}

@media (min-width: 641px) {
    .navbar-toggler[b-7qwmpdf57i] {
        display: none;
    }

    .collapse[b-7qwmpdf57i] {
        /* Never collapse the sidebar for wide screens */
        display: flex;
    }

    .nav-scrollable[b-7qwmpdf57i] {
        display: flex;
        flex-direction: column;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/Demand.razor.rz.scp.css */
.demand-page[b-j7zde8luk8] {
    --accent: var(--color-demand);
    --accent-soft: var(--color-demand-soft);
    max-width: 1180px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 3rem;
    color: var(--color-ink);
}

.demand-controls[b-j7zde8luk8] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
}

.region-select[b-j7zde8luk8],
.view-select[b-j7zde8luk8],
.date-field input[b-j7zde8luk8] {
    width: 190px;
}

.date-field[b-j7zde8luk8] {
    display: grid;
    gap: 0.35rem;
    color: var(--color-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.date-field input[b-j7zde8luk8] {
    padding: 0.75rem;
    border: 1px solid var(--color-border-control);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-ink);
    font: inherit;
}

.status-block[b-j7zde8luk8] {
    display: grid;
    min-height: 420px;
    place-items: center;
}

.trace-context[b-j7zde8luk8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    padding: 1rem 0 0.5rem;
    color: var(--color-muted);
    font-size: 0.85rem;
}

@media (max-width: 760px) {
    .demand-controls[b-j7zde8luk8] {
        align-items: stretch;
        flex-direction: column;
    }

    .region-select[b-j7zde8luk8],
    .view-select[b-j7zde8luk8],
    .date-field input[b-j7zde8luk8] {
        width: 100%;
    }

}
/* /Pages/Dispatch.razor.rz.scp.css */
.dispatch-page[b-ssdf9qtovp] { --accent: var(--color-brand); --accent-soft: var(--color-brand-accent-soft); max-width: 1180px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; color: var(--color-ink); }
.dispatch-control-details[b-ssdf9qtovp] { display: contents; }
.dispatch-control-details summary[b-ssdf9qtovp] { display: none; }
.dispatch-controls[b-ssdf9qtovp] { display: flex; align-items: flex-end; gap: .75rem; }
.run-navigation[b-ssdf9qtovp] { display: flex; flex-wrap: wrap; gap: .5rem; }
.run-navigation a[b-ssdf9qtovp], .run-config-link a[b-ssdf9qtovp] { color: var(--accent); font-size: .82rem; font-weight: 700; }
.run-axis[b-ssdf9qtovp] { margin: .45rem 0 0; color: var(--color-muted); font-size: .85rem; }
.run-config-link[b-ssdf9qtovp] { margin: 0; text-align: right; }
.view-select[b-ssdf9qtovp], .date-field input[b-ssdf9qtovp] { width: 190px; }
.date-field[b-ssdf9qtovp] { display: grid; gap: .35rem; color: var(--color-muted); font-size: .8rem; font-weight: 700; }
.date-field input[b-ssdf9qtovp] { padding: .75rem; border: 1px solid var(--color-border-control); border-radius: 4px; background: var(--color-surface); color: var(--color-ink); font: inherit; }
.status-block[b-ssdf9qtovp] { display: grid; min-height: 420px; place-items: center; }
.trace-context[b-ssdf9qtovp] { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: 1rem 0 .5rem; color: var(--color-muted); font-size: .85rem; }
.section-anchor[b-ssdf9qtovp], #cost-heading[b-ssdf9qtovp], #reliability-heading[b-ssdf9qtovp], #assumptions-heading[b-ssdf9qtovp] { scroll-margin-top: 5.5rem; }
.cost-section[b-ssdf9qtovp] { margin: 1rem 0 1.5rem; padding: 1.25rem 0 1.5rem; border-block: 1px solid var(--color-border-strong); }
.cost-heading[b-ssdf9qtovp] { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.section-label[b-ssdf9qtovp] { margin: 0 0 .25rem; color: var(--accent); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.cost-heading h2[b-ssdf9qtovp] { margin: 0; font-family: var(--font-display); font-size: 1.65rem; font-weight: 600; }
.cost-heading p:not(.section-label)[b-ssdf9qtovp] { max-width: 650px; margin: .35rem 0 0; color: var(--color-muted); }
.cost-status[b-ssdf9qtovp] { padding: .3rem .55rem; border: 1px solid var(--color-accent-border); border-radius: 4px; background: var(--accent-soft); color: var(--accent); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.cost-layout[b-ssdf9qtovp] { display: grid; grid-template-columns: minmax(190px, .75fr) minmax(260px, 1.35fr) minmax(250px, 1fr); gap: 2rem; margin-top: 1.25rem; }
.cost-primary[b-ssdf9qtovp] { min-width: 0; padding-right: 1.5rem; border-right: 1px solid var(--color-border); }
.cost-primary > span[b-ssdf9qtovp], .cost-primary > small[b-ssdf9qtovp] { display: block; color: var(--color-muted); font-size: .78rem; }
.cost-primary > strong[b-ssdf9qtovp] { display: block; margin: .2rem 0 0; color: var(--accent); font-family: var(--font-display); font-size: 2.3rem; font-variant-numeric: tabular-nums; font-weight: 600; line-height: 1; }
.cost-primary p[b-ssdf9qtovp] { margin: .8rem 0 0; color: var(--color-muted); font-size: .78rem; line-height: 1.45; }
.cost-components[b-ssdf9qtovp] { display: grid; align-content: start; gap: 1rem; }
.cost-component > div:first-child[b-ssdf9qtovp] { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.cost-component span[b-ssdf9qtovp] { color: var(--color-muted); font-size: .82rem; }
.cost-component strong[b-ssdf9qtovp] { font-size: .88rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cost-track[b-ssdf9qtovp] { height: 7px; margin-top: .4rem; overflow: hidden; background: var(--color-track); }
.cost-track i[b-ssdf9qtovp] { display: block; height: 100%; background: var(--color-track-fill); }
.storage-cost-component .cost-track i[b-ssdf9qtovp] { background: var(--accent); }
.zero-cost-note[b-ssdf9qtovp], .regional-cost-note[b-ssdf9qtovp] { margin: 0; padding-top: .75rem; border-top: 1px solid var(--color-track); color: var(--color-muted); font-size: .78rem; line-height: 1.45; }
.cost-ledger[b-ssdf9qtovp] { margin: 0; }
.cost-ledger div[b-ssdf9qtovp] { display: flex; justify-content: space-between; gap: 1rem; padding: .38rem 0; border-bottom: 1px solid var(--color-track); }
.cost-ledger dt[b-ssdf9qtovp] { color: var(--color-muted); font-size: .8rem; }
.cost-ledger dd[b-ssdf9qtovp] { margin: 0; font-size: .82rem; font-variant-numeric: tabular-nums; font-weight: 700; text-align: right; }
.cost-ledger .cost-total[b-ssdf9qtovp] { border-bottom-color: var(--color-track-border); }
.cost-ledger .cost-total dt[b-ssdf9qtovp], .cost-ledger .cost-total dd[b-ssdf9qtovp] { color: var(--color-ink); font-weight: 700; }
.transmission-cost-component .cost-track i[b-ssdf9qtovp] { background: var(--color-accent-warm); }
.transmission-section[b-ssdf9qtovp] { margin-top: 1.5rem; padding: 1.25rem 0 1.5rem; border-block: 1px solid var(--color-border); }
.section-heading h2[b-ssdf9qtovp] { margin: 0; font-family: var(--font-display); font-size: 1.65rem; font-weight: 600; }
.section-heading p:not(.section-label)[b-ssdf9qtovp] { max-width: 720px; margin: .35rem 0 1rem; color: var(--color-muted); }
.transmission-table-wrap[b-ssdf9qtovp] { border-block: 1px solid var(--color-border); }
.transmission-table[b-ssdf9qtovp] { width: 100%; min-width: 640px; border-collapse: collapse; font-size: .82rem; }
.transmission-table th[b-ssdf9qtovp], .transmission-table td[b-ssdf9qtovp] { padding: .7rem .8rem; border-bottom: 1px solid var(--color-border); text-align: right; font-variant-numeric: tabular-nums; }
.transmission-table th:first-child[b-ssdf9qtovp], .transmission-table td:first-child[b-ssdf9qtovp] { text-align: left; }
.transmission-table thead th[b-ssdf9qtovp] { color: var(--color-muted); font-size: .74rem; text-transform: uppercase; }
.event-jumps[b-ssdf9qtovp] { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; padding: 1rem 0 0; }
.event-jumps > span[b-ssdf9qtovp] { color: var(--color-muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.event-jumps button[b-ssdf9qtovp] { display: inline-grid; gap: .1rem; padding: .4rem .7rem; border: 1px solid var(--color-border-strong); border-radius: 4px; background: var(--color-surface); color: var(--color-ink); font: inherit; font-size: .82rem; font-weight: 700; text-align: left; cursor: pointer; }
.event-jumps button:hover[b-ssdf9qtovp] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.event-jumps small[b-ssdf9qtovp] { color: var(--color-muted); font-size: .72rem; font-weight: 400; }
.comparison-note[b-ssdf9qtovp] { margin: 1rem 0 0; padding: .6rem .85rem; border-left: 3px solid var(--accent); background: var(--accent-soft); color: var(--color-muted); font-size: .82rem; }
.comparison-alert[b-ssdf9qtovp] { margin-top: 1rem; }
.headroom-section[b-ssdf9qtovp] { margin-top: 1.25rem; border-top: 1px solid var(--color-border); }
.headroom-chart svg[b-ssdf9qtovp] { aspect-ratio: 1000 / 300; }
.headroom-peak[b-ssdf9qtovp] { color: var(--color-muted); font-variant-numeric: tabular-nums; }
.storage-section[b-ssdf9qtovp] { margin-top: 1.25rem; border-top: 1px solid var(--color-border); }
.dispatch-chart[b-ssdf9qtovp] { width: 100%; border-block: 1px solid var(--color-border); background: var(--color-chart-surface); }
.dispatch-chart svg[b-ssdf9qtovp] { display: block; width: 100%; min-width: 680px; aspect-ratio: 1000 / 440; }
.storage-chart svg[b-ssdf9qtovp] { aspect-ratio: 1000 / 300; }
.chart-legend[b-ssdf9qtovp] { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; padding: .9rem 0; color: var(--color-muted); font-size: .82rem; }
.chart-legend span[b-ssdf9qtovp] { display: inline-flex; align-items: center; gap: .4rem; }
.chart-legend i[b-ssdf9qtovp] { width: 14px; height: 8px; display: inline-block; }
.chart-legend .demand-key[b-ssdf9qtovp] { height: 2px; background: var(--color-demand-line); }
.empty-storage[b-ssdf9qtovp] { display: flex; align-items: center; gap: 1rem; min-height: 110px; padding: 1.25rem; border-block: 1px solid var(--color-border); background: var(--color-empty-storage); color: var(--accent); }
.empty-storage strong[b-ssdf9qtovp], .empty-storage span[b-ssdf9qtovp] { display: block; }
.empty-storage span[b-ssdf9qtovp] { margin-top: .2rem; color: var(--color-muted); font-size: .88rem; }
.region-loading[b-ssdf9qtovp] { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; padding: 1.5rem; border-block: 1px solid var(--color-border); background: var(--color-surface-muted); }
.region-loading strong[b-ssdf9qtovp], .region-loading span[b-ssdf9qtovp] { display: block; }
.region-loading span[b-ssdf9qtovp] { max-width: 60ch; margin-top: .2rem; color: var(--color-muted); font-size: .84rem; line-height: 1.5; }
.weather-bases[b-ssdf9qtovp] { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--color-border); }
.weather-bases h2[b-ssdf9qtovp] { margin: 0; font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; }
.weather-bases-note[b-ssdf9qtovp] { max-width: 640px; margin: .35rem 0 0; color: var(--color-muted); font-size: .85rem; line-height: 1.55; }
.assumption-band[b-ssdf9qtovp] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem; margin-top: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--color-border); }
.assumption-band div[b-ssdf9qtovp] { min-width: 0; }
.assumption-band span[b-ssdf9qtovp], .assumption-band strong[b-ssdf9qtovp], .assumption-band small[b-ssdf9qtovp] { display: block; }
.assumption-band span[b-ssdf9qtovp] { margin-bottom: .25rem; color: var(--color-muted); font-size: .78rem; text-transform: uppercase; }
.assumption-band strong[b-ssdf9qtovp] { font-size: .9rem; font-weight: 600; }
.assumption-band small[b-ssdf9qtovp] { margin-top: .2rem; color: var(--color-muted); font-size: .78rem; }
.assumption-detail[b-ssdf9qtovp] { display: flex; flex-direction: column; gap: 1.25rem; margin-top: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--color-border); }
.assumption-table-wrap[b-ssdf9qtovp] { min-width: 0; }
.assumption-table-label[b-ssdf9qtovp] { display: block; margin-bottom: .5rem; color: var(--color-muted); font-size: .78rem; text-transform: uppercase; }
.assumption-detail .table-scroll[b-ssdf9qtovp] { border-block: 1px solid var(--color-border); }
.assumption-table[b-ssdf9qtovp] { width: 100%; min-width: 640px; border-collapse: collapse; font-size: .82rem; }
.assumption-table th[b-ssdf9qtovp], .assumption-table td[b-ssdf9qtovp] { padding: .5rem .75rem; border-bottom: 1px solid var(--color-border); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.assumption-table th:first-child[b-ssdf9qtovp], .assumption-table td:first-child[b-ssdf9qtovp] { text-align: left; }
.assumption-table thead th[b-ssdf9qtovp] { color: var(--color-muted); font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.assumption-table tbody tr:last-child th[b-ssdf9qtovp], .assumption-table tbody tr:last-child td[b-ssdf9qtovp] { border-bottom: 0; }
.assumption-docs-link[b-ssdf9qtovp] { max-width: 720px; margin: 1rem 0 0; color: var(--color-muted); font-size: .85rem; line-height: 1.55; }
.assumption-docs-link a[b-ssdf9qtovp] { color: var(--accent); font-weight: 600; }
@media (max-width: 900px) { .cost-layout[b-ssdf9qtovp] { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cost-ledger[b-ssdf9qtovp] { grid-column: 1 / -1; } }
@media (max-width: 760px) { .dispatch-control-details[b-ssdf9qtovp] { display: block; } .dispatch-control-details summary[b-ssdf9qtovp] { display: block; padding: .7rem .85rem; border: 1px solid var(--color-border-strong); border-radius: 4px; color: var(--accent); cursor: pointer; font-size: .82rem; font-weight: 700; } .dispatch-control-details:not([open]) > .dispatch-controls[b-ssdf9qtovp] { display: none; } .dispatch-control-details[open] > .dispatch-controls[b-ssdf9qtovp] { margin-top: .75rem; } .dispatch-controls[b-ssdf9qtovp] { align-items: stretch; flex-direction: column; } .view-select[b-ssdf9qtovp], .date-field input[b-ssdf9qtovp] { width: 100%; } .run-navigation[b-ssdf9qtovp] { order: 1; } .cost-heading[b-ssdf9qtovp] { align-items: flex-start; flex-direction: column; gap: .75rem; } .cost-layout[b-ssdf9qtovp] { grid-template-columns: 1fr; gap: 1.25rem; } .cost-primary[b-ssdf9qtovp] { padding: 0 0 1.25rem; border-right: 0; border-bottom: 1px solid var(--color-border); } .cost-ledger[b-ssdf9qtovp] { grid-column: auto; } .assumption-band[b-ssdf9qtovp] { grid-template-columns: 1fr; } }.reliability-band[b-ssdf9qtovp] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; margin-top: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--color-border); }
.reliability-band div[b-ssdf9qtovp] { min-width: 0; }
.reliability-band span[b-ssdf9qtovp], .reliability-band strong[b-ssdf9qtovp], .reliability-band small[b-ssdf9qtovp] { display: block; }
.reliability-band span[b-ssdf9qtovp] { margin-bottom: .25rem; color: var(--color-muted); font-size: .78rem; text-transform: uppercase; }
.reliability-band strong[b-ssdf9qtovp] { font-size: 1.05rem; font-weight: 700; }
.reliability-band small[b-ssdf9qtovp] { margin-top: .25rem; color: var(--color-muted); font-size: .8rem; line-height: 1.5; }
.reliability-band .within-target[b-ssdf9qtovp] { color: var(--accent); }
.reliability-band .outside-target[b-ssdf9qtovp] { color: var(--color-notice); }
@media (max-width: 760px) { .reliability-band[b-ssdf9qtovp] { grid-template-columns: 1fr; } }
.storage-capacity-rule[b-ssdf9qtovp] { stroke: var(--color-border-control); stroke-width: 1.5; stroke-dasharray: 6 4; }
.storage-capacity-label[b-ssdf9qtovp] { fill: var(--color-muted); font-family: var(--font-body); font-size: 12.5px; }
.storage-summary[b-ssdf9qtovp] { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1px; margin: .25rem 0 0; background: var(--color-border); border: 1px solid var(--color-border); }
.storage-summary > div[b-ssdf9qtovp] { padding: .8rem 1rem; background: var(--color-surface); }
.storage-summary dt[b-ssdf9qtovp] { color: var(--color-muted); font-size: .76rem; }
.storage-summary dd[b-ssdf9qtovp] { margin: .15rem 0 0; color: var(--accent); font-family: var(--font-display); font-size: 1.4rem; font-variant-numeric: tabular-nums; font-weight: 600; }
.storage-summary .storage-summary-detail[b-ssdf9qtovp] { margin-top: .2rem; color: var(--color-muted); font-family: var(--font-body); font-size: .74rem; font-weight: 400; line-height: 1.45; }
/* /Pages/Generation.razor.rz.scp.css */
.generation-page[b-u8zmdtw68v] {
    --accent: var(--color-generation);
    --accent-soft: var(--color-generation-soft);
    max-width: 1440px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 4rem;
    color: var(--color-ink);
}

.filter-summary[b-u8zmdtw68v] {
    margin: .4rem 0 0;
    color: var(--color-muted-generation);
}

.filters[b-u8zmdtw68v] {
    display: flex;
    align-items: flex-end;
    gap: .65rem;
}

.filters label[b-u8zmdtw68v] {
    display: grid;
    gap: .35rem;
    color: var(--color-muted-generation);
    font-size: .76rem;
    font-weight: 700;
}

.filters input[b-u8zmdtw68v], .filters select[b-u8zmdtw68v] {
    min-width: 165px;
    height: 42px;
    padding: .55rem .7rem;
    border: 1px solid var(--color-border-control);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-ink);
    font: inherit;
}

.number-field[b-u8zmdtw68v] { display: flex; align-items: center; }
.number-field input[b-u8zmdtw68v] { min-width: 100px; width: 100px; border-radius: 4px 0 0 4px; }
.number-field span[b-u8zmdtw68v] { height: 42px; padding: .7rem; border: 1px solid var(--color-border-control); border-left: 0; border-radius: 0 4px 4px 0; background: var(--color-surface-muted); white-space: nowrap; }
.status-block[b-u8zmdtw68v] { display: grid; min-height: 420px; place-items: center; }

.filter-summary[b-u8zmdtw68v] { padding: .85rem 0 1.4rem; font-size: .88rem; }

.visual-grid[b-u8zmdtw68v] { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 2.5rem; padding: 1rem 0 2.5rem; }
.visual-panel[b-u8zmdtw68v] { min-width: 0; }
.technology-legend[b-u8zmdtw68v] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.technology-legend li[b-u8zmdtw68v] { display: flex; align-items: baseline; gap: .3rem; min-width: 0; color: var(--color-muted-generation); font-size: .82rem; }
.technology-legend strong[b-u8zmdtw68v] { color: var(--color-ink); white-space: nowrap; }
.legend-swatch[b-u8zmdtw68v] { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 2px; }
.section-heading[b-u8zmdtw68v] { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; padding-bottom: .65rem; border-bottom: 2px solid var(--color-ink); }
.section-heading h2[b-u8zmdtw68v] { margin: 0; font-size: 1.15rem; }
.section-heading > span[b-u8zmdtw68v] { color: var(--color-muted-generation); font-size: .78rem; font-weight: 700; }
.technology-section[b-u8zmdtw68v], .source-section[b-u8zmdtw68v] { min-width: 0; max-width: 100%; padding-top: 1.5rem; overflow: hidden; }
.table-scroll[b-u8zmdtw68v] { width: 100%; max-width: 100%; overflow-x: auto; }

.aggregate-table[b-u8zmdtw68v] { width: 100%; border-collapse: collapse; font-size: .88rem; }
.aggregate-table th[b-u8zmdtw68v], .aggregate-table td[b-u8zmdtw68v] { padding: .75rem .8rem; border-bottom: 1px solid var(--color-border-generation); text-align: right; white-space: nowrap; }
.aggregate-table th:first-child[b-u8zmdtw68v] { text-align: left; }
.aggregate-table thead th[b-u8zmdtw68v] { background: var(--accent-soft); color: var(--color-generation-dark); font-size: .75rem; text-transform: uppercase; }

.aggregate-table .expand-col[b-u8zmdtw68v] { width: 2rem; padding: .75rem 0 .75rem .8rem; text-align: left; }
.expand-toggle[b-u8zmdtw68v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    padding: 0;
    border: 1px solid var(--color-border-control);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-generation-dark);
    font-size: .85rem;
    line-height: 1;
    cursor: pointer;
}
.expand-toggle:hover[b-u8zmdtw68v] { background: var(--accent-soft); }
.aggregate-detail-row[b-u8zmdtw68v] { background: var(--color-surface-muted); }
.aggregate-detail-row th[b-u8zmdtw68v] { padding-left: 1.6rem; color: var(--color-muted-generation); font-weight: 600; }
.aggregate-detail-row td[b-u8zmdtw68v] { color: var(--color-muted-generation); }

.source-search[b-u8zmdtw68v] { display: flex; align-items: center; gap: 1rem; margin: 0 0 .75rem; }
.source-search input[b-u8zmdtw68v] {
    min-width: 260px;
    height: 38px;
    padding: .45rem .7rem;
    border: 1px solid var(--color-border-control);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-ink);
    font: inherit;
}
.source-search-count[b-u8zmdtw68v] { color: var(--color-muted-generation); font-size: .78rem; }

[b-u8zmdtw68v] .mud-table-container { border: 1px solid var(--color-border-generation); }
[b-u8zmdtw68v] .mud-table-cell { min-width: 110px; white-space: nowrap; }
[b-u8zmdtw68v] .mud-table-head .mud-table-cell { background: var(--color-surface-table); color: var(--color-ink); font-weight: 800; }
[b-u8zmdtw68v] .mud-table-sort-label { color: inherit; }
[b-u8zmdtw68v] .mud-table-pagination { flex-wrap: wrap; }
[b-u8zmdtw68v] .mud-table-pagination-actions { margin-left: auto; }

@media (max-width: 980px) {
    .filters[b-u8zmdtw68v] { align-items: stretch; flex-direction: column; }
    .filters[b-u8zmdtw68v] { display: grid; grid-template-columns: repeat(3, 1fr); }
    .filters input[b-u8zmdtw68v], .filters select[b-u8zmdtw68v] { width: 100%; min-width: 0; }
    .number-field input[b-u8zmdtw68v] { width: 100%; }
    .visual-grid[b-u8zmdtw68v] { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .filters[b-u8zmdtw68v] { grid-template-columns: 1fr; }
    .source-search[b-u8zmdtw68v] { flex-direction: column; align-items: stretch; }
    .source-search input[b-u8zmdtw68v] { min-width: 0; }
    .technology-legend[b-u8zmdtw68v] { grid-template-columns: 1fr; }
}
/* /Pages/Home.razor.rz.scp.css */
.home-page[b-lndnhndtxd] {
    --accent: var(--color-brand);
    --code-syntax: #c51b63;
    --shell: 1180px;
    --gutter: clamp(1.25rem, 4vw, 3rem);
    color: var(--color-ink);
}

.shell[b-lndnhndtxd] {
    width: 100%;
    max-width: var(--shell);
    margin: 0 auto;
    padding: 0 var(--gutter);
    box-sizing: border-box;
}

.section[b-lndnhndtxd] {
    padding: clamp(3.5rem, 7vw, 6rem) 0;
    border-top: 1px solid var(--color-border);
    scroll-margin-top: 4.25rem;
}

.eyebrow[b-lndnhndtxd],
.path-label[b-lndnhndtxd] {
    margin: 0 0 0.6rem;
    color: var(--accent);
    font-size: var(--type-eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.section-heading[b-lndnhndtxd] {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.8fr);
    gap: 1rem clamp(2rem, 5vw, 5rem);
    align-items: start;
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.section-heading .eyebrow[b-lndnhndtxd] {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.section-heading h2[b-lndnhndtxd] {
    max-width: 22ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.08;
}

.section-heading > p:not(.eyebrow)[b-lndnhndtxd] {
    max-width: 48ch;
    margin: 0;
    padding-top: 0.3rem;
    color: var(--color-home-copy);
    line-height: 1.7;
}

.button-primary[b-lndnhndtxd],
.button-secondary[b-lndnhndtxd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.78rem 1.1rem;
    border: 1px solid transparent;
    font-weight: 700;
    text-decoration: none;
}

.button-primary[b-lndnhndtxd] {
    border-color: var(--color-on-ink-accent);
    background: var(--color-on-ink-accent);
    color: var(--color-ink-surface);
}

.button-primary:hover[b-lndnhndtxd] {
    border-color: #f0b264;
    background: #f0b264;
}

.button-secondary[b-lndnhndtxd] {
    border-color: rgba(255, 255, 255, 0.72);
    color: #fff;
}

.button-secondary:hover[b-lndnhndtxd] {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.12);
}

.hero[b-lndnhndtxd] {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(4.5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 6.5rem);
    background: var(--color-ink-surface);
    color: #fff;
}

.hero-banner[b-lndnhndtxd],
.hero-banner[b-lndnhndtxd]::after,
.hero[b-lndnhndtxd]::after {
    position: absolute;
    inset: 0;
}

.hero-banner[b-lndnhndtxd] {
    z-index: -2;
    background: #eec489;
    isolation: isolate;
}

.hero-banner img[b-lndnhndtxd] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 38%;
    transform: scaleX(-1);
    filter: grayscale(1) contrast(1.06);
    mix-blend-mode: multiply;
}

.hero-banner[b-lndnhndtxd]::after {
    content: "";
    background: var(--color-ink-surface);
    mix-blend-mode: lighten;
}

.hero[b-lndnhndtxd]::after {
    z-index: -1;
    content: "";
    background: linear-gradient(96deg, rgba(20, 27, 45, 0.96) 0%, rgba(20, 27, 45, 0.88) 42%, rgba(20, 27, 45, 0.42) 100%);
}

.hero-content[b-lndnhndtxd] {
    max-width: calc(var(--shell) + 2 * var(--gutter));
}

.hero .eyebrow[b-lndnhndtxd] {
    color: var(--color-on-ink-accent);
}

.hero h1[b-lndnhndtxd] {
    max-width: 16ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6vw, 4.7rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 0.98;
    text-wrap: balance;
}

.lead[b-lndnhndtxd] {
    max-width: 60ch;
    margin: 1.5rem 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1rem, 2vw, 1.16rem);
    line-height: 1.65;
}

.framework-descriptor[b-lndnhndtxd] {
    max-width: 58ch;
    margin: 1rem 0 0;
    color: #fff;
    font-weight: 700;
    line-height: 1.55;
}

.hero-actions[b-lndnhndtxd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 2rem;
}

.capabilities-section[b-lndnhndtxd] {
    background: var(--color-surface-muted);
}

.capability-list[b-lndnhndtxd] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--color-ink);
    list-style: none;
}

.capability-list li[b-lndnhndtxd] {
    padding: 1.4rem clamp(1rem, 3vw, 2.5rem) 1.5rem 0;
    border-bottom: 1px solid var(--color-border);
}

.capability-list span[b-lndnhndtxd] {
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.capability-list h3[b-lndnhndtxd],
.decision-paths h3[b-lndnhndtxd],
.onboarding-grid h3[b-lndnhndtxd],
.scenario-reference h3[b-lndnhndtxd] {
    margin: 0.65rem 0 0.55rem;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
}

.capability-list p[b-lndnhndtxd],
.decision-paths p[b-lndnhndtxd],
.onboarding-grid p[b-lndnhndtxd],
.scenario-reference p[b-lndnhndtxd] {
    margin: 0;
    color: var(--color-home-copy);
    line-height: 1.65;
}

.proof-section[b-lndnhndtxd] {
    border-top: 3px solid var(--color-brand);
}

.proof-action[b-lndnhndtxd] {
    margin: 2rem 0 0;
}

.proof-action a[b-lndnhndtxd],
.decision-paths a[b-lndnhndtxd],
.package-panel > a[b-lndnhndtxd],
.scenario-reference a[b-lndnhndtxd] {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}

.proof-action a:hover[b-lndnhndtxd],
.decision-paths a:hover[b-lndnhndtxd],
.package-panel > a:hover[b-lndnhndtxd],
.scenario-reference a:hover[b-lndnhndtxd] {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.paths-section[b-lndnhndtxd] {
    background: var(--color-surface-muted);
}

.path-nav[b-lndnhndtxd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    margin: -1rem 0 1.5rem;
}

.path-nav a[b-lndnhndtxd] {
    color: var(--color-ink);
    font-weight: 700;
    text-decoration: none;
}

.path-nav a:hover[b-lndnhndtxd] {
    color: var(--accent);
}

.decision-paths[b-lndnhndtxd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--color-ink);
}

.decision-paths article[b-lndnhndtxd] {
    padding: 1.5rem clamp(1rem, 4vw, 3rem) 1.75rem 0;
    border-bottom: 1px solid var(--color-border);
    scroll-margin-top: 4.25rem;
}

.decision-paths .path-label[b-lndnhndtxd] {
    margin-bottom: 0;
}

.decision-paths h3[b-lndnhndtxd] {
    max-width: 22ch;
}

.decision-paths a[b-lndnhndtxd] {
    display: inline-block;
    margin-top: 1.25rem;
}

.onboarding-section[b-lndnhndtxd] {
    border-top: 3px solid var(--color-ink-surface);
    background: var(--color-surface-muted);
}

.onboarding-heading[b-lndnhndtxd] {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.onboarding-intro[b-lndnhndtxd] {
    max-width: 48ch;
}

.onboarding-intro > p[b-lndnhndtxd] {
    margin: 0;
    color: var(--color-home-copy);
    line-height: 1.7;
}

.onboarding-action[b-lndnhndtxd] {
    display: inline-flex;
    margin-top: 1.2rem;
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}

.onboarding-action:hover[b-lndnhndtxd] {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.onboarding-grid[b-lndnhndtxd] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(15rem, 0.8fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: start;
}

.command-panel[b-lndnhndtxd],
.package-panel[b-lndnhndtxd] {
    min-width: 0;
    padding: 0;
}

.command-panel[b-lndnhndtxd] {
    padding-right: clamp(0rem, 3vw, 2rem);
    border-right: 1px solid var(--color-border);
}

.panel-label[b-lndnhndtxd] {
    margin: 0 0 0.65rem !important;
    color: var(--accent) !important;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.onboarding-grid h3[b-lndnhndtxd] {
    margin-top: 0;
}

.onboarding-grid p[b-lndnhndtxd] {
    max-width: 58ch;
    margin: 0 0 1rem;
}

.onboarding-grid pre[b-lndnhndtxd],
.scenario-reference pre[b-lndnhndtxd] {
    max-width: 100%;
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    overflow-x: auto;
    border: 1px solid #c9bda9;
    background: #fffdf9;
    color: var(--color-ink);
    font-size: 0.82rem;
    font-weight: 400;
    line-height: 1.55;
    tab-size: 2;
}

.onboarding-grid pre code[b-lndnhndtxd],
.scenario-reference pre code[b-lndnhndtxd] {
    color: var(--code-syntax);
}

.scenario-reference[b-lndnhndtxd] {
    display: grid;
    grid-template-columns: minmax(15rem, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
    margin-top: clamp(2.5rem, 6vw, 4rem);
    padding-top: clamp(2.5rem, 6vw, 4rem);
    border-top: 1px solid var(--color-border);
}

.contact-section[b-lndnhndtxd] {
    border-top: 3px solid var(--color-ink-surface);
    background: var(--color-ink-surface);
    color: var(--color-on-ink);
}

.contact-content[b-lndnhndtxd] {
    max-width: 900px;
}

.contact-section .eyebrow[b-lndnhndtxd] {
    color: var(--color-on-ink-accent);
}

.contact-section h2[b-lndnhndtxd] {
    max-width: 18ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 1.08;
}

.contact-section p:not(.eyebrow)[b-lndnhndtxd] {
    max-width: 58ch;
    margin: 1.2rem 0 0;
    color: var(--color-on-ink-muted);
    line-height: 1.7;
}

.contact-routes[b-lndnhndtxd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: 2.5rem;
    border: 1px solid var(--color-on-ink-muted);
    background: var(--color-on-ink-muted);
}

.contact-route[b-lndnhndtxd] {
    min-width: 0;
    padding: 1.5rem;
    background: var(--color-ink-surface);
}

.contact-route-primary[b-lndnhndtxd] {
    border-top: 3px solid var(--color-on-ink-accent);
}

.contact-route .route-label[b-lndnhndtxd] {
    margin: 0 0 0.6rem;
    color: var(--color-on-ink-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.contact-route p:not(.route-label)[b-lndnhndtxd] {
    max-width: 42ch;
    margin: 0;
}

.contact-action[b-lndnhndtxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 1.75rem;
    padding: 0.78rem 1.1rem;
    border: 1px solid var(--color-on-ink-accent);
    background: var(--color-on-ink-accent);
    color: var(--color-ink-surface);
    font-weight: 700;
    text-decoration: none;
}

.contact-action:hover[b-lndnhndtxd] {
    border-color: #f0b264;
    background: #f0b264;
}

.contact-secondary[b-lndnhndtxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.75rem;
    margin-top: 1.5rem;
    color: var(--color-on-ink-accent);
    font-weight: 700;
    text-decoration: none;
}

.contact-secondary:hover[b-lndnhndtxd] {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.scenario-reference .eyebrow[b-lndnhndtxd] {
    margin-bottom: 0;
}

.scenario-reference h3[b-lndnhndtxd] {
    margin-top: 0.55rem;
}

.scenario-reference p[b-lndnhndtxd] {
    margin-bottom: 1rem;
}

.scenario-reference pre[b-lndnhndtxd] {
    margin: 0;
}

@supports not (mix-blend-mode: multiply) {
    .hero-banner img[b-lndnhndtxd] {
        opacity: 0.55;
    }
}

@media (max-width: 760px) {
    .section-heading[b-lndnhndtxd],
    .scenario-reference[b-lndnhndtxd] {
        grid-template-columns: 1fr;
    }

    .section-heading[b-lndnhndtxd] {
        gap: 0.9rem;
    }

    .section-heading > p:not(.eyebrow)[b-lndnhndtxd] {
        padding-top: 0;
    }

    .onboarding-intro[b-lndnhndtxd] {
        max-width: none;
    }

    .capability-list[b-lndnhndtxd],
    .decision-paths[b-lndnhndtxd],
    .onboarding-grid[b-lndnhndtxd],
    .contact-routes[b-lndnhndtxd] {
        grid-template-columns: 1fr;
    }

    .command-panel[b-lndnhndtxd] {
        padding-right: 0;
        padding-bottom: 2rem;
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
    }

    .capability-list li[b-lndnhndtxd],
    .decision-paths article[b-lndnhndtxd] {
        padding-right: 0;
    }

    .hero[b-lndnhndtxd]::after {
        background: linear-gradient(160deg, rgba(20, 27, 45, 0.96), rgba(20, 27, 45, 0.76));
    }

    .contact-action[b-lndnhndtxd],
    .contact-secondary[b-lndnhndtxd] {
        width: 100%;
        box-sizing: border-box;
    }
}
/* /Pages/Regions.razor.rz.scp.css */
.regions-page[b-f32rqq47sm] {
    --accent: var(--color-brand);
    --accent-soft: var(--color-brand-accent-soft);
    max-width: 1180px;
    margin: 0 auto;
    padding: var(--space-page-top) var(--space-page-x) var(--space-page-bottom);
    color: var(--color-ink);
}

.scope-note[b-f32rqq47sm] {
    max-width: 640px;
    margin: 0.5rem 0 0;
    color: var(--color-muted);
    font-size: 0.85rem;
    line-height: 1.5;
}

.status-block[b-f32rqq47sm] {
    display: grid;
    min-height: 420px;
    place-items: center;
}

.region-section[b-f32rqq47sm] {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-strong);
}

.section-label[b-f32rqq47sm] {
    margin: 0 0 0.25rem;
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.section-heading h2[b-f32rqq47sm] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 600;
}

.section-heading p:not(.section-label)[b-f32rqq47sm] {
    max-width: 720px;
    margin: 0.35rem 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.section-heading-inline[b-f32rqq47sm] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.measure-select[b-f32rqq47sm] {
    width: 280px;
    min-width: 0;
}

.measure-note[b-f32rqq47sm] {
    max-width: 760px;
    margin: 1rem 0 0;
    color: var(--color-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

/* Scorecards --------------------------------------------------------------- */

.scorecards[b-f32rqq47sm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: 1px;
    margin-top: 1.35rem;
    background: var(--color-border);
    border: 1px solid var(--color-border);
}

.scorecard[b-f32rqq47sm] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.25rem;
    background: var(--color-surface);
}

.scorecard-system[b-f32rqq47sm] {
    background: var(--color-surface-muted);
}

.scorecard header[b-f32rqq47sm] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.scorecard-kind[b-f32rqq47sm] {
    order: 2;
    margin: 0;
    padding: 0.15rem 0.4rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 3px;
    color: var(--color-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.scorecard h3[b-f32rqq47sm] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 600;
}

.scorecard-cost[b-f32rqq47sm] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
}

.scorecard-cost strong[b-f32rqq47sm] {
    color: var(--accent);
    font-family: var(--font-display);
    font-size: 2.05rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 1;
}

.scorecard-cost small[b-f32rqq47sm] {
    color: var(--color-muted);
    font-size: 0.74rem;
}

.delta[b-f32rqq47sm] {
    flex-basis: 100%;
    color: var(--color-muted);
    font-size: 0.76rem;
    font-variant-numeric: tabular-nums;
}

.delta-above[b-f32rqq47sm] {
    color: var(--color-negative);
}

.delta-below[b-f32rqq47sm] {
    color: var(--color-positive);
}

/* Reserves the height a rendered mix bar occupies — heading, track and legend — so the figures
   below it do not move when the regional artifact lands. Measured against the real component
   rather than estimated. */
.scorecard-facts[b-f32rqq47sm] {
    margin: 0;
    border-top: 1px solid var(--color-track);
}

.scorecard-facts div[b-f32rqq47sm] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--color-track);
}

.scorecard-facts dt[b-f32rqq47sm] {
    color: var(--color-muted);
    font-size: 0.78rem;
    white-space: nowrap;
}

.scorecard-facts dd[b-f32rqq47sm] {
    margin: 0;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    text-align: right;
}

.scorecard-facts em[b-f32rqq47sm] {
    display: block;
    color: var(--color-muted);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 400;
}

.scorecard-reliability[b-f32rqq47sm] {
    margin: 0;
    padding: 0.5rem 0.65rem;
    border-left: 3px solid var(--color-positive);
    background: var(--color-positive-soft);
    color: var(--color-positive);
    font-size: 0.78rem;
    font-weight: 700;
}

.scorecard-reliability.is-outside[b-f32rqq47sm] {
    border-left-color: var(--color-negative);
    background: var(--color-negative-soft);
    color: var(--color-negative);
}

.scorecard-reliability span[b-f32rqq47sm] {
    display: block;
    color: var(--color-muted);
    font-weight: 400;
}

.scorecard-link[b-f32rqq47sm] {
    margin-top: auto;
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
}

.scorecard-link:hover[b-f32rqq47sm] {
    text-decoration: underline;
}

/* Tables ------------------------------------------------------------------- */

.flow-plot[b-f32rqq47sm] {
    margin-top: 1.5rem;
}

.plot-note[b-f32rqq47sm] {
    color: var(--color-muted);
    font-size: 0.8rem;
}

.weather-summary[b-f32rqq47sm] {
    max-width: var(--measure);
    margin: 0;
    color: var(--color-home-copy);
    font-size: 0.92rem;
    line-height: 1.65;
}

.weather-summary a[b-f32rqq47sm] {
    color: var(--accent);
    font-weight: 600;
    white-space: nowrap;
}

.region-next[b-f32rqq47sm] {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-strong);
}

.region-next h2[b-f32rqq47sm] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 600;
}

.region-next > p:not(.section-label)[b-f32rqq47sm] {
    max-width: 68ch;
    margin: 0.35rem 0 1.25rem;
    color: var(--color-muted);
    line-height: 1.55;
}

.region-next-primary[b-f32rqq47sm] {
    display: inline-flex;
    padding: 0.68rem 1.2rem;
    border: 1px solid var(--accent);
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 760px) {
    .section-heading-inline[b-f32rqq47sm] {
        align-items: flex-start;
    }

    .measure-select[b-f32rqq47sm] {
        width: 100%;
    }
}

.region-network[b-f32rqq47sm] {
    margin-top: 1.35rem;
}

.region-cost-splits[b-f32rqq47sm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: 1.6rem;
    margin-top: 1.8rem;
}

.region-cost-split h3[b-f32rqq47sm] {
    margin: 0 0 0.9rem;
    font-size: 0.95rem;
}

.region-cost-split > :global(*) + :global(*)[b-f32rqq47sm] {
    margin-top: 1rem;
}
/* /Pages/Sweep.razor.rz.scp.css */
.sweep-page[b-f0ugj82a15] {
    --accent: var(--color-brand);
    --accent-soft: var(--color-brand-accent-soft);
    max-width: 1180px;
    margin: 0 auto;
    padding: var(--space-page-top) var(--space-page-x) var(--space-page-bottom);
    color: var(--color-ink);
}

.sweep-page.case-study-page[b-f0ugj82a15] {
    max-width: none;
    padding: 0 0 var(--space-page-bottom);
}

.case-dashboard[b-f0ugj82a15] {
    max-width: 1180px;
    margin: 0 auto;
    padding: 4rem var(--space-page-x) 0;
    border-top: 3px solid var(--color-ink-surface);
    scroll-margin-top: 4.25rem;
}

.case-dashboard-heading[b-f0ugj82a15] {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: end;
    margin-bottom: 2rem;
}

.case-dashboard-heading p[b-f0ugj82a15] {
    margin: 0 0 0.35rem;
    color: var(--color-brand);
    font-size: var(--type-eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.case-dashboard-heading h2[b-f0ugj82a15] {
    margin: 0 0 0.5rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.6rem);
}

.case-dashboard-heading span[b-f0ugj82a15] {
    color: var(--color-muted);
}

@media (max-width: 700px) {
    .case-dashboard-heading[b-f0ugj82a15] {
        display: grid;
    }
}

.sweep-axis[b-f0ugj82a15] {
    max-width: 620px;
    margin: 0.45rem 0 0;
    color: var(--color-muted);
    font-size: 0.85rem;
    line-height: 1.5;
}

.status-block[b-f0ugj82a15] {
    display: grid;
    min-height: 420px;
    place-items: center;
}

.region-select[b-f0ugj82a15] {
    width: 230px;
    min-width: 0;
    max-width: 100%;
}

.weather-scope-note[b-f0ugj82a15] {
    max-width: 700px;
    margin: 1.5rem 0 0.5rem;
    color: var(--color-muted);
    font-size: 0.85rem;
    line-height: 1.55;
}

.reproducibility-records[b-f0ugj82a15] {
    max-width: 1180px;
    margin: 3rem auto 0;
    padding: 1.25rem var(--space-page-x);
    border-top: 1px solid var(--color-border-strong);
    border-bottom: 1px solid var(--color-border);
}

.reproducibility-records summary[b-f0ugj82a15] {
    cursor: pointer;
    color: var(--accent);
    font-weight: 700;
}

.reproducibility-records > p[b-f0ugj82a15] {
    max-width: 64ch;
    margin: 0.8rem 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.reproducibility-records[open][b-f0ugj82a15] {
    padding-bottom: 1.25rem;
}

.series-section[b-f0ugj82a15] {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-strong);
}

.section-index[b-f0ugj82a15] {
    margin: 0 0 0.25rem;
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.section-heading h2[b-f0ugj82a15] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 600;
}

.section-heading p:not(.section-index)[b-f0ugj82a15] {
    max-width: 720px;
    margin: 0.35rem 0 1.25rem;
    color: var(--color-muted);
    line-height: 1.55;
}

/* Section links. A sweep page grows with every measure the contract adds and every region a run
   covers, so it needs a way in other than scrolling to find out what is there. */
.sweep-sections[b-f0ugj82a15] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 1.25rem;
}

.sweep-sections a[b-f0ugj82a15] {
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 999px;
    color: var(--color-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
}

.sweep-sections a:hover[b-f0ugj82a15] {
    border-color: var(--accent);
    background: var(--accent-soft);
    color: var(--accent);
}
/* /Pages/Weather.razor.rz.scp.css */
.weather-page[b-5s8ftholfs] {
    --accent: var(--color-wind);
    --accent-soft: var(--color-wind-soft);
    --solar: var(--color-solar);
    --solar-soft: var(--color-solar-soft);
    --wind: var(--color-wind);
    --wind-soft: var(--color-wind-soft);
    --temperature: var(--color-temperature);
    --temperature-soft: var(--color-temperature-soft);
    --solar-production: var(--color-production-solar);
    --wind-production: var(--color-production-wind);
    max-width: 1180px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 3rem;
    color: var(--color-ink);
}

.weather-controls[b-5s8ftholfs] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
}

.region-select[b-5s8ftholfs],
.period-select[b-5s8ftholfs] {
    width: 190px;
    flex: 0 0 auto;
}


.trace-context[b-5s8ftholfs] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    padding: 1rem 0 0.5rem;
    color: var(--color-muted);
    font-size: 0.85rem;
}

.weather-provenance[b-5s8ftholfs] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 0.75rem 0 0.5rem;
}

.weather-provenance div[b-5s8ftholfs] {
    min-width: 0;
    padding: 0.75rem 1rem;
    border-left: 3px solid var(--solar);
    background: var(--color-surface-muted);
}

/* The wind block is addressed by position rather than as the last child, because a note now
   follows it and would otherwise take the wind colouring with it. */
.weather-provenance div:nth-of-type(2)[b-5s8ftholfs] {
    border-left-color: var(--wind);
}

.weather-sites-note[b-5s8ftholfs] {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 0.35rem;
    color: var(--color-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.weather-provenance h2[b-5s8ftholfs],
.weather-provenance p[b-5s8ftholfs],
.weather-provenance small[b-5s8ftholfs] {
    display: block;
    margin: 0;
}

.weather-provenance h2[b-5s8ftholfs] {
    font-size: 0.85rem;
    font-weight: 700;
}

.weather-provenance p[b-5s8ftholfs] {
    margin-top: 0.2rem;
    color: var(--color-ink);
    font-size: 0.85rem;
}

.weather-provenance small[b-5s8ftholfs] {
    margin-top: 0.35rem;
    overflow-wrap: anywhere;
    color: var(--color-muted);
    font-size: 0.75rem;
}

.weather-tabs[b-5s8ftholfs] {
    margin-top: 0.5rem;
}


.capacity-control[b-5s8ftholfs] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}

.capacity-input[b-5s8ftholfs] {
    width: 180px;
}

.production-summary[b-5s8ftholfs] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.production-summary div[b-5s8ftholfs] {
    min-width: 0;
    padding: 0.8rem 1rem;
    border-right: 1px solid var(--color-border);
}

.production-summary div:last-child[b-5s8ftholfs] {
    border-right: 0;
}

.production-summary span[b-5s8ftholfs],
.production-summary strong[b-5s8ftholfs] {
    display: block;
}

.production-summary span[b-5s8ftholfs] {
    color: var(--color-muted);
    font-size: 0.8rem;
}

.production-summary strong[b-5s8ftholfs] {
    margin-top: 0.2rem;
    color: var(--solar-production);
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 600;
}

.wind-production-summary strong[b-5s8ftholfs] {
    color: var(--wind-production);
}

@media (max-width: 760px) {
    .weather-page[b-5s8ftholfs] {
        padding: 1rem 0.85rem 2rem;
    }

    .weather-controls[b-5s8ftholfs] {
        align-items: stretch;
        flex-direction: column;
    }

    .region-select[b-5s8ftholfs],
    .period-select[b-5s8ftholfs] {
        width: 100%;
    }

    .capacity-control[b-5s8ftholfs] {
        width: 100%;
        justify-content: space-between;
    }

    .capacity-input[b-5s8ftholfs] {
        width: min(100%, 240px);
    }

    .weather-provenance[b-5s8ftholfs] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 420px) {
    .production-summary[b-5s8ftholfs] {
        grid-template-columns: 1fr;
    }

    .production-summary div[b-5s8ftholfs],
    .production-summary div:last-child[b-5s8ftholfs] {
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
    }

    .production-summary div:last-child[b-5s8ftholfs] {
        border-bottom: 0;
    }

}
