.pa-home-printer {
    --pa-printer-evergreen: #102a30;
    --pa-printer-green: #087f75;
    --pa-printer-green-accent: #0f8f83;
    --pa-printer-ice: #f4fbfd;
    --pa-printer-ice-secondary: #edf8fb;
    --pa-printer-cyan-soft: #e8f8fa;
    --pa-printer-aqua-soft: #dff5f8;
    --pa-printer-paper: #fbfdfe;
    --pa-printer-ink: #122233;
    --pa-printer-muted: #617486;
    --pa-printer-teal: #087f8c;
    --pa-printer-aqua: #64dcd4;
    --pa-printer-line: rgba(80, 151, 165, .25);
    --pa-printer-build-progress: 1;
    --pa-printer-build-progress-pct: 100%;
    position: relative;
    isolation: isolate;
    padding: 0 clamp(1rem, 5vw, 6rem) clamp(9rem, 14vw, 14rem);
    overflow: clip;
    background: var(--pa-printer-ice-secondary);
}

.pa-home-printer::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .38;
    background-image:
        linear-gradient(rgba(83, 158, 171, .09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(83, 158, 171, .09) 1px, transparent 1px);
    background-size: 4rem 4rem;
    mask-image: linear-gradient(180deg, transparent, #000 15%, #000 90%, transparent);
    content: "";
    pointer-events: none;
}

.pa-home-printer::after {
    display: none;
}

.pa-home-printer[data-pa-printer-enhanced] {
    --pa-printer-build-progress: 0;
    --pa-printer-build-progress-pct: 0%;
}

.pa-home-printer__intro-field,
.pa-home-printer__intro,
.pa-home-printer__scrolly {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1480px;
    margin-inline: auto;
}

.pa-home-printer__intro-field::before,
.pa-home-printer__intro-field::after {
    position: absolute;
    left: 50%;
    width: 100vw;
    content: "";
    pointer-events: none;
    transform: translateX(-50%);
}

.pa-home-printer__intro-field::before {
    inset-block: 0;
    z-index: -2;
    background: var(--pa-printer-paper);
    box-shadow: inset 0 -1px 0 var(--pa-printer-line);
}

.pa-home-printer__intro-field::after {
    bottom: 0;
    z-index: -1;
    left: 0;
    width: clamp(7rem, 11vw, 11rem);
    height: .28rem;
    background: var(--pa-printer-teal);
    transform: none;
}

.pa-home-printer__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .65fr);
    gap: 2rem clamp(2rem, 7vw, 8rem);
    align-items: end;
    padding-block: clamp(5.5rem, 8vw, 8rem) clamp(5rem, 7vw, 7rem);
}

.pa-home-printer__intro .pa-home-kicker {
    grid-column: 1 / -1;
    margin-bottom: -.7rem;
    color: var(--pa-printer-teal);
}

.pa-home-printer__intro h2 {
    max-width: 14ch;
    margin: 0;
    color: var(--pa-printer-ink);
    font-size: clamp(2.7rem, 5.5vw, 6.5rem);
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: .98;
    text-wrap: pretty;
    word-spacing: .035em;
}

.pa-home-printer__intro > p:last-child {
    max-width: 42rem;
    margin: 0 0 .35rem;
    padding-left: clamp(1.5rem, 3vw, 3rem);
    border-left: 1px solid var(--pa-printer-line);
    color: #3d5864;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.75;
}

.pa-home-printer__scrolly {
    display: grid;
    grid-template-columns: minmax(19rem, .68fr) minmax(36rem, 1.32fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: start;
    margin-top: clamp(5rem, 8vw, 8rem);
}

.pa-home-printer__beats {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pa-home-printer__beat {
    display: grid;
    align-content: center;
    min-height: clamp(34rem, 76svh, 47rem);
    padding-block: clamp(3rem, 6vw, 6rem);
    border-top: 1px solid var(--pa-printer-line);
}

.pa-home-printer__beat:last-child {
    border-bottom: 1px solid var(--pa-printer-line);
}

.pa-home-printer[data-pa-printer-enhanced] .pa-home-printer__beat {
    /* Keep inactive chapters subordinate without compositing their text below
       readable contrast in either theme. */
    opacity: .72;
    transform: translateY(1.25rem);
    transition: opacity .35s ease, transform .45s ease;
}

.pa-home-printer[data-pa-printer-enhanced] .pa-home-printer__beat[data-pa-printer-active] {
    opacity: 1;
    transform: none;
}

.pa-home-printer [data-pa-printer-beat][data-pa-printer-active] h3 {
    color: #06121e !important;
}

.pa-home-printer__beat-body {
    box-sizing: border-box;
    width: 100%;
    max-width: 32rem;
    padding: clamp(1.5rem, 3vw, 2.4rem);
}

.pa-home-printer__beat-index {
    margin-bottom: .9rem;
    color: var(--pa-printer-teal);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.pa-home-printer__beat h3 {
    max-width: 12ch;
    margin-bottom: 1rem;
    color: var(--pa-printer-ink);
    font-size: clamp(2.25rem, 4vw, 4.6rem);
    font-weight: 850;
    letter-spacing: -.055em;
    line-height: .98;
    text-wrap: balance;
}

.pa-home-printer__beat-body > p:last-child {
    margin: 0;
    color: var(--pa-printer-muted);
    line-height: 1.72;
}

.pa-home-printer__visual-column {
    align-self: stretch;
    min-width: 0;
}

.pa-home-printer__visual {
    position: sticky;
    top: 7rem;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    height: min(50rem, calc(100svh - 8.25rem));
    min-height: min(34rem, calc(100svh - 8.25rem));
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--pa-printer-line);
    border-radius: 8px;
    background: var(--pa-printer-paper);
    box-shadow: 0 2rem 6rem rgba(8, 31, 43, .17);
}

.pa-home-printer__topbar {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    min-height: 3.55rem;
    padding: .65rem 1rem;
    border-bottom: 1px solid var(--pa-printer-line);
}

.pa-home-printer__status,
.pa-home-printer__controls {
    display: flex;
    gap: .55rem;
    align-items: center;
}

.pa-home-printer__status {
    white-space: nowrap;
}

.pa-home-printer__status-dot {
    position: relative;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
}

.pa-home-printer__status-dot::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: var(--pa-printer-aqua);
    box-shadow: 0 0 0 .3rem rgba(100, 220, 212, .16);
    content: "";
    transform: translate(-50%, -50%);
}

.pa-home-printer__topbar strong,
.pa-home-printer__mode {
    color: #526b76;
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pa-home-printer__controls button {
    min-height: 2rem;
    padding: .4rem .6rem;
    border: 1px solid var(--pa-printer-line);
    border-radius: 8px;
    background: #fff;
    color: var(--pa-printer-teal);
    font: inherit;
    font-size: .62rem;
    font-weight: 850;
    cursor: pointer;
}

.pa-home-printer__controls button:not(:disabled):hover {
    border-color: rgba(8, 127, 140, .55);
    background: #f0fbfc;
}

.pa-home-printer__controls button:disabled {
    opacity: .45;
    cursor: default;
}

.pa-home-printer__controls button:focus-visible,
.pa-home-printer__playback button:focus-visible,
.pa-home-printer__speed select:focus-visible,
.pa-home-printer__scrubber:focus-visible {
    outline: 2px solid var(--pa-printer-teal);
    outline-offset: 2px;
}

.pa-home-printer__stage {
    position: relative;
    min-height: 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 58% 42%, rgba(255, 255, 255, .98), rgba(234, 248, 250, .86) 58%, #d7e9ed 100%);
}

.pa-home-printer__stage:focus-visible {
    outline: 3px solid var(--pa-printer-teal);
    outline-offset: -4px;
}

.pa-home-printer__stage::after {
    position: absolute;
    inset: 0;
    z-index: 4;
    border: 1px solid rgba(255, 255, 255, .42);
    box-shadow: inset 0 0 5rem rgba(21, 96, 110, .08);
    content: "";
    pointer-events: none;
}

.pa-home-printer__fallback,
.pa-home-printer__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.pa-home-printer__fallback {
    z-index: 1;
    overflow: hidden;
    opacity: 1;
    transition: none;
}

.pa-home-printer__fallback-frame {
    position: absolute;
    inset: 7% 9% 8%;
    border: clamp(.7rem, 1.2vw, 1.2rem) solid rgba(163, 191, 198, .74);
    border-bottom-width: clamp(1.1rem, 1.8vw, 1.8rem);
    background:
        linear-gradient(90deg, rgba(192, 217, 222, .46), transparent 10%, transparent 90%, rgba(192, 217, 222, .46)),
        linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(215, 235, 239, .26));
    box-shadow:
        inset 0 0 0 1px rgba(49, 99, 111, .18),
        0 1.5rem 3rem rgba(37, 82, 92, .15);
}

.pa-home-printer__fallback-gantry {
    position: absolute;
    top: 28%;
    right: 8%;
    left: 8%;
    height: clamp(.55rem, 1vw, .95rem);
    border: 1px solid rgba(63, 99, 109, .38);
    background: linear-gradient(180deg, #b9ced3, #728c96);
    box-shadow: 0 .35rem .7rem rgba(22, 58, 68, .19);
}

.pa-home-printer__fallback-toolhead {
    position: absolute;
    top: calc(28% - .15rem);
    left: 56%;
    width: clamp(3rem, 8vw, 5.5rem);
    aspect-ratio: .86;
    border: 1px solid rgba(80, 126, 137, .38);
    border-radius: 18%;
    background:
        radial-gradient(circle at 50% 42%, #7a98a1 0 13%, transparent 14%),
        radial-gradient(circle at 50% 42%, transparent 0 25%, rgba(73, 107, 117, .55) 26% 29%, transparent 30%),
        linear-gradient(145deg, #f8fcfd, #c9dde1);
    box-shadow: 0 .9rem 1.4rem rgba(25, 67, 78, .19);
    transform: translateX(-50%);
}

.pa-home-printer__fallback-toolhead::after {
    position: absolute;
    top: 96%;
    left: 50%;
    width: .42rem;
    height: 1.15rem;
    clip-path: polygon(20% 0, 80% 0, 100% 55%, 58% 100%, 42% 100%, 0 55%);
    background: #7f6a46;
    content: "";
    transform: translateX(-50%);
}

.pa-home-printer__fallback-bed {
    position: absolute;
    right: 10%;
    bottom: 7%;
    left: 10%;
    height: 29%;
    border: 1px solid rgba(42, 108, 119, .3);
    background:
        linear-gradient(rgba(8, 127, 140, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8, 127, 140, .06) 1px, transparent 1px),
        linear-gradient(150deg, #f9fdfd, #cfe5e8);
    background-size: 1rem 1rem, 1rem 1rem, auto;
    box-shadow: 0 1rem 1.8rem rgba(28, 74, 84, .16);
    transform: perspective(30rem) rotateX(56deg);
    transform-origin: bottom;
}

.pa-home-printer__fallback-wordmark {
    position: absolute;
    right: 19%;
    bottom: 11%;
    left: 19%;
    z-index: 2;
    overflow: hidden;
    clip-path: inset(0 calc(100% - var(--pa-printer-build-progress-pct)) 0 0);
    filter: drop-shadow(0 .2rem .15rem rgba(2, 31, 87, .16));
    transform: perspective(35rem) rotateX(56deg);
    transform-origin: bottom;
}

.pa-home-printer__fallback-wordmark img {
    width: 100%;
}

.pa-home-printer__canvas {
    z-index: 2;
    display: block;
    visibility: hidden;
    opacity: 0;
    outline: none;
    touch-action: pan-y;
    transition: none;
}

.pa-home-printer[data-pa-printer-webgl="ready"] .pa-home-printer__canvas {
    visibility: visible;
    opacity: 1;
}

.pa-home-printer[data-pa-printer-webgl="ready"] .pa-home-printer__fallback {
    display: none;
    visibility: hidden;
    opacity: 0;
}

.pa-home-printer__loader {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: grid;
    gap: .75rem;
    place-content: center;
    justify-items: center;
    background: rgba(238, 249, 251, .72);
    color: #385560;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pa-home-printer__loader[hidden] {
    display: none;
}

.pa-home-printer__loader span {
    width: 2.2rem;
    height: 2.2rem;
    border: .2rem solid rgba(8, 127, 140, .16);
    border-top-color: var(--pa-printer-teal);
    border-radius: 50%;
    animation: pa-home-printer-spin .8s linear infinite;
}

.pa-home-printer__playback {
    display: none;
}

.pa-home-printer[data-pa-printer-enhanced] .pa-home-printer__playback {
    display: flex;
    gap: .45rem;
    align-items: center;
    min-width: 0;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--pa-printer-line);
}

.pa-home-printer__transport {
    display: flex;
    gap: .35rem;
    align-items: center;
}

.pa-home-printer__playback button,
.pa-home-printer__speed select {
    min-height: 2rem;
    border: 1px solid var(--pa-printer-line);
    border-radius: 8px;
    background: #fff;
    color: var(--pa-printer-teal);
    font: inherit;
    font-size: .58rem;
    font-weight: 850;
}

.pa-home-printer__playback button {
    display: inline-flex;
    gap: .28rem;
    align-items: center;
    justify-content: center;
    padding: .38rem .55rem;
    white-space: nowrap;
    cursor: pointer;
}

.pa-home-printer__playback button:not(:disabled):hover,
.pa-home-printer__speed select:not(:disabled):hover {
    border-color: rgba(8, 127, 140, .55);
    background: #f0fbfc;
}

.pa-home-printer__playback button:disabled,
.pa-home-printer__speed select:disabled {
    opacity: .45;
    cursor: default;
}

.pa-home-printer__playback button[hidden] {
    display: none;
}

.pa-home-printer[data-pa-printer-playing] [data-pa-printer-play] {
    border-color: var(--pa-printer-teal);
    background: var(--pa-printer-teal);
    color: #fff;
}

.pa-home-printer__speed {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    color: #526b76;
    font-size: .48rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.pa-home-printer__speed select {
    min-width: 3.3rem;
    padding: .3rem .35rem;
    cursor: pointer;
}

.pa-home-printer__playback .pa-home-printer__follow {
    margin-left: auto;
    border-color: rgba(8, 127, 140, .42);
    background: #e9f8f9;
}

.pa-home-printer__hud {
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto;
    gap: .7rem 1rem;
    align-items: center;
    padding: 1rem;
    border-top: 1px solid var(--pa-printer-line);
}

.pa-home-printer__playback {
    grid-column: 1 / -1;
}

.pa-home-printer__progress {
    display: grid;
    gap: .55rem;
}

.pa-home-printer__progress-labels {
    display: flex;
    justify-content: space-between;
    color: #526b76;
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.pa-home-printer__progress-labels label {
    cursor: ew-resize;
}

.pa-home-printer__progress-labels output {
    color: #24434d;
    font-variant-numeric: tabular-nums;
}

.pa-home-printer__progress-control {
    position: relative;
    display: grid;
    align-items: center;
    min-height: 1rem;
}

.pa-home-printer__progress-track {
    grid-area: 1 / 1;
    height: .45rem;
    overflow: hidden;
    border-radius: 999px;
    background: #cee4e8;
    pointer-events: none;
}

.pa-home-printer__progress-track > span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #087f8c, #0098a0, #64dcd4);
    transform: scaleX(var(--pa-printer-build-progress));
    transform-origin: left;
}

.pa-home-printer__scrubber {
    grid-area: 1 / 1;
    z-index: 2;
    width: 100%;
    height: 1.15rem;
    margin: 0;
    appearance: none;
    border-radius: 999px;
    background: transparent;
    cursor: ew-resize;
}

.pa-home-printer__scrubber::-webkit-slider-runnable-track {
    height: .45rem;
    border-radius: 999px;
    background: transparent;
}

.pa-home-printer__scrubber::-webkit-slider-thumb {
    width: .85rem;
    height: .85rem;
    margin-top: -.2rem;
    appearance: none;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--pa-printer-teal);
    box-shadow: 0 0 0 1px rgba(8, 127, 140, .42), 0 .16rem .35rem rgba(8, 45, 54, .2);
}

.pa-home-printer__scrubber::-moz-range-track {
    height: .45rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
}

.pa-home-printer__scrubber::-moz-range-thumb {
    width: .65rem;
    height: .65rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--pa-printer-teal);
    box-shadow: 0 0 0 1px rgba(8, 127, 140, .42), 0 .16rem .35rem rgba(8, 45, 54, .2);
}

.pa-home-printer__telemetry {
    display: grid;
    grid-template-columns: repeat(3, auto);
    margin: 0;
}

.pa-home-printer__telemetry div {
    min-width: 5rem;
    padding-left: 1rem;
    border-left: 1px solid var(--pa-printer-line);
}

.pa-home-printer__telemetry dt {
    color: #738b94;
    font-size: .48rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pa-home-printer__telemetry dd {
    margin: .2rem 0 0;
    color: var(--pa-printer-ink);
    font: 800 .58rem ui-monospace, SFMono-Regular, Consolas, monospace;
}

.pa-home-printer__boundary {
    padding: .5rem 1rem;
    border-top: 1px solid var(--pa-printer-line);
    color: #718790;
    font-size: .58rem;
    line-height: 1.4;
    text-align: right;
}

.pa-home-printer[data-pa-printer-state="complete"] .pa-home-printer__status-dot::before {
    background: #0098a0;
    box-shadow: 0 0 0 .3rem rgba(0, 152, 160, .14), 0 0 1.2rem rgba(0, 152, 160, .38);
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer__intro h2 {
    color: var(--pa-printer-ink);
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer .pa-home-printer__intro > p:last-child {
    color: #3d5864;
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer .pa-home-printer__beat h3 {
    color: var(--pa-printer-ink);
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer [data-pa-printer-beat][data-pa-printer-active] h3 {
    color: #06121e !important;
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer .pa-home-printer__beat-index {
    color: var(--pa-printer-teal);
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer .pa-home-printer__beat-body > p:last-child {
    color: var(--pa-printer-muted);
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer .pa-home-printer__topbar strong {
    color: #526b76;
}

html[data-pa-theme] .pa-home-printer .pa-home-printer__loader strong {
    color: #385560;
}

html[data-pa-theme] .pa-home-printer .pa-home-printer__telemetry dt {
    color: #738b94;
}

html[data-pa-theme] .pa-home-printer .pa-home-printer__telemetry dd {
    color: var(--pa-printer-ink);
}

html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer .pa-home-printer__speed,
html[data-pa-theme] body:not(.pa-protected-workspace) .pa-home .pa-home-printer .pa-home-printer__progress-labels {
    color: #526b76;
}

@keyframes pa-home-printer-spin {
    to { transform: rotate(1turn); }
}

@media (max-width: 1180px) {
    .pa-home-printer__scrolly {
        grid-template-columns: minmax(17rem, .62fr) minmax(31rem, 1.38fr);
    }

    .pa-home-printer__mode {
        display: none;
    }

}

@media (max-width: 900px) {
    .pa-home-printer {
        padding-inline: 1rem;
        background: var(--pa-printer-ice-secondary);
    }

    .pa-home-printer__intro {
        grid-template-columns: 1fr;
        align-items: start;
        padding-block: 5rem 4.5rem;
    }

    .pa-home-printer__intro .pa-home-kicker {
        grid-column: 1;
    }

    .pa-home-printer__intro h2 {
        max-width: 16ch;
    }

    .pa-home-printer__intro > p:last-child {
        max-width: 44rem;
        padding-top: 1.5rem;
        padding-left: 0;
        border-top: 1px solid var(--pa-printer-line);
        border-left: 0;
    }

    .pa-home-printer__scrolly {
        --pa-printer-mobile-visual: clamp(29rem, 62svh, 34rem);
        --pa-printer-mobile-top: 6rem;
        --pa-printer-mobile-visual-fit: min(var(--pa-printer-mobile-visual), calc(100svh - var(--pa-printer-mobile-top) - .75rem));
        grid-template-columns: 1fr;
    }

    .pa-home-printer__beats,
    .pa-home-printer__visual-column {
        grid-area: 1 / 1;
    }

    .pa-home-printer__visual-column {
        z-index: 2;
        min-height: 100%;
        pointer-events: none;
    }

    .pa-home-printer__visual {
        top: var(--pa-printer-mobile-top);
        height: var(--pa-printer-mobile-visual-fit);
        min-height: 0;
        pointer-events: auto;
    }

    .pa-home-printer__beats {
        z-index: 1;
        padding-top: calc(var(--pa-printer-mobile-visual-fit) + 1.25rem);
        padding-bottom: 10svh;
    }

    .pa-home-printer__beat {
        min-height: clamp(22rem, 54svh, 29rem);
    }

    .pa-home-printer__beat-body {
        max-width: 42rem;
        padding: 1.4rem 1rem 1.6rem;
        background: linear-gradient(90deg, rgba(237, 248, 250, .96), rgba(237, 248, 250, .78));
        backdrop-filter: blur(.25rem);
    }
}

@media (max-width: 620px) {
    .pa-home-printer {
        padding-bottom: 9rem;
    }

    .pa-home-printer__intro-field::after {
        width: 7rem;
    }

    .pa-home-printer__intro h2 {
        max-width: none;
        font-size: clamp(2.4rem, 10.75vw, 3.7rem);
        letter-spacing: -.035em;
        line-height: 1;
        word-spacing: .025em;
    }

    .pa-home-printer__scrolly {
        --pa-printer-mobile-visual: clamp(27rem, 68svh, 31rem);
        --pa-printer-mobile-top: clamp(5.5rem, 11svh, 5.75rem);
    }

    .pa-home-printer__visual {
        top: var(--pa-printer-mobile-top);
        height: var(--pa-printer-mobile-visual-fit);
        border-radius: 8px;
    }

    .pa-home-printer__beats {
        padding-top: calc(var(--pa-printer-mobile-visual-fit) + 1.25rem);
    }

    .pa-home-printer__topbar {
        align-items: flex-start;
        padding: .55rem .65rem;
    }

    .pa-home-printer__controls {
        justify-content: flex-end;
    }

    .pa-home-printer__controls button {
        min-height: 2.2rem;
        padding-inline: .5rem;
        font-size: .57rem;
    }

    .pa-home-printer__hud {
        grid-template-columns: 1fr;
        gap: .8rem;
        padding: .75rem;
    }

    .pa-home-printer__playback {
        grid-column: auto;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .pa-home-printer__playback button,
    .pa-home-printer__speed select {
        min-height: 2.75rem;
    }

    .pa-home-printer__speed {
        font-size: .54rem;
    }

    .pa-home-printer__transport {
        flex: 1 1 auto;
    }

    .pa-home-printer__transport button {
        flex: 1 1 auto;
    }

    .pa-home-printer__progress-labels {
        font-size: .56rem;
    }

    .pa-home-printer__telemetry {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pa-home-printer__telemetry div {
        min-width: 0;
        padding-left: .65rem;
    }

    .pa-home-printer__boundary {
        padding: .4rem .75rem;
        text-align: left;
    }

    .pa-home-printer__beat h3 {
        font-size: clamp(2.15rem, 10vw, 3.4rem);
    }
}

@media (min-width: 360px) and (max-width: 620px) {
    .pa-home-printer__stage {
        min-height: 12.5rem;
    }
}

@media (max-width: 900px) and (max-height: 680px) {
    .pa-home-printer__intro {
        padding-block: 4.5rem 3.5rem;
    }

    .pa-home-printer__scrolly {
        --pa-printer-mobile-top: 4.5rem;
        --pa-printer-mobile-visual: min(78svh, 26rem);
        --pa-printer-mobile-visual-fit: min(var(--pa-printer-mobile-visual), calc(100svh - var(--pa-printer-mobile-top) - .75rem));
    }

    .pa-home-printer__beats {
        z-index: 1;
        padding-top: calc(var(--pa-printer-mobile-visual-fit) + .75rem);
    }

    .pa-home-printer__beat {
        min-height: 72svh;
    }

    .pa-home-printer__beat-body {
        border: 1px solid rgba(8, 127, 140, .2);
        background: rgba(237, 248, 251, .98);
        box-shadow: 0 1rem 2.5rem rgba(16, 42, 48, .12);
        backdrop-filter: none;
    }
}

/* A short landscape tablet cannot expose a full-height sticky printer and a
   readable chapter underneath it at the same time. Use two explicit normal
   grid columns at this breakpoint so neither surface ever paints through the
   other; the printer remains sticky and the chapters keep native scrolling. */
@media (min-width: 621px) and (max-width: 900px) and (max-height: 680px) and (orientation: landscape) {
    .pa-home-printer__scrolly {
        grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr);
        gap: 1.25rem;
    }

    .pa-home-printer__beats {
        grid-area: 1 / 1;
        padding-top: 0;
    }

    .pa-home-printer__visual-column {
        grid-area: 1 / 2;
    }

    .pa-home-printer__topbar {
        flex-direction: column;
        align-items: stretch;
        gap: .45rem;
    }

    .pa-home-printer__status,
    .pa-home-printer__controls {
        width: 100%;
        min-width: 0;
    }

    .pa-home-printer__controls {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

.pa-home-printer[data-pa-printer-reduced] .pa-home-printer__scrolly {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.pa-home-printer[data-pa-printer-reduced] .pa-home-printer__visual-column {
    order: -1;
    width: 100%;
    min-height: auto;
    pointer-events: auto;
}

.pa-home-printer[data-pa-printer-reduced] .pa-home-printer__visual {
    position: relative;
    top: auto;
    height: min(40rem, 72svh);
}

.pa-home-printer[data-pa-printer-reduced] .pa-home-printer__beats {
    width: 100%;
    padding: 0;
}

.pa-home-printer[data-pa-printer-reduced] .pa-home-printer__beat,
.pa-home-printer[data-pa-printer-reduced][data-pa-printer-enhanced] .pa-home-printer__beat {
    min-height: auto;
    padding-block: 2.5rem;
    opacity: 1;
    transform: none;
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .pa-home-printer__loader span {
        animation: none;
    }

    .pa-home-printer__fallback,
    .pa-home-printer__canvas {
        transition: none;
    }
}

/* Production printer playground ------------------------------------------------ */
.pa-home-printer {
    --pa-printer-danger: #a8473c;
    --pa-printer-danger-soft: #fff3f0;
    --pa-printer-warning: #96601f;
    --pa-printer-warning-soft: #fff8eb;
    --pa-printer-panel-shadow: 0 1.4rem 4rem rgba(16, 42, 48, .2);
}

.pa-home-printer__visual :where(button, select, input) { font: inherit; }
.pa-home-printer__visual :where(button, select):not(:disabled) { cursor: pointer; }
.pa-home-printer__visual :where(button, select, input):disabled { opacity: .48; cursor: not-allowed; }
.pa-home-printer__visual :where(button, select, input[type="range"], input[type="checkbox"]):focus-visible {
    outline: 3px solid rgba(100, 220, 212, .8);
    outline-offset: 2px;
}
.pa-home-printer__visual :where(.pa-home-printer__menu-panel, .pa-home-printer__hotspot-card, .pa-home-printer__repair-overlay, .pa-home-printer__spaghetti-layer, .pa-home-printer__problem-drawer, .pa-home-printer__toast, [data-pa-printer-menu-panel], [data-pa-printer-hotspot-card], [data-pa-printer-repair-overlay], [data-pa-printer-spaghetti], [data-pa-printer-problem-drawer], [data-pa-printer-toast])[hidden] { display: none !important; }

.pa-home-printer__topbar { position: relative; z-index: 110; overflow: visible; background: rgba(251, 253, 254, .97); }
.pa-home-printer__controls { flex-wrap: wrap; justify-content: flex-end; }
.pa-home-printer__tool-button,
.pa-home-printer__icon-button,
.pa-home-printer__menu-trigger,
[data-pa-printer-menu-trigger] {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: .45rem .7rem;
    border: 1px solid var(--pa-printer-line);
    border-radius: 8px;
    background: #fff;
    color: var(--pa-printer-teal);
    box-shadow: 0 .25rem .75rem rgba(16, 42, 48, .04);
    font-size: .64rem;
    font-weight: 850;
    line-height: 1;
    transition: color .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.pa-home-printer__tool-button--featured,
.pa-home-printer__menu-trigger--featured,
[data-pa-printer-playground-trigger] {
    border-color: var(--pa-printer-teal);
    background: linear-gradient(135deg, var(--pa-printer-teal), #0798a7);
    color: #fff;
    box-shadow: 0 .45rem 1.15rem rgba(8, 127, 140, .2);
}
.pa-home-printer__icon-button { width: 2.25rem; padding-inline: 0; }
.pa-home-printer__tool-button[aria-expanded="true"],
.pa-home-printer__menu-trigger[aria-expanded="true"],
[data-pa-printer-menu-trigger][aria-expanded="true"] { border-color: var(--pa-printer-teal); background: var(--pa-printer-cyan-soft); color: var(--pa-printer-teal); box-shadow: 0 0 0 2px rgba(8, 127, 140, .1); }
[data-pa-printer-playground-trigger][aria-expanded="true"] { background: var(--pa-printer-evergreen); color: #fff; }
.pa-home-printer__menu, [data-pa-printer-menu] { position: relative; }
.pa-home-printer__menu-panel, [data-pa-printer-menu-panel] {
    position: absolute;
    top: calc(100% + .65rem);
    right: 0;
    z-index: 140;
    min-width: 14rem;
    padding: .8rem;
    border: 1px solid #bddbe2;
    border-radius: 8px;
    background: #fbfeff;
    box-shadow: var(--pa-printer-panel-shadow);
    color: var(--pa-printer-ink);
    backdrop-filter: none;
}
.pa-home-printer__menu-panel::before, [data-pa-printer-menu-panel]::before {
    position: absolute;
    top: -.38rem;
    right: 1.3rem;
    width: .7rem;
    height: .7rem;
    border-top: 1px solid #bddbe2;
    border-left: 1px solid #bddbe2;
    background: #fbfeff;
    content: "";
    transform: rotate(45deg);
}
.pa-home-printer__view-menu, [data-pa-printer-view-menu] { display: grid; gap: .2rem; }
.pa-home-printer__view-menu button, [data-pa-printer-view-menu] button {
    display: flex;
    gap: .65rem;
    align-items: center;
    width: 100%;
    min-height: 2.4rem;
    padding: .5rem .65rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--pa-printer-ink);
    font-size: .72rem;
    font-weight: 750;
    text-align: left;
}
.pa-home-printer__view-menu button:is(:hover, [aria-pressed="true"], .is-active), [data-pa-printer-view-menu] button:is(:hover, [aria-pressed="true"], .is-active) { background: var(--pa-printer-cyan-soft); color: var(--pa-printer-teal); }
.pa-home-printer__playground-panel, [data-pa-printer-playground-panel] { width: min(27.5rem, calc(100vw - 2rem)); max-height: min(28rem, calc(100svh - 12rem)); padding: 1rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: rgba(8, 127, 140, .45) transparent; }
[data-pa-printer-menu-panel="playground"] { top: calc(100% + 3.25rem); }
.pa-home-printer__settings-panel, [data-pa-printer-settings-panel] { width: min(19rem, calc(100vw - 2rem)); }
.pa-home-printer__panel-heading, .pa-home-printer__drawer-heading, [data-pa-printer-panel-heading] { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }
.pa-home-printer__panel-title, .pa-home-printer__drawer-kicker { margin: 0; color: #536f7f; font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.pa-home-printer__panel-copy { margin: .32rem 0 0; color: var(--pa-printer-muted); font-size: .7rem; line-height: 1.45; }
.pa-home-printer__panel-close, .pa-home-printer__drawer-close, [data-pa-printer-menu-close], [data-pa-printer-drawer-close] { display: inline-grid; flex: 0 0 auto; width: 2rem; min-height: 2rem; padding: 0; place-items: center; border: 1px solid var(--pa-printer-line); border-radius: 8px; background: #fff; color: var(--pa-printer-teal); font-size: 1rem; }
.pa-home-printer__control-group { margin-top: 1rem; }
.pa-home-printer__control-label, [data-pa-printer-control-label] { display: flex; gap: .75rem; align-items: center; justify-content: space-between; color: #3b596b; font-size: .68rem; font-weight: 850; }
.pa-home-printer__control-label output, [data-pa-printer-layer-output], [data-pa-printer-speed-output] { color: var(--pa-printer-teal); font-variant-numeric: tabular-nums; }
.pa-home-printer__range, [data-pa-printer-layer-range] { width: 100%; min-height: 1.8rem; margin: .45rem 0 0; accent-color: var(--pa-printer-teal); cursor: ew-resize; }
.pa-home-printer__segmented, [data-pa-printer-speed-options] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .2rem; margin-top: .45rem; padding: .25rem; border: 1px solid var(--pa-printer-line); border-radius: 8px; background: var(--pa-printer-ice-secondary); }
.pa-home-printer__segmented button, [data-pa-printer-speed-options] button { min-height: 2.2rem; padding: .35rem; border: 0; border-radius: 8px; background: transparent; color: #4c6675; font-size: .68rem; font-weight: 850; }
.pa-home-printer__segmented button:is(.is-active, [aria-pressed="true"]), [data-pa-printer-speed-options] button:is(.is-active, [aria-pressed="true"]) { background: var(--pa-printer-teal); color: #fff; box-shadow: 0 .35rem .85rem rgba(8, 127, 140, .22); }
.pa-home-printer__two-column-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.pa-home-printer__field { display: grid; gap: .4rem; min-width: 0; color: #3b596b; font-size: .68rem; font-weight: 850; }
.pa-home-printer__field select, .pa-home-printer__select, [data-pa-printer-model], [data-pa-printer-lighting] { width: 100%; min-height: 2.55rem; padding: 0 2rem 0 .65rem; border: 1px solid var(--pa-printer-line); border-radius: 8px; background-color: #fff; color: var(--pa-printer-ink); font-size: .7rem; font-weight: 750; }
.pa-home-printer__swatches, [data-pa-printer-colorways] { display: flex; flex-wrap: wrap; gap: .58rem; align-items: center; margin-top: .5rem; }
.pa-home-printer__swatch, [data-pa-printer-colorway] { width: 1.9rem; min-height: 1.9rem; padding: 0; border: 2px solid #fff; border-radius: 50%; background: linear-gradient(90deg, var(--pa-printer-evergreen) 50%, #0798a7 50%); box-shadow: 0 0 0 1px #b9d5dc; transition: transform .16s ease, box-shadow .16s ease; }
[data-pa-printer-colorway="mono"] { background: linear-gradient(90deg, #263746 50%, #82949e 50%); }
[data-pa-printer-colorway="neon"] { background: linear-gradient(90deg, #6d28ff 50%, #00e6c7 50%); }
[data-pa-printer-colorway="aurora"] { background: linear-gradient(135deg, #1436ad, #0fd3a5, #86e7d7); }
[data-pa-printer-colorway="rainbow"] { background: conic-gradient(#ff4d4d, #f6cb3b, #21c889, #27a6e5, #7b3ff2, #ff4d4d); }
.pa-home-printer__swatch:is(:hover, .is-active, [aria-pressed="true"]), [data-pa-printer-colorway]:is(:hover, .is-active, [aria-pressed="true"]) { box-shadow: 0 0 0 2px var(--pa-printer-teal), 0 .35rem .8rem rgba(8, 127, 140, .2); transform: scale(1.08); }
.pa-home-printer__text-chip { min-height: 1.9rem; padding: 0 .65rem; border: 1px solid var(--pa-printer-line); border-radius: 999px; background: #fff; color: #456171; font-size: .65rem; font-weight: 850; }
.pa-home-printer__toggle-grid, [data-pa-printer-toggle-grid] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: 1rem; }
.pa-home-printer__toggle-button, [data-pa-printer-toggle] { display: flex; gap: .5rem; align-items: flex-start; justify-content: space-between; min-height: 3.3rem; padding: .6rem .65rem; border: 1px solid var(--pa-printer-line); border-radius: 8px; background: var(--pa-printer-paper); color: var(--pa-printer-ink); text-align: left; }
.pa-home-printer__toggle-button span, [data-pa-printer-toggle] span { font-size: .7rem; font-weight: 850; }
.pa-home-printer__toggle-button small, [data-pa-printer-toggle] small { color: #78909d; font-size: .56rem; line-height: 1.3; text-align: right; }
.pa-home-printer__toggle-button[aria-pressed="true"], [data-pa-printer-toggle][aria-pressed="true"] { border-color: #76cbd2; background: var(--pa-printer-cyan-soft); color: var(--pa-printer-teal); box-shadow: inset 3px 0 0 var(--pa-printer-teal); }
.pa-home-printer__action-grid, [data-pa-printer-actions] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: 1rem; }
.pa-home-printer__action-button, [data-pa-printer-action] { min-height: 2.65rem; padding: .5rem .65rem; border: 1px solid var(--pa-printer-line); border-radius: 8px; background: #fff; color: var(--pa-printer-ink); font-size: .68rem; font-weight: 900; }
.pa-home-printer__action-button--warning, [data-pa-printer-show-problems] { border-color: #edcf9f; background: var(--pa-printer-warning-soft); color: var(--pa-printer-warning); }
.pa-home-printer__action-button--repair, [data-pa-printer-run-repair] { border-color: var(--pa-printer-teal); background: linear-gradient(135deg, var(--pa-printer-teal), #0798a7); color: #fff; box-shadow: 0 .45rem 1rem rgba(8, 127, 140, .18); }
.pa-home-printer__action-button--surprise, [data-pa-printer-surprise] { grid-column: 1 / -1; border-color: #b8d7e8; background: linear-gradient(100deg, #edf8ff, #e9fffb); color: #173d62; }
.pa-home-printer__secret-button, [data-pa-printer-spaghetti-trigger] { width: 100%; min-height: 2.55rem; margin-top: .65rem; border: 1px dashed #cf8c80; border-radius: 8px; background: var(--pa-printer-danger-soft); color: #923b31; font-size: .7rem; font-weight: 900; }
.pa-home-printer__easter-hint { margin: .7rem 0 0; color: #8298a3; font-size: .58rem; text-align: center; }
.pa-home-printer__switch-row, [data-pa-printer-setting] { display: flex; gap: .9rem; align-items: center; justify-content: space-between; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--pa-printer-line); }
.pa-home-printer__switch-copy { display: grid; gap: .2rem; }
.pa-home-printer__switch-copy strong { color: var(--pa-printer-ink); font-size: .72rem; }
.pa-home-printer__switch-copy small { color: var(--pa-printer-muted); font-size: .61rem; line-height: 1.4; }
.pa-home-printer__switch-row input[type="checkbox"], [data-pa-printer-setting] input[type="checkbox"] { width: 2.4rem; height: 1.35rem; flex: 0 0 auto; accent-color: var(--pa-printer-teal); }

.pa-home-printer__hotspots, [data-pa-printer-hotspot-layer] { position: absolute; inset: 0; z-index: 32; pointer-events: none; transition: opacity .2s ease; }
.pa-home-printer__hotspot, [data-pa-printer-hotspot] { position: absolute; top: var(--pa-hotspot-y, var(--y)); left: var(--pa-hotspot-x, var(--x)); width: clamp(1.25rem, 2.4vw, 1.75rem); min-height: clamp(1.25rem, 2.4vw, 1.75rem); padding: 0; border: 1px solid rgba(255, 255, 255, .96); border-radius: 50%; background: rgba(7, 152, 167, .9); box-shadow: 0 0 0 .35rem rgba(100, 220, 212, .2), 0 .45rem 1rem rgba(5, 80, 91, .3); transform: translate(-50%, -50%); pointer-events: auto; }
.pa-home-printer__hotspot::before, .pa-home-printer__hotspot::after, [data-pa-printer-hotspot]::before, [data-pa-printer-hotspot]::after { position: absolute; inset: -.4rem; border: 1px solid rgba(55, 231, 218, .75); border-radius: inherit; animation: pa-home-printer-hotspot 1.8s ease-out infinite; content: ""; }
.pa-home-printer__hotspot::after, [data-pa-printer-hotspot]::after { animation-delay: .8s; }
.pa-home-printer__hotspot span, [data-pa-printer-hotspot] span { position: absolute; inset: 35%; border-radius: 50%; background: #fff; }
.pa-home-printer.is-pa-printer-hotspots-hidden :is(.pa-home-printer__hotspots, [data-pa-printer-hotspot-layer]) { opacity: 0; pointer-events: none; }
.pa-home-printer__hotspot-card, [data-pa-printer-hotspot-card] { position: absolute; right: 3%; bottom: 4%; z-index: 56; width: min(18.5rem, 48%); padding: 1rem 1.1rem; border: 1px solid rgba(154, 218, 223, .8); border-radius: 8px; background: #102a30; box-shadow: 0 1.1rem 2.8rem rgba(1, 22, 34, .35); color: #efffff; backdrop-filter: none; }
.pa-home-printer__hotspot-kicker { margin: 0; color: #8ce5e0; font-size: .56rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.pa-home-printer__hotspot-card h3, [data-pa-printer-hotspot-card] h3 { margin: .4rem 2rem .35rem 0; color: #fff; font-size: 1rem; }
.pa-home-printer__hotspot-card p:last-child, [data-pa-printer-hotspot-card] p:last-child { margin: 0; color: #d0e8eb; font-size: .7rem; line-height: 1.5; }
.pa-home-printer__repair-overlay, [data-pa-printer-repair-overlay] { position: absolute; inset: 0; z-index: 64; overflow: hidden; background: rgba(4, 31, 47, .14); backdrop-filter: blur(1px); }
.pa-home-printer__scanner-line, [data-pa-printer-scanner-line] { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, transparent, #57f0e5 20%, #fff 50%, #57f0e5 80%, transparent); box-shadow: 0 0 1.1rem .45rem rgba(55, 237, 224, .48); animation: pa-home-printer-scan 1.5s ease-in-out infinite alternate; }
.pa-home-printer__repair-card, [data-pa-printer-repair-card] { position: absolute; bottom: 6%; left: 50%; display: flex; gap: .8rem; align-items: center; width: min(22rem, 84%); padding: .9rem 1.05rem; border: 1px solid rgba(153, 238, 235, .65); border-radius: 8px; background: rgba(3, 44, 57, .92); box-shadow: 0 1.1rem 3rem rgba(1, 26, 37, .35); color: #fff; transform: translateX(-50%); }
.pa-home-printer__repair-spinner, [data-pa-printer-repair-spinner] { width: 1.55rem; height: 1.55rem; flex: 0 0 auto; border: 3px solid rgba(255, 255, 255, .25); border-top-color: #5eece3; border-radius: 50%; animation: pa-home-printer-spin .7s linear infinite; }
.pa-home-printer__repair-card p, [data-pa-printer-repair-card] p { margin: 0 0 .18rem; color: #72e3dc; font-size: .55rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.pa-home-printer__repair-card strong, [data-pa-printer-repair-card] strong { font-size: .78rem; }
.pa-home-printer__spaghetti-layer, [data-pa-printer-spaghetti] { position: absolute; inset: 0; z-index: 70; overflow: hidden; background: rgba(235, 248, 249, .16); }
.pa-home-printer__spaghetti-layer svg, [data-pa-printer-spaghetti] svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pa-home-printer__spaghetti-layer path, [data-pa-printer-spaghetti] path { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: pa-home-printer-draw-spaghetti 1.6s cubic-bezier(.2, .7, .2, 1) forwards; filter: drop-shadow(0 2px 2px rgba(11, 49, 74, .28)); }
.pa-home-printer__failure-card, [data-pa-printer-failure-card] { position: absolute; bottom: 7%; left: 50%; display: grid; gap: .45rem; width: min(27rem, 88%); padding: 1rem; border: 1px solid rgba(238, 176, 160, .8); border-radius: 8px; background: rgba(91, 34, 30, .92); box-shadow: 0 1.1rem 3.4rem rgba(55, 18, 16, .4); color: #fff8f4; text-align: center; transform: translateX(-50%); }
.pa-home-printer__failure-card span, [data-pa-printer-failure-card] span { color: #ffb5a0; font-size: .58rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.pa-home-printer__failure-card button, [data-pa-printer-failure-card] button { min-height: 2.5rem; margin-top: .2rem; border: 0; border-radius: 8px; background: #fff7f2; color: #733229; font-weight: 900; }
.pa-home-printer__completion-sweep, [data-pa-printer-completion-sweep] { position: absolute; inset: 0; z-index: 40; opacity: 0; background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .62) 47%, rgba(87, 237, 224, .36) 52%, transparent 70%); transform: translateX(-110%); pointer-events: none; }
.pa-home-printer.just-completed :is(.pa-home-printer__completion-sweep, [data-pa-printer-completion-sweep]) { opacity: 1; animation: pa-home-printer-sweep .9s ease-out forwards; }
.pa-home-printer__passed-stamp, [data-pa-printer-passed-stamp] { position: absolute; top: 7%; right: 4%; z-index: 46; padding: .55rem .8rem; border: 3px solid rgba(5, 117, 111, .9); border-radius: 8px; background: rgba(235, 255, 252, .82); color: #047169; font-size: clamp(.62rem, 1.2vw, .86rem); font-weight: 950; letter-spacing: .12em; opacity: 0; transform: rotate(-7deg) scale(1.5); transition: opacity .18s ease, transform .26s cubic-bezier(.2, .9, .25, 1.3); }
.pa-home-printer.is-pa-printer-complete :is(.pa-home-printer__passed-stamp, [data-pa-printer-passed-stamp]) { opacity: 1; transform: rotate(-7deg) scale(1); }
.pa-home-printer__confetti, [data-pa-printer-confetti] { position: absolute; inset: 0; z-index: 44; overflow: hidden; pointer-events: none; }
.pa-home-printer__confetti i, [data-pa-printer-confetti] i { position: absolute; top: -7%; left: var(--x); width: var(--w); height: var(--h); border-radius: 2px; background: var(--c); animation: pa-home-printer-confetti var(--d) cubic-bezier(.25, .6, .2, 1) forwards; animation-delay: var(--delay); }
.pa-home-printer__toast, [data-pa-printer-toast] {
    position: absolute;
    top: clamp(.75rem, 3%, 1.35rem);
    left: 50%;
    z-index: 90;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    width: min(36rem, calc(100% - 1.5rem));
    padding: .9rem .9rem .9rem 1.1rem;
    border: 1px solid rgba(182, 226, 229, .9);
    border-radius: 8px;
    background: #102a30;
    box-shadow: 0 .9rem 2.4rem rgba(3, 30, 43, .3);
    color: #efffff;
    opacity: 0;
    transform: translate(-50%, -.5rem);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: auto;
}
.pa-home-printer__toast p, [data-pa-printer-toast-message] {
    min-width: 0;
    margin: 0;
    background: #102a30;
    background-image: none;
    color: inherit;
    font-size: clamp(.9rem, 1.45vw, 1.05rem);
    font-weight: 800;
    line-height: 1.45;
    text-align: left;
    overflow-wrap: anywhere;
}
.pa-home-printer__toast button, [data-pa-printer-toast-close] {
    display: inline-grid;
    width: 2.5rem;
    min-height: 2.5rem;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(182, 226, 229, .65);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: #efffff;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}
.pa-home-printer__toast button:is(:hover, :focus-visible), [data-pa-printer-toast-close]:is(:hover, :focus-visible) {
    border-color: #64dcd4;
    background: rgba(100, 220, 212, .16);
}
.pa-home-printer__toast:is(.is-visible, .show), [data-pa-printer-toast]:is(.is-visible, .show) { opacity: 1; transform: translate(-50%, 0); }

.pa-home-printer__problem-drawer, [data-pa-printer-problem-drawer] { position: relative; z-index: 35; grid-column: 1 / -1; max-height: min(24rem, 52svh); padding: 1rem; overflow-y: auto; border-top: 1px solid #c8e0e6; background: var(--pa-printer-warning-soft); color: var(--pa-printer-ink); }
.pa-home-printer__drawer-heading strong { font-size: .78rem; }
.pa-home-printer__problem-options, [data-pa-printer-problem-options] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: .75rem; }
.pa-home-printer__problem-option, [data-pa-printer-problem] { display: grid; gap: .2rem; min-height: 3.65rem; padding: .58rem .65rem; border: 1px solid #e7d6cf; border-radius: 8px; background: #fff; color: var(--pa-printer-ink); text-align: left; }
.pa-home-printer__problem-option span, [data-pa-printer-problem] span { font-size: .68rem; font-weight: 850; }
.pa-home-printer__problem-option small, [data-pa-printer-problem] small { color: #88766e; font-size: .57rem; line-height: 1.35; }
.pa-home-printer__problem-option:is(.is-active, [aria-pressed="true"]), [data-pa-printer-problem]:is(.is-active, [aria-pressed="true"]) { border-color: #d78276; background: var(--pa-printer-danger-soft); color: #9c382f; box-shadow: inset 3px 0 0 #c94d48; }
.pa-home-printer__drawer-actions, [data-pa-printer-drawer-actions] { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; margin-top: .75rem; }
.pa-home-printer__drawer-actions button, [data-pa-printer-drawer-actions] button { min-height: 2.35rem; padding: .45rem .7rem; border: 1px solid #decac1; border-radius: 8px; background: #fff; color: #745145; font-size: .65rem; font-weight: 850; }
[data-pa-printer-randomize-problems] { border-color: #bd7c36 !important; background: #a76424 !important; color: #fff !important; }
.pa-home-printer__keyboard-hint, [data-pa-printer-keyboard-hint] { display: inline-flex; gap: .3rem; align-items: center; color: #526b76; font-size: .56rem; font-weight: 750; }
.pa-home-printer__keyboard-hint kbd, [data-pa-printer-keyboard-hint] kbd { min-width: 1.25rem; padding: .15rem .3rem; border: 1px solid var(--pa-printer-line); border-bottom-width: 2px; border-radius: 8px; background: #fff; color: var(--pa-printer-ink); font: 800 .52rem ui-monospace, SFMono-Regular, Consolas, monospace; text-align: center; }
.pa-home-printer__telemetry { grid-template-columns: repeat(auto-fit, minmax(4.75rem, 1fr)); }
.pa-home-printer__telemetry div { min-width: 0; }
.pa-home-printer__boundary { display: flex; flex-wrap: wrap; gap: .35rem 1rem; align-items: center; justify-content: flex-end; }
.pa-home-printer:is(.is-pa-printer-repairing, .is-pa-printer-spaghetti) :is(.pa-home-printer__hotspots, [data-pa-printer-hotspot-layer]) { opacity: 0; pointer-events: none; }
.pa-home-printer.is-pa-printer-spaghetti :is(.pa-home-printer__fallback-wordmark, .pa-home-printer__canvas) { opacity: .28; filter: blur(.7px); }
.pa-home-printer.is-pa-printer-xray .pa-home-printer__stage { filter: saturate(.8) contrast(1.08); }
.pa-home-printer.is-pa-printer-toolpath .pa-home-printer__stage { box-shadow: inset 0 0 2rem rgba(100, 220, 212, .24); }

@media (hover: hover) {
    .pa-home-printer__tool-button:not(:disabled):hover, .pa-home-printer__icon-button:not(:disabled):hover, .pa-home-printer__menu-trigger:not(:disabled):hover, [data-pa-printer-menu-trigger]:not(:disabled):hover, .pa-home-printer__action-button:not(:disabled):hover, [data-pa-printer-action]:not(:disabled):hover { border-color: rgba(8, 127, 140, .55); box-shadow: 0 .5rem 1.15rem rgba(8, 127, 140, .13); transform: translateY(-1px); }
}

@keyframes pa-home-printer-hotspot { 0% { opacity: .9; transform: scale(.55); } 100% { opacity: 0; transform: scale(1.6); } }
@keyframes pa-home-printer-scan { to { transform: translateY(var(--pa-printer-scan-distance, 38rem)); } }
@keyframes pa-home-printer-draw-spaghetti { to { stroke-dashoffset: 0; } }
@keyframes pa-home-printer-sweep { to { transform: translateX(110%); } }
@keyframes pa-home-printer-confetti { to { opacity: .2; transform: translate3d(var(--drift), 118vh, 0) rotate(var(--rot)); } }

@media (max-width: 900px) {
    .pa-home-printer__playground-panel, [data-pa-printer-playground-panel] { width: min(27.5rem, calc(100vw - 3rem)); max-height: min(26rem, calc(100svh - var(--pa-printer-mobile-top, 6rem) - 8rem)); }
    .pa-home-printer__problem-options, [data-pa-printer-problem-options] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 621px) and (max-width: 900px) {
    .pa-home-printer__passed-stamp, [data-pa-printer-passed] { top: 7.5rem; }
}

@media (max-width: 620px) {
    /* Anchor menus to the full printer bar on phones. A View button can be
       only 50px wide, so its viewport-wide panel otherwise opens offscreen. */
    .pa-home-printer__menu, [data-pa-printer-menu] { position: static; }
    .pa-home-printer__menu-panel, [data-pa-printer-menu-panel],
    [data-pa-printer-menu-panel="playground"] {
        top: calc(100% + .5rem);
        left: .65rem;
        right: .65rem;
        width: auto;
        min-width: 0;
        max-width: none;
    }
    .pa-home-printer__menu-panel::before, [data-pa-printer-menu-panel]::before { display: none; }
    .pa-home-printer__controls { gap: .35rem; }
    .pa-home-printer__tool-button, .pa-home-printer__icon-button, .pa-home-printer__menu-trigger, [data-pa-printer-menu-trigger], .pa-home-printer__view-menu button, [data-pa-printer-view-menu] button, .pa-home-printer__panel-close, .pa-home-printer__drawer-close, [data-pa-printer-menu-close], [data-pa-printer-drawer-close] { min-height: 2.75rem; }
    .pa-home-printer__icon-button, .pa-home-printer__panel-close, .pa-home-printer__drawer-close, [data-pa-printer-menu-close], [data-pa-printer-drawer-close] { width: 2.75rem; }
    .pa-home-printer__menu-panel, [data-pa-printer-menu-panel] { top: calc(100% + .5rem); right: -.1rem; width: min(calc(100vw - 2.4rem), 27rem); max-width: none; }
    .pa-home-printer__playground-panel, [data-pa-printer-playground-panel] { max-height: min(22rem, calc(100svh - var(--pa-printer-mobile-top, 6rem) - 9rem)); padding: .85rem; }
    .pa-home-printer__two-column-controls { grid-template-columns: 1fr; }
    .pa-home-printer__segmented button, [data-pa-printer-speed-options] button, .pa-home-printer__field select, [data-pa-printer-model], [data-pa-printer-lighting], .pa-home-printer__toggle-button, [data-pa-printer-toggle], .pa-home-printer__action-button, [data-pa-printer-action], .pa-home-printer__secret-button, [data-pa-printer-spaghetti-trigger], .pa-home-printer__problem-option, [data-pa-printer-problem], .pa-home-printer__drawer-actions button { min-height: 2.75rem; }
    .pa-home-printer__swatch, [data-pa-printer-colorway] { width: 2.25rem; min-height: 2.25rem; }
    .pa-home-printer__hotspot, [data-pa-printer-hotspot] { width: 2.75rem; min-height: 2.75rem; box-shadow: 0 0 0 .22rem rgba(100, 220, 212, .2), 0 .35rem .85rem rgba(5, 80, 91, .28); }
    [data-pa-printer-hotspot="toolhead"] { --pa-hotspot-x: 60% !important; --pa-hotspot-y: 23% !important; }
    [data-pa-printer-hotspot="fan"] { --pa-hotspot-x: 84% !important; --pa-hotspot-y: 9% !important; }
    [data-pa-printer-hotspot="model"] { --pa-hotspot-x: 40% !important; --pa-hotspot-y: 48% !important; }
    [data-pa-printer-hotspot="plate"] { --pa-hotspot-x: 60% !important; --pa-hotspot-y: 82% !important; }
    .pa-home-printer__hotspot-card, [data-pa-printer-hotspot-card] { right: 4%; bottom: 3%; width: 76%; padding: .8rem .9rem; }
    .pa-home-printer__problem-options, [data-pa-printer-problem-options] { grid-template-columns: 1fr; }
    .pa-home-printer__drawer-actions, [data-pa-printer-drawer-actions] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pa-home-printer__boundary { justify-content: flex-start; }
    .pa-home-printer__keyboard-hint, [data-pa-printer-keyboard-hint] { display: none; }
}

@media (max-width: 430px) {
    .pa-home-printer__toggle-grid, [data-pa-printer-toggle-grid], .pa-home-printer__action-grid, [data-pa-printer-actions] { grid-template-columns: 1fr; }
    .pa-home-printer__action-button--surprise, [data-pa-printer-surprise] { grid-column: auto; }
    .pa-home-printer__segmented, [data-pa-printer-speed-options] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pa-home-printer__drawer-actions, [data-pa-printer-drawer-actions] { grid-template-columns: 1fr; }
    .pa-home-printer__repair-card, [data-pa-printer-repair-card], .pa-home-printer__failure-card, [data-pa-printer-failure-card] { bottom: 4%; width: 92%; }
}

.pa-home-printer[data-pa-printer-reduced] *, .pa-home-printer[data-pa-printer-reduced] *::before, .pa-home-printer[data-pa-printer-reduced] *::after { scroll-behavior: auto !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
@media (prefers-reduced-motion: reduce) {
    .pa-home-printer *, .pa-home-printer *::before, .pa-home-printer *::after { scroll-behavior: auto !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
}

/* Exact hooks used by the production playground partial */
.pa-home-printer__interactive-pill { padding: .2rem .42rem; border: 1px solid #b9dde3; border-radius: 999px; background: var(--pa-printer-cyan-soft); color: var(--pa-printer-teal); font-size: .5rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
[data-pa-printer-menu-panel="camera"] > button:not([data-pa-printer-menu-close]) { display: block; width: 100%; min-height: 2.4rem; margin-top: .2rem; padding: .5rem .65rem; border: 0; border-radius: 8px; background: #fff; color: var(--pa-printer-ink); text-align: left; font-size: .72rem; font-weight: 750; }
[data-pa-printer-menu-panel="camera"] > button:is(:hover, [aria-pressed="true"]) { background: var(--pa-printer-cyan-soft); color: var(--pa-printer-teal); }
html[data-pa-theme="light"] body.pa-family-marketing:not(.pa-protected-workspace)
    [data-pa-printer-menu-panel="camera"] > button[aria-pressed="true"] {
    color: #066d78;
}
html[data-pa-theme="light"] body.pa-family-marketing:not(.pa-protected-workspace)
    [data-pa-printer-menu-trigger="playground"]:not([aria-expanded="true"]) {
    color: #066d78 !important;
}
html[data-pa-theme="light"] body.pa-family-marketing:not(.pa-protected-workspace)
    [data-pa-printer-menu-trigger="playground"]:not([aria-expanded="true"]):is(:hover, :focus-visible) {
    color: #066d78 !important;
}
.pa-home-printer__playground-panel fieldset { min-width: 0; margin: 1rem 0 0; padding: 0; border: 0; }
.pa-home-printer__playground-panel legend,
.pa-home-printer__playground-panel > label { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 1rem 0 .4rem; color: #3b596b; font-size: .68rem; font-weight: 850; }
.pa-home-printer__playground-panel > label output { color: var(--pa-printer-teal); font-variant-numeric: tabular-nums; }
.pa-home-printer__panel-heading > div > p:first-child { margin: 0; color: #536f7f; font-size: .6rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.pa-home-printer__panel-heading > div > p:last-child { margin: .25rem 0 0; color: var(--pa-printer-muted); font-size: .66rem; }
.pa-home-printer__select-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }
.pa-home-printer__select-grid label { display: grid; gap: .35rem; color: #3b596b; font-size: .66rem; font-weight: 850; }
.pa-home-printer__swatches [data-pa-printer-color] { width: 1.9rem; min-height: 1.9rem; padding: 0; border: 2px solid #fff; border-radius: 50%; background: linear-gradient(90deg, var(--pa-printer-evergreen) 50%, #0798a7 50%); box-shadow: 0 0 0 1px #b9d5dc; }
.pa-home-printer__swatches [data-pa-printer-color="mono"] { background: linear-gradient(90deg, #263746 50%, #82949e 50%); }
.pa-home-printer__swatches [data-pa-printer-color="neon"] { background: linear-gradient(90deg, #6d28ff 50%, #00e6c7 50%); }
.pa-home-printer__swatches [data-pa-printer-color="aurora"] { background: linear-gradient(135deg, #1436ad, #0fd3a5, #86e7d7); }
.pa-home-printer__swatches [data-pa-printer-color="rainbow"] { background: conic-gradient(#ff4d4d, #f6cb3b, #21c889, #27a6e5, #7b3ff2, #ff4d4d); }
.pa-home-printer__swatches [data-pa-printer-color="random"] { width: auto; padding-inline: .6rem; border: 1px solid var(--pa-printer-line); border-radius: 999px; background: #fff; color: var(--pa-printer-teal); font-size: .62rem; font-weight: 850; }
.pa-home-printer__swatches [data-pa-printer-color][aria-pressed="true"] { box-shadow: 0 0 0 2px var(--pa-printer-teal), 0 .35rem .8rem rgba(8, 127, 140, .2); transform: scale(1.07); }
.pa-home-printer__toggle-grid > button { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; min-height: 3.3rem; padding: .6rem .65rem; border: 1px solid var(--pa-printer-line); border-radius: 8px; background: var(--pa-printer-paper); color: var(--pa-printer-ink); text-align: left; }
.pa-home-printer__toggle-grid > button span { font-size: .7rem; font-weight: 850; }
.pa-home-printer__toggle-grid > button small { color: #78909d; font-size: .56rem; text-align: right; }
.pa-home-printer__toggle-grid > button[aria-pressed="true"] { border-color: #76cbd2; background: var(--pa-printer-cyan-soft); color: var(--pa-printer-teal); box-shadow: inset 3px 0 0 var(--pa-printer-teal); }
html[data-pa-theme="light"] body.pa-family-marketing:not(.pa-protected-workspace)
    .pa-home-printer__toggle-grid > button[aria-pressed="true"] {
    color: #066d78;
}
html[data-pa-theme="light"] body.pa-family-marketing:not(.pa-protected-workspace)
    .pa-home-printer__toggle-grid > button[aria-pressed="true"] small {
    color: #526572 !important;
}
.pa-home-printer__action-grid > button { min-height: 2.65rem; padding: .5rem .65rem; border: 1px solid var(--pa-printer-line); border-radius: 8px; background: #fff; color: var(--pa-printer-ink); font-size: .68rem; font-weight: 900; }
.pa-home-printer__action-grid > [data-pa-printer-problems] { border-color: #edcf9f; background: var(--pa-printer-warning-soft); color: var(--pa-printer-warning); }
.pa-home-printer__action-grid > [data-pa-printer-repair] { border-color: var(--pa-printer-teal); background: var(--pa-printer-teal); color: #fff; }
.pa-home-printer__action-grid > [data-pa-printer-surprise] { grid-column: 1 / -1; border-color: #b8d7e8; background: #edf8ff; color: #173d62; }
.pa-home-printer__playground-panel > [data-pa-printer-spaghetti] { width: 100%; min-height: 2.55rem; margin-top: .65rem; border: 1px dashed #cf8c80; border-radius: 8px; background: var(--pa-printer-danger-soft); color: #923b31; font-size: .7rem; font-weight: 900; }
.pa-home-printer__playground-panel > p:last-child { margin: .65rem 0 0; color: #526572 !important; font-size: .58rem; text-align: center; }
[data-pa-printer-menu-panel="settings"] { width: min(19rem, calc(100vw - 2rem)); }
[data-pa-printer-menu-panel="settings"] > label { display: flex; align-items: center; justify-content: space-between; gap: .9rem; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--pa-printer-line); }
[data-pa-printer-menu-panel="settings"] > label > span { display: grid; gap: .15rem; }
[data-pa-printer-menu-panel="settings"] label strong { color: var(--pa-printer-ink); font-size: .7rem; }
[data-pa-printer-menu-panel="settings"] label small { color: var(--pa-printer-muted); font-size: .59rem; }
[data-pa-printer-menu-panel="settings"] input { width: 2.4rem; height: 1.35rem; accent-color: var(--pa-printer-teal); }
.pa-home-printer__lighting-overlay, .pa-home-printer__xray-overlay, .pa-home-printer__toolpath-overlay, .pa-home-printer__defect-overlay { position: absolute; inset: 0; z-index: 20; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.pa-home-printer__lighting-overlay { z-index: 18; }
.pa-home-printer[data-pa-printer-lighting="inspection"] .pa-home-printer__lighting-overlay { opacity: .62; background: linear-gradient(108deg, transparent 22%, rgba(255,255,255,.92) 45%, rgba(183,255,248,.58) 56%, transparent 76%); }
.pa-home-printer[data-pa-printer-lighting="teal"] .pa-home-printer__lighting-overlay { opacity: .52; background: radial-gradient(circle at 48% 53%, rgba(38,255,231,.5), transparent 45%); }
.pa-home-printer[data-pa-printer-lighting="workshop"] .pa-home-printer__lighting-overlay { opacity: .76; background: radial-gradient(circle at 50% 54%, transparent, rgba(4,25,37,.78) 85%); }
.pa-home-printer[data-pa-printer-lighting="buildglow"] .pa-home-printer__lighting-overlay { opacity: .68; background: radial-gradient(ellipse at 50% 68%, rgba(67,255,233,.7), rgba(8,127,140,.15) 34%, transparent 68%); }
.pa-home-printer.is-pa-printer-xray .pa-home-printer__xray-overlay { opacity: .5; background: repeating-linear-gradient(45deg, transparent 0 8px, rgba(8,127,140,.12) 8px 9px); mix-blend-mode: multiply; }
.pa-home-printer.is-pa-printer-toolpath .pa-home-printer__toolpath-overlay { opacity: .8; background: radial-gradient(ellipse at center 72%, rgba(100,220,212,.38), transparent 46%); box-shadow: inset 0 0 3rem rgba(100,220,212,.2); }
.pa-home-printer:is(
    .pa-printer-defect-stringing,
    .pa-printer-defect-shift,
    .pa-printer-defect-warping,
    .pa-printer-defect-supports,
    .pa-printer-defect-adhesion,
    .pa-printer-defect-overhang
) .pa-home-printer__defect-overlay { opacity: .72; }
.pa-home-printer.pa-printer-defect-stringing .pa-home-printer__defect-overlay { background: repeating-linear-gradient(112deg, transparent 0 1.6rem, rgba(8,127,140,.34) 1.65rem 1.72rem); }
.pa-home-printer.pa-printer-defect-shift .pa-home-printer__defect-overlay { background: linear-gradient(165deg, transparent 0 46%, rgba(201,77,72,.35) 46.5% 54%, transparent 54.5%); }
.pa-home-printer.pa-printer-defect-warping .pa-home-printer__defect-overlay { background: radial-gradient(ellipse at 22% 88%, rgba(201,77,72,.44), transparent 29%); }
.pa-home-printer.pa-printer-defect-supports .pa-home-printer__defect-overlay { background: repeating-linear-gradient(90deg, transparent 0 2.1rem, rgba(189,124,54,.3) 2.15rem 2.25rem); }
.pa-home-printer.pa-printer-defect-adhesion .pa-home-printer__defect-overlay { background: linear-gradient(0deg, rgba(201,77,72,.42), transparent 26%); }
.pa-home-printer.pa-printer-defect-overhang .pa-home-printer__defect-overlay { background: linear-gradient(135deg, transparent 0 55%, rgba(189,124,54,.38) 55.5% 68%, transparent 68.5%); }
.pa-home-printer__hotspot-layer { position: absolute; inset: 0; z-index: 32; pointer-events: none; transition: opacity .2s ease; }
.pa-home-printer.is-pa-printer-hotspots-hidden .pa-home-printer__hotspot-layer { opacity: 0; pointer-events: none; }
.pa-home-printer__hotspot-layer [data-pa-printer-hotspot] { pointer-events: auto; }
[data-pa-printer-hotspot-close], [data-pa-printer-problem-close] { position: absolute; top: .5rem; right: .55rem; width: 2rem; min-height: 2rem; padding: 0; border: 1px solid var(--pa-printer-line); border-radius: 8px; background: rgba(255,255,255,.08); color: currentColor; }
.pa-home-printer__repair-overlay > div { position: absolute; bottom: 6%; left: 50%; display: flex; align-items: center; gap: .8rem; width: min(22rem, 84%); padding: .9rem 1.05rem; border: 1px solid rgba(153,238,235,.65); border-radius: 8px; background: rgba(3,44,57,.92); box-shadow: 0 1.1rem 3rem rgba(1,26,37,.35); color: #fff; transform: translateX(-50%); }
.pa-home-printer__repair-overlay > div p { margin: 0 0 .18rem; color: #72e3dc; font-size: .55rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
[data-pa-printer-spaghetti-layer] { position: absolute; inset: 0; z-index: 70; overflow: hidden; background: rgba(235,248,249,.16); }
[data-pa-printer-spaghetti-layer] svg { position: absolute; inset: 0; width: 100%; height: 100%; }
[data-pa-printer-spaghetti-layer] path { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: pa-home-printer-draw-spaghetti 1.6s cubic-bezier(.2,.7,.2,1) forwards; }
[data-pa-printer-spaghetti-layer] > div { position: absolute; bottom: 7%; left: 50%; display: grid; gap: .45rem; width: min(27rem,88%); padding: 1rem; border: 1px solid rgba(238,176,160,.8); border-radius: 8px; background: rgba(91,34,30,.92); color: #fff8f4; text-align: center; transform: translateX(-50%); }
[data-pa-printer-spaghetti-layer] > div span { color: #ffb5a0; font-size: .58rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
[data-pa-printer-spaghetti-layer] button { min-height: 2.5rem; border: 0; border-radius: 8px; background: #fff7f2; color: #733229; font-weight: 900; }
.pa-home-printer.is-pa-printer-complete [data-pa-printer-passed] { opacity: 1; transform: rotate(-7deg) scale(1); }
.pa-home-printer__problem-options [data-pa-printer-defect] { display: grid; gap: .2rem; min-height: 3.65rem; padding: .58rem .65rem; border: 1px solid #e7d6cf; border-radius: 8px; background: #fff; color: var(--pa-printer-ink); text-align: left; }
.pa-home-printer__problem-options [data-pa-printer-defect][aria-pressed="true"] { border-color: #d78276; background: var(--pa-printer-danger-soft); color: #9c382f; box-shadow: inset 3px 0 0 #c94d48; }
html[data-pa-theme="light"] body.pa-family-marketing:not(.pa-protected-workspace)
    .pa-home-printer__problem-options [data-pa-printer-defect][aria-pressed="true"] small { color: #526572 !important; }
.pa-home-printer__drawer-actions [data-pa-printer-defects-random] { border-color: #bd7c36; background: #a76424; color: #fff; }
.pa-home-printer__drawer-actions [data-pa-printer-repair] { border-color: var(--pa-printer-teal); background: var(--pa-printer-teal); color: #fff; }
@media (max-width: 620px) {
    .pa-home-printer__select-grid { grid-template-columns: 1fr; }
    .pa-home-printer__swatches [data-pa-printer-color] { min-height: 2.25rem; }
    .pa-home-printer__toggle-grid > button, .pa-home-printer__action-grid > button, .pa-home-printer__problem-options [data-pa-printer-defect] { min-height: 2.75rem; }
    [data-pa-printer-hotspot-close], [data-pa-printer-problem-close] { width: 2.75rem; min-height: 2.75rem; }
}

/* Keep the sticky printer clear of the fixed site header through the final
   chapter, and make the compact control deck consume its own full-width rows
   instead of squeezing into a clipped column beside the status label. */
@media (min-width: 901px) {
    .pa-home-printer__beats {
        padding-bottom: 7rem;
    }
}

@media (max-width: 900px) and (orientation: portrait) {
    .pa-home-printer__beat {
        min-height: 110svh;
        align-content: end;
    }
}

/* Tablet copy settles below the sticky visual at the compact 78% scroll
   marker. The bounded runway accounts for the complete padded text surface
   without delaying the card beyond the viewport. */
@media (min-width: 621px) and (max-width: 900px) and (orientation: portrait) {
    .pa-home-printer__beat {
        min-height: clamp(34rem, 58svh, 42rem);
    }
}

@media (max-width: 620px) {
    .pa-home-printer__scrolly,
    .pa-home-printer__visual-column,
    .pa-home-printer__visual,
    .pa-home-printer__topbar,
    .pa-home-printer__stage {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    /* The compact breakpoint previously raised the scrolling chapter list
       above the sticky printer. On short phones that let an inactive chapter
       paint straight through the controls and WebGL stage. Keep the story
       behind the opaque visualization; the active chapter starts below it. */
    .pa-home-printer__beats {
        z-index: 1;
    }

    .pa-home-printer__visual-column {
        z-index: 2;
    }

    .pa-home-printer__topbar {
        flex-direction: column;
        align-items: stretch;
        gap: .45rem;
    }

    .pa-home-printer__status,
    .pa-home-printer__controls {
        width: 100%;
        min-width: 0;
    }

    .pa-home-printer__controls {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .pa-home-printer__controls > * {
        flex: 0 0 auto;
    }
}

@media (max-width: 900px) and (max-height: 680px) {
    .pa-home-printer__scrolly {
        --pa-printer-mobile-top: 6rem;
        --pa-printer-mobile-visual: calc(100svh - var(--pa-printer-mobile-top) - 4.5rem);
    }

    /* A short phone has almost as much sticky printer UI as viewport height.
       Give each scroll chapter enough runway for its complete text block to
       arrive below that visual instead of travelling invisibly behind it. */
    .pa-home-printer__beat {
        min-height: 166svh;
    }

    /* Keep short chapter cards aligned with the longest chapter so every
       active heading reaches the viewport at the same printer scroll state. */
    .pa-home-printer__beat-body {
        min-height: 22.5rem;
    }

    /* Preserve the disclosure for assistive technology without spending the
       last usable rows of a short viewport on a repeated visual caption. */
    .pa-home-printer__boundary {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
}



