/* /Components/Layout/CRTOverlay.razor.rz.scp.css */
/* ============================================================================
   CRT OVERLAY EFFECTS
   ============================================================================
   Visual effects that overlay the entire page when CRT theme is active.
   Includes scanlines, phosphor glow, vignette, refresh line, and power LED.
   ============================================================================ */

/* Hide SVG filter definitions */
.crt-svg-filters[b-2hhwtxxu08] {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

/* Screen bulge - DISABLED */
.crt-screen-bulge[b-2hhwtxxu08] {
    display: none;
}

.crt-screen-bulge[b-2hhwtxxu08]::before {
    content: '';
    position: absolute;
    top: 3vh;
    left: 5vw;
    width: 40vw;
    height: 25vh;
    background: radial-gradient(
        ellipse at 25% 25%,
        rgba(255, 255, 255, 0.08) 0%,
        rgba(255, 255, 255, 0.04) 25%,
        rgba(255, 255, 255, 0.02) 50%,
        transparent 70%
    );
    border-radius: 50%;
    pointer-events: none;
    transform: rotate(-12deg) skewX(-5deg);
    filter: blur(2px);
}

.crt-screen-bulge[b-2hhwtxxu08]::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    border-radius: 40px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 3%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 0%, transparent 2%),
        radial-gradient(ellipse 30% 25% at 85% 85%, rgba(255, 255, 255, 0.015) 0%, transparent 60%);
}

/* Chromatic aberration - DISABLED */
.crt-chromatic-aberration[b-2hhwtxxu08] {
    display: none;
}

/* Scan lines overlay */
.crt-scanlines[b-2hhwtxxu08] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none;
    z-index: 99990;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 0, 0, 0.3) 2px,
        rgba(0, 0, 0, 0.3) 4px
    );
}

/* Horizontal refresh line */
.crt-refresh-line[b-2hhwtxxu08] {
    position: fixed !important;
    left: 0 !important;
    width: 100vw !important;
    height: 12px;
    pointer-events: none;
    z-index: 99991;
    background: linear-gradient(
        180deg,
        transparent,
        rgba(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128), 0.15),
        rgba(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128), 0.08),
        transparent
    );
    animation: refreshLine-b-2hhwtxxu08 3s linear infinite;
}

/* Phosphor color overlay */
.crt-phosphor-overlay[b-2hhwtxxu08] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none;
    z-index: 99985;
    background: linear-gradient(
        180deg,
        rgba(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128), 0.05) 0%,
        rgba(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128), 0.08) 50%,
        rgba(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128), 0.05) 100%
    );
    mix-blend-mode: screen;
}

/* Vignette - darkened edges */
.crt-vignette[b-2hhwtxxu08] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none;
    z-index: 99992;
    background: radial-gradient(
        ellipse at center,
        transparent 0%,
        transparent 50%,
        rgba(0, 0, 0, 0.3) 75%,
        rgba(0, 0, 0, 0.7) 100%
    );
}

/* Screen glare */
.crt-glare[b-2hhwtxxu08] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none;
    z-index: 99993;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.02) 0%,
        transparent 40%,
        transparent 60%,
        rgba(255, 255, 255, 0.01) 100%
    );
}

/* Power LED indicator */
.crt-power-led[b-2hhwtxxu08] {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    z-index: 99995;
    background: rgb(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128));
    box-shadow:
        0 0 8px rgb(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128)),
        0 0 16px rgb(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128)),
        0 0 24px rgba(var(--crt-r, 74), var(--crt-g, 222), var(--crt-b, 128), 0.5);
    animation: pulse-b-2hhwtxxu08 2s ease-in-out infinite;
}

/* Animations */
@keyframes refreshLine-b-2hhwtxxu08 {
    0% {
        top: -15px;
        opacity: 0;
    }
    3% {
        opacity: 0.8;
    }
    97% {
        opacity: 0.8;
    }
    100% {
        top: 100vh;
        opacity: 0;
    }
}

@keyframes pulse-b-2hhwtxxu08 {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.6;
        transform: scale(0.9);
    }
}

@keyframes flicker-b-2hhwtxxu08 {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.95;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Scoped layout styles are in app.css for theme variable access */

#blazor-error-ui[b-l52t7cnku3] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-l52t7cnku3] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-qrtb1sttcl],
.components-reconnect-repeated-attempt-visible[b-qrtb1sttcl],
.components-reconnect-failed-visible[b-qrtb1sttcl],
.components-pause-visible[b-qrtb1sttcl],
.components-resume-failed-visible[b-qrtb1sttcl],
.components-rejoining-animation[b-qrtb1sttcl] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-retrying[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-failed[b-qrtb1sttcl],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-qrtb1sttcl] {
    display: block;
}


#components-reconnect-modal[b-qrtb1sttcl] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-qrtb1sttcl 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-qrtb1sttcl 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-qrtb1sttcl 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-qrtb1sttcl]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-qrtb1sttcl 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-qrtb1sttcl {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-qrtb1sttcl {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-qrtb1sttcl {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-qrtb1sttcl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-qrtb1sttcl] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-qrtb1sttcl] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-qrtb1sttcl] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-qrtb1sttcl] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-qrtb1sttcl] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-qrtb1sttcl] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-qrtb1sttcl 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-qrtb1sttcl] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-qrtb1sttcl {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/CaseDetail.razor.rz.scp.css */
/* ============================================================
   CASE DETAIL — the case file itself.
   Header plate, numbered sections, exhibit frame, proof spec
   table, method footnote, prev/next pager. Token-driven.
   ============================================================ */

.case-file[b-h5xyt83hi9] {
    max-width: 840px;
    margin: 0 auto;
}

.case-back[b-h5xyt83hi9] {
    display: inline-block;
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-text-muted) !important;
    text-decoration: none !important;
    margin-bottom: var(--aw-spacing-lg);
    transition: color var(--aw-transition-fast);
}

.case-back:hover[b-h5xyt83hi9] {
    color: var(--aw-accent-primary) !important;
}

/* ---- header plate ---- */
.case-plate[b-h5xyt83hi9] {
    border: 1px solid var(--aw-border-strong);
    border-radius: var(--aw-radius-sm);
    background: var(--aw-bg-elevated);
    padding: var(--aw-spacing-xl);
    margin-bottom: calc(var(--aw-spacing-xl) * 1.5);
    position: relative;
}

/* corner tick — pure structure, no colour of its own */
.case-plate[b-h5xyt83hi9]::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: var(--aw-spacing-lg);
    height: var(--aw-spacing-lg);
    border-top: 3px solid var(--aw-accent-primary);
    border-left: 3px solid var(--aw-accent-primary);
    border-top-left-radius: var(--aw-radius-sm);
}

.case-plate-label[b-h5xyt83hi9] {
    display: flex;
    align-items: baseline;
    gap: var(--aw-spacing-sm);
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-sm);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: var(--aw-spacing-md);
}

.case-plate-number[b-h5xyt83hi9] {
    color: var(--aw-accent-primary);
    font-weight: var(--aw-font-weight-semibold);
}

.case-plate-sep[b-h5xyt83hi9] {
    color: var(--aw-text-subtle);
}

.case-plate-domain[b-h5xyt83hi9] {
    color: var(--aw-text-muted);
}

.case-plate-title[b-h5xyt83hi9] {
    font-size: calc(var(--aw-font-size-3xl) * 1.2);
    font-weight: var(--aw-font-weight-bold);
    letter-spacing: -0.02em;
    line-height: var(--aw-line-height-tight);
    color: var(--aw-text-primary);
    margin: 0;
}

.case-plate-live[b-h5xyt83hi9] {
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
    margin-top: var(--aw-spacing-md);
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-success) !important;
    border: 1px solid var(--aw-success);
    border-radius: var(--aw-radius-sm);
    padding: 0.25em 0.75em;
    text-decoration: none !important;
    transition: box-shadow var(--aw-transition-fast);
}

.case-plate-live:hover[b-h5xyt83hi9] {
    box-shadow: var(--aw-shadow-sm);
}

.case-plate-live-dot[b-h5xyt83hi9] {
    width: 0.5em;
    height: 0.5em;
    border-radius: var(--aw-radius-full);
    background: var(--aw-success);
}

/* ---- numbered sections ---- */
.case-section[b-h5xyt83hi9] {
    margin-bottom: calc(var(--aw-spacing-xl) * 1.5);
}

.case-section-label[b-h5xyt83hi9] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    font-weight: var(--aw-font-weight-semibold);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-accent-primary);
    border-bottom: 1px solid var(--aw-border-default);
    padding-bottom: var(--aw-spacing-sm);
    margin-bottom: var(--aw-spacing-md);
}

.case-section-body[b-h5xyt83hi9] {
    color: var(--aw-text-secondary);
    font-size: var(--aw-font-size-lg);
    line-height: var(--aw-line-height-relaxed);
    margin: 0;
    max-width: 64ch;
}

/* ---- exhibit frame ---- */
.case-exhibit[b-h5xyt83hi9] {
    margin: var(--aw-spacing-lg) 0 0;
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    background: var(--aw-bg-elevated);
    padding: var(--aw-spacing-sm);
}

.case-exhibit-img[b-h5xyt83hi9] {
    display: block;
    width: 100%;
    border-radius: var(--aw-radius-sm);
}

.case-exhibit-caption[b-h5xyt83hi9] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
    padding: var(--aw-spacing-sm) var(--aw-spacing-xs) var(--aw-spacing-xs);
}

.case-exhibit-pending[b-h5xyt83hi9] {
    border-style: dashed;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--aw-spacing-xs);
    min-height: 220px;
    text-align: center;
}

.case-exhibit-pending-label[b-h5xyt83hi9] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-sm);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    padding: 0.35em 1em;
}

.case-exhibit-pending-sub[b-h5xyt83hi9] {
    font-size: var(--aw-font-size-xs);
    color: var(--aw-text-subtle);
}

/* ---- proof: spec-table grid ---- */
.case-proof[b-h5xyt83hi9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1px;
    background: var(--aw-border-default); /* token-driven grid lines */
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    overflow: hidden;
    margin: 0;
}

.case-proof-cell[b-h5xyt83hi9] {
    background: var(--aw-bg-elevated);
    padding: var(--aw-spacing-md) var(--aw-spacing-lg);
}

.case-proof-label[b-h5xyt83hi9] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
    margin-bottom: var(--aw-spacing-xs);
}

.case-proof-value[b-h5xyt83hi9] {
    font-size: var(--aw-font-size-2xl);
    font-weight: var(--aw-font-weight-bold);
    letter-spacing: -0.01em;
    color: var(--aw-text-primary);
    margin: 0;
}

/* ---- method footnote ---- */
.case-how-note[b-h5xyt83hi9] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-sm);
    line-height: var(--aw-line-height-relaxed);
    color: var(--aw-text-muted);
    border-left: 3px solid var(--aw-accent-primary);
    padding-left: var(--aw-spacing-md);
    margin: 0;
    max-width: 72ch;
}

/* ---- prev / next pager ---- */
.case-pager[b-h5xyt83hi9] {
    display: flex;
    align-items: stretch;
    gap: var(--aw-spacing-sm);
    border-top: 2px solid var(--aw-border-strong);
    padding-top: var(--aw-spacing-lg);
    margin-bottom: var(--aw-spacing-xl);
}

.case-pager-link[b-h5xyt83hi9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--aw-spacing-xs);
    padding: var(--aw-spacing-md);
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    text-decoration: none !important;
    transition: border-color var(--aw-transition-base), background var(--aw-transition-base);
}

.case-pager-link:hover[b-h5xyt83hi9] {
    border-color: var(--aw-accent-primary);
    background: var(--aw-bg-hover);
}

.case-pager-next[b-h5xyt83hi9] {
    text-align: right;
    align-items: flex-end;
}

.case-pager-dir[b-h5xyt83hi9] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
}

.case-pager-name[b-h5xyt83hi9] {
    font-size: var(--aw-font-size-sm);
    font-weight: var(--aw-font-weight-semibold);
    color: var(--aw-text-primary);
}

.case-pager-index[b-h5xyt83hi9] {
    display: flex;
    align-items: center;
    padding: 0 var(--aw-spacing-md);
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-text-muted) !important;
    text-decoration: none !important;
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    transition: border-color var(--aw-transition-base), color var(--aw-transition-base);
}

.case-pager-index:hover[b-h5xyt83hi9] {
    border-color: var(--aw-accent-primary);
    color: var(--aw-accent-primary) !important;
}

@media (max-width: 768px) {
    .case-plate[b-h5xyt83hi9] {
        padding: var(--aw-spacing-lg);
    }

    .case-plate-title[b-h5xyt83hi9] {
        font-size: var(--aw-font-size-3xl);
    }

    .case-pager[b-h5xyt83hi9] {
        flex-direction: column;
    }

    .case-pager-next[b-h5xyt83hi9] {
        text-align: left;
        align-items: flex-start;
    }

    .case-pager-index[b-h5xyt83hi9] {
        justify-content: center;
        padding: var(--aw-spacing-sm);
    }
}
/* /Components/Pages/Cases.razor.rz.scp.css */
/* ============================================================
   CASES INDEX — dossier header + specimen grid.
   Token-driven; structure and typography carry the character.
   ============================================================ */

.cases-header[b-31ur3w7krg] {
    max-width: 720px;
    margin-bottom: calc(var(--aw-spacing-xl) * 1.5);
    padding-top: var(--aw-spacing-md);
}

.cases-kicker[b-31ur3w7krg] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-accent-primary);
    margin-bottom: var(--aw-spacing-sm);
}

.cases-heading[b-31ur3w7krg] {
    font-size: calc(var(--aw-font-size-3xl) * 1.35);
    font-weight: var(--aw-font-weight-bold);
    letter-spacing: -0.02em;
    line-height: var(--aw-line-height-tight);
    color: var(--aw-text-primary);
    margin: 0 0 var(--aw-spacing-md);
    padding-bottom: var(--aw-spacing-md);
    border-bottom: 2px solid var(--aw-border-strong);
}

.cases-intro[b-31ur3w7krg] {
    color: var(--aw-text-secondary);
    font-size: var(--aw-font-size-base);
    line-height: var(--aw-line-height-relaxed);
    margin: 0;
}

.cases-grid[b-31ur3w7krg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--aw-spacing-lg);
    margin-bottom: calc(var(--aw-spacing-xl) * 2);
}

@media (max-width: 768px) {
    .cases-grid[b-31ur3w7krg] {
        grid-template-columns: 1fr;
    }

    .cases-heading[b-31ur3w7krg] {
        font-size: var(--aw-font-size-3xl);
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Home — featured case grid + link row (token-driven). */

.home-case-grid[b-37cmf9y3o1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--aw-spacing-lg);
}

.home-link-row[b-37cmf9y3o1] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--aw-spacing-sm) var(--aw-spacing-md);
    margin-top: var(--aw-spacing-xl);
}

.home-link[b-37cmf9y3o1] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--aw-text-muted) !important;
    text-decoration: none !important;
    transition: color var(--aw-transition-fast);
}

.home-link:hover[b-37cmf9y3o1] {
    color: var(--aw-accent-primary) !important;
}

.home-link-sep[b-37cmf9y3o1] {
    color: var(--aw-text-subtle);
}

@media (max-width: 768px) {
    .home-case-grid[b-37cmf9y3o1] {
        grid-template-columns: 1fr;
    }

    .home-link-row[b-37cmf9y3o1] {
        flex-direction: column;
        gap: var(--aw-spacing-sm);
    }

    .home-link-sep[b-37cmf9y3o1] {
        display: none;
    }
}
/* /Components/Pages/HowIWork.razor.rz.scp.css */
/* ============================================================
   HOW I WORK — short factual orchestration story + method
   list + pending-footage frame. Token-driven dossier styling.
   ============================================================ */

.hiw-page[b-11cotujosy] {
    max-width: 720px;
    margin: 0 auto;
}

.hiw-kicker[b-11cotujosy] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-accent-primary);
    margin-bottom: var(--aw-spacing-sm);
    padding-top: var(--aw-spacing-md);
}

.hiw-heading[b-11cotujosy] {
    font-size: calc(var(--aw-font-size-3xl) * 1.35);
    font-weight: var(--aw-font-weight-bold);
    letter-spacing: -0.02em;
    line-height: var(--aw-line-height-tight);
    margin: 0 0 var(--aw-spacing-lg);
    padding-bottom: var(--aw-spacing-md);
    border-bottom: 2px solid var(--aw-border-strong);
}

.hiw-body p[b-11cotujosy] {
    color: var(--aw-text-secondary);
    font-size: var(--aw-font-size-base);
    line-height: var(--aw-line-height-relaxed);
    margin: 0 0 var(--aw-spacing-md);
}

/* ---- method list ---- */
.hiw-method-label[b-11cotujosy] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    font-weight: var(--aw-font-weight-semibold);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-accent-primary);
    border-bottom: 1px solid var(--aw-border-default);
    padding-bottom: var(--aw-spacing-sm);
    margin: var(--aw-spacing-xl) 0 var(--aw-spacing-md);
}

.hiw-method[b-11cotujosy] {
    list-style: none;
    margin: 0 0 calc(var(--aw-spacing-xl) * 1.5);
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1px;
    background: var(--aw-border-default);
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    overflow: hidden;
}

.hiw-method-step[b-11cotujosy] {
    display: flex;
    flex-direction: column;
    gap: var(--aw-spacing-xs);
    background: var(--aw-bg-elevated);
    padding: var(--aw-spacing-md);
}

.hiw-step-num[b-11cotujosy] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    color: var(--aw-accent-primary);
}

.hiw-step-text[b-11cotujosy] {
    font-size: var(--aw-font-size-sm);
    font-weight: var(--aw-font-weight-semibold);
    color: var(--aw-text-primary);
}

/* ---- pending footage frame ---- */
.hiw-footage[b-11cotujosy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--aw-spacing-xs);
    min-height: 200px;
    border: 1px dashed var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    background: var(--aw-bg-elevated);
    text-align: center;
    margin-bottom: calc(var(--aw-spacing-xl) * 2);
    padding: var(--aw-spacing-lg);
}

.hiw-footage-label[b-11cotujosy] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-sm);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    padding: 0.35em 1em;
}

.hiw-footage-sub[b-11cotujosy] {
    font-size: var(--aw-font-size-xs);
    color: var(--aw-text-subtle);
}

@media (max-width: 768px) {
    .hiw-heading[b-11cotujosy] {
        font-size: var(--aw-font-size-3xl);
    }
}
/* /Components/Pages/TheLab.razor.rz.scp.css */
/* ============================================================
   THE LAB — annex page: intro + one prominent link card +
   category teaser grid. Token-driven dossier styling.
   ============================================================ */

.lab-page[b-igqz7zdo61] {
    max-width: 840px;
    margin: 0 auto;
}

.lab-kicker[b-igqz7zdo61] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-accent-primary);
    margin-bottom: var(--aw-spacing-sm);
    padding-top: var(--aw-spacing-md);
}

.lab-heading[b-igqz7zdo61] {
    font-size: calc(var(--aw-font-size-3xl) * 1.35);
    font-weight: var(--aw-font-weight-bold);
    letter-spacing: -0.02em;
    line-height: var(--aw-line-height-tight);
    margin: 0 0 var(--aw-spacing-md);
    padding-bottom: var(--aw-spacing-md);
    border-bottom: 2px solid var(--aw-border-strong);
}

.lab-intro[b-igqz7zdo61] {
    color: var(--aw-text-secondary);
    font-size: var(--aw-font-size-lg);
    line-height: var(--aw-line-height-relaxed);
    max-width: 64ch;
    margin: 0 0 var(--aw-spacing-xl);
}

/* ---- the one prominent link card ---- */
.lab-link-card[b-igqz7zdo61] {
    display: flex;
    flex-direction: column;
    gap: var(--aw-spacing-xs);
    border: 1px solid var(--aw-border-strong);
    border-radius: var(--aw-radius-sm);
    background: var(--aw-bg-elevated);
    padding: var(--aw-spacing-xl);
    margin-bottom: calc(var(--aw-spacing-xl) * 1.5);
    text-decoration: none !important;
    position: relative;
    transition: border-color var(--aw-transition-base),
                box-shadow var(--aw-transition-base),
                transform var(--aw-transition-base);
}

.lab-link-card[b-igqz7zdo61]::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: var(--aw-spacing-lg);
    height: var(--aw-spacing-lg);
    border-top: 3px solid var(--aw-accent-primary);
    border-left: 3px solid var(--aw-accent-primary);
    border-top-left-radius: var(--aw-radius-sm);
}

.lab-link-card:hover[b-igqz7zdo61] {
    border-color: var(--aw-accent-primary);
    box-shadow: var(--aw-shadow-md);
    transform: translateY(-2px);
}

.lab-link-label[b-igqz7zdo61] {
    font-size: var(--aw-font-size-2xl);
    font-weight: var(--aw-font-weight-bold);
    color: var(--aw-text-primary);
}

.lab-link-url[b-igqz7zdo61] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-sm);
    letter-spacing: 0.06em;
    color: var(--aw-accent-primary);
}

.lab-link-sub[b-igqz7zdo61] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
    margin-top: var(--aw-spacing-sm);
    border-top: 1px dashed var(--aw-border-default);
    padding-top: var(--aw-spacing-sm);
}

/* ---- category teaser grid ---- */
.lab-cat-label[b-igqz7zdo61] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    font-weight: var(--aw-font-weight-semibold);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--aw-accent-primary);
    border-bottom: 1px solid var(--aw-border-default);
    padding-bottom: var(--aw-spacing-sm);
    margin-bottom: var(--aw-spacing-md);
}

.lab-cat-grid[b-igqz7zdo61] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--aw-spacing-sm);
    margin-bottom: calc(var(--aw-spacing-xl) * 2);
}

.lab-cat[b-igqz7zdo61] {
    display: flex;
    flex-direction: column;
    gap: var(--aw-spacing-xs);
    border: 1px solid var(--aw-border-subtle);
    border-radius: var(--aw-radius-sm);
    background: var(--aw-bg-elevated);
    padding: var(--aw-spacing-md);
}

.lab-cat-name[b-igqz7zdo61] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-sm);
    font-weight: var(--aw-font-weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--aw-text-primary);
}

.lab-cat-desc[b-igqz7zdo61] {
    font-size: var(--aw-font-size-xs);
    color: var(--aw-text-muted);
    line-height: var(--aw-line-height-relaxed);
}

@media (max-width: 768px) {
    .lab-heading[b-igqz7zdo61] {
        font-size: var(--aw-font-size-3xl);
    }

    .lab-link-card[b-igqz7zdo61] {
        padding: var(--aw-spacing-lg);
    }
}
/* /Components/Shared/CaseCard.razor.rz.scp.css */
/* ============================================================
   CASE CARD — engineering dossier specimen card.
   All colour/spacing/radius/shadow from --aw-* tokens; the
   dossier character comes from structure + typography only.
   ============================================================ */

.case-card[b-trlxwbzcdt] {
    display: flex;
    flex-direction: column;
    background: var(--aw-bg-elevated);
    border: 1px solid var(--aw-border-default);
    border-radius: var(--aw-radius-sm);
    padding: var(--aw-spacing-lg);
    text-decoration: none !important;
    transition: border-color var(--aw-transition-base),
                box-shadow var(--aw-transition-base),
                transform var(--aw-transition-base);
    /* staggered reveal (delay set inline per card) */
    opacity: 0;
    animation: case-card-reveal-b-trlxwbzcdt 0.45s var(--aw-transition-base, ease) forwards;
}

@keyframes case-card-reveal-b-trlxwbzcdt {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .case-card[b-trlxwbzcdt] {
        animation: none;
        opacity: 1;
    }
}

.case-card:hover[b-trlxwbzcdt] {
    border-color: var(--aw-accent-primary);
    box-shadow: var(--aw-shadow-md);
    transform: translateY(-2px);
}

/* ---- head row: specimen number + rule + live badge ---- */
.case-card-head[b-trlxwbzcdt] {
    display: flex;
    align-items: center;
    gap: var(--aw-spacing-sm);
    margin-bottom: var(--aw-spacing-md);
}

.case-card-number[b-trlxwbzcdt] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    font-weight: var(--aw-font-weight-semibold);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-accent-primary);
    white-space: nowrap;
}

.case-card-rule[b-trlxwbzcdt] {
    flex: 1;
    height: 1px;
    background: var(--aw-border-default);
}

.case-card-live[b-trlxwbzcdt] {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-success);
    border: 1px solid var(--aw-success);
    border-radius: var(--aw-radius-sm);
    padding: 0.1em 0.5em;
    white-space: nowrap;
}

.case-card-live-dot[b-trlxwbzcdt] {
    width: 0.45em;
    height: 0.45em;
    border-radius: var(--aw-radius-full);
    background: var(--aw-success);
}

/* ---- body ---- */
.case-card-domain[b-trlxwbzcdt] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
    margin-bottom: var(--aw-spacing-xs);
}

.case-card-title[b-trlxwbzcdt] {
    font-size: var(--aw-font-size-xl);
    font-weight: var(--aw-font-weight-bold);
    line-height: var(--aw-line-height-tight);
    color: var(--aw-text-primary);
    margin: 0 0 var(--aw-spacing-sm);
}

.case-card-teaser[b-trlxwbzcdt] {
    color: var(--aw-text-secondary);
    font-size: var(--aw-font-size-sm);
    line-height: var(--aw-line-height-relaxed);
    margin: 0 0 var(--aw-spacing-lg);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---- foot ---- */
.case-card-foot[b-trlxwbzcdt] {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px dashed var(--aw-border-default);
    padding-top: var(--aw-spacing-sm);
}

.case-card-open[b-trlxwbzcdt] {
    font-family: var(--aw-font-family-mono);
    font-size: var(--aw-font-size-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--aw-text-muted);
    transition: color var(--aw-transition-fast);
}

.case-card-arrow[b-trlxwbzcdt] {
    color: var(--aw-text-muted);
    transition: color var(--aw-transition-fast), transform var(--aw-transition-fast);
}

.case-card:hover .case-card-open[b-trlxwbzcdt],
.case-card:hover .case-card-arrow[b-trlxwbzcdt] {
    color: var(--aw-accent-primary);
}

.case-card:hover .case-card-arrow[b-trlxwbzcdt] {
    transform: translateX(3px);
}
