/* The supplied ALPHA models are the scene. Live light, paper and sound layers sit on top. */
.model-reveal{position:relative;width:100%;margin:auto;color:#ffe5a1;font-family:Arial,sans-serif;isolation:isolate}.model-reveal *{box-sizing:border-box}.model-reveal [hidden]{display:none!important}.model-reveal button{font:700 13px Arial,sans-serif;letter-spacing:1px;cursor:pointer}.model-reveal button:focus-visible,.model-reveal [tabindex]:focus-visible{outline:3px solid #a6fff0;outline-offset:5px}.model-reveal button:disabled{cursor:default}.model-scene{position:relative;margin:auto;width:100%;overflow:visible;isolation:isolate}.bonus-scene{max-width:800px;aspect-ratio:1086/1448}.recharge-scene{max-width:1000px;aspect-ratio:1}.scene-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.scene-open{opacity:0}.scene-caption-cover{position:absolute;background:#11100c;box-shadow:0 0 15px 8px #11100c;pointer-events:none}.bonus-scene .scene-caption-cover{left:24%;top:4.3%;width:53%;height:8.4%;background:linear-gradient(90deg,#18150e,#16140f,#0c0c0b)}.recharge-scene .scene-caption-cover{left:35%;top:2.3%;width:37%;height:5.3%;background:linear-gradient(90deg,#15130e,#11100d)}
.scene-icon{position:absolute;pointer-events:none;overflow:visible;mix-blend-mode:screen;mask-image:radial-gradient(ellipse,#000 30%,transparent 76%)}.scene-icon:before{display:none;content:'';position:absolute;inset:6%;background:#0e0e0bd9;filter:blur(8px)}.moving-icon{display:block;width:100%;height:100%;animation:iconFloat 9s ease-in-out infinite;animation-delay:var(--phase);mix-blend-mode:screen;opacity:.82}.model-logo-glow{position:absolute;pointer-events:none;mix-blend-mode:screen;animation:logoGlow 3.6s ease-in-out infinite}.model-logo-glow svg{width:100%;height:100%;display:block}.bonus-scene .model-logo-glow{left:25.414%;top:31.63%;width:52.76%;height:14.71%}.recharge-scene .model-logo-glow{left:23.36%;top:53.51%;width:40.75%;height:17.38%}
.model-beam{position:absolute;pointer-events:none;z-index:2;transform-origin:50% 0;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);filter:blur(6px);mix-blend-mode:screen;animation:beamSway 6s ease-in-out infinite;opacity:.5}.bonus-scene .model-beam{top:15%;width:44%;height:64%}.bonus-scene .beam-left{left:-10%;background:linear-gradient(#ffe096b8,#eaa62238 55%,transparent);--angle:-17deg}.bonus-scene .beam-right{left:66%;background:linear-gradient(#ff4b4bd9,#ed14145c 50%,transparent);--angle:18deg;animation-delay:-3s}.recharge-scene .model-beam{top:17%;width:51%;height:69%}.recharge-scene .beam-left{left:-18%;background:linear-gradient(#f8feffb8,#e5faff40 60%,transparent);--angle:-12deg}.recharge-scene .beam-right{left:65%;background:linear-gradient(#ef6effa8,#4ad8ff40 55%,transparent);--angle:12deg;animation:beamSway 7s ease-in-out infinite,colorBeam 12s linear infinite;animation-delay:-3s}.model-bulbs{position:absolute;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;z-index:4}.model-bulbs i{display:block;aspect-ratio:1;border-radius:50%;background:#fff8cc;box-shadow:0 0 5px 2px #ffc000,0 0 12px 3px #ff98008c;animation:bulbGlow 2.8s ease-in-out infinite;animation-delay:var(--phase)}.bonus-scene .model-bulbs{top:31%;height:43.7%;width:.95%}.bonus-scene .bulbs-left{left:20.7%}.bonus-scene .bulbs-right{left:79.8%}.recharge-scene .model-bulbs{top:39%;height:38.5%;width:.85%}.recharge-scene .bulbs-left{left:18.3%}.recharge-scene .bulbs-right{left:77.1%}.model-rail{position:absolute;width:.55%;border-radius:8px;pointer-events:none;z-index:4;animation:railGlow 4.5s ease-in-out infinite}.model-cyan{background:#baffff;box-shadow:0 0 7px #00c5ff,0 0 18px 3px #00aaffc9}.model-pink{background:#ffbaff;box-shadow:0 0 7px #ff00fa,0 0 18px 3px #ef00ffc9;animation-delay:-2s}.bonus-scene .model-rail{top:36.5%;height:35.1%}.bonus-scene .model-cyan{left:17.4%}.bonus-scene .model-pink{left:82.8%}.recharge-scene .model-rail{top:41%;height:35%}.recharge-scene .model-cyan{left:16.5%}.recharge-scene .model-pink{left:79.7%}
.material-zone{cursor:pointer}.model-scene .material-zone{position:absolute;z-index:5}.bonus-scene .machine-metal{left:13%;top:27.5%;width:72%;height:55%}.bonus-scene .lamp-metal{top:8.5%;width:13%;height:61%}.bonus-scene .lamp-metal.left{left:1%}.bonus-scene .lamp-metal.right{right:1%}.recharge-scene .machine-metal{left:16%;top:30%;width:69%;height:57%}.recharge-scene .lamp-metal{top:7%;width:16%;height:77%}.recharge-scene .lamp-metal.left{left:1%}.recharge-scene .lamp-metal.right{right:0}.green-switch{position:absolute!important;border:0;border-radius:50%;padding:0;background:radial-gradient(circle at 38% 25%,#b1ffdf80,#09ff4d45 50%,#00e71e12 70%);box-shadow:0 0 12px #37ff3550;z-index:9;animation:switchGlow 3s ease-in-out infinite}.bonus-scene .green-switch{left:46.2%;top:63.3%;width:9.2%;height:7.1%}.recharge-scene .green-switch{left:68.05%;top:59.2%;width:4.9%;height:4.4%}.machine-status,.opening-status{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.opening-status:not(:empty){color:#f5d59b}
.feed-window{position:absolute;z-index:10;top:53.2%;left:34%;width:34.8%;height:var(--paper-height,0px);overflow:hidden;pointer-events:none;perspective:900px}.receipt-paper{position:relative;width:100%;transform-origin:top center;cursor:pointer}.receipt-image{display:block;width:100%;height:auto;user-select:none}.feed-window .receipt-paper{transform:none;clip-path:inset(0 0 100%);pointer-events:auto}.paper-curl{position:absolute;left:0;right:0;top:calc(100% - 8px);height:8px;background:linear-gradient(#fff2,#0009);border-radius:0 0 40% 40%;pointer-events:none;z-index:4}.printer-bonus[data-state="opening"] .feed-window .receipt-paper{animation:feedPaper 2.4s cubic-bezier(.3,.05,.35,1) both}.printer-bonus[data-state="printed"] .feed-window .receipt-paper,.printer-bonus[data-state="cutting"] .feed-window .receipt-paper{transform:none;clip-path:inset(0)}.printer-bonus[data-state="opened"] .feed-window{visibility:hidden}.cut-track{position:absolute;z-index:11;left:34%;top:53.2%;width:34.8%;height:5px;overflow:hidden;pointer-events:none}.cutter-blade{display:block;width:12%;height:5px;background:#eaf4ff;box-shadow:0 0 6px #fff;transform:translateX(-120%)}[data-state="cutting"] .cutter-blade{animation:bladeCut .57s ease-in both}.cut-trigger{position:absolute;z-index:12;top:calc(53.2% + var(--paper-height) + 12px);left:50%;transform:translateX(-50%);border:1px solid #ffd261;color:#ffe4a1;background:linear-gradient(#292318,#080a0c);border-radius:7px;padding:12px 24px;box-shadow:0 6px 20px #0007}.printer-bonus[data-state="opened"] .cut-trigger{display:none}.detached-receipt{position:relative;width:36%;max-width:390px;margin:-3% auto 0;z-index:12;filter:drop-shadow(0 15px 15px #0009)}.detached-image{display:block;width:100%;height:auto;cursor:pointer}.detached-receipt .frame-leds{inset:2.8% 8% 6.3%}.detached-receipt .led-strip i{width:3px;height:3px}.printer-bonus[data-state="printed"] .green-switch,.printer-bonus[data-state="cutting"] .green-switch{pointer-events:none}
.printer-actions{position:relative;z-index:15;display:flex;justify-content:center;margin:22px auto 35px;gap:10px}.printer-actions .receipt-pdf{border:1px solid #d4a840;color:#ffe3a0;background:linear-gradient(#292318,#080a0c);border-radius:7px;padding:15px 25px;box-shadow:0 5px 15px #0007}.printer-actions button:disabled{opacity:.55}.alpha-celebration{position:fixed;inset:0;width:100%;height:100%;z-index:50;pointer-events:none}
/* Today: the closed model transforms into the supplied open model, then a sheet rolls down. */
.recharge-scene .banner-window{position:absolute;left:26.3158%;top:21.6906%;width:46.88995%;height:56.6188%;background:#080907;z-index:7;visibility:hidden;pointer-events:none}.recharge-scene .receipt-paper{height:100%;clip-path:inset(0 0 100%);pointer-events:auto}.recharge-scene .receipt-image{width:100%;height:100%;object-fit:fill}.recharge-scene .paper-roll{position:absolute;height:3.1%;left:-1%;right:-1%;top:0;background:linear-gradient(#eaa63b,#fff4b3 18%,#b46e0e 49%,#4c2d0c 69%,#ebbf60);box-shadow:0 4px 8px #0008;border-radius:5px;z-index:5}.recharge-scene .frame-leds{inset:1.1% 3% 3%;z-index:4}.printer-today[data-state="opening"] .scene-open,.printer-today[data-state="opened"] .scene-open{opacity:1}.printer-today[data-state="opening"] .scene-closed,.printer-today[data-state="opened"] .scene-closed{opacity:0}.printer-today[data-state="opening"] .scene-open{animation:machineExtend .45s ease-out both}.printer-today[data-state="opening"] .model-logo-glow,.printer-today[data-state="opened"] .model-logo-glow{left:33.1%;top:23.2%;width:32.9%;height:14.5%}.printer-today[data-state="opening"] .model-logo-glow{opacity:0}.printer-today[data-state="opened"] .model-logo-glow{display:none}.printer-today[data-state="opening"] .banner-window,.printer-today[data-state="opened"] .banner-window{visibility:visible}.printer-today[data-state="opening"] .receipt-paper{animation:bannerUnroll 2.4s cubic-bezier(.2,.6,.35,1) both}.printer-today[data-state="opening"] .paper-roll{animation:rollDown 2.4s cubic-bezier(.2,.6,.35,1) both}.printer-today[data-state="opened"] .receipt-paper{clip-path:inset(0)}.printer-today[data-state="opened"] .paper-roll{top:96.9%}.printer-today[data-state="opening"] .model-bulbs,.printer-today[data-state="opened"] .model-bulbs{top:43%;height:38%}.printer-today[data-state="opening"] .model-rail,.printer-today[data-state="opened"] .model-rail{top:46%;height:35%}.printer-today:not([data-state="sealed"]) .green-switch{visibility:hidden}.printer-today:not([data-state="sealed"]) .scene-caption-cover{left:30.3%;top:10.1%;width:38.8%;height:5.2%}
/* Grand: matching illuminated roller and the approved stadium. */
.board-stage{position:relative;width:100%;max-width:1450px;margin:0 auto;padding:6% 9% 0}.board-frame{position:relative;z-index:6;min-height:120px;perspective:1600px}.board-frame .banner-window{position:relative;width:100%;overflow:hidden;max-height:0;transition:max-height 2.4s cubic-bezier(.2,.6,.35,1);border-radius:6px}.board-frame .receipt-paper{clip-path:inset(0 0 100%)}.printer-grand[data-state="opening"] .banner-window,.printer-grand[data-state="opened"] .banner-window{max-height:var(--paper-height,2000px)}.printer-grand[data-state="opening"] .receipt-paper{animation:bannerUnroll 2.4s cubic-bezier(.2,.6,.35,1) both}.printer-grand[data-state="opened"] .receipt-paper{clip-path:inset(0)}.upper-roller{position:absolute;top:-17px;left:-2%;width:104%;height:25px;border-radius:9px;background:linear-gradient(#f4d38a,#a66e16 14%,#181a1b 28%,#474747 48%,#090b0c 78%,#d5a64c 90%,#775015);border:2px solid #bc8a34;box-shadow:0 3px 14px #0009;z-index:8}.upper-roller:before,.upper-roller:after{content:'';position:absolute;top:-5px;width:13px;height:32px;border-radius:4px;background:linear-gradient(90deg,#674617,#ffe0a0,#6d4e20)}.upper-roller:before{left:0}.upper-roller:after{right:0}.board-frame .paper-roll{position:absolute;bottom:0;left:0;right:0;height:11px;background:linear-gradient(#ffe9a0,#a47623,#fff0b9,#65441a);box-shadow:0 -3px 8px #0009;z-index:8}.grand-machine{position:relative;width:54%;max-width:650px;margin:38px auto 0;z-index:9}.grand-machine>img:first-child{display:block;width:100%}.grand-machine-logo{position:absolute;left:20%;top:7%;width:61%;height:25%;object-fit:contain}.grand-machine .green-switch{left:89%;top:47%;width:9%;aspect-ratio:1;border:2px solid #e9cc7b;background:radial-gradient(circle at 35% 27%,#baffc3,#02dc25 50%,#008d1b 76%)}.grand-machine .model-bulbs{width:1.3%;top:13%;height:65%}.grand-machine .bulbs-left{left:10%}.grand-machine .bulbs-right{right:10%}
.frame-leds{position:absolute;inset:1.8%;pointer-events:none;z-index:2}.led-strip{position:absolute;display:flex;justify-content:space-between;align-items:center}.led-strip i{display:block;width:4px;height:4px;background:#fff4b2;border-radius:50%;box-shadow:0 0 4px 1px #ffa600;animation:bulbGlow 3.2s ease-in-out infinite;animation-delay:var(--phase)}.led-top,.led-bottom{left:0;right:0;height:5px}.led-top{top:0}.led-bottom{bottom:0}.led-left,.led-right{top:0;bottom:0;width:5px;flex-direction:column}.led-left{left:0}.led-right{right:0}.stage-lamp{position:absolute;top:0;bottom:6%;width:8%;z-index:4;cursor:pointer}.lamp-left{left:0}.lamp-right{right:0}.lamp-head{position:absolute;top:0;left:20%;width:65%;height:90px;background:linear-gradient(90deg,#111,#5a5852,#101214);border:1px solid #a78b4c;border-radius:15px 15px 11px 11px;transform:rotate(-25deg);z-index:2}.lamp-right .lamp-head{transform:rotate(25deg)}.lamp-head:after{content:'';position:absolute;bottom:0;left:3%;width:94%;height:21px;background:#fff7ca;border:3px solid #ba8a2d;border-radius:50%;box-shadow:0 5px 24px #ffdb7f}.lamp-pole{position:absolute;top:70px;bottom:0;left:50%;width:6px;background:linear-gradient(90deg,#222,#a1a0a0,#1a1a1b);box-shadow:1px 0 2px #000}.lamp-foot{position:absolute;bottom:0;left:20%;width:70%;height:12px;border-radius:50%;background:linear-gradient(#d1b26a,#332918)}.lamp-beam{position:absolute;top:70px;left:-35%;width:300%;height:70%;background:linear-gradient(#ffebaa8a,#ffd86810 80%,transparent);clip-path:polygon(30% 0,44% 0,100% 100%,0 100%);transform-origin:35% 0;mix-blend-mode:screen;animation:grandSweep 7s ease-in-out infinite;pointer-events:none}.lamp-right .lamp-beam{left:-165%;animation-delay:-3.5s;background:linear-gradient(#b5e6ff80,#dfaaff10 80%,transparent)}.printer-grand[data-celebrating="yes"] .led-strip i{animation-duration:1.6s}.printer-grand[data-celebrating="yes"] .lamp-beam{animation-duration:4s}
@keyframes bulbGlow{0%,100%{opacity:.48;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.45)}}@keyframes logoGlow{0%,100%{opacity:.08;filter:brightness(1)}50%{opacity:.48;filter:brightness(1.15)}}@keyframes railGlow{0%,100%{opacity:.4}50%{opacity:1}}@keyframes switchGlow{0%,100%{box-shadow:0 0 8px #37ff3530}50%{box-shadow:0 0 20px #37ff3580}}@keyframes iconFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}@keyframes beamSway{0%,100%{transform:rotate(calc(var(--angle) - 7deg));opacity:.3}50%{transform:rotate(calc(var(--angle) + 7deg));opacity:.65}}@keyframes colorBeam{0%,100%{filter:blur(6px) hue-rotate(0deg)}50%{filter:blur(6px) hue-rotate(160deg)}}@keyframes grandSweep{0%,100%{transform:rotate(-9deg);opacity:.45}50%{transform:rotate(12deg);opacity:1}}@keyframes feedPaper{0%{clip-path:inset(0 0 100%)}6%{clip-path:inset(0 0 100%)}10%{clip-path:inset(0 0 96%)}14%{clip-path:inset(0 0 96%)}21%{clip-path:inset(0 0 87%)}25%{clip-path:inset(0 0 87%)}34%{clip-path:inset(0 0 72%)}38%{clip-path:inset(0 0 72%)}47%{clip-path:inset(0 0 54%)}51%{clip-path:inset(0 0 54%)}61%{clip-path:inset(0 0 33%)}65%{clip-path:inset(0 0 33%)}76%{clip-path:inset(0 0 15%)}80%{clip-path:inset(0 0 15%)}91%{clip-path:inset(0 0 2%)}95%{clip-path:inset(0 0 2%)}100%{clip-path:inset(0 0 0%)}}@keyframes feedEdge{0%{top:calc(0% - 10px)}6%{top:calc(0% - 10px)}10%{top:calc(4% - 10px)}14%{top:calc(4% - 10px)}21%{top:calc(13% - 10px)}25%{top:calc(13% - 10px)}34%{top:calc(28% - 10px)}38%{top:calc(28% - 10px)}47%{top:calc(46% - 10px)}51%{top:calc(46% - 10px)}61%{top:calc(67% - 10px)}65%{top:calc(67% - 10px)}76%{top:calc(85% - 10px)}80%{top:calc(85% - 10px)}91%{top:calc(98% - 10px)}95%{top:calc(98% - 10px)}100%{top:calc(100% - 10px)}}@keyframes bladeCut{to{transform:translateX(950%)}}@keyframes bannerUnroll{0%{clip-path:inset(0 0 100%);filter:brightness(.65)}100%{clip-path:inset(0);filter:brightness(1)}}@keyframes rollDown{from{top:0}to{top:96.9%}}@keyframes machineExtend{from{opacity:0;transform:translateY(3%)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.model-reveal button{font-size:11px}.bonus-scene{width:100%;}.detached-receipt{width:66%;margin:7% auto 0}.cut-trigger{padding:10px 22px;top:calc(53.2% + var(--paper-height) + 9px)}.printer-bonus[data-state="printed"]{padding-bottom:35px}.board-stage{padding:8% 6% 0}.stage-lamp{width:6%;bottom:9%}.lamp-head{width:100%;left:0;height:42px;border-radius:8px}.lamp-head:after{height:10px;border-width:1px}.lamp-pole{top:32px;width:3px}.lamp-beam{top:35px}.lamp-foot{height:5px}.grand-machine{width:75%;margin-top:22px}.upper-roller{height:15px;top:-12px}.upper-roller:before,.upper-roller:after{height:22px;width:7px}.led-strip i{width:2px;height:2px}.detached-receipt .led-strip i{width:2px;height:2px}.printer-actions{margin-top:20px}.model-beam{filter:blur(3px)}}
@media(prefers-reduced-motion:reduce){.model-reveal *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.printer-grand[data-state="opening"] .banner-window{max-height:var(--paper-height)}.model-beam{opacity:.4}.model-logo-glow{opacity:.2}}

.icons-open{display:none}.printer-today:not([data-state="sealed"]) .icons-closed{display:none}.printer-today:not([data-state="sealed"]) .icons-open{display:contents}.printer-today:not([data-state="sealed"]) .bulbs-left{left:22.45%}.printer-today:not([data-state="sealed"]) .bulbs-right{left:76.2%}.printer-today:not([data-state="sealed"]) .model-cyan{left:20.3%}.printer-today:not([data-state="sealed"]) .model-pink{left:79.1%}.recharge-scene .frame-leds{inset:1.1% 7.4% 3%}.scene-caption-cover{mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%)}
.receipt-image,.detached-image{animation:paperLum 4.8s ease-in-out infinite}@keyframes paperLum{0%,100%{filter:brightness(.94)}50%{filter:brightness(1.12)}}
.scene-caption-cover{mask-image:none}.bonus-scene .scene-caption-cover{left:23.5%;top:4.8%;width:55%;height:8.1%;box-shadow:0 0 14px 8px #14120e}.scene-icon{mix-blend-mode:normal}.scene-icon:before{display:block;inset:1%;background:#100f0e;filter:blur(3px)}.moving-icon{mix-blend-mode:normal;opacity:1}

.printer-actions a.receipt-pdf{font:700 13px Arial,sans-serif;letter-spacing:1px;text-decoration:none;cursor:pointer}.printer-actions a.receipt-pdf:focus-visible{outline:3px solid #a6fff0;outline-offset:5px}

/* A continuous room surrounds the equipment, falling receipt and download controls. */
.model-reveal{--light-cycle:3.6s;--beam-cycle:7s;--light-color:#ffd36d;--light-intensity:1;min-height:100svh;padding-bottom:30px;background:#15130e url('/assets/models/studio-room.png') center top/100% auto no-repeat}
.model-reveal:before{content:'';position:absolute;z-index:-1;left:0;right:0;top:min(102vw,918px);bottom:0;background:#3d2e1e url('/assets/models/studio-room.png') center bottom/100% 270%;box-shadow:0 -50px 75px 20px #282016;pointer-events:none}
.printer-today:before{top:min(82vw,984px)}.bonus-scene{max-width:900px}.recharge-scene{max-width:1200px}.scene-photo{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(#000 86%,transparent 100%);mask-composite:intersect}.scene-open{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(#000 90%,transparent 100%)}
.detached-receipt{margin:-7% auto 0;width:min(45%,440px);filter:drop-shadow(0 18px 15px #160f08b3);padding-bottom:0}.printer-bonus[data-state="opened"] .printer-actions{margin-bottom:0}.printer-today .printer-actions{margin-bottom:0}.printer-grand{background:transparent}.printer-grand:before{display:none}.model-scene .scene-caption-cover{background:#17140e;box-shadow:0 0 14px 8px #17140e}
.live-light-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.model-scene>.live-light-map{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(#000 85%,transparent);mask-composite:intersect}.open-light-map{opacity:0}.printer-today:not([data-state="sealed"]) .closed-light-map{opacity:0}.printer-today:not([data-state="sealed"]) .open-light-map{opacity:1}.receipt-image,.detached-image{animation:none}.detached-receipt .art-light-map{filter:drop-shadow(0 0 2px #e9a52d55)}
.model-bulbs i,.led-strip i,.model-rail,.model-logo-glow{animation-duration:var(--light-cycle)}.model-beam,.lamp-beam{animation-duration:var(--beam-cycle)}.model-bulbs i,.led-strip i{background:color-mix(in srgb,var(--light-color) 40%,white);box-shadow:0 0 5px 2px var(--light-color)}
[data-light-mode="single"] .model-rail{background:var(--light-color);box-shadow:0 0 12px var(--light-color)}[data-light-mode="single"] .model-beam,[data-light-mode="single"] .lamp-beam{background:linear-gradient(var(--light-color),transparent);opacity:.35}
[data-light-mode="multi"] .model-bulbs i,[data-light-mode="multi"] .led-strip i,[data-light-mode="multi"] .model-rail{animation-name:rainbowLight;animation-duration:var(--light-cycle)}
[data-light-pattern="steady"] .model-bulbs i,[data-light-pattern="steady"] .led-strip i,[data-light-pattern="steady"] .model-rail{animation:none;opacity:.9}[data-light-pattern="chase"] .model-bulbs i,[data-light-pattern="chase"] .led-strip i{animation-name:chaseLight}
[data-lighting="off"] .model-bulbs,[data-lighting="off"] .frame-leds,[data-lighting="off"] .model-logo-glow,[data-lighting="off"] .model-rail,[data-lighting="off"] .model-beam,[data-lighting="off"] .lamp-beam,[data-zone-machine="off"] .model-bulbs,[data-zone-machine="off"] .model-logo-glow,[data-zone-machine="off"] .model-rail,[data-zone-board="off"] .frame-leds,[data-zone-lamps="off"] .model-beam,[data-zone-lamps="off"] .lamp-beam{opacity:0!important;animation:none}
@keyframes rainbowLight{0%,100%{filter:hue-rotate(0);opacity:.5}50%{filter:hue-rotate(180deg);opacity:1}}@keyframes chaseLight{0%,30%,100%{opacity:.25}45%,65%{opacity:1}}
@media(max-width:600px){.model-reveal{background-size:auto 100svh}.model-reveal:before{background-size:auto 260%;box-shadow:0 -30px 45px 8px #282016}.detached-receipt{width:66%;margin:0 auto}.printer-bonus[data-state="printed"]{padding-bottom:60px}}
/* The exact supplied equipment is cut out in CSS; the studio wall and floor are shared. */
.model-reveal{background-size:100% min(140vw,1260px)}.model-reveal:before{top:min(84vw,756px);background-size:100% 280%;box-shadow:0 -30px 40px 15px #463423}.printer-today{background-size:100% min(115vw,1380px)}.printer-today:before{top:min(69vw,828px)}
.scene-photo,.model-scene>.closed-light-map{mask-image:none;clip-path:var(--scene-mask)}.scene-open,.model-scene>.open-light-map{mask-image:none;clip-path:var(--open-mask)}.scene-caption-cover,.icons-closed,.icons-open{display:none!important}.room-masks{position:absolute;pointer-events:none}.model-bulbs,.model-rail,.frame-leds,.model-logo-glow,.model-beam,.lamp-beam{filter:brightness(var(--light-intensity))}
[data-lighting="off"] .lamp-head:after,[data-zone-lamps="off"] .lamp-head:after{background:#534a31;box-shadow:none}
@media(max-width:600px){.model-reveal{background-size:auto 140vw}.printer-today{background-size:auto 115vw}.model-reveal:before{background-size:auto 270%;box-shadow:0 -20px 30px 6px #463423}}
.model-beam{clip-path:none;background:none!important;filter:blur(10px) brightness(var(--light-intensity));opacity:.35}.model-beam:before{content:'';position:absolute;inset:0;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%)}.bonus-scene .beam-left:before{background:linear-gradient(#ffe09699,#eaa62225 60%,transparent)}.bonus-scene .beam-right:before{background:linear-gradient(#ff4b4b99,#ed14142e 50%,transparent)}.recharge-scene .beam-left:before{background:linear-gradient(#f8feff99,#e5faff25 60%,transparent)}.recharge-scene .beam-right:before{background:linear-gradient(#ef6eff99,#4ad8ff25 55%,transparent)}[data-light-mode="single"] .model-beam:before{background:linear-gradient(var(--light-color),transparent)}[data-light-mode="multi"] .model-beam:before{animation:colorBeam 12s linear infinite}
.room-icons{position:absolute;top:0;left:0;width:100%;height:min(140vw,1260px);pointer-events:none;z-index:0}.printer-today .room-icons{height:min(115vw,1380px)}.room-icon{position:absolute;mask-image:radial-gradient(ellipse,#000 48%,transparent 77%);animation:iconFloat 9s ease-in-out infinite;animation-delay:var(--phase)}.model-scene{z-index:1}@media(max-width:600px){.room-icon{opacity:.65}.room-icon-0{left:2%!important;top:1%!important;width:19%!important;height:14%!important}.room-icon-1{left:78%!important;top:2%!important;width:20%!important;height:15%!important}.room-icon-2{left:0!important;top:26%!important;width:14%!important;height:16%!important}.room-icon-3{left:85%!important;top:29%!important;width:14%!important;height:13%!important}.room-icon-4,.room-icon-5{display:none}}
.model-reveal,.printer-today{background-size:100% var(--room-depth,100svh)}.model-reveal:before,.printer-today:before,.lighting-preview .model-reveal:before{top:calc(var(--room-depth,100svh)*.6)}.room-icons,.printer-today .room-icons{height:var(--room-depth,100svh)}.grand-logo-light-map{left:20%;top:7%;width:61%;height:25%;object-fit:contain}

/* The bonus sheet starts at the physical mouth, stays attached until CUT, then falls as one lit layer. */
.printer-bonus[data-state="opening"] .paper-curl{animation:feedEdge 2.4s cubic-bezier(.3,.05,.35,1) both}
.feed-lip{position:absolute;left:34%;top:53.2%;width:34.8%;height:5px;background:linear-gradient(#090909e6,transparent);z-index:12;pointer-events:none}
.printer-bonus .detached-receipt{width:var(--bonus-paper-width,34.8%);max-width:none;transform-origin:top left}
/* Blend only the exact supplied logo onto the steel fascia; no opaque black sticker or stretched lettering. */
.grand-brand{position:absolute;left:50%;top:14%;height:26%;aspect-ratio:1540/640;transform:translateX(-50%);overflow:hidden;mix-blend-mode:screen;isolation:isolate;z-index:5;pointer-events:none}
.grand-brand .grand-machine-logo,.grand-brand .grand-logo-light-map{position:absolute;left:-5.5844%;top:-21.09375%;width:111.5584%;height:142.8125%;object-fit:fill}

/* A turning metal roller and curled leading edge make each short feed advance visible. */
.feed-roller{position:absolute;left:34%;top:52.9%;width:34.8%;height:.8%;z-index:11;pointer-events:none;opacity:0;background:repeating-linear-gradient(180deg,#090a0b 0,#74736b 2px,#c9bea1 3px,#252726 5px,#090a0b 8px);background-size:100% 8px;box-shadow:0 2px 3px #000b;border-radius:2px}
.printer-bonus[data-state="opening"] .feed-roller{opacity:.8;animation:rollerFeed .18s linear infinite}
.printer-bonus .paper-curl{height:10px;top:calc(100% - 10px);background:linear-gradient(transparent,#f9e0a326 25%,#0a0907b8 75%,#b7a17666);border-radius:0 0 48% 48%}
.printer-bonus[data-state="opening"] .feed-window{filter:drop-shadow(0 7px 4px #0007)}
@keyframes rollerFeed{to{background-position:0 8px}}

/* Give the aerial finale a visible strip of sky above a phone-width Grand Board. */
@media (max-width: 650px) {
 .printer-grand .board-stage { padding-top:clamp(76px, 13svh, 120px); }
}

/* Foil stays in the stage's floor plane, so scrolling or cutting the
   receipt cannot drag the pile down the viewport. */
.alpha-confetti-floor{position:absolute;left:0;width:100%;z-index:2;pointer-events:none}
.alpha-confetti-floor i{display:block;position:absolute;pointer-events:none;border-radius:.3px;box-shadow:0 .7px .9px #14092399,inset 0 .5px #fff9}
.alpha-confetti-floor i[hidden],.model-reveal[data-lighting="off"] .alpha-confetti-floor{display:none!important}

/* M04 Robotic Presenter — a continuous articulated rig on the studio floor. */
.printer-commission{background:#20190f url('/assets/models/studio-room.png') center top/cover no-repeat;min-height:100svh;padding:10px 0 34px;overflow:hidden}
.printer-commission:before{display:none}
.robot-scene{position:relative;width:min(100%,880px,calc((100svh - 76px)*.6746667));max-width:none;aspect-ratio:506/750;margin:0 auto;isolation:isolate;z-index:1}
.robot-stage-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.robot-floor-shadow{position:absolute;left:1%;top:94.6%;width:98%;height:6%;background:radial-gradient(ellipse,#0c0805d9,transparent 70%);filter:blur(7px);pointer-events:none}
.robot-grounded-base{filter:drop-shadow(0 5px 5px #110b0877)}
.robot-arm{filter:none}.robot-link-shell,.robot-joint,.robot-hand{filter:drop-shadow(3px 4px 3px #070b0855)}
.robot-link-shell,.robot-joint{pointer-events:none}
.robot-mast{will-change:transform}.robot-logo{animation:robotLogoLight 4s ease-in-out infinite;image-rendering:auto}
.robot-card-window{overflow:visible}
.robot-card{position:relative;width:100%;height:100%;overflow:hidden;perspective:700px;transform:rotateY(var(--robot-card-turn,-14deg));transform-origin:50% 0;background:#050706;cursor:default;filter:none!important}
.robot-card .receipt-image{display:block;width:100%;height:100%;object-fit:contain;filter:none!important;opacity:1!important;animation:none!important;transform:none!important;box-shadow:none!important}
.robot-card .receipt-image[hidden]{display:none!important}
.robot-card-back{position:absolute;inset:0;border:3px solid #d3ae5a;border-radius:2px;background:repeating-linear-gradient(0deg,#c1c7b309 0,transparent .6px,#04070511 1px,transparent 2px),linear-gradient(110deg,#161c16,#3c4232 40%,#11190f 73%);box-shadow:inset 0 0 0 4px #10170e,inset 0 0 0 5px #86784b;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px}
.robot-card-back svg{display:block;width:72%;aspect-ratio:1540/640}.robot-card-back span{font:700 9px/1.5 Arial,sans-serif;color:#b9aa75;letter-spacing:2px;text-align:center}.robot-card-back i{width:45%;height:1px;background:#9f8740}
.robot-presenter[data-card-visible="yes"] .robot-card{transform:none;perspective:none}
.robot-presenter[data-card-visible="yes"] .robot-card-back{display:none}
.robot-button-red,.robot-button-green{transition:opacity .12s linear}.robot-button-red{opacity:1}.robot-button-green{opacity:0}
.robot-presenter[data-pressed="yes"] .robot-button-red{opacity:0}.robot-presenter[data-pressed="yes"] .robot-button-green{opacity:1}
.robot-button-face{filter:drop-shadow(0 0 5px #e8332266)}.robot-presenter[data-pressed="yes"] .robot-button-face{filter:drop-shadow(0 0 7px #3de73888)}
.printer-commission .robot-reveal-button{min-height:0;z-index:8;border:0!important;padding:0;background:none!important;box-shadow:none!important;animation:none!important;border-radius:50%}
.robot-reveal-button:disabled{opacity:1}.robot-reveal-button:focus-visible{outline:2px solid #a6fff0;outline-offset:3px}
.vault-sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.vault-studio-lights{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.vault-studio-lights .stage-lamp{top:28px;bottom:auto;width:74px;height:min(98svh,1100px);pointer-events:none}
.vault-studio-lights .lamp-left{left:clamp(16px,6vw,110px)}.vault-studio-lights .lamp-right{left:auto;right:clamp(16px,6vw,110px)}
.vault-studio-lights .lamp-beam{height:90%;opacity:.4}.vault-studio-lights .lamp-head{height:82px}.vault-studio-lights .lamp-pole{opacity:.6}
.vault-controls{position:relative;width:min(calc(100% - 40px),510px);display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:9;margin:0 auto;padding:4px 0 12px}
.vault-controls .machine-status{position:static!important;width:auto!important;height:auto!important;clip-path:none;overflow:visible;white-space:normal;font:700 clamp(10px,2vw,12px)/1.4 Arial,sans-serif;letter-spacing:.1em;color:#e1c891;flex:1}
.vault-sound{border:1px solid #9f7b3960;border-radius:20px;background:#11130fbf;color:#efdfa9;padding:8px 11px;font-size:10px!important;letter-spacing:.04em!important;white-space:nowrap;flex-shrink:0}
.printer-commission .printer-actions{margin:6px auto 0;flex-wrap:wrap;width:calc(100% - 24px);max-width:600px}
.printer-commission .opening-status{position:relative!important;clip-path:none;overflow:visible;white-space:normal;width:auto!important;height:auto!important;max-width:500px;margin:12px auto 0;padding:0 20px;text-align:center;line-height:1.6;font-size:13px;color:#e1d2ac}
.model-reveal .printer-actions .receipt-download{max-width:100%;text-align:center;white-space:normal;line-height:1.45}
.model-reveal[data-group-error="yes"] .opening-status{position:relative!important;width:auto!important;height:auto!important;clip-path:none;overflow:visible;white-space:normal;text-align:center;margin:16px auto;padding:0 20px;max-width:540px}
/* Printed artwork is the exact cached JPG. Lighting belongs to the machine. */
.model-reveal .receipt-image,.model-reveal .detached-image{filter:none!important;animation:none!important;box-shadow:none!important}
.model-reveal .receipt-paper>.live-light-map,.model-reveal .detached-receipt>.live-light-map,.model-reveal .receipt-paper>.frame-leds,.model-reveal .detached-receipt>.frame-leds{display:none!important}
[data-lighting="off"] .robot-logo{animation:none;filter:brightness(.8)}
@keyframes robotLogoLight{0%,100%{filter:brightness(.96)}50%{filter:brightness(1.1)}}
@media(max-width:600px){.printer-commission .printer-actions .receipt-download{padding:13px 20px}.vault-studio-lights .stage-lamp{width:40px;top:18px;height:80svh;opacity:.65}.vault-studio-lights .lamp-left{left:2px}.vault-studio-lights .lamp-right{right:2px}.vault-studio-lights .lamp-head{height:38px}.vault-studio-lights .lamp-pole,.vault-studio-lights .lamp-foot{opacity:.25}}
@media(prefers-reduced-motion:reduce){.printer-commission *{animation:none!important;transition:none!important}}
/* Shared viewer controls stay outside the downloadable artwork. */
.reveal-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.printer-actions{flex-wrap:wrap;padding:0 12px}
.printer-actions .receipt-full{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:inherit;text-align:center;cursor:pointer}
.printer-actions .receipt-full[aria-disabled="true"]{opacity:.5;pointer-events:none}
.reveal-sound-controls,.reveal-recovery{position:relative;z-index:16;display:flex;justify-content:center;gap:10px;margin:12px auto;max-width:calc(100% - 24px)}
.reveal-sound-controls{pointer-events:none}
.reveal-sound-controls .vault-sound{pointer-events:auto}
.reveal-sound-controls .vault-sound,.reveal-recovery .receipt-retry{border:1px solid #a38243;background:#15130feb;color:#f5dc9e;border-radius:7px;padding:10px 16px;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.04em;cursor:pointer}
.reveal-recovery .receipt-retry:disabled{opacity:.55;cursor:wait}
.printer-reveal>.opening-status{position:relative!important;clip-path:none;overflow:visible;white-space:normal;width:auto!important;height:auto!important;max-width:620px;margin:12px auto;padding:0 18px;text-align:center;font:13px/1.6 Arial,sans-serif;color:#ead9af;letter-spacing:0;text-transform:none}
.printer-reveal[data-prepare-error="yes"]>.opening-status{color:#ffd5bc}
.printer-reveal .reveal-recovery[hidden],.printer-reveal .receipt-summary[hidden]{display:none!important}
dialog.alpha-poster-viewer{position:fixed;inset:0;margin:auto;padding:0;width:min(1080px,96vw);max-width:96vw;height:min(960px,94dvh);max-height:94dvh;border:1px solid #b38e45;border-radius:12px;background:#090b0d;color:#f9e7b5;overflow:hidden;text-align:left;box-shadow:0 20px 80px #000b}
dialog.alpha-poster-viewer[open]{display:flex;flex-direction:column}
dialog.alpha-poster-viewer::backdrop{background:#000d;backdrop-filter:blur(5px)}
.alpha-poster-viewer .poster-viewer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;flex-shrink:0;padding:12px 16px;border-bottom:1px solid #8a6b313d;background:#13110d}
.alpha-poster-viewer .poster-viewer-toolbar strong{margin-right:auto;font:700 11px/1.5 Arial,sans-serif;letter-spacing:.12em}
.alpha-poster-viewer button{border:1px solid #947331;border-radius:6px;padding:10px 13px;background:#242016;color:#ffe3a0;cursor:pointer;font:700 11px/1.4 Arial,sans-serif}
.alpha-poster-viewer .poster-viewer-scroll{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px;overscroll-behavior:contain}
.alpha-poster-viewer img.poster-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:0;padding:0;border:0;border-radius:0;background:none;object-fit:contain;filter:none;box-shadow:none;flex-shrink:0}
.alpha-poster-viewer [hidden]{display:none!important}
.alpha-poster-viewer .poster-viewer-status{max-width:32rem;margin:auto;padding:28px 20px;color:#f9e7b5;text-align:center;font:500 15px/1.65 Arial,sans-serif}
.alpha-poster-viewer button:disabled{opacity:.5;cursor:wait}
.alpha-poster-viewer .poster-retry{margin:0 10px 0 0}
.alpha-poster-viewer[data-zoomed="yes"] .poster-viewer-scroll{display:block}
.alpha-poster-viewer[data-zoomed="yes"] img.poster-viewer-image{max-width:none;max-height:none;margin:0 auto}
.alpha-poster-viewer .poster-viewer-footer{flex-shrink:0;padding:10px;text-align:center;border-top:1px solid #8a6b313d;background:#13110d}
.receipt-save-help,.receipt-share-help{box-sizing:border-box;flex-basis:100%;max-width:540px;margin:6px auto 0;text-align:center;color:#e2d4ae;font:400 12px/1.55 Arial,sans-serif}.receipt-save-help p,.receipt-share-help p{margin:7px 0 12px}.receipt-save-help a.receipt-pdf,.receipt-share-help a.receipt-pdf{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;border:1px solid #947331;border-radius:6px;padding:10px 14px;background:#242016;color:#ffe3a0;text-decoration:none;font:700 11px/1.4 Arial,sans-serif}.receipt-save-help[hidden],.receipt-share-help[hidden]{display:none!important}
@media(max-width:600px){.printer-actions .receipt-pdf{padding:13px 16px;font-size:11px}dialog.alpha-poster-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.alpha-poster-viewer .poster-viewer-toolbar{padding:10px;gap:6px}.alpha-poster-viewer .poster-viewer-toolbar strong{font-size:9px}.alpha-poster-viewer .poster-viewer-scroll{padding:5px}}
