@import 'baler_web.Client.ku81st6kls.bundle.scp.css';

/* /Components/Atoms/GateView.razor.rz.scp.css */
/* Exterior scene: gate, knothole and bell (DESIGN.md sections 4-6). */
.gate[b-w3wmudrcc6] {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    transition: filter .9s ease;
}

.gate.dimmed[b-w3wmudrcc6] {
    filter: brightness(.5) saturate(.85);
}

/* Door: leaves fold towards their hinges */
.leaf[b-w3wmudrcc6] {
    transition: transform 1.7s cubic-bezier(.5, 0, .25, 1), filter 1.7s;
}

.leaf-l[b-w3wmudrcc6] {
    transform-origin: 350px 480px;
}

.leaf-r[b-w3wmudrcc6] {
    transform-origin: 1250px 480px;
}

.gate.open .leaf[b-w3wmudrcc6] {
    transform: scaleX(.11);
    filter: brightness(.55);
}

.hole-rim[b-w3wmudrcc6] {
    transition: opacity .3s;
}

.gate.open .hole-rim[b-w3wmudrcc6] {
    opacity: 0;
}

/* Hotspots */
.hot[b-w3wmudrcc6] {
    position: absolute;
    padding: 0;
    color: inherit;
    background: none;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transform: translate(-50%, -50%);
}

.hot[hidden][b-w3wmudrcc6] {
    display: none !important;
}

.knot[b-w3wmudrcc6] {
    left: 46.25%;
    top: 47.78%;
    width: clamp(64px, 6.2cqw, 96px);
    height: clamp(64px, 6.2cqw, 96px);
}

.knot span[b-w3wmudrcc6] {
    display: block;
    width: 100%;
    height: 100%;
    border: 2px dashed rgba(255, 255, 255, .9);
    border-radius: 50%;
    animation: pulse-b-w3wmudrcc6 2s ease-in-out infinite;
}

@keyframes pulse-b-w3wmudrcc6 {
    0%, 100% { transform: scale(.92); opacity: .65; }
    50% { transform: scale(1.1); opacity: 1; }
}

.bell[b-w3wmudrcc6] {
    left: 82.8%;
    top: 61%;
    width: clamp(48px, 5.6cqw, 88px);
    height: clamp(60px, 7cqw, 110px);
    min-width: 44px;
    min-height: 44px;
    border-radius: 12px;
}

.bell svg[b-w3wmudrcc6] {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.bell .swing[b-w3wmudrcc6] {
    transform-origin: 40px 14px;
}

.bell.ringing .swing[b-w3wmudrcc6] {
    animation: ring-b-w3wmudrcc6 .42s ease-in-out 4 alternate;
}

@keyframes ring-b-w3wmudrcc6 {
    from { transform: rotate(-22deg); }
    to { transform: rotate(22deg); }
}

.bell.glow[b-w3wmudrcc6]::before {
    content: "";
    position: absolute;
    inset: -30%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242, 194, 48, .55), rgba(242, 194, 48, 0) 68%);
    animation: glow-b-w3wmudrcc6 1.4s ease-in-out infinite;
}

@keyframes glow-b-w3wmudrcc6 {
    0%, 100% { opacity: .35; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1.12); }
}

@media (prefers-reduced-motion: reduce) {
    .knot span[b-w3wmudrcc6],
    .bell.glow[b-w3wmudrcc6]::before {
        animation: none;
    }

    .gate[b-w3wmudrcc6],
    .leaf[b-w3wmudrcc6],
    .hole-rim[b-w3wmudrcc6] {
        transition-duration: 10ms;
    }
}
/* /Components/Atoms/LockArt.razor.rz.scp.css */
/* Lock halves split, shards fall, sparks flash (DESIGN.md section 5). */
.half[b-p548tohghn] {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform .35s cubic-bezier(.2, 1.4, .4, 1);
}

.crackline[b-p548tohghn],
.shard[b-p548tohghn],
.spark[b-p548tohghn] {
    opacity: 0;
}

.cracked .half-a[b-p548tohghn] {
    transform: translate(-8px, 4px) rotate(-7deg);
}

.cracked .half-b[b-p548tohghn] {
    transform: translate(9px, 8px) rotate(8deg);
}

.cracked .crackline[b-p548tohghn] {
    opacity: 1;
}

.cracked .shard[b-p548tohghn] {
    opacity: 1;
    animation: fall-b-p548tohghn 1.1s ease-in forwards;
}

.cracked .shard-2[b-p548tohghn] {
    animation-delay: .1s;
}

.cracked .shard-3[b-p548tohghn] {
    animation-delay: .2s;
}

.spark[b-p548tohghn] {
    transform-box: fill-box;
    transform-origin: center;
}

.cracked .spark[b-p548tohghn] {
    animation: spark-b-p548tohghn .7s ease-out 1;
}

@keyframes fall-b-p548tohghn {
    from { transform: translateY(-6px); }
    to { transform: translateY(26px) rotate(90deg); opacity: 0; }
}

@keyframes spark-b-p548tohghn {
    0% { opacity: 1; transform: scale(.4); }
    100% { opacity: 0; transform: scale(1.6); }
}

@media (prefers-reduced-motion: reduce) {
    .half[b-p548tohghn] {
        transition-duration: 10ms;
    }

    .cracked .shard[b-p548tohghn] {
        animation: none;
        opacity: 0;
    }

    .cracked .spark[b-p548tohghn] {
        animation: none;
    }
}
/* /Components/Atoms/PressArt.razor.rz.scp.css */
/* Press rod stroke and status lamp (DESIGN.md section 5). */
.rod[b-457jrkx1rc] {
    animation: press-b-457jrkx1rc 2.6s ease-in-out infinite;
}

@keyframes press-b-457jrkx1rc {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(26px); }
}

.stopped .rod[b-457jrkx1rc] {
    animation-play-state: paused;
}

.lamp[b-457jrkx1rc] {
    animation: lampblink-b-457jrkx1rc 1.6s steps(1) infinite;
}

.stopped .lamp[b-457jrkx1rc] {
    fill: var(--alarm);
    animation: lampblink-b-457jrkx1rc .5s steps(1) infinite;
}

@keyframes lampblink-b-457jrkx1rc {
    50% { opacity: .35; }
}

@media (prefers-reduced-motion: reduce) {
    .rod[b-457jrkx1rc],
    .lamp[b-457jrkx1rc],
    .stopped .lamp[b-457jrkx1rc] {
        animation: none;
    }
}
/* /Components/Atoms/VisitorFigure.razor.rz.scp.css */
/* Visitor slides in from the left (1.6 s) and gently tilts the head (DESIGN.md section 5). */
.visitor-slot[b-x39bal4vbo] {
    transform: translate(-320px, 0);
    transition: transform 1.6s cubic-bezier(.2, .7, .2, 1);
}

.visitor-slot.in[b-x39bal4vbo] {
    transform: translate(0, 0);
}

.peek[b-x39bal4vbo] {
    transform-box: fill-box;
    transform-origin: 50% 100%;
    animation: peek-b-x39bal4vbo 3s ease-in-out infinite alternate;
}

@keyframes peek-b-x39bal4vbo {
    from { transform: rotate(-1deg); }
    to { transform: rotate(5deg) translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
    .visitor-slot[b-x39bal4vbo] {
        transition-duration: 10ms;
    }

    .peek[b-x39bal4vbo] {
        animation: none;
    }
}
/* /Components/Atoms/WorkerFigure.razor.rz.scp.css */
/* Worker poses and walk cycle (DESIGN.md sections 4 and 5). Limbs rotate about their pivot at 0 0. */
.leg[b-1jumbncs30],
.arm[b-1jumbncs30],
.bob[b-1jumbncs30] {
    transform-origin: 0 0;
}

.leg[b-1jumbncs30],
.arm[b-1jumbncs30] {
    transition: transform .3s ease;
}

.face-left .flip[b-1jumbncs30] {
    transform: scaleX(-1);
}

.walking .leg-a[b-1jumbncs30],
.walking .arm-front[b-1jumbncs30] {
    animation: swing-b-1jumbncs30 .56s ease-in-out infinite alternate;
}

.walking .leg-b[b-1jumbncs30],
.walking .arm-back[b-1jumbncs30] {
    animation: swing-b-1jumbncs30 .56s ease-in-out infinite alternate-reverse;
}

.walking .bob[b-1jumbncs30] {
    animation: bob-b-1jumbncs30 .28s ease-in-out infinite alternate;
}

@keyframes swing-b-1jumbncs30 {
    from { transform: rotate(-24deg); }
    to { transform: rotate(24deg); }
}

@keyframes bob-b-1jumbncs30 {
    from { transform: translateY(0); }
    to { transform: translateY(-5px); }
}

.pose-phone .arm-front[b-1jumbncs30] {
    transform: rotate(-125deg);
}

.phone-prop[b-1jumbncs30] {
    opacity: 0;
}

.pose-phone .phone-prop[b-1jumbncs30] {
    opacity: 1;
}

.pose-talk .arm-front[b-1jumbncs30] {
    animation: gesture-b-1jumbncs30 1.2s ease-in-out infinite alternate;
}

@keyframes gesture-b-1jumbncs30 {
    from { transform: rotate(-30deg); }
    to { transform: rotate(-58deg); }
}

@media (prefers-reduced-motion: reduce) {
    .walking .leg-a[b-1jumbncs30],
    .walking .leg-b[b-1jumbncs30],
    .walking .arm-front[b-1jumbncs30],
    .walking .arm-back[b-1jumbncs30],
    .walking .bob[b-1jumbncs30],
    .pose-talk .arm-front[b-1jumbncs30] {
        animation: none;
    }

    .leg[b-1jumbncs30],
    .arm[b-1jumbncs30] {
        transition-duration: 10ms;
    }
}
/* /Components/Atoms/WorkshopView.razor.rz.scp.css */
/* Interior scene fills the stage layer. */
.workshop[b-os9myhmgvp] {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

/* Crack: alarm glow behind press 4 and the pulsing lock badge (DESIGN.md section 5). */
.alarm[b-os9myhmgvp] {
    opacity: 0;
}

.cracked-scene .alarm[b-os9myhmgvp] {
    animation: alarm-b-os9myhmgvp 1.1s ease-in-out infinite;
}

@keyframes alarm-b-os9myhmgvp {
    0%, 100% { opacity: .2; }
    50% { opacity: 1; }
}

.lock-flag[b-os9myhmgvp] {
    opacity: 0;
    transition: opacity .3s .4s;
}

.cracked-scene .lock-flag[b-os9myhmgvp] {
    opacity: 1;
}

.lock-flag .ring[b-os9myhmgvp] {
    transform-box: fill-box;
    transform-origin: center;
    animation: flagring-b-os9myhmgvp 1.5s ease-out infinite;
}

@keyframes flagring-b-os9myhmgvp {
    from { transform: scale(.6); opacity: 1; }
    to { transform: scale(1.5); opacity: 0; }
}

/* Worker walk: x changes are animated; rendered at -200 first so the transition runs. */
.worker-slot[b-os9myhmgvp] {
    transition: transform 2.4s linear;
}

@media (prefers-reduced-motion: reduce) {
    .cracked-scene .alarm[b-os9myhmgvp] {
        animation: none;
        opacity: .6;
    }

    .lock-flag .ring[b-os9myhmgvp] {
        animation: none;
    }

    .lock-flag[b-os9myhmgvp],
    .worker-slot[b-os9myhmgvp] {
        transition-duration: 10ms;
        transition-delay: 0s;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-w9gvwhzhoh] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

main[b-w9gvwhzhoh] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    /* Pages never scroll sideways (the old frame clipped overflow the same way). */
    overflow-x: clip;
}

#blazor-error-ui[b-w9gvwhzhoh] {
    color-scheme: light only;
    background: lightyellow;
    color: #1f2933;
    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-w9gvwhzhoh] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-o01i4rimwx],
.components-reconnect-repeated-attempt-visible[b-o01i4rimwx],
.components-reconnect-failed-visible[b-o01i4rimwx],
.components-pause-visible[b-o01i4rimwx],
.components-resume-failed-visible[b-o01i4rimwx],
.components-rejoining-animation[b-o01i4rimwx] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-retrying[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-failed[b-o01i4rimwx],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-o01i4rimwx] {
    display: block;
}


#components-reconnect-modal[b-o01i4rimwx] {
    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-o01i4rimwx 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-o01i4rimwx 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-o01i4rimwx 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-o01i4rimwx]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-o01i4rimwx 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-o01i4rimwx {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-o01i4rimwx {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-o01i4rimwx {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-o01i4rimwx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-o01i4rimwx] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-o01i4rimwx] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-o01i4rimwx] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-o01i4rimwx] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-o01i4rimwx] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-o01i4rimwx] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-o01i4rimwx 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-o01i4rimwx] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-o01i4rimwx {
    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/Layout/SiteBar.razor.rz.scp.css */
.site-bar[b-p4c5pewvap] {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    gap: 8px 24px;
    padding: 10px 16px;
    background: var(--panel);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(8px);
}

.site-bar-brand[b-p4c5pewvap] {
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--paper);
    text-decoration: none;
}

.site-bar-nav[b-p4c5pewvap] {
    display: flex;
    gap: 4px;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
}

.site-bar-nav[b-p4c5pewvap]  .site-bar-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 8px;
    font-family: var(--font-sign);
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--muted);
    text-decoration: none;
    transition: color .2s, background .2s;
}

.site-bar-nav[b-p4c5pewvap]  .site-bar-link:hover {
    color: var(--paper);
}

.site-bar-nav[b-p4c5pewvap]  .site-bar-link.active {
    color: var(--paper);
    background: var(--navy);
}

.site-bar-lang[b-p4c5pewvap] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.site-bar-lang[b-p4c5pewvap]  .language-selector {
    width: auto;
    min-height: 40px;
    background: var(--navy);
    color: var(--paper);
    border: 1px solid var(--line);
    border-radius: 8px;
}

@media (max-width: 640.98px) {
    .site-bar[b-p4c5pewvap] {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .site-bar-nav[b-p4c5pewvap] {
        order: 3;
        flex-basis: 100%;
    }
}
/* /Components/Layout/ThemeSwitch.razor.rz.scp.css */
.theme-switch[b-gv65mcckfn] {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    color: var(--paper);
    background: var(--navy);
    border: 1px solid var(--line);
    border-radius: 8px;
    transition: border-color .2s;
}

.theme-switch:hover[b-gv65mcckfn] {
    border-color: var(--blue-hi);
}

.theme-switch svg[b-gv65mcckfn] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* /Components/Molecules/PhoneApp.razor.rz.scp.css */
/* Baler phone app overlay, centred over the darkened scene below the chip bar (DESIGN.md section 5, phone screens). */
.phone-wrap[b-kxtnld40aw] {
    position: absolute;
    inset: 0;
    z-index: 18;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    padding: 64px 0 12px;
    background: rgba(6, 10, 18, .55);
    animation: fade-b-kxtnld40aw .4s ease-out;
}

@keyframes fade-b-kxtnld40aw {
    from { opacity: 0; }
    to { opacity: 1; }
}

.phone[b-kxtnld40aw] {
    box-sizing: border-box;
    width: min(310px, 86cqw);
    height: min(600px, 88cqh, calc(100cqh - 76px));
    padding: 10px;
    background: #05080d;
    border-radius: 34px;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .6), inset 0 0 0 2px #2b3644;
}

.screen[b-kxtnld40aw] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    color: #182230;
    background: #f4f7fa;
    border-radius: 26px;
}

.app-head[b-kxtnld40aw] {
    display: flex;
    flex: none;
    align-items: center;
    gap: 10px;
    padding: 14px 16px 10px;
    font-weight: 600;
    color: #fff;
    background: var(--blue);
}

.app-head .dot[b-kxtnld40aw] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--amber);
}

.app-head .logo[b-kxtnld40aw] {
    font-family: var(--font-sign);
    font-size: 1.3rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pane[b-kxtnld40aw] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
    padding: 12px;
}

/* Camera */
.viewfinder[b-kxtnld40aw] {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: #202a35;
    border-radius: 14px;
}

.viewfinder svg[b-kxtnld40aw],
.thumb svg[b-kxtnld40aw] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.corner[b-kxtnld40aw] {
    position: absolute;
    width: 26px;
    height: 26px;
    border: 3px solid var(--amber);
}

.c1[b-kxtnld40aw] { left: 14px; top: 14px; border-right: 0; border-bottom: 0; }
.c2[b-kxtnld40aw] { right: 14px; top: 14px; border-left: 0; border-bottom: 0; }
.c3[b-kxtnld40aw] { left: 14px; bottom: 14px; border-right: 0; border-top: 0; }
.c4[b-kxtnld40aw] { right: 14px; bottom: 14px; border-left: 0; border-top: 0; }

.flash[b-kxtnld40aw] {
    position: absolute;
    inset: 0;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    animation: flash-b-kxtnld40aw .45s ease-out;
}

@keyframes flash-b-kxtnld40aw {
    0% { opacity: .95; }
    100% { opacity: 0; }
}

.shutter-row[b-kxtnld40aw] {
    display: grid;
    flex: none;
    place-items: center;
    gap: 6px;
    padding: 4px 0 2px;
    font-size: .82rem;
    color: #4a5a6c;
    text-align: center;
}

.shutter[b-kxtnld40aw] {
    width: 64px;
    height: 64px;
    padding: 0;
    background: var(--orange);
    border: 5px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 3px #2b3644;
    cursor: pointer;
    transition: transform .15s;
    animation: pulse-b-kxtnld40aw 1.8s ease-in-out infinite;
}

.shutter:active[b-kxtnld40aw] {
    transform: scale(.9);
}

@keyframes pulse-b-kxtnld40aw {
    0%, 100% { transform: scale(.92); opacity: .65; }
    50% { transform: scale(1.1); opacity: 1; }
}

/* Sending */
.thumb[b-kxtnld40aw] {
    position: relative;
    flex: none;
    height: 92px;
    overflow: hidden;
    background: #202a35;
    border-radius: 12px;
}

.steps[b-kxtnld40aw] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.steps li[b-kxtnld40aw] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    font-size: .88rem;
    line-height: 1.35;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
    animation: fade-up-b-kxtnld40aw .4s ease-out;
}

@keyframes fade-up-b-kxtnld40aw {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

.tick[b-kxtnld40aw] {
    display: grid;
    flex: none;
    place-items: center;
    width: 20px;
    height: 20px;
    font-size: .8rem;
    font-weight: 700;
    color: #fff;
    background: var(--ok);
    border-radius: 50%;
}

.spin[b-kxtnld40aw] {
    box-sizing: border-box;
    flex: none;
    width: 20px;
    height: 20px;
    border: 3px solid #cfd8e2;
    border-top-color: var(--blue);
    border-radius: 50%;
    animation: spin-b-kxtnld40aw .8s linear infinite;
}

@keyframes spin-b-kxtnld40aw {
    to { transform: rotate(360deg); }
}

/* Chat: newest at the bottom; the oldest bubble is clipped at the top, never outside the phone. */
.chat[b-kxtnld40aw] {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
    min-height: 0;
    overflow: hidden;
}

.bubble[b-kxtnld40aw] {
    flex: none;
    max-width: 88%;
    padding: 10px 12px;
    font-size: .88rem;
    line-height: 1.4;
    border-radius: 14px;
    animation: pop-b-kxtnld40aw .3s ease-out;
}

@keyframes pop-b-kxtnld40aw {
    from { opacity: 0; transform: scale(.95) translateY(6px); }
    to { opacity: 1; transform: none; }
}

.bubble.op[b-kxtnld40aw] {
    align-self: flex-start;
    background: #fff;
    border-bottom-left-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
}

.bubble.me[b-kxtnld40aw] {
    align-self: flex-end;
    color: #fff;
    background: var(--blue);
    border-bottom-right-radius: 4px;
}

.who[b-kxtnld40aw] {
    display: block;
    margin-bottom: 2px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--blue);
}

.typing[b-kxtnld40aw] {
    display: flex;
    flex: none;
    align-self: flex-start;
    gap: 4px;
    padding: 12px 14px;
    background: #fff;
    border-radius: 14px;
}

.typing i[b-kxtnld40aw] {
    width: 7px;
    height: 7px;
    background: #9aa9ba;
    border-radius: 50%;
    animation: blink-b-kxtnld40aw 1s infinite;
}

.typing i:nth-child(2)[b-kxtnld40aw] { animation-delay: .2s; }
.typing i:nth-child(3)[b-kxtnld40aw] { animation-delay: .4s; }

@keyframes blink-b-kxtnld40aw {
    0%, 100% { opacity: .3; }
    50% { opacity: 1; }
}

.slots[b-kxtnld40aw] {
    display: flex;
    flex: none;
    flex-wrap: wrap;
    gap: 8px;
}

.slot[b-kxtnld40aw] {
    min-height: 44px;
    padding: 9px 14px;
    font: inherit;
    font-size: .86rem;
    font-weight: 600;
    color: var(--blue);
    background: #fff;
    border: 2px solid var(--blue);
    border-radius: 999px;
    cursor: pointer;
    transition: background .2s, color .2s;
}

.slot:hover[b-kxtnld40aw] {
    color: #fff;
    background: var(--blue);
}

@media (prefers-reduced-motion: reduce) {
    .shutter[b-kxtnld40aw],
    .typing i[b-kxtnld40aw] {
        animation: none;
    }

    .phone-wrap[b-kxtnld40aw],
    .flash[b-kxtnld40aw],
    .steps li[b-kxtnld40aw],
    .bubble[b-kxtnld40aw] {
        animation-duration: 10ms;
    }
}
/* /Components/Molecules/SkipDialog.razor.rz.scp.css */
/* Skip dialog: dimmed full-screen overlay above the chip bar with a centred glass card (DESIGN.md section 6). */
.skip-wrap[b-sjar8ol644] {
    position: absolute;
    inset: 0;
    z-index: 30;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgba(6, 10, 18, .82);
    animation: fade-b-sjar8ol644 .6s ease-out;
}

.skip-card[b-sjar8ol644] {
    box-sizing: border-box;
    width: 100%;
    max-width: 480px;
    max-height: 100%;
    overflow-y: auto;
    padding: 28px;
    text-align: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}

.skip-card h2[b-sjar8ol644] {
    margin: 0 0 8px;
    font-family: var(--font-sign);
    font-size: clamp(1.4rem, 5vw, 1.9rem);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--paper);
}

.skip-card p[b-sjar8ol644] {
    margin: 0;
    line-height: 1.5;
    color: var(--muted);
}

.choices[b-sjar8ol644] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 18px;
}

@keyframes fade-b-sjar8ol644 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 480px) {
    .skip-card[b-sjar8ol644] {
        padding: 20px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .skip-wrap[b-sjar8ol644] {
        animation-duration: 10ms;
    }
}
/* /Components/Molecules/StoryDialogue.razor.rz.scp.css */
/* Dialogue panel of the Talk step: same glass panel as the caption, bottom centre (DESIGN.md section 6). */
.panel[b-rrzsamvlij] {
    position: absolute;
    left: 50%;
    bottom: max(14px, 3cqh);
    z-index: 15;
    box-sizing: border-box;
    width: min(calc(100% - 32px), 780px);
    padding: 12px 18px 14px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    backdrop-filter: blur(8px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
    transform: translateX(-50%);
    animation: rise-b-rrzsamvlij .5s ease-out;
}

.speaker[b-rrzsamvlij] {
    display: block;
    margin-bottom: 4px;
    font-family: var(--font-sign);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--blue-hi);
}

.panel p[b-rrzsamvlij] {
    margin: 0 0 12px;
    font-size: clamp(.95rem, 1.7cqw, 1.08rem);
    line-height: 1.5;
    color: var(--paper);
    text-wrap: pretty;
}

@keyframes rise-b-rrzsamvlij {
    from { opacity: 0; transform: translate(-50%, 10px); }
    to { opacity: 1; transform: translate(-50%, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .panel[b-rrzsamvlij] {
        animation-duration: 10ms;
    }
}
/* /Components/Pages/ContactsPage.razor.rz.scp.css */
/* Contacts page (/contacts) in the story look. Tokens only (wwwroot/app.css); art colours live in the SVG. */
.contact-page[b-mx0gp5l2sv] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 1000px;
    padding-bottom: 48px;
}

/* ---------- Heading and office corner ---------- */
.contact-hero[b-mx0gp5l2sv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
}

.contact-hero h1[b-mx0gp5l2sv] {
    margin: 0 0 12px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(2rem, 6vw, 3.2rem);
    line-height: 1.05;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--paper);
}

.contact-intro[b-mx0gp5l2sv] {
    max-width: 55ch;
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--muted);
    text-wrap: pretty;
}

.contact-art[b-mx0gp5l2sv] {
    display: block;
    width: clamp(140px, 16vw, 180px);
    height: auto;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.contact-cursor[b-mx0gp5l2sv] {
    animation: contact-blink-b-mx0gp5l2sv 1s steps(1) infinite;
}

@keyframes contact-blink-b-mx0gp5l2sv {
    50% { opacity: 0; }
}

/* ---------- Cards ---------- */
.contact-grid[b-mx0gp5l2sv] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.contact-card[b-mx0gp5l2sv] {
    min-width: 0;
    padding: 20px 24px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.contact-card h2[b-mx0gp5l2sv] {
    margin: 0 0 12px;
    font-family: var(--font-sign);
    font-weight: 600;
    font-size: 1.15rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--muted);
}

.contact-name[b-mx0gp5l2sv] {
    margin: 0 0 12px;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--paper);
}

.contact-value[b-mx0gp5l2sv] {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--paper);
    overflow-wrap: anywhere;
    user-select: text;
}

.contact-value:hover[b-mx0gp5l2sv] {
    color: var(--blue-hi);
}

.contact-text[b-mx0gp5l2sv] {
    margin: 0;
    line-height: 1.5;
    color: var(--paper);
}

.contact-list[b-mx0gp5l2sv] {
    margin: 0;
}

.contact-list dt[b-mx0gp5l2sv] {
    margin-top: 12px;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--muted);
}

.contact-list dt:first-child[b-mx0gp5l2sv] {
    margin-top: 0;
}

.contact-list dd[b-mx0gp5l2sv] {
    margin: 4px 0 0;
}

.copy-row[b-mx0gp5l2sv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.copy-btn[b-mx0gp5l2sv] {
    padding: 6px 14px;
    font-size: .9rem;
}

.copy-status[b-mx0gp5l2sv] {
    min-height: 1.4em;
    margin: 6px 0 0;
    font-size: .9rem;
    color: var(--ok);
}

.copy-status:empty[b-mx0gp5l2sv] {
    min-height: 0;
    margin: 0;
}

/* ---------- Links ---------- */
.contact-links[b-mx0gp5l2sv] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* ---------- Responsive ---------- */
@media (max-width: 640.98px) {
    .contact-hero[b-mx0gp5l2sv],
    .contact-grid[b-mx0gp5l2sv] {
        grid-template-columns: minmax(0, 1fr);
    }

    .contact-art[b-mx0gp5l2sv] {
        grid-row: 1;
        width: 140px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-cursor[b-mx0gp5l2sv] {
        animation: none;
    }
}
/* /Components/Pages/EntryPage.razor.rz.scp.css */
/* Entry chooser at "/" — "One stage, two lights": one full-height stage split diagonally,
   light/flat classic half on the left, dark/glowing story half on the right.
   Each half is a single <a>, clipped to its own diagonal region so the hit area matches what you see. */

.entry[b-ae7qnnm4q3] {
    position: relative;
    display: flex;
    min-height: 100dvh;
    overflow: hidden;
    background: #0a0f18;
    font-family: var(--font-body);
}

.entry-half[b-ae7qnnm4q3] {
    position: absolute;
    inset: 0;
    display: flex;
    flex: 1 1 50%;
    align-items: center;
    padding: 7% 6%;
    text-decoration: none;
    isolation: isolate;
}

.entry-half[b-ae7qnnm4q3]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0;
    transition: opacity .2s ease;
}

.entry-classic[b-ae7qnnm4q3] {
    clip-path: polygon(0 0, 54% 0, 46% 100%, 0 100%);
    background: linear-gradient(160deg, var(--paper-bg), var(--paper-bg-2));
    color: var(--ink);
    justify-content: flex-start;
    text-align: left;
}

.entry-classic[b-ae7qnnm4q3]::before {
    background: linear-gradient(160deg, #f6f8fa, var(--paper-bg));
}

.entry-story[b-ae7qnnm4q3] {
    clip-path: polygon(54% 0, 100% 0, 100% 100%, 46% 100%);
    background: radial-gradient(140% 120% at 75% 20%, #223454, var(--ink) 70%);
    color: var(--paper);
    justify-content: flex-end;
    text-align: right;
}

.entry-story[b-ae7qnnm4q3]::before {
    background: radial-gradient(140% 120% at 75% 20%, #2b4270, var(--ink) 70%);
}

.entry-half:hover[b-ae7qnnm4q3]::before,
.entry-half:focus-visible[b-ae7qnnm4q3]::before {
    opacity: 1;
}

.entry-half:focus-visible[b-ae7qnnm4q3] {
    outline: 3px solid var(--amber);
    outline-offset: -6px;
}

/* 2px amber line following the 54% -> 46% seam. */
.entry-divider[b-ae7qnnm4q3] {
    position: absolute;
    inset: 0;
    clip-path: polygon(calc(54% - 1px) 0, calc(54% + 1px) 0, calc(46% + 1px) 100%, calc(46% - 1px) 100%);
    background: linear-gradient(180deg, transparent, var(--amber), transparent);
    opacity: .85;
    pointer-events: none;
}

.entry-content[b-ae7qnnm4q3] {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 40%;
}

.entry-classic .entry-content[b-ae7qnnm4q3] {
    align-items: flex-start;
}

.entry-story .entry-content[b-ae7qnnm4q3] {
    align-items: flex-end;
}

.entry-kicker[b-ae7qnnm4q3] {
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 10px;
    color: var(--paper-muted);
}

.entry-story .entry-kicker[b-ae7qnnm4q3] {
    color: var(--muted);
}

.entry-title[b-ae7qnnm4q3] {
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(1.5rem, 3.6vw, 2.6rem);
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 12px;
    max-width: 16ch;
}

.entry-body[b-ae7qnnm4q3] {
    max-width: 34ch;
    line-height: 1.55;
    font-size: .96rem;
    margin: 0 0 22px;
    color: var(--paper-muted);
}

.entry-story .entry-body[b-ae7qnnm4q3] {
    color: var(--muted);
}

/* Styled like a button, but only a span: the whole half is the link. */
.entry-cta[b-ae7qnnm4q3] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 13px 26px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .02em;
    transition: transform .15s ease, box-shadow .15s ease;
}

.entry-cta-ghost[b-ae7qnnm4q3] {
    background: transparent;
    border: 1px solid var(--paper-line);
    color: var(--ink);
}

.entry-cta-primary[b-ae7qnnm4q3] {
    background: var(--blue);
    border: 1px solid var(--blue-hi);
    color: #fff;
}

.entry-half:hover .entry-cta[b-ae7qnnm4q3],
.entry-half:focus-visible .entry-cta[b-ae7qnnm4q3] {
    transform: translateY(-2px);
}

.entry-half:focus-visible .entry-cta[b-ae7qnnm4q3] {
    box-shadow: 0 0 0 3px var(--amber);
}

/* Decorative, low-contrast background texture. */
.entry-graph[b-ae7qnnm4q3],
.entry-press[b-ae7qnnm4q3] {
    position: absolute;
    pointer-events: none;
}

.entry-graph[b-ae7qnnm4q3] {
    left: 6%;
    bottom: 12%;
    width: 160px;
    height: 70px;
    opacity: .35;
}

.entry-press[b-ae7qnnm4q3] {
    right: 6%;
    top: 10%;
    width: 140px;
    height: 140px;
    opacity: .4;
}

/* Narrow screens: no diagonal, plain stack (classic on top, story below). */
@media (max-width: 640px) {
    .entry[b-ae7qnnm4q3] {
        flex-direction: column;
    }

    .entry-half[b-ae7qnnm4q3] {
        position: relative;
        inset: auto;
        clip-path: none;
        min-height: 50dvh;
        padding: 48px 24px;
        justify-content: flex-start;
        text-align: left;
    }

    .entry-content[b-ae7qnnm4q3],
    .entry-story .entry-content[b-ae7qnnm4q3] {
        max-width: none;
        align-items: flex-start;
    }

    .entry-divider[b-ae7qnnm4q3] {
        display: none;
    }

    .entry-graph[b-ae7qnnm4q3] {
        bottom: 16px;
        left: auto;
        right: 16px;
    }

    .entry-press[b-ae7qnnm4q3] {
        top: 16px;
        right: 16px;
        width: 96px;
        height: 96px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-half[b-ae7qnnm4q3]::before,
    .entry-cta[b-ae7qnnm4q3] {
        transition: none;
    }

    .entry-half:hover .entry-cta[b-ae7qnnm4q3],
    .entry-half:focus-visible .entry-cta[b-ae7qnnm4q3] {
        transform: none;
    }
}

/* Light / dark mode chooser, top centre over the diagonal. The option of the effective mode is highlighted:
   the stored choice (<html data-theme>) or, without one, the browser setting. */
.entry-theme[b-ae7qnnm4q3] {
    position: absolute;
    top: 18px;
    left: 50%;
    z-index: 2;
    display: flex;
    gap: 4px;
    padding: 4px;
    transform: translateX(-50%);
    background: rgba(12, 20, 32, .82);
    border: 1px solid var(--line);
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

.entry-theme-opt[b-ae7qnnm4q3] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    font-family: var(--font-sign);
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--muted);
    text-decoration: none;
    border-radius: 999px;
    transition: color .2s, background .2s;
}

.entry-theme-opt:hover[b-ae7qnnm4q3] {
    color: var(--paper);
}

.entry-theme-opt svg[b-ae7qnnm4q3] {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

:root[data-theme="light"] .opt-light[b-ae7qnnm4q3],
:root[data-theme="dark"] .opt-dark[b-ae7qnnm4q3] {
    color: var(--ink);
    background: var(--paper);
}

@media (prefers-color-scheme: light) {
    :root:not([data-theme]) .opt-light[b-ae7qnnm4q3] {
        color: var(--ink);
        background: var(--paper);
    }
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) .opt-dark[b-ae7qnnm4q3] {
        color: var(--ink);
        background: var(--paper);
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-theme-opt[b-ae7qnnm4q3] {
        transition: none;
    }
}
/* /Components/Pages/Error.razor.rz.scp.css */
/* Short, calm status page in the story style: one glass card below the SiteBar (DESIGN.md section 6). */
.status-page[b-hcw7lvw8ah] {
    flex: 1;
    display: grid;
    place-items: center;
    max-width: 780px;
}

.status-card[b-hcw7lvw8ah] {
    box-sizing: border-box;
    width: 100%;
    max-width: 560px;
    padding: 28px 24px;
    text-align: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.status-card h1[b-hcw7lvw8ah] {
    margin: 0 0 10px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(1.6rem, 5vw, 2.2rem);
    letter-spacing: .04em;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--paper);
}

.status-card p[b-hcw7lvw8ah] {
    margin: 0 0 20px;
    line-height: 1.5;
    color: var(--muted);
    text-wrap: pretty;
}

/* Small alarm lamp, the same red as the lock crack in the story. */
.status-mark[b-hcw7lvw8ah] {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: var(--alarm);
    box-shadow: 0 0 18px var(--alarm);
}

.request-id[b-hcw7lvw8ah] {
    font-size: .85rem;
    overflow-wrap: anywhere;
}

.request-id code[b-hcw7lvw8ah] {
    color: var(--paper);
}
/* /Components/Pages/LandingPage.razor.rz.scp.css */
/* Overview page (/overview): calm scrolling alternative to the story. Tokens only (wwwroot/app.css). */
.overview[b-1mvl3bo1v4] {
    display: flex;
    flex-direction: column;
    gap: clamp(48px, 8vw, 96px);
    padding-top: clamp(24px, 5vw, 56px);
    padding-bottom: clamp(48px, 8vw, 96px);
}

/* ---------- Hero ---------- */
.ov-hero[b-1mvl3bo1v4] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
    gap: 32px;
}

.ov-title[b-1mvl3bo1v4] {
    margin: 0 0 16px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(2rem, 6vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--paper);
}

.ov-title-accent[b-1mvl3bo1v4] {
    display: block;
    color: var(--blue-hi);
}

.ov-lead[b-1mvl3bo1v4] {
    max-width: 60ch;
    margin: 0 0 20px;
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--muted);
    text-wrap: pretty;
}

.ov-badges[b-1mvl3bo1v4] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.ov-badges li[b-1mvl3bo1v4] {
    padding: 6px 12px;
    font-size: .9rem;
    font-weight: 500;
    color: var(--paper);
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
}

.ov-actions[b-1mvl3bo1v4] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* ---------- Wireframe press (flat SVG, one motion: the ram presses the bale) ---------- */
.ov-press[b-1mvl3bo1v4] {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
    justify-self: center;
}

.ov-press-part[b-1mvl3bo1v4],
.ov-press-platen[b-1mvl3bo1v4] {
    fill: var(--navy);
    stroke: var(--blue-hi);
    stroke-width: 2;
}

.ov-press-rod[b-1mvl3bo1v4] {
    fill: var(--muted);
    stroke: var(--blue-hi);
    stroke-width: 2;
}

.ov-press-floor[b-1mvl3bo1v4] {
    fill: var(--line);
}

.ov-press-line[b-1mvl3bo1v4] {
    stroke: var(--amber);
    stroke-width: 2;
    stroke-dasharray: 14 10;
}

.ov-bale-body[b-1mvl3bo1v4] {
    fill: var(--orange);
    fill-opacity: .85;
    stroke: var(--paper);
    stroke-opacity: .5;
    stroke-width: 2;
}

.ov-bale-strap[b-1mvl3bo1v4] {
    fill: none;
    stroke: var(--ink);
    stroke-width: 4;
}

/* Linear timing on both keeps the platen and the bale top touching: the platen meets the bale
   at 38 of its 88 units of travel (21.6 % of the cycle) and squashes it to 80/130 at the bottom. */
.ov-ram[b-1mvl3bo1v4] {
    animation: ov-ram-b-1mvl3bo1v4 2.6s linear infinite;
}

.ov-bale[b-1mvl3bo1v4] {
    transform-box: fill-box;
    transform-origin: center bottom;
    animation: ov-bale-b-1mvl3bo1v4 2.6s linear infinite;
}

@keyframes ov-ram-b-1mvl3bo1v4 {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(88px); }
}

@keyframes ov-bale-b-1mvl3bo1v4 {
    0%, 21.6%, 78.4%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(.615); }
}

/* ---------- Sections ---------- */
.ov-heading[b-1mvl3bo1v4] {
    margin: 0 0 8px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(1.4rem, 3.6vw, 2rem);
    line-height: 1.1;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--paper);
}

.ov-sub[b-1mvl3bo1v4] {
    max-width: 65ch;
    margin: 0 0 24px;
    line-height: 1.6;
    color: var(--muted);
    text-wrap: pretty;
}

.ov-cards[b-1mvl3bo1v4] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ov-card[b-1mvl3bo1v4] {
    padding: 24px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.ov-card h3[b-1mvl3bo1v4] {
    margin: 0 0 12px;
    font-family: var(--font-sign);
    font-weight: 600;
    font-size: 1.25rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--blue-hi);
}

.ov-card p[b-1mvl3bo1v4] {
    margin: 0;
    line-height: 1.6;
    color: var(--muted);
}

/* ---------- Video ---------- */
.ov-video-grid[b-1mvl3bo1v4] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    align-items: start;
    gap: 24px;
}

.ov-video[b-1mvl3bo1v4] {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--navy);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.ov-video iframe[b-1mvl3bo1v4] {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.ov-process[b-1mvl3bo1v4] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ov-process li[b-1mvl3bo1v4] {
    padding: 12px 16px;
    line-height: 1.5;
    color: var(--muted);
    border-left: 3px solid var(--blue);
    background: var(--panel);
    border-radius: 0 8px 8px 0;
}

.ov-process li[b-1mvl3bo1v4]  strong {
    color: var(--paper);
}

/* ---------- Calls to action ---------- */
.ov-cta-grid[b-1mvl3bo1v4] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ov-cta[b-1mvl3bo1v4] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 24px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.ov-cta .ov-sub[b-1mvl3bo1v4] {
    flex: 1;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    .ov-hero[b-1mvl3bo1v4],
    .ov-video-grid[b-1mvl3bo1v4],
    .ov-cta-grid[b-1mvl3bo1v4] {
        grid-template-columns: minmax(0, 1fr);
    }

    .ov-cards[b-1mvl3bo1v4] {
        grid-template-columns: minmax(0, 1fr);
    }

    .ov-press[b-1mvl3bo1v4] {
        max-width: 300px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ov-ram[b-1mvl3bo1v4],
    .ov-bale[b-1mvl3bo1v4] {
        animation: none;
    }
}
/* /Components/Pages/MainPage.razor.rz.scp.css */
/* Story page: full-screen container with a letterboxed 16:9 stage (DESIGN.md section 2). */
.story[b-dbx54iprs2] {
    position: relative;
    height: 100vh;
    height: 100dvh;
    container-type: size;
    overflow: hidden;
    background: var(--ink);
    color: var(--paper);
    touch-action: none;
    -webkit-user-select: none;
    user-select: none;
}

.stage[b-dbx54iprs2] {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(100cqw, 177.7778cqh);
    aspect-ratio: 16 / 9;
    transform: translate(-50%, -50%);
    overflow: hidden;
    background: var(--ink);
}

.world[b-dbx54iprs2] {
    position: absolute;
    inset: 0;
}

/* Camera shake at the crack, once (DESIGN.md section 5). */
.world.shake[b-dbx54iprs2] {
    animation: shake-b-dbx54iprs2 .55s linear;
}

@keyframes shake-b-dbx54iprs2 {
    0%, 100% { transform: translate(0, 0); }
    10% { transform: translate(-1.4%, .8%); }
    25% { transform: translate(1.2%, -1%); }
    40% { transform: translate(-.9%, 1%); }
    55% { transform: translate(.8%, -.6%); }
    70% { transform: translate(-.5%, .4%); }
    85% { transform: translate(.3%, -.2%); }
}

.layer[b-dbx54iprs2] {
    position: absolute;
    inset: 0;
}

.exterior[b-dbx54iprs2] {
    transform-origin: 50% 53.33%;
}

/* Camera move into the workshop: zoom through the open door, then fade (DESIGN.md section 5). */
.exterior.dolly[b-dbx54iprs2] {
    opacity: 0;
    transform: scale(1.9);
    transition: transform 1.4s cubic-bezier(.55, 0, .9, .6), opacity .6s ease .8s;
}

/* Top bar with chips */
.bar[b-dbx54iprs2] {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 20;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
    pointer-events: none;
}

.bar > div[b-dbx54iprs2] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    pointer-events: auto;
}

.bar > div:last-child[b-dbx54iprs2] {
    justify-content: flex-end;
}

.chip[b-dbx54iprs2] {
    min-height: 44px;
    padding: 9px 14px;
    font: inherit;
    font-size: .9rem;
    font-weight: 600;
    color: var(--paper);
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    backdrop-filter: blur(6px);
    cursor: pointer;
    transition: background .2s, transform .2s;
}

.chip:hover[b-dbx54iprs2] {
    background: var(--navy);
    transform: translateY(-1px);
}

/* Caption panel (bottom centre), re-rises on every step change */
.panel[b-dbx54iprs2] {
    position: absolute;
    left: 50%;
    bottom: max(14px, 3cqh);
    z-index: 15;
    width: min(calc(100% - 32px), 780px);
    padding: 12px 18px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    backdrop-filter: blur(8px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
    transform: translateX(-50%);
    animation: rise-b-dbx54iprs2 .5s ease-out;
}

.panel h1[b-dbx54iprs2] {
    margin: 0;
    font-family: var(--font-sign);
    font-size: clamp(1.4rem, 3.2cqw, 2rem);
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.1;
}

.panel p[b-dbx54iprs2] {
    margin: 6px 0 0;
    font-size: clamp(.95rem, 1.7cqw, 1.08rem);
    line-height: 1.5;
    color: var(--paper);
    text-wrap: pretty;
}

.panel p:first-child[b-dbx54iprs2] {
    margin-top: 0;
}

.panel .hint[b-dbx54iprs2] {
    margin-top: 8px;
    font-size: .9rem;
    font-weight: 500;
    color: var(--amber);
}

@keyframes rise-b-dbx54iprs2 {
    from { opacity: 0; transform: translate(-50%, 10px); }
    to { opacity: 1; transform: translate(-50%, 0); }
}

@media (max-width: 480px) {
    .bar[b-dbx54iprs2] {
        padding: 8px;
    }

    .chip[b-dbx54iprs2] {
        padding: 8px 10px;
        font-size: .82rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .world.shake[b-dbx54iprs2] {
        animation: none;
    }

    .panel[b-dbx54iprs2] {
        animation-duration: 10ms;
    }

    .chip[b-dbx54iprs2],
    .exterior.dolly[b-dbx54iprs2] {
        transition-duration: 10ms;
        transition-delay: 0s;
    }
}

/* Fade to black before leaving the story for the Proposal page (0.9 s, see LeaveFadeMs). */
.leave-fade[b-dbx54iprs2] {
    position: absolute;
    inset: 0;
    z-index: 40;
    background: var(--ink);
    animation: leave-fade-b-dbx54iprs2 .9s ease-in forwards;
}

@keyframes leave-fade-b-dbx54iprs2 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .leave-fade[b-dbx54iprs2] {
        animation-duration: 10ms;
    }
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
/* Short, calm status page in the story style: one glass card below the SiteBar (DESIGN.md section 6). */
.status-page[b-y0y73cdkb6] {
    flex: 1;
    display: grid;
    place-items: center;
    max-width: 780px;
}

.status-card[b-y0y73cdkb6] {
    box-sizing: border-box;
    width: 100%;
    max-width: 560px;
    padding: 28px 24px;
    text-align: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.status-card h1[b-y0y73cdkb6] {
    margin: 0 0 10px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(1.6rem, 5vw, 2.2rem);
    letter-spacing: .04em;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--paper);
}

.status-card p[b-y0y73cdkb6] {
    margin: 0 0 20px;
    line-height: 1.5;
    color: var(--muted);
    text-wrap: pretty;
}

.status-card .status-code[b-y0y73cdkb6] {
    margin: 0 0 12px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: 3.2rem;
    letter-spacing: .1em;
    line-height: 1;
    color: var(--amber);
}
/* /Components/Pages/ProposalPage.razor.rz.scp.css */
/* Proposal page, ported from .claude/docs/proposal/proposal-preview-d-composite.html. Tokens from wwwroot/app.css.
   Shared primitives (eyebrow, lead, headings, buttons) reach the child components through ::deep. */
.proposal[b-bqfa38invd] {
    font-size: 17px;
    line-height: 1.55;
    overflow-x: clip;
}

.proposal[b-bqfa38invd]  p {
    margin: 0;
}

.proposal[b-bqfa38invd]  h1,
.proposal[b-bqfa38invd]  h2,
.proposal[b-bqfa38invd]  h3 {
    margin: 0;
    font-family: var(--font-sign);
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.08;
}

.proposal[b-bqfa38invd]  h2 {
    font-size: clamp(1.9rem, 4.2vw, 3rem);
    text-transform: uppercase;
}

.proposal[b-bqfa38invd]  h3 {
    font-size: 1.3rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.proposal[b-bqfa38invd]  .story-btn {
    min-height: 48px;
    padding: 0 22px;
}

.proposal[b-bqfa38invd]  .pp-eyebrow {
    font-family: var(--font-sign);
    font-weight: 600;
    font-size: .9rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--amber);
}

.proposal[b-bqfa38invd]  .pp-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    font-size: .88rem;
    color: var(--muted);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 999px;
}

.proposal[b-bqfa38invd]  .pp-chip b {
    font-weight: 600;
    color: var(--ok);
}

.proposal[b-bqfa38invd]  .pp-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ok);
    box-shadow: 0 0 0 0 rgba(62, 207, 142, .6);
    animation: pp-live-b-bqfa38invd 2s infinite;
}

@keyframes pp-live-b-bqfa38invd {
    70% { box-shadow: 0 0 0 8px rgba(62, 207, 142, 0); }
    100% { box-shadow: 0 0 0 0 rgba(62, 207, 142, 0); }
}

.pp-wrap[b-bqfa38invd] {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

.pp-lead[b-bqfa38invd] {
    max-width: 62ch;
    font-size: 1.12rem;
    color: var(--muted);
}

.pp-lead-gap[b-bqfa38invd] {
    margin-top: 14px;
}

.pp-section[b-bqfa38invd] {
    padding: 84px 0;
}

/* Anchors land below the sticky SiteBar */
.proposal section[id][b-bqfa38invd] {
    scroll-margin-top: 64px;
}

/* ---------- S1 Hero ---------- */
.pp-hero[b-bqfa38invd] {
    position: relative;
    padding: 56px 0 40px;
    overflow: hidden;
}

.pp-hero-grid[b-bqfa38invd] {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 40px;
}

.pp-hero-title[b-bqfa38invd] {
    margin: 14px 0 18px;
    font-size: clamp(2.4rem, 5.6vw, 4.4rem);
    text-transform: uppercase;
}

.pp-hero-title em[b-bqfa38invd] {
    font-style: normal;
    color: var(--amber);
}

.pp-ctas[b-bqfa38invd] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 26px 0 18px;
}

.pp-chips[b-bqfa38invd] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pp-hero-art[b-bqfa38invd] {
    display: block;
    width: 100%;
    height: auto;
}

/* Camera flash at 0.4 s, then the three phone lines at 0.9 / 1.5 / 2.1 s */
.pp-flash[b-bqfa38invd] {
    animation: pp-flash-b-bqfa38invd .45s ease-out .4s both;
}

@keyframes pp-flash-b-bqfa38invd {
    0% { opacity: 0; }
    20% { opacity: .95; }
    100% { opacity: 0; }
}

.pp-line[b-bqfa38invd] {
    opacity: 0;
    animation: pp-line-b-bqfa38invd .5s ease-out forwards;
}

.pp-l1[b-bqfa38invd] { animation-delay: .9s; }
.pp-l2[b-bqfa38invd] { animation-delay: 1.5s; }
.pp-l3[b-bqfa38invd] { animation-delay: 2.1s; }

@keyframes pp-line-b-bqfa38invd {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

/* ---------- S2 Why service is slow (blueprint grid, dimension bars) ---------- */
.pp-gridbg[b-bqfa38invd] {
    background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 32px 32px;
}

.pp-tol[b-bqfa38invd] {
    display: grid;
    gap: 26px;
    margin-top: 30px;
}

.pp-dim[b-bqfa38invd] {
    display: grid;
    grid-template-columns: 200px 1fr;
    align-items: center;
    gap: 20px;
}

.pp-val[b-bqfa38invd] {
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    line-height: 1;
    color: var(--paper);
}

.pp-rule[b-bqfa38invd] {
    position: relative;
    height: 34px;
}

.pp-rule[b-bqfa38invd]::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 16px;
    height: 2px;
    background: rgba(127, 178, 240, .35);
}

.pp-rule[b-bqfa38invd]::after {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 2px;
    height: 16px;
    background: #7fb2f0;
}

.pp-rule i[b-bqfa38invd] {
    position: absolute;
    left: 0;
    top: 16px;
    width: 0;
    height: 2px;
    background: var(--amber);
    transition: width 1.4s cubic-bezier(.2, .7, .2, 1);
}

.pp-rule i[b-bqfa38invd]::after {
    content: "";
    position: absolute;
    right: -1px;
    top: -7px;
    width: 2px;
    height: 16px;
    background: var(--amber);
}

.pp-tol.in .pp-rule i[b-bqfa38invd] {
    width: var(--w);
}

.pp-dim p[b-bqfa38invd] {
    grid-column: 2;
    margin-top: -4px;
    color: var(--muted);
}

/* ---------- S3 Where to use Baler ---------- */
.pp-where[b-bqfa38invd] {
    background: linear-gradient(180deg, var(--ink), var(--band) 40%, var(--ink));
}

.pp-fit[b-bqfa38invd] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 18px;
    margin-top: 22px;
}

.pp-fitbox[b-bqfa38invd] {
    padding: 20px 22px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.pp-fitbox ul[b-bqfa38invd] {
    display: grid;
    gap: 10px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.pp-fitbox li[b-bqfa38invd] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.pp-y[b-bqfa38invd] {
    font-weight: 700;
    color: var(--ok);
}

.pp-n[b-bqfa38invd] {
    font-weight: 700;
    color: var(--muted);
}

.pp-fitbox.pp-no[b-bqfa38invd] {
    background: var(--surface);
}

/* ---------- S5 What works today ---------- */
.pp-live[b-bqfa38invd] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 12px;
    margin-top: 28px;
}

.pp-live > div[b-bqfa38invd] {
    padding: 16px 18px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.pp-live b[b-bqfa38invd] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-sign);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.pp-live b[b-bqfa38invd]::before {
    content: "";
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ok);
}

.pp-live p[b-bqfa38invd] {
    margin-top: 6px;
    font-size: .92rem;
    color: var(--muted);
}

/* ---------- S8 Sources ---------- */
.pp-sources[b-bqfa38invd] {
    padding: 48px 0 64px;
    border-top: 1px solid var(--line);
}

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
    .pp-hero-grid[b-bqfa38invd] {
        grid-template-columns: 1fr;
    }

    .pp-hero-art[b-bqfa38invd] {
        max-width: 460px;
        margin: 0 auto;
    }
}

@media (max-width: 760px) {
    .pp-fit[b-bqfa38invd] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pp-dim[b-bqfa38invd] {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .pp-dim p[b-bqfa38invd] {
        grid-column: 1;
    }

    .proposal section[id][b-bqfa38invd] {
        scroll-margin-top: 120px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .proposal[b-bqfa38invd]  .pp-dot {
        animation: none;
    }

    .pp-flash[b-bqfa38invd] {
        animation: none;
        opacity: 0;
    }

    .pp-line[b-bqfa38invd] {
        animation: none;
        opacity: 1;
    }

    .pp-rule i[b-bqfa38invd] {
        transition: none;
    }
}

/* Hero floor follows the theme (tokens in app.css) */
.a-floor[b-bqfa38invd] {
    fill: var(--hero-floor);
}
/* /Components/Proposal/CalculatorPanel.razor.rz.scp.css */
.calc[b-sgld1wgmmu] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
    margin-top: 30px;
    align-items: start;
}

.calc-in[b-sgld1wgmmu] {
    padding: 22px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 12px;
}

/* Inputs, ported from the preview's "calculator inputs" rules */
.ci-seg[b-sgld1wgmmu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
}

.ci-q[b-sgld1wgmmu] {
    width: 100%;
    font-size: .9rem;
    color: var(--muted);
}

.ci-seg button[b-sgld1wgmmu] {
    flex: 1 1 160px;
    min-height: 44px;
    font: inherit;
    font-weight: 600;
    color: var(--paper);
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 8px;
    cursor: pointer;
}

.ci-seg button[aria-checked="true"][b-sgld1wgmmu] {
    color: #fff;
    background: var(--blue);
    border-color: var(--blue-hi);
}

.ci-g[b-sgld1wgmmu] {
    margin: 18px 0 4px;
    font-family: var(--font-sign);
    font-size: .85rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--amber);
}

.ci-warn[b-sgld1wgmmu] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 6px 0 4px;
    padding: 12px 14px;
    font-size: .9rem;
    color: var(--paper);
    background: var(--tint-amber);
    border: 1px solid var(--amber-edge);
    border-radius: 8px;
}

.ci-warn svg[b-sgld1wgmmu] {
    flex: none;
    width: 24px;
    height: 24px;
    margin-top: 1px;
    fill: none;
    stroke: var(--amber);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ci-warn b[b-sgld1wgmmu] {
    color: var(--amber);
}

.ci-row[b-sgld1wgmmu] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px 12px;
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px dashed var(--line-soft);
}

.ci-row[hidden][b-sgld1wgmmu] {
    display: none;
}

.ci-l[b-sgld1wgmmu] {
    font-size: .95rem;
}

.ci-row output[b-sgld1wgmmu] {
    min-width: 64px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: 1.1rem;
    text-align: right;
    color: var(--paper);
}

.ci-h[b-sgld1wgmmu] {
    grid-column: 1 / -1;
    font-size: .8rem;
    color: var(--muted);
}

.ci-row select[b-sgld1wgmmu] {
    grid-column: 1 / -1;
    min-height: 44px;
    max-width: 100%;
    padding: 0 10px;
    font: inherit;
    color: var(--paper);
    background: var(--navy);
    border: 1px solid var(--line);
    border-radius: 8px;
}

.ci-row input[type=range][b-sgld1wgmmu] {
    grid-column: 1 / -1;
    width: 100%;
    height: 28px;
    margin: 0;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.ci-row input[type=range][b-sgld1wgmmu]::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--blue-hi) var(--p), var(--track) var(--p));
}

.ci-row input[type=range][b-sgld1wgmmu]::-moz-range-track {
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--blue-hi) var(--p), var(--track) var(--p));
}

.ci-row input[type=range][b-sgld1wgmmu]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    margin-top: -8px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--blue);
}

.ci-row input[type=range][b-sgld1wgmmu]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--blue);
}

/* Result card */
.calc-out[b-sgld1wgmmu] {
    position: sticky;
    top: 76px;
    padding: 26px;
    background: var(--navy);
    border: 1px solid var(--accent-edge);
    border-radius: 12px;
}

.k[b-sgld1wgmmu] {
    font-size: .92rem;
    color: var(--muted);
}

.hero-num[b-sgld1wgmmu] {
    margin: 6px 0 4px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: clamp(2.8rem, 6vw, 4rem);
    line-height: 1;
    color: var(--ok);
}

.hero-num.neg[b-sgld1wgmmu] {
    color: var(--alarm);
}

.kpis[b-sgld1wgmmu] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 20px 0;
}

.kpis div[b-sgld1wgmmu] {
    padding: 12px;
    background: var(--surface-2);
    border-radius: 8px;
}

.kpis b[b-sgld1wgmmu] {
    display: block;
    font-family: var(--font-sign);
    font-size: 1.6rem;
}

.kpis span[b-sgld1wgmmu] {
    font-size: .8rem;
    color: var(--muted);
}

.lines[b-sgld1wgmmu] {
    display: grid;
    gap: 8px;
}

.line[b-sgld1wgmmu] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 4px 12px;
}

.line .track[b-sgld1wgmmu] {
    grid-column: 1 / -1;
    height: 8px;
    overflow: hidden;
    background: var(--line-soft);
    border-radius: 4px;
}

.line .fill[b-sgld1wgmmu] {
    height: 100%;
    background: var(--ok);
    border-radius: 4px;
    transition: width .6s cubic-bezier(.2, .7, .2, 1);
}

.line .fill.cost[b-sgld1wgmmu] {
    background: var(--blue-hi);
}

.line .v[b-sgld1wgmmu] {
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: 1.15rem;
}

.seatnote[b-sgld1wgmmu] {
    margin-top: 18px;
    padding: 12px 14px;
    font-size: .92rem;
    background: rgba(255, 59, 48, .08);
    border: 1px solid rgba(255, 59, 48, .3);
    border-radius: 8px;
}

.math[b-sgld1wgmmu] {
    margin-top: 16px;
    font-size: .88rem;
    color: var(--muted);
}

.math summary[b-sgld1wgmmu] {
    min-height: 32px;
    font-weight: 600;
    color: var(--paper);
    cursor: pointer;
}

.math table[b-sgld1wgmmu] {
    width: 100%;
    margin-top: 8px;
    border-collapse: collapse;
}

.math td[b-sgld1wgmmu] {
    padding: 6px 4px;
    vertical-align: top;
    border-bottom: 1px dashed var(--line-soft);
}

.math td:last-child[b-sgld1wgmmu] {
    text-align: right;
    white-space: nowrap;
    color: var(--paper);
}

.disclaim[b-sgld1wgmmu] {
    margin-top: 14px;
    font-size: .8rem;
    color: var(--muted);
}

@media (max-width: 900px) {
    .calc[b-sgld1wgmmu] {
        grid-template-columns: 1fr;
    }

    .calc-out[b-sgld1wgmmu] {
        position: static;
    }
}

@media (prefers-reduced-motion: reduce) {
    .line .fill[b-sgld1wgmmu] {
        transition: none;
    }
}
/* /Components/Proposal/DemoAccess.razor.rz.scp.css */
.try[b-q2tz5dg2dc] {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 20px;
    margin-top: 30px;
    align-items: stretch;
}

.roles[b-q2tz5dg2dc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.role[b-q2tz5dg2dc] {
    padding: 20px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 12px;
}

.ric[b-q2tz5dg2dc] {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    background: var(--tint-blue);
    border: 1px solid var(--accent-edge);
    border-radius: 12px;
}

.ric svg[b-q2tz5dg2dc] {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: var(--paper);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.role b[b-q2tz5dg2dc] {
    display: block;
    font-family: var(--font-sign);
    font-size: 1.2rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.rn[b-q2tz5dg2dc] {
    display: inline-block;
    margin: 2px 0 10px;
    font-size: .78rem;
    letter-spacing: .04em;
    color: var(--amber);
}

.role p[b-q2tz5dg2dc] {
    font-size: .93rem;
    color: var(--muted);
}

.ask[b-q2tz5dg2dc] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px;
    background: var(--navy);
    border: 1px solid var(--accent-edge);
    border-radius: 12px;
}

.ask ol[b-q2tz5dg2dc] {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
    color: var(--muted);
}

.ask ol li[b-q2tz5dg2dc]::marker {
    font-family: var(--font-sign);
    font-weight: 700;
    color: var(--amber);
}

.ask-btn[b-q2tz5dg2dc] {
    align-self: flex-start;
}

.mailrow[b-q2tz5dg2dc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.mailaddr[b-q2tz5dg2dc] {
    padding: 10px 12px;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 1rem;
    border: 1px solid var(--line);
    border-radius: 8px;
    user-select: all;
    overflow-wrap: anywhere;
}

.note[b-q2tz5dg2dc] {
    font-size: .82rem;
    color: var(--muted);
}

@media (max-width: 960px) {
    .try[b-q2tz5dg2dc] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .roles[b-q2tz5dg2dc] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Proposal/HowItWorks.razor.rz.scp.css */
/* "How Baler works": vertical steps and the network box, ported from the preview's D additions. */
.how[b-cnig6kl46h] {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 36px;
    margin-top: 30px;
}

.vsteps[b-cnig6kl46h] {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vsteps[b-cnig6kl46h]::before {
    content: "";
    position: absolute;
    left: 27px;
    top: 28px;
    bottom: 28px;
    width: 2px;
    background: repeating-linear-gradient(180deg, var(--line) 0 8px, transparent 8px 14px);
}

.vsteps li[b-cnig6kl46h] {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 0 16px;
    padding: 10px 0;
    transition: opacity .35s;
}

.ic[b-cnig6kl46h] {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    grid-row: span 2;
    width: 56px;
    height: 56px;
    background: var(--navy);
    border: 2px solid var(--blue-hi);
    border-radius: 50%;
    transition: border-color .3s, box-shadow .3s;
}

.ic svg[b-cnig6kl46h] {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: var(--paper);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vsteps b[b-cnig6kl46h] {
    align-self: end;
    font-family: var(--font-sign);
    font-size: 1.2rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.vsteps span[b-cnig6kl46h] {
    font-size: .95rem;
    color: var(--muted);
}

.vsteps.run li[b-cnig6kl46h] {
    opacity: .42;
}

.vsteps.run li.on[b-cnig6kl46h] {
    opacity: 1;
}

.vsteps li.on .ic[b-cnig6kl46h] {
    border-color: var(--amber);
    box-shadow: 0 0 0 6px rgba(242, 194, 48, .14);
}

.netbox[b-cnig6kl46h] {
    overflow: hidden;
    background: var(--art-bg-2);
    border: 1px solid var(--line);
    border-radius: 12px;
}

.net[b-cnig6kl46h] {
    display: block;
    width: 100%;
    height: auto;
}

.ring[b-cnig6kl46h] {
    opacity: 0;
}

.site.bad .ring[b-cnig6kl46h] {
    opacity: 1;
    transform-box: fill-box;
    transform-origin: center;
    animation: net-ring-b-cnig6kl46h 1.1s ease-out infinite;
}

@keyframes net-ring-b-cnig6kl46h {
    from { transform: scale(1); opacity: 1; }
    to { transform: scale(2.4); opacity: 0; }
}

.ok[b-cnig6kl46h] {
    opacity: 0;
}

.ok.on[b-cnig6kl46h] {
    opacity: 1;
}

/* Photo (site to hub) and van (hub to site), ease-in-out like the preview's move() */
.token[b-cnig6kl46h] {
    animation-name: net-move-b-cnig6kl46h;
    animation-timing-function: cubic-bezier(.455, .03, .515, .955);
    animation-fill-mode: both;
}

@keyframes net-move-b-cnig6kl46h {
    from { transform: translate(var(--ax), var(--ay)); }
    to { transform: translate(var(--bx), var(--by)); }
}

.netbar[b-cnig6kl46h] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    font-size: .9rem;
    border-top: 1px solid var(--line);
}

.closed[b-cnig6kl46h] {
    color: var(--muted);
}

.closed b[b-cnig6kl46h] {
    font-family: var(--font-sign);
    font-size: 1.2rem;
    color: var(--ok);
}

@media (max-width: 900px) {
    .how[b-cnig6kl46h] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site.bad .ring[b-cnig6kl46h] {
        animation: none;
    }

    .vsteps li[b-cnig6kl46h],
    .ic[b-cnig6kl46h] {
        transition: none;
    }
}

/* Theme colours of the network surfaces (tokens in app.css) */
.a-dot[b-cnig6kl46h] { fill: var(--art-dot); fill-opacity: 1; }
.a-disc[b-cnig6kl46h] { fill: var(--art-disc); }
.ln[b-cnig6kl46h] { stroke: var(--art-link); }
.ln.on[b-cnig6kl46h] { stroke: rgba(77, 143, 224, .7); }
/* /Components/Proposal/IndustryArt.razor.rz.scp.css */
/* Machine loops and fault states, ported from the preview's "machine art animation" and roofing rules. */
.m-spin[b-mlsg5ma9t4] {
    animation: m-spin-b-mlsg5ma9t4 3s linear infinite;
}

.m-rev[b-mlsg5ma9t4] {
    animation-direction: reverse;
}

@keyframes m-spin-b-mlsg5ma9t4 {
    to { transform: rotate(360deg); }
}

.m-belt[b-mlsg5ma9t4] {
    animation: m-belt-b-mlsg5ma9t4 .8s linear infinite;
}

@keyframes m-belt-b-mlsg5ma9t4 {
    to { stroke-dashoffset: -16; }
}

.m-boxes rect[b-mlsg5ma9t4] {
    animation: m-box-b-mlsg5ma9t4 5s linear infinite;
}

.m-boxes rect:nth-child(2)[b-mlsg5ma9t4] {
    animation-delay: -2.5s;
}

@keyframes m-box-b-mlsg5ma9t4 {
    from { transform: translateX(0); }
    to { transform: translateX(260px); }
}

.m-arm[b-mlsg5ma9t4] {
    animation: m-arm-b-mlsg5ma9t4 1.6s ease-in-out infinite;
}

@keyframes m-arm-b-mlsg5ma9t4 {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(14px); }
}

.m-hammer[b-mlsg5ma9t4] {
    transform-origin: 0 0;
    animation: m-hammer-b-mlsg5ma9t4 .9s cubic-bezier(.5, 0, .8, .4) infinite;
}

@keyframes m-hammer-b-mlsg5ma9t4 {
    0% { transform: rotate(-75deg); }
    55% { transform: rotate(4deg); }
    62% { transform: rotate(-4deg); }
    100% { transform: rotate(-75deg); }
}

.m-spark[b-mlsg5ma9t4] {
    opacity: 0;
    animation: m-spark-b-mlsg5ma9t4 .9s linear infinite;
}

@keyframes m-spark-b-mlsg5ma9t4 {
    0%, 52% { opacity: 0; }
    58% { opacity: 1; }
    75%, 100% { opacity: 0; }
}

.broken .m-spin[b-mlsg5ma9t4],
.broken .m-belt[b-mlsg5ma9t4],
.broken .m-boxes rect[b-mlsg5ma9t4],
.broken .m-arm[b-mlsg5ma9t4],
.broken .m-hammer[b-mlsg5ma9t4],
.broken .m-spark[b-mlsg5ma9t4] {
    animation-play-state: paused;
}

.broken .m-lamp[b-mlsg5ma9t4] {
    fill: var(--alarm);
    animation: m-blink-b-mlsg5ma9t4 .5s steps(2) infinite;
}

@keyframes m-blink-b-mlsg5ma9t4 {
    50% { opacity: .2; }
}

/* Roofing fault: the held hammer disappears, a flying hammer spins back to the window (0.6 s),
   the glass cracks and darkens at +0.58 s, two shards fall. */
.r-fly[b-mlsg5ma9t4] {
    opacity: 0;
    transform-origin: 0 0;
}

.broken .r-held[b-mlsg5ma9t4] {
    visibility: hidden;
}

.broken .r-fly[b-mlsg5ma9t4] {
    animation: r-fly-b-mlsg5ma9t4 .6s cubic-bezier(.4, 0, .9, .6) forwards;
}

@keyframes r-fly-b-mlsg5ma9t4 {
    0% { opacity: 1; transform: translate(92px, -58px) rotate(0deg); }
    99% { opacity: 1; }
    100% { opacity: 0; transform: translate(0, 0) rotate(-620deg); }
}

.r-crack[b-mlsg5ma9t4] {
    opacity: 0;
}

.broken .r-crack[b-mlsg5ma9t4] {
    animation: r-crack-b-mlsg5ma9t4 .2s linear .58s forwards;
}

@keyframes r-crack-b-mlsg5ma9t4 {
    to { opacity: 1; }
}

.broken .r-glass[b-mlsg5ma9t4] {
    fill: #9fb4c8;
    transition: fill .2s .58s;
}

.broken .r-shard[b-mlsg5ma9t4] {
    animation: r-shard-b-mlsg5ma9t4 .8s ease-in .6s forwards;
}

@keyframes r-shard-b-mlsg5ma9t4 {
    to { transform: translateY(70px); opacity: 0; }
}

/* Reduced motion: no loops; the fault still ends in its final state (cracked window, red lamp). */
@media (prefers-reduced-motion: reduce) {
    .m-spin[b-mlsg5ma9t4],
    .m-belt[b-mlsg5ma9t4],
    .m-boxes rect[b-mlsg5ma9t4],
    .m-arm[b-mlsg5ma9t4],
    .m-hammer[b-mlsg5ma9t4],
    .m-spark[b-mlsg5ma9t4],
    .broken .m-lamp[b-mlsg5ma9t4] {
        animation: none;
    }

    .broken .r-fly[b-mlsg5ma9t4] {
        animation: none;
    }

    .broken .r-crack[b-mlsg5ma9t4] {
        animation-duration: 10ms;
        animation-delay: 0s;
    }

    .broken .r-shard[b-mlsg5ma9t4] {
        animation: none;
        opacity: 0;
    }

    .broken .r-glass[b-mlsg5ma9t4] {
        transition: none;
    }
}
/* /Components/Proposal/IndustryStage.razor.rz.scp.css */
/* "Where to use Baler" stage, ported from the preview's bay rules. The case phases are classes set by
   IndustryStage.razor.cs; this file only holds how each phase looks and how long its fade takes. */
.bay[b-uo45o1fszk] {
    margin-top: 30px;
    overflow: hidden;
    background: var(--art-bg);
    border: 1px solid var(--line);
    border-radius: 12px;
}

.bay-stage[b-uo45o1fszk] {
    position: relative;
}

.bay-stage > svg[b-uo45o1fszk] {
    display: block;
    width: 100%;
    height: auto;
}

/* Machine slides in from -60 px (0.8 s) and out to +60 px (0.6 s) */
.m-wrap.enter[b-uo45o1fszk] {
    animation: bay-in-x-b-uo45o1fszk .8s cubic-bezier(.2, .7, .2, 1) both, bay-in-o-b-uo45o1fszk .5s both;
}

.m-wrap.exit[b-uo45o1fszk] {
    animation: bay-out-x-b-uo45o1fszk .6s ease-in both, bay-out-o-b-uo45o1fszk .5s both;
}

@keyframes bay-in-x-b-uo45o1fszk {
    from { transform: translateX(-60px); }
    to { transform: none; }
}

@keyframes bay-in-o-b-uo45o1fszk {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes bay-out-x-b-uo45o1fszk {
    from { transform: none; }
    to { transform: translateX(60px); }
}

@keyframes bay-out-o-b-uo45o1fszk {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* Fault: red ring, alarm glow and the fault label */
.glow[b-uo45o1fszk],
.fault[b-uo45o1fszk],
.fault-label[b-uo45o1fszk],
.sn-tag[b-uo45o1fszk] {
    opacity: 0;
    transition: opacity .3s;
}

.glow[b-uo45o1fszk] {
    transition-duration: .4s;
}

.faulted .glow[b-uo45o1fszk],
.faulted .fault[b-uo45o1fszk],
.faulted .fault-label[b-uo45o1fszk],
.serial .sn-tag[b-uo45o1fszk] {
    opacity: 1;
}

.ring[b-uo45o1fszk] {
    transform-box: fill-box;
    transform-origin: center;
    animation: bay-ring-b-uo45o1fszk 1.1s ease-out infinite;
}

@keyframes bay-ring-b-uo45o1fszk {
    from { transform: scale(1); opacity: 1; }
    to { transform: scale(2.4); opacity: 0; }
}

/* Phone, shutter flash and the three phone lines */
.phone[b-uo45o1fszk] {
    opacity: 0;
    transition: opacity .4s;
}

.phone.on[b-uo45o1fszk] {
    opacity: 1;
}

.flash[b-uo45o1fszk] {
    opacity: 0;
}

.flash.on[b-uo45o1fszk] {
    animation: bay-flash-b-uo45o1fszk .45s ease-out both;
}

@keyframes bay-flash-b-uo45o1fszk {
    from { opacity: .95; }
    to { opacity: 0; }
}

.pl[b-uo45o1fszk] {
    opacity: 0;
    transition: opacity .4s;
}

.pl.on[b-uo45o1fszk] {
    opacity: 1;
}

/* Wire fills node by node (0.7 s linear), each node lights with a green tick */
.wire-on[b-uo45o1fszk] {
    transition: stroke-dashoffset .7s linear;
}

.node[b-uo45o1fszk] {
    opacity: .35;
    transition: opacity .3s;
}

.node.lit[b-uo45o1fszk] {
    opacity: 1;
}

.tick[b-uo45o1fszk] {
    opacity: 0;
    transition: opacity .3s .1s;
}

.node.lit .tick[b-uo45o1fszk] {
    opacity: 1;
}

/* Controls: seven tabs with an 8.6 s progress bar, sound and pause */
.bay-ctrl[b-uo45o1fszk] {
    display: flex;
    gap: 6px;
    padding: 10px;
    overflow-x: auto;
    scrollbar-width: none;
    background: var(--surface-2);
    border-top: 1px solid var(--line);
}

.bay-ctrl[b-uo45o1fszk]::-webkit-scrollbar {
    display: none;
}

.tabs[b-uo45o1fszk] {
    display: flex;
    flex: 1 0 auto;
    gap: 6px;
}

.tab[b-uo45o1fszk] {
    position: relative;
    flex: 1 0 auto;
    min-height: 44px;
    padding: 0 14px;
    overflow: hidden;
    font-family: var(--font-sign);
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--paper);
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 8px;
    cursor: pointer;
}

.tab[aria-selected="true"][b-uo45o1fszk] {
    background: var(--tint-blue);
    border-color: var(--blue-hi);
}

.bar[b-uo45o1fszk] {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background: var(--amber);
}

.bar.done[b-uo45o1fszk] {
    width: 100%;
}

.bar.run[b-uo45o1fszk],
.bar.hold[b-uo45o1fszk] {
    animation: bay-bar-b-uo45o1fszk 8.6s linear both;
}

.bar.hold[b-uo45o1fszk] {
    animation-play-state: paused;
}

@keyframes bay-bar-b-uo45o1fszk {
    from { width: 0; }
    to { width: 100%; }
}

.ctl[b-uo45o1fszk] {
    display: grid;
    color: var(--paper);
    place-items: center;
    flex: 0 0 44px;
    min-height: 44px;
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 8px;
    cursor: pointer;
}

/* Sound toggle sits over the stage, top-right corner */
.stage-snd[b-uo45o1fszk] {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 44px;
    background: var(--panel);
    backdrop-filter: blur(4px);
}

.snd[aria-pressed="true"][b-uo45o1fszk] {
    background: var(--tint-amber);
    border-color: var(--amber);
}

/* Info panel under the stage */
.bay-info[b-uo45o1fszk] {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 28px;
    padding: 26px;
    border-top: 1px solid var(--line);
}

.bay-info h3[b-uo45o1fszk] {
    font-size: 1.6rem;
}

.sold[b-uo45o1fszk] {
    margin: 6px 0 14px;
    color: var(--muted);
}

.tags[b-uo45o1fszk] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.tag[b-uo45o1fszk] {
    padding: 3px 10px;
    font-size: .85rem;
    color: var(--tag-fg);
    background: rgba(224, 72, 43, .15);
    border: 1px solid rgba(224, 72, 43, .35);
    border-radius: 999px;
}

.fact[b-uo45o1fszk] {
    padding: 6px 0 6px 16px;
    border-left: 3px solid var(--amber);
}

.fact .pp-eyebrow[b-uo45o1fszk] {
    display: block;
    margin-bottom: 6px;
}

.swap[b-uo45o1fszk] {
    transition: opacity .35s;
}

.bay-info.fade .swap[b-uo45o1fszk] {
    opacity: 0;
}

@media (max-width: 700px) {
    .stage-snd[b-uo45o1fszk] {
        top: 6px;
        right: 6px;
    }
}

@media (max-width: 760px) {
    .bay-info[b-uo45o1fszk] {
        grid-template-columns: 1fr;
        padding: 20px;
    }
}

/* Reduced motion: no loops or slides, fades nearly instant; the case still completes. */
@media (prefers-reduced-motion: reduce) {
    .m-wrap.enter[b-uo45o1fszk],
    .m-wrap.exit[b-uo45o1fszk],
    .ring[b-uo45o1fszk],
    .flash.on[b-uo45o1fszk] {
        animation: none;
    }

    .glow[b-uo45o1fszk],
    .fault[b-uo45o1fszk],
    .fault-label[b-uo45o1fszk],
    .sn-tag[b-uo45o1fszk],
    .phone[b-uo45o1fszk],
    .pl[b-uo45o1fszk],
    .wire-on[b-uo45o1fszk],
    .node[b-uo45o1fszk],
    .tick[b-uo45o1fszk],
    .swap[b-uo45o1fszk] {
        transition-duration: 10ms;
        transition-delay: 0s;
    }
}

/* Theme colours of the stage surfaces (tokens in app.css); the machines keep their own colours. */
.a-bg[b-uo45o1fszk] { fill: var(--art-bg); }
.a-stripe[b-uo45o1fszk] { fill: var(--art-stripe); fill-opacity: 1; }
.a-floor[b-uo45o1fszk] { fill: var(--art-floor); }
.a-card[b-uo45o1fszk] { fill: var(--art-card); stroke: var(--art-card-line); }
.a-disc[b-uo45o1fszk] { fill: var(--art-disc); }
.a-icon[b-uo45o1fszk] { stroke: var(--art-ink); }
.a-ink[b-uo45o1fszk] { fill: var(--art-ink); }
.a-muted[b-uo45o1fszk] { fill: var(--art-muted); }
.a-wire[b-uo45o1fszk] { stroke: var(--art-wire); }
.a-label[b-uo45o1fszk] { fill: var(--art-label); }
/* /Components/Proposal/PilotSteps.razor.rz.scp.css */
.pilot[b-6ju8rv7jz8] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 30px 0;
    counter-reset: p;
}

.pilot > div[b-6ju8rv7jz8] {
    position: relative;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.pilot > div[b-6ju8rv7jz8]::before {
    counter-increment: p;
    content: counter(p);
    display: block;
    margin-bottom: 8px;
    font-family: var(--font-sign);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--blue-hi);
}

.pilot b[b-6ju8rv7jz8] {
    font-family: var(--font-sign);
    font-size: 1.15rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pilot p[b-6ju8rv7jz8] {
    margin-top: 6px;
    font-size: .92rem;
    color: var(--muted);
}

.domain[b-6ju8rv7jz8] {
    padding: 3px 8px;
    font-family: ui-monospace, Consolas, monospace;
    font-size: .95rem;
    overflow-wrap: anywhere;
    background: var(--surface-2);
    border: 1px solid var(--line);
    border-radius: 6px;
}

.cta-end[b-6ju8rv7jz8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

@media (max-width: 860px) {
    .pilot[b-6ju8rv7jz8] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 520px) {
    .pilot[b-6ju8rv7jz8] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Proposal/SourceRef.razor.rz.scp.css */
.src[b-rkqovuzpsi] {
    margin-left: 2px;
    font-size: .72em;
    vertical-align: super;
    color: var(--muted);
    text-decoration: none;
}

.src:hover[b-rkqovuzpsi] {
    color: var(--amber);
}
/* /Components/Proposal/SourcesList.razor.rz.scp.css */
.src-list[b-enl5yph82j] {
    display: grid;
    gap: 8px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
    font-size: .85rem;
    color: var(--muted);
}

.src-list li[b-enl5yph82j] {
    scroll-margin-top: 90px;
}

.src-list li:target[b-enl5yph82j] {
    color: var(--paper);
    background: var(--tint-amber);
    border-radius: 6px;
}

.n[b-enl5yph82j] {
    font-family: var(--font-sign);
    font-weight: 700;
    color: var(--amber);
}

.d[b-enl5yph82j] {
    opacity: .7;
}

@media (max-width: 640.98px) {
    .src-list li[b-enl5yph82j] {
        scroll-margin-top: 130px;
    }
}
