/* The approved nozzle scene sits in the existing first-screen composition. */
#hero-print {
    --print-ink:#e2ebf8; --print-muted:#8e9db1; --print-panel:#0d1420e8;
    --print-line:#2a394d; --print-bed:#152232; --print-metal:#b7cce1;
    --print-nozzle:#46576c; --print-brass:#c79950; --print-active:#69cbed;
}
:root[data-theme="light"] #hero-print {
    --print-ink:#22364c; --print-muted:#61758b; --print-panel:#f8fafceb;
    --print-line:#c7d3df; --print-bed:#b7cada; --print-metal:#536f8d;
    --print-nozzle:#343e4b; --print-brass:#aa7432; --print-active:#2578a4;
}
#hero-print [hidden] { display:none !important; }
.cinematic .hero-visual.print-enabled { margin-left:-24px; margin-right:-24px; }
.print-enabled .hero-scene { inset:12px 0 206px; cursor:default; }
.print-orbit { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; border-radius:0; background:transparent; cursor:grab; touch-action:none; }
.print-orbit:disabled { pointer-events:none; cursor:default; }
.print-orbit.is-dragging { cursor:grabbing; }
.print-orbit:focus-visible { outline:2px solid var(--print-active); outline-offset:-16px; border-radius:24px; }
.print-ui { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); width:min(440px,calc(100% - 40px)); color:var(--print-ink); }
.print-status { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:30px; font-size:12px; }
.print-layer { font-weight:600; font-variant-numeric:tabular-nums; }
.print-phase { color:var(--print-muted); font-size:11px; text-align:right; }
.print-scrubber { display:grid; grid-template-columns:1fr auto; gap:0 12px; margin:10px 0 8px; }
.print-scrubber label,.print-time { font:10px/1.5 'Roboto Mono',monospace; color:var(--print-muted); font-variant-numeric:tabular-nums; }
.print-timeline { grid-column:1/-1; margin:0; width:100%; min-width:0; height:32px; accent-color:var(--print-active); cursor:pointer; background:transparent; padding:0; border:0; }
.print-actions { display:grid; grid-template-columns:1.2fr 1.12fr 1.05fr 1fr; gap:6px; }
.print-button { appearance:none; border:1px solid var(--print-line); border-radius:30px; min-height:44px; padding:0 10px; background:var(--print-panel); color:var(--print-ink); font:500 11px Manrope,Arial,sans-serif; white-space:nowrap; transition:background .2s,border-color .2s; }
.print-button:hover:not(:disabled) { border-color:var(--print-active); }
.print-button:disabled { opacity:.45; cursor:default; }
.print-button[aria-pressed="true"] { background:var(--print-ink); border-color:var(--print-ink); color:var(--paper); }
.print-button:focus-visible,.print-timeline:focus-visible { outline:2px solid var(--print-active); outline-offset:3px; }
.print-hint { min-height:18px; margin:12px 0 0; text-align:center; font-size:10px; line-height:1.6; color:var(--print-muted); opacity:0; transition:opacity .3s; }
.print-hint.is-visible { opacity:1; }
.print-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); pointer-events:none; }
@media (min-width:701px) and (max-width:1150px) {
    .print-enabled .hero-scene { inset:44px -20px 218px; }
    .print-ui { bottom:36px; width:calc(100% - 8px); }
    .print-button { padding:0 7px; font-size:10px; }
}
@media (max-width:700px) {
    .cinematic .hero-visual.print-enabled { width:calc(100% + 40px); height:510px; margin:4px -20px 0; }
    .print-enabled .hero-scene { inset:0 0 190px; }
    .print-ui { bottom:14px; width:calc(100% - 40px); max-width:440px; }
    .print-status { font-size:11px; }
    .print-phase { font-size:10px; }
    .print-button { padding:0 7px; font-size:10px; }
    .print-hint { font-size:9px; }
}
@media (max-width:360px) {
    .cinematic .hero-visual.print-enabled { height:550px; }
    .print-enabled .hero-scene { bottom:234px; }
    .print-actions { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion:reduce) {
    .print-button,.print-hint { transition:none; }
}
/* Compact controls keep the full animation and its accessible labels. */
#hero-print { --print-muted:#acb9ca; }
.print-ui { width:min(360px,calc(100% - 32px)); bottom:14px; }
.print-status { min-height:22px; font-size:12px; }
.print-phase { font-size:11px; }
.print-scrubber { grid-template-columns:1fr auto; align-items:center; gap:10px; margin:3px 0 6px; }
.print-scrubber label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.print-timeline { grid-column:1; grid-row:1; height:24px; }
.print-time { grid-column:2; grid-row:1; font-size:11px; }
.print-actions { display:flex; justify-content:center; gap:6px; }
.print-button { min-height:40px; font-size:12px; padding:0 14px; }
.print-pause,.print-replay { width:42px; flex:0 0 42px; padding:0; font-size:0; }
.print-pause::before { content:'Ⅱ'; font-size:19px; }
.print-pause[aria-pressed="true"]::before { content:'▷'; }
.print-replay::before { content:'↻'; font-size:25px; }
.print-hint { font-size:11px; margin-top:6px; min-height:18px; }
.print-enabled .hero-scene { bottom:148px; }
@media (max-width:1150px) and (min-width:701px) {
    .print-ui { bottom:24px; width:calc(100% - 12px); }
    .print-enabled .hero-scene { bottom:164px; }
}
@media (max-width:700px) {
    .cinematic .hero-visual.print-enabled { height:442px; margin-top:0; }
    .print-enabled .hero-scene { bottom:138px; }
    .print-button { min-height:44px; }
    .print-hint { font-size:10px; }
}
