#launch{padding:0;background:#0b1210;overflow:auto;justify-content:center;flex-direction:column}#pressMachine{position:relative;width:min(100%,calc((100dvh - 182px)*2.357));aspect-ratio:3168/1344;flex-shrink:0;isolation:isolate}#pressMachine .machine-plate{display:block;width:100%;height:100%;max-height:none;object-fit:fill}#machineStatus{font-size:12px;line-height:1.5;color:#ddcfaa;text-align:center;min-height:18px;margin:8px 20px}.print-window{position:absolute;left:35.4%;top:18.2%;width:29.3%;height:38%;overflow:hidden;border-radius:26% 25% 18% 18%;pointer-events:none}.print-carriage{position:absolute;left:40%;top:18%;width:17%;height:63%;object-fit:contain;filter:sepia(.2) saturate(.7) drop-shadow(2px 3px 2px #0007);z-index:4}.fabric{position:absolute;left:12%;top:62%;width:76%;height:33%;opacity:0;transform-origin:50% 20%;filter:brightness(.8);z-index:2}.fabric>img:first-child{display:block;width:100%;height:100%;object-fit:fill}.fabric-design{position:absolute;width:32%;height:38%;left:35%;top:5%;object-fit:contain;mix-blend-mode:multiply;opacity:0;transform:perspective(200px) rotateX(50deg);clip-path:inset(0 100% 0 0)}.rainbow-laser{position:absolute;left:15%;top:45%;width:72%;height:30%;opacity:0;background:linear-gradient(90deg,#ff547c66,#ffda4366,#5dff9766,#63bfff66,#d163ff66);clip-path:polygon(49% 0,51% 0,100% 100%,0 100%);filter:blur(.3px);mix-blend-mode:screen;z-index:5}.rainbow-laser:after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff4270,#ffdc35,#4affb3,#4d9fff,#b565ff);box-shadow:0 0 12px #a5fff4}.steam{position:absolute;inset:20% 10% 5%;opacity:0;z-index:6;filter:blur(4px)}.steam i{position:absolute;left:20%;bottom:0;width:25%;height:70%;border-radius:50%;background:radial-gradient(ellipse,#f4f4eab0,transparent 65%);animation:steam-rise 1.6s infinite}.steam i:nth-child(2){left:40%;animation-delay:-.7s}.steam i:nth-child(3){left:60%;animation-delay:-.3s}.steam i:nth-child(4){left:30%;animation-delay:-1s}.status-lamps{position:absolute;left:73.93%;top:36.6%;height:11.8%;width:1.1%;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.status-lamps i{width:100%;aspect-ratio:1;border-radius:50%;opacity:0;background:#ffdaa0;box-shadow:0 0 7px 2px #ffc65b,0 0 16px #ffa248}.status-lamps i.lit{opacity:1;animation:lamp-pulse .8s alternate infinite}.machine-start,.machine-order{position:absolute!important;margin:0!important;min-width:0!important;min-height:0!important;width:3.2%!important;height:6.2%!important;top:51.6%!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:50%!important;outline-offset:3px;z-index:8}.machine-start{left:71.1%}.machine-order{left:75.2%}.machine-start:hover{box-shadow:0 0 12px #b8ffd5!important}.machine-order span{position:absolute;left:-35%;top:-80%;width:170%;font-size:clamp(5px,.65vw,10px);line-height:1.1;letter-spacing:0;color:#273326;background:#b5b19a;padding:3px 0;border-radius:2px;box-shadow:0 1px 2px #0004;white-space:normal}.machine-order.ready{box-shadow:0 0 12px #fa766b!important}.machine-order:hover{box-shadow:0 0 16px #ff8874!important}.shirt-output{position:absolute!important;left:44.7%;top:76.3%;width:11.3%;height:9%;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;z-index:7;transform-origin:50% 100%;filter:brightness(.88) drop-shadow(0 5px 3px #0008)}.shirt-output>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.shirt-output .output-art{position:absolute;left:26%;top:10%;width:48%;height:55%;object-fit:contain;mix-blend-mode:multiply;transform:perspective(200px) rotateX(50deg)}.shirt-output:hover{filter:brightness(1.1) drop-shadow(0 4px 3px #0008);outline:1px dashed #d7c789}.shirt-output.arriving{animation:shirt-land .8s cubic-bezier(.4,0,.3,1)}.shirt-output[hidden],.tv-screen[hidden]{display:none!important}.tv-screen{position:absolute;left:35.5%;top:18%;width:29%;height:38%;border-radius:17%;overflow:hidden;background:#10221c;color:#dceac5;z-index:15;box-shadow:inset 0 0 22px #000c,0 0 12px #9fffd322;container-type:inline-size}.tv-screen .tv-content{height:100%;overflow:auto;padding:7% 10%;font-size:clamp(8px,1vw,14px)}.tv-screen h2{font-size:1.25em;letter-spacing:.08em;margin:0 0 5px;color:#efdaa3}.tv-screen p{font-size:.85em;margin:4px 0 8px}.tv-screen label{font-size:.8em;margin:7px 0}.tv-screen input,.tv-screen textarea{font:inherit;padding:4px;margin:2px 0;background:#07130d;border:1px solid #63795c;border-radius:2px;color:#eff7d9;width:100%}.tv-screen button{font-size:.75em;padding:6px;background:#283e2c}.tv-screen small{font-size:.7em;line-height:1.4;letter-spacing:0}.tv-row{display:flex;gap:6px}.tv-row label{width:50%}.tv-close{position:absolute;right:5%;top:4%;z-index:8;padding:1px 5px!important;border:0;box-shadow:none}.tv-static,.tv-bars,.stay-tuned{position:absolute;inset:0;pointer-events:none;opacity:0}.tv-static{background:repeating-radial-gradient(ellipse at 60% 35%,#fff 0 1px,#222 2px 3px,#888 4px 5px);background-size:7px 9px;mix-blend-mode:screen;filter:contrast(2)}.tv-screen.transmitting .tv-static{animation:static-burst .9s steps(3) forwards}.tv-bars{background:linear-gradient(90deg,#ddd 0 14.28%,#d4cf36 14.28% 28.56%,#52c9ca 28.56% 42.84%,#57a45d 42.84% 57.12%,#bf4b9f 57.12% 71.4%,#bb4549 71.4% 85.68%,#3d4dab 85.68%);box-shadow:inset 0 -35px #171a18}.tv-screen.transmitting .tv-bars{animation:bars 3.8s step-end forwards}.stay-tuned{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#12221b;font-size:clamp(12px,2vw,30px);letter-spacing:3px;text-shadow:0 0 8px #9fd980}.stay-tuned small{margin:10px 20px;text-align:center;font-size:10px;letter-spacing:0}.stay-tuned button{pointer-events:auto;font-size:10px}.tv-screen.transmitting .stay-tuned{animation:tuned 3.8s forwards}.tee-gallery{width:min(940px,94vw);background:#e3dcc7;color:#25372b;border:10px ridge #8f7f56;border-radius:24px;padding:24px}.tee-gallery[open]{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.gallery-close{position:absolute;right:12px;top:9px;z-index:3}.shirt-photo{position:relative;background:#fff;overflow:hidden;border-radius:6px;min-height:300px}.shirt-photo>#galleryBlank{width:100%;height:100%;object-fit:contain;display:block}.shirt-photo>#galleryArt{position:absolute;left:35%;top:31%;width:30%;height:29%;object-fit:contain;mix-blend-mode:multiply}.gallery-controls{display:flex;flex-direction:column;justify-content:center;gap:14px;padding-top:25px}.gallery-controls button{font-size:12px}.gallery-controls small{font-size:11px;line-height:1.6;color:#586350}.gallery-controls fieldset{border:1px solid #958b70}.gallery-controls button[aria-pressed=true]{outline:2px solid #9f6137}.gallery-controls legend{font-size:12px}.is-feeding .fabric,.is-printing .fabric,.is-laser .fabric,.is-steaming .fabric,.is-folding .fabric{opacity:1}.is-feeding .fabric{animation:feed-fabric 2s ease-out both}.is-printing .fabric{animation:fabric-ripple .9s ease-in-out infinite alternate}.is-printing .print-carriage{animation:carriage-pass 1.4s ease-in-out infinite alternate}.is-printing .fabric-design{opacity:1;animation:reveal-print 4s linear forwards}.is-laser .fabric-design,.is-steaming .fabric-design,.is-folding .fabric-design{opacity:1;clip-path:inset(0)}.is-laser .rainbow-laser{animation:laser-pass 2s ease-in-out both}.is-steaming .steam{opacity:.75}.is-folding .fabric{animation:fold-fabric 2.5s ease-in-out forwards}.is-folding .print-carriage{transform:translateX(-100%)}
@keyframes carriage-pass{from{transform:translateX(160%)}to{transform:translateX(-160%)}}@keyframes feed-fabric{from{clip-path:inset(0 0 90%);transform:translateY(-10%) scaleY(.4)}to{clip-path:inset(0);transform:none}}@keyframes fabric-ripple{to{transform:scaleY(.95) translateY(2%);filter:brightness(.88)}}@keyframes reveal-print{to{clip-path:inset(0)}}@keyframes laser-pass{0%,100%{opacity:0;transform:translateY(-20%)}15%{opacity:.8}85%{opacity:.8;transform:translateY(50%)}}@keyframes steam-rise{from{transform:translateY(15%) scale(.5);opacity:0}35%{opacity:.8}to{transform:translateY(-80%) scale(1.8);opacity:0}}@keyframes fold-fabric{0%{transform:scaleY(1)}40%{transform:translateY(-10%) scaleY(.6)}80%{transform:translateY(-30%) scaleY(.35)}100%{transform:translateY(40%) scale(.25);opacity:0}}@keyframes shirt-land{0%{transform:translateY(-150%) scale(.85);opacity:0}65%{transform:translateY(3%) scale(1);opacity:1}85%{transform:translateY(-6%)}100%{transform:none}}@keyframes lamp-pulse{to{filter:brightness(1.3)}}@keyframes static-burst{0%,80%{opacity:1;transform:translateX(-2%)}100%{opacity:0}}@keyframes bars{0%,22%{opacity:0}23%,52%{opacity:1}53%,100%{opacity:0}}@keyframes tuned{0%,52%{opacity:0}56%,90%{opacity:1}100%{opacity:0}}
@media(max-width:650px){#launch{overflow:auto;align-items:flex-start}#pressMachine{width:165vw;max-width:none;margin-left:-32.5vw}#machineStatus{width:90vw;flex-shrink:0}.tv-screen{position:fixed;inset:15% 5% 15%;width:90%;height:70%;border-radius:25px;box-shadow:0 0 0 12px #737b60}.tv-screen .tv-content{font-size:16px;padding:30px}.tv-screen input,.tv-screen textarea{padding:8px}.tee-gallery[open]{display:block}.shirt-photo{height:45dvh}.gallery-controls{padding-top:10px}.machine-order span{font-size:6px}.machine-start,.machine-order{min-width:24px!important;min-height:24px!important}}
@media(prefers-reduced-motion:reduce){.print-carriage,.fabric,.steam i,.rainbow-laser,.shirt-output{animation-duration:.01ms!important;animation-iteration-count:1!important}}
.print-window{background-image:url('assets/launch-clean.png');background-size:341.3% 263.16%;background-position:50.07% 29.35%;background-repeat:no-repeat}.print-carriage{width:48%;height:100%;left:25%;top:-4%;object-fit:fill;filter:brightness(.7) sepia(.12) drop-shadow(2px 3px 2px #0006)}.fabric{left:13%;top:71%;width:74%;height:24%}.shirt-output{left:44%;top:75.6%;width:12.7%;height:9.5%}.fabric-design{height:30%;top:12%;transform:perspective(200px) rotateX(70deg)}.output-art{opacity:.9}.fit-study .fabric{opacity:1;animation:none!important}.fit-study .shirt-output{display:block!important}.fit-study .print-window,.fit-study .shirt-output{outline:1px dashed #d3e8bf66}.fit-study .fabric-design{opacity:0}.fit-study #machineStatus{color:#d5ddbc}
#launch #pressMachine img{max-height:none!important;min-height:0!important;min-width:0!important}#launch #pressMachine .machine-plate{width:100%!important;height:100%!important}#launch #pressMachine .fabric>img:first-child{width:100%!important;height:100%!important;object-fit:fill!important}#launch #pressMachine .fabric-design{width:32%!important;height:30%!important;object-fit:contain!important}#launch #pressMachine .print-carriage{width:48%!important;height:100%!important;object-fit:fill!important}#launch #pressMachine .shirt-output>img:first-child{width:100%!important;height:100%!important;object-fit:fill!important}#launch #pressMachine .shirt-output .output-art{width:48%!important;height:55%!important;object-fit:contain!important}
#launch #pressMachine .print-carriage{height:78%!important;top:0}.shirt-output{top:76.8%}.machine-order span{left:-50%;width:200%;top:-98%;font-size:clamp(5px,.6vw,9px);line-height:1.15}.internal-stack{position:absolute;left:28%;top:72%;width:45%;height:22%;opacity:0;object-fit:fill;z-index:3;filter:brightness(.8)}#launch #pressMachine .internal-stack{width:45%!important;height:22%!important}.is-folding .internal-stack{animation:internal-fold 2.5s ease-in-out forwards}@keyframes internal-fold{0%,40%{opacity:0;transform:scaleY(.3)}70%,85%{opacity:1;transform:none}100%{opacity:0;transform:translateY(50%) scale(.7)}}
.hem-folds{position:absolute;left:0;right:0;top:48%;height:0;opacity:0;overflow:visible}.hem-folds img{position:absolute;left:0;width:100%;height:100%;clip-path:inset(40% 0 0);object-fit:fill}.hem-folds img:nth-child(2){transform:translateY(22%) scaleX(.98)}.hem-folds img:nth-child(3){transform:translateY(40%) scaleX(.94)}#launch #pressMachine .hem-folds img{width:100%!important;height:100%!important}.is-printing .hem-folds{animation:gather-hem 4.5s ease-in-out forwards}.is-laser .hem-folds,.is-steaming .hem-folds,.is-folding .hem-folds{height:78%;opacity:1}.is-folding .fabric{animation:fold-fabric 2.5s ease-in-out forwards}.is-printing .fabric{animation:fabric-ripple 1.2s ease-in-out infinite alternate}.is-printing .print-carriage{animation:carriage-pass 1.5s ease-in-out infinite alternate}.print-carriage{transition:filter .2s}.is-printing .print-carriage{filter:brightness(.85) sepia(.25) drop-shadow(2px 3px 2px #0007)}@keyframes gather-hem{0%{height:10%;opacity:0}20%{opacity:1}100%{height:78%;opacity:1}}.fit-study .hem-folds{height:50%;opacity:1}.fit-study .print-window,.fit-study .shirt-output{outline:none}
.tee-gallery button{color:#f4e9c9}.machine-order span{top:-42%;font-size:clamp(4px,.55vw,8px);padding:2px 0}.shirt-output .output-art{top:12%;transform:perspective(200px) rotateX(72deg);transform-origin:50% 0}#launch #pressMachine .shirt-output .output-art{height:28%!important}
/* Single continuous cloth surface; no duplicated ripple sprites. */
#clothCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.machine-order span.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;background:none;box-shadow:none}.status-lamps{left:73.82%;top:36.9%;height:10.5%;width:1.05%;z-index:10}.status-lamps i{flex-shrink:0;position:relative;background:radial-gradient(circle at 35% 30%,#fffce0 0 20%,#ffc266 35%,#f0832f 70%,#7f3922);box-shadow:0 0 3px 1px #ffeab4,0 0 8px 3px #ffb43d,0 0 20px 4px #ff9a363d;transition:opacity .15s}.status-lamps i.lit{opacity:1;animation:none}.status-lamps i.lit:after{content:'';position:absolute;inset:-40%;border-radius:50%;background:#ffd99b44;filter:blur(2px)}.shirt-output{left:44.3%;top:76.7%;width:11.6%;height:9.1%}.print-carriage{z-index:5}.rainbow-laser{z-index:6}.print-window{border-radius:26% 25% 18% 18%}.panel-lettering{position:absolute;left:75%;top:48.7%;width:3.9%;height:4.4%;pointer-events:none;z-index:9;background-image:url('assets/launch-panel-lettering.png');background-size:2564.1% 2272.7%;background-position:78.04% 50.94%;background-repeat:no-repeat}.internal-stack{z-index:4}.fit-study .print-window{outline:0}
.glass-reflections{position:absolute;inset:0;z-index:12;pointer-events:none;isolation:isolate}.glass-reflections i{position:absolute;inset:0;background-image:url('assets/launch-yellow.png');background-size:341.3% 263.16%;background-position:50.07% 29.35%;background-repeat:no-repeat;mix-blend-mode:screen;filter:contrast(1.15);opacity:.9}.glass-top{clip-path:polygon(7% 0,87% 0,78% 17%,21% 16%)}.glass-left{clip-path:polygon(0 15%,12% 26%,10% 55%,0 45%)}.glass-right{clip-path:polygon(90% 17%,100% 10%,100% 60%,90% 69%)}
@keyframes carriage-pass{from{transform:translateX(48%)}to{transform:translateX(-48%)}}
.shirt-photo>#galleryArt,.shirt-output .output-art{mix-blend-mode:normal}
/* No prism: the beam travels with the nozzle. */
.carriage-rig{position:absolute;left:25%;top:0;width:48%;height:78%;z-index:5;pointer-events:none}#launch #pressMachine .carriage-rig .print-carriage{inset:0;width:100%!important;height:100%!important;object-fit:fill!important;animation:none!important;transform:none!important}.is-printing .carriage-rig{animation:carriage-pass 1.5s ease-in-out infinite alternate}.is-folding .carriage-rig{transform:translateX(-48%)}.nozzle-laser{position:absolute;left:49.5%;top:94%;width:1px;height:12%;opacity:0;transform-origin:50% 0;color:#78ffe1;z-index:7}.nozzle-laser>i{display:block;width:2px;height:100%;background:#dffff5;box-shadow:0 0 3px 1px currentColor,0 0 8px 2px currentColor;border-radius:50%}.laser-contact{position:absolute;left:-5px;bottom:-5px;font-size:12px;color:#fff8cd;text-shadow:0 0 5px currentColor,0 0 12px currentColor;line-height:1}.nozzle-laser>b{position:absolute;bottom:0;left:0;width:2px;height:2px;border-radius:50%;background:#fff0ba;box-shadow:0 0 3px #ffc982;animation:spark-fly .55s linear infinite}.nozzle-laser>b:nth-of-type(2){animation-delay:-.2s;--spark-x:-12px;--spark-y:-5px}.nozzle-laser>b:nth-of-type(3){animation-delay:-.4s;--spark-x:10px;--spark-y:-9px}.is-printing .nozzle-laser,.is-laser .nozzle-laser{opacity:1;animation:nozzle-color 2s linear infinite}.is-printing .laser-contact,.is-laser .laser-contact{animation:contact-spark .16s steps(2) infinite}.chamber-light{position:absolute;inset:0;z-index:7;opacity:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse at 50% 82%,#4bdcda3d,transparent 55%),linear-gradient(90deg,#779dff25,transparent 20% 80%,#f5b55222);border-radius:inherit;box-shadow:inset 0 0 20px #3bbbc835}.is-printing .chamber-light,.is-laser .chamber-light{opacity:1;animation:chamber-color 3s linear infinite}.is-feeding .chamber-light{opacity:.5;filter:hue-rotate(40deg)}.is-steaming .chamber-light{opacity:.8;background:radial-gradient(ellipse at 50% 80%,#e6cc914a,transparent 65%)}.is-folding .chamber-light{opacity:.5;filter:hue-rotate(100deg)}@keyframes nozzle-color{0%,100%{color:#69ffe5;filter:hue-rotate(0)}25%{color:#a79aff;filter:hue-rotate(35deg)}50%{color:#ff91d6;filter:hue-rotate(90deg)}75%{color:#ffce80;filter:hue-rotate(160deg)}}@keyframes contact-spark{0%{transform:scale(.7);opacity:.7}100%{transform:scale(1.3);opacity:1}}@keyframes spark-fly{0%{transform:translate(0,0);opacity:1}100%{transform:translate(var(--spark-x,8px),var(--spark-y,-12px));opacity:0}}@keyframes chamber-color{0%,100%{filter:hue-rotate(0);opacity:.7}40%{filter:hue-rotate(80deg);opacity:1}75%{filter:hue-rotate(180deg);opacity:.65}}@media(prefers-reduced-motion:reduce){.carriage-rig,.nozzle-laser,.laser-contact,.chamber-light,.nozzle-laser>b{animation:none!important}}
/* Print placement: 20% larger, top approximately 3 inches below neckline. */
.shirt-photo>#galleryArt{left:32%;top:29%;width:36%;height:34.8%}
.shirt-photo>#galleryArt{top:25%}
.folding-arms{position:absolute;inset:0;width:100%;height:100%;z-index:9;pointer-events:none;overflow:hidden;filter:drop-shadow(2px 4px 2px #0008);opacity:0}.fold-arm{fill:url(#armSteel);stroke:#383d35;stroke-width:1.5}.fold-arm circle{fill:#6f7567;stroke:#b0a989;stroke-width:2}.fold-arm .arm-cable{fill:none;stroke:#252d28;stroke-width:4}.fold-arm .gripper{fill:none;stroke:#c1bba0;stroke-width:4;stroke-linejoin:round}.left-shoulder{transform-origin:52px 15px}.right-shoulder{transform-origin:348px 15px}.left-elbow{transform-origin:52px 83px}.right-elbow{transform-origin:348px 83px}.left-wrist{transform-origin:52px 145px}.right-wrist{transform-origin:348px 145px}.is-folding .folding-arms{opacity:1}.is-folding .arm-left,.is-folding .arm-right{animation:arms-descend 4.6s ease-in-out both}.is-folding .left-shoulder{animation:left-reach 4.6s ease-in-out both}.is-folding .right-shoulder{animation:right-reach 4.6s ease-in-out both}.is-folding .left-elbow{animation:left-tuck 4.6s ease-in-out both}.is-folding .right-elbow{animation:right-tuck 4.6s ease-in-out both}.is-folding .left-wrist{animation:left-press 4.6s ease-in-out both}.is-folding .right-wrist{animation:right-press 4.6s ease-in-out both}.is-folding .internal-stack{animation:robot-stack 4.6s ease-in-out both}
@keyframes arms-descend{0%{transform:translateY(-160px)}18%{transform:translateY(0)}82%{transform:translateY(0)}100%{transform:translateY(-180px)}}@keyframes left-reach{0%,18%,85%,100%{transform:rotate(0)}35%,47%{transform:rotate(-30deg)}60%,75%{transform:rotate(-42deg)}}@keyframes right-reach{0%,18%,85%,100%{transform:rotate(0)}35%,47%{transform:rotate(30deg)}60%,75%{transform:rotate(42deg)}}@keyframes left-tuck{0%,20%,85%,100%{transform:rotate(0)}38%,48%{transform:rotate(-22deg)}62%,75%{transform:rotate(-38deg)}}@keyframes right-tuck{0%,20%,85%,100%{transform:rotate(0)}38%,48%{transform:rotate(22deg)}62%,75%{transform:rotate(38deg)}}@keyframes left-press{0%,45%,85%,100%{transform:rotate(0)}62%,75%{transform:rotate(50deg)}}@keyframes right-press{0%,45%,85%,100%{transform:rotate(0)}62%,75%{transform:rotate(-50deg)}}@keyframes robot-stack{0%,40%{opacity:0;transform:scaleX(1.3) scaleY(.4)}60%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(60%) scale(.7)}}
@media(prefers-reduced-motion:reduce){.folding-arms,.folding-arms *{animation:none!important}.is-folding .folding-arms{opacity:0}}
@keyframes arms-descend{0%{transform:translateY(-160px)}18%,82%{transform:translateY(45px)}100%{transform:translateY(-180px)}}@keyframes left-tuck{0%,20%,85%,100%{transform:rotate(0)}38%,48%{transform:rotate(22deg)}62%,75%{transform:rotate(35deg)}}@keyframes right-tuck{0%,20%,85%,100%{transform:rotate(0)}38%,48%{transform:rotate(-22deg)}62%,75%{transform:rotate(-35deg)}}
/* Full-size handoff from platen to shelf, without shrinking a miniature shirt. */
.internal-stack{left:24%;top:78%;width:52%;height:20%}#launch #pressMachine .internal-stack{width:52%!important;height:20%!important}.is-folding .internal-stack{animation:robot-stack-full 4.6s ease-in-out both}@keyframes robot-stack-full{0%,52%{opacity:0;transform:none}69%,87%{opacity:1;transform:none}100%{opacity:0;transform:translateY(25%)}}@keyframes shirt-land{0%{transform:translateY(-110%);opacity:0}20%{opacity:1}65%{transform:translateY(3%)}85%{transform:translateY(-5%)}100%{transform:none}}
/* Exaggerated nozzle glow and colorful stage lighting, all behind the glass. */
.nozzle-laser>i{width:3px;background:#f2ffff;box-shadow:0 0 3px 2px #fff,0 0 10px 5px currentColor,0 0 25px 10px currentColor}.nozzle-laser{height:15%}.laser-contact{left:-9px;bottom:-8px;font-size:22px;text-shadow:0 0 6px #fff,0 0 16px currentColor,0 0 30px currentColor}.nozzle-laser>b{width:3px;height:3px;box-shadow:0 0 6px 2px currentColor;--spark-x:20px;--spark-y:-18px}.nozzle-laser>b:nth-of-type(2){--spark-x:-20px;--spark-y:-10px}.nozzle-laser>b:nth-of-type(3){--spark-x:15px;--spark-y:-24px}.chamber-light{background:radial-gradient(ellipse at 20% 80%,#1bdaff90,transparent 45%),radial-gradient(ellipse at 85% 55%,#e23eff77,transparent 45%),conic-gradient(from 45deg at 50% 15%,transparent 0deg,#4384ff55 20deg,transparent 45deg,#f9aaff66 75deg,transparent 110deg,#65ffb855 140deg,transparent 180deg);box-shadow:inset 0 0 35px #8be1ff55}.is-printing .chamber-light,.is-laser .chamber-light{animation:disco-sweep 2.6s linear infinite;opacity:1}.is-laser .nozzle-laser{transform:scaleX(1.6);animation:nozzle-color .9s linear infinite}.is-laser .chamber-light{animation-duration:1.6s}@keyframes disco-sweep{0%,100%{filter:hue-rotate(0deg);background-position:0 0;opacity:.85}33%{filter:hue-rotate(120deg);opacity:1}66%{filter:hue-rotate(240deg);opacity:.85}}
.stage-review *{animation-play-state:paused!important;animation-delay:calc(-1s * var(--review-time,2.8))!important}
/* Delicate mechanisms stay inside the teal rim and below the foreground glass. */
.folding-arms{z-index:4;clip-path:inset(8% 9% 7% round 22% 22% 16% 16%);filter:brightness(.82) drop-shadow(1px 2px 1px #0007)}.fold-arm{stroke-width:.8}.fold-arm circle{stroke-width:1.2}.fold-arm .arm-cable{stroke-width:2}.fold-arm .gripper{stroke-width:2.2;transform:scaleX(.65);transform-box:fill-box;transform-origin:center}.glass-reflections{z-index:12}.shirt-output{left:43.05%;top:75.5%;width:13.9%;height:10.9%}.internal-stack{left:30%;width:40%}#launch #pressMachine .internal-stack{width:40%!important}.is-folding .internal-stack{animation:final-stack-handoff 4.6s ease-in-out both}@keyframes final-stack-handoff{0%,86%{opacity:0;transform:none}94%,100%{opacity:1;transform:none}}
/* No photographic tee swap inside: folded fabric drops before shelf output. */
.internal-stack{display:none!important}
@keyframes arms-descend{0%{transform:translateY(-160px)}18%,79%{transform:translateY(45px)}100%{transform:translateY(-180px)}}
@keyframes shirt-land{0%{transform:translateY(-110%);opacity:0}15%{opacity:0}35%{opacity:1}70%{transform:translateY(2%)}87%{transform:translateY(-3%)}100%{transform:none}}
/* Shelf output matches the full-width cotton on the print bed. */
.shirt-output{left:42.25%;top:74.9%;width:15.5%;height:12.15%}
.dial-face{position:absolute;left:23.1%;top:29.02%;width:2.7%;height:6.36%;border-radius:50%;z-index:5;background-image:url('assets/gauge-clean.png');background-size:3703.704% 1572.327%;background-position:23.741% 30.991%;pointer-events:none;overflow:hidden}.temperature-dial{left:27.1%;background-position:27.852% 30.991%}.dial-needle{position:absolute;left:calc(50% - .6px);bottom:50%;width:1.2px;height:39%;background:#292a22;clip-path:polygon(50% 0,100% 100%,0 100%);transform-origin:50% 100%;transform:rotate(-110deg);filter:drop-shadow(.5px .5px .3px #0006)}.dial-face:before{content:'';position:absolute;left:calc(50% - 1.6px);top:calc(50% - 1.6px);width:3.2px;height:3.2px;border-radius:50%;background:#393a2b;z-index:2;box-shadow:.3px .5px .5px #0005}.dial-face:after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(120deg,#fff8d615,transparent 40% 70%,#0002);box-shadow:inset 0 0 2px #0005}.pgww-sticker{position:absolute;left:72.7%;top:86.2%;width:7.2%;height:9.2%;object-fit:contain;transform:rotate(-8deg);filter:brightness(.75) saturate(.65) sepia(.12) drop-shadow(.4px .8px .4px #0007);z-index:5;pointer-events:none}#launch #pressMachine .pgww-sticker{width:7.2%!important;height:9.2%!important;object-fit:contain!important}.shirt-output .output-art{left:20%;top:34%;transform:perspective(250px) rotateX(24deg) skewX(-2deg);object-fit:cover!important;object-position:50% 12%;opacity:.86;mix-blend-mode:screen;filter:brightness(.85) contrast(.95)}#launch #pressMachine .shirt-output .output-art{width:60%!important;height:38%!important;object-fit:cover!important}
/* Larger worn logo, and ink continues down the folded tee to its hem. */
.pgww-sticker{left:69.1%;top:80.6%;width:14.4%;height:18.4%}#launch #pressMachine .pgww-sticker{width:14.4%!important;height:18.4%!important}.shirt-output .output-art{left:20%;top:29%;object-position:50% 12%;transform:perspective(250px) rotateX(12deg) skewX(-2deg);transform-origin:50% 0}#launch #pressMachine .shirt-output .output-art{width:60%!important;height:57%!important}
.design-color-note{font-size:12px;line-height:1.6;color:#536052}

/* Worn mint enamel on the side cabinets, with original shading and hardware visible. */
.mint-side{position:absolute;z-index:1;pointer-events:none;background:#8dc8b4;mix-blend-mode:color;opacity:.88;border-radius:13% 13% 12% 12%}
.mint-left{left:20.5%;top:20.3%;width:11.2%;height:62.5%}
.mint-right{left:68.5%;top:20.3%;width:14.6%;height:62.5%}

.mint-side{border-radius:0;top:0;height:100%}.mint-left{left:0;width:17.8%}.mint-right{left:86.3%;width:13.7%}

/* Larger chest print, starting about three inches below the collar. */
.tee-gallery .shirt-photo>#galleryArt{left:28.4%;top:22.3%;width:43.2%;height:41.76%;object-fit:contain;object-position:50% 0}

.print-design-picker{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 12px}.print-design-picker button{font-size:12px;padding:6px 12px}.print-design-picker [aria-pressed=true]{box-shadow:inset 0 0 0 1px #a6d7bd;background:#344d43}#pressMachine[data-tee-color=purple] .shirt-output>img:first-child{filter:hue-rotate(88deg) saturate(1.1) brightness(1.6)}

/* Sticker fits the wall bay and catches the cabinet shadow above it. */
#launch #pressMachine .pgww-sticker{left:71%;top:82.3%;width:10.8%!important;height:13.8%!important;filter:brightness(.82) saturate(.65) sepia(.12) drop-shadow(.4px .8px .4px #0007)}
#launch #pressMachine .pgww-sticker-shadow{z-index:6;filter:brightness(.34) saturate(.55) sepia(.12);mask-image:linear-gradient(to bottom,#000 0%,#000 20%,#000b 32%,transparent 64%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 20%,#000b 32%,transparent 64%)}
#pressMachine{width:min(100%,calc((100dvh - 225px)*2.357))}

/* Muted console enamel: less saturated, warmer green. */
.mint-side{background:#7f9b8e;opacity:.78}

#launch #pressMachine .pgww-sticker{top:85.2%}
#launch #pressMachine .pgww-sticker-shadow{opacity:.35}

.tv-content{overflow:auto}.tv-content select{width:100%;padding:7px;background:#ece4cb;color:#202c25;border:1px solid #71816f;border-radius:3px}.request-status{font-size:12px;line-height:1.4;color:#ffe1a0}.tv-content small a{color:inherit;text-decoration:underline}

/* Over-the-top steam, confined behind the chamber glass. */
.is-steaming .steam{inset:4% 1% 0;opacity:1;filter:blur(3px);overflow:hidden}
.is-steaming .steam i{width:68%;height:130%;bottom:-32%;background:radial-gradient(ellipse at 50% 65%,#fffdf0e8 0%,#e4f0e6a8 28%,#e6eee16b 45%,transparent 68%);animation:pressure-cloud .66s ease-out infinite;mix-blend-mode:screen}
.is-steaming .steam i:nth-child(1){left:-18%;animation-delay:-.15s}
.is-steaming .steam i:nth-child(2){left:18%;animation-delay:-.4s}
.is-steaming .steam i:nth-child(3){left:48%;animation-delay:-.25s}
.is-steaming .steam i:nth-child(4){left:4%;width:90%;animation-delay:-.55s}
.is-steaming .steam:before,.is-steaming .steam:after{content:'';position:absolute;bottom:12%;width:75%;height:30%;background:radial-gradient(ellipse,#fffdf1dd,#e5eee88a 35%,transparent 70%);filter:blur(2px);transform-origin:0 50%;animation:steam-jet .22s ease-in-out infinite alternate}
.is-steaming .steam:before{left:-15%;transform:rotate(-26deg)}
.is-steaming .steam:after{right:-15%;transform:rotate(26deg);animation-delay:-.1s}
.is-steaming .chamber-light{opacity:1;background:radial-gradient(ellipse at 50% 85%,#d5fff29c,transparent 72%);animation:steam-glow .3s ease-in-out infinite alternate}
@keyframes pressure-cloud{0%{transform:translateY(18%) scale(.7) rotate(-7deg);opacity:0}18%{opacity:.95}70%{opacity:.8}100%{transform:translateY(-42%) scale(1.45) rotate(12deg);opacity:0}}
@keyframes steam-jet{from{opacity:.5;scale:.8 1}to{opacity:1;scale:1.2 1.4}}
@keyframes steam-glow{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.is-steaming .steam i,.is-steaming .steam:before,.is-steaming .steam:after,.is-steaming .chamber-light{animation:none!important;opacity:.65}}

/* Low-fi illuminated faces, without exterior glow rings. */
button{transition:filter .16s,transform .12s,background .16s}
button:hover{box-shadow:inset 0 1px 2px #ffffff18!important;filter:brightness(1.13)}
button:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #0008!important;filter:brightness(.9)}
#pressMachine .machine-start,#pressMachine .machine-order,#pressMachine .machine-order.ready{box-shadow:none!important;filter:none;transform:none;outline:none}
#pressMachine .machine-start:before,#pressMachine .machine-order:before{content:'';position:absolute;inset:0;border-radius:50%;background-image:url('assets/launch-yellow.png');background-size:3125% 1612.903%;background-position:73.45% 55.01%;clip-path:circle(35% at 50% 50%);transition:filter .16s,transform .12s;pointer-events:none}
#pressMachine .machine-order:before{background-position:77.686% 55.01%}
#pressMachine .machine-start:hover:before,#pressMachine .machine-order:hover:before{filter:brightness(1.4) saturate(1.12)}
#pressMachine .machine-start:active:before,#pressMachine .machine-order:active:before{transform:translateY(1.5px) scale(.94);filter:brightness(.84)}
#pressMachine .machine-start:focus-visible,#pressMachine .machine-order:focus-visible{outline:1px dashed #ead9ac;outline-offset:2px}
#pressMachine .machine-start:disabled:before,#pressMachine .machine-order:disabled:before{filter:none}

#pressMachine .arcade-press:before{animation:arcade-plunge .26s ease-out}@keyframes arcade-plunge{0%{transform:none}28%,55%{transform:translateY(1.8px) scale(.92);filter:brightness(.8)}100%{transform:none}}

/* A little classified from an interplanetary newspaper. */
.tee-gallery{color-scheme:light;width:min(940px,94vw);max-height:92dvh;overflow:auto;background-color:#e6dcc1;background-image:repeating-linear-gradient(0deg,#6e523009 0 1px,transparent 1px 4px),radial-gradient(ellipse at 10% 5%,#f5efd8,transparent 65%),radial-gradient(ellipse at 90% 95%,#a37a3b35,transparent 60%);color:#29291f;border:1px solid #69624b;border-radius:2px;padding:22px;box-shadow:0 12px 45px #000a,inset 0 0 40px #8c6b3933;font-family:Georgia,'Times New Roman',serif}
.tee-gallery[open]{grid-template-columns:1.15fr 1fr;gap:18px 24px}
.ad-masthead{grid-column:1/-1;text-align:center;border-top:3px double #39392b;border-bottom:5px double #39392b;padding:8px 34px 9px}
.ad-masthead>span{display:block;font:bold 12px ui-monospace,monospace;letter-spacing:.2em}
.ad-masthead>strong{display:block;font:900 clamp(26px,4.6vw,51px)/1.05 Georgia,serif;letter-spacing:-.055em}
.ad-masthead>div{border-top:1px solid #484735;margin-top:7px;padding-top:6px;font:9px ui-monospace,monospace;letter-spacing:.12em}
.tee-gallery .gallery-close{top:28px;right:26px;background:transparent;color:#333326;border:1px solid #585642;border-radius:0;padding:3px 8px;box-shadow:none}
.tee-gallery .shirt-photo{background:#f0e9d5;border:1px solid #5b5946;border-radius:0;min-height:0;align-self:start;box-shadow:3px 3px 0 #4b493033}
.tee-gallery .shirt-photo>#galleryBlank{mix-blend-mode:multiply}
.tee-gallery .gallery-controls{padding:4px 0 0 20px;border-left:1px solid #67624d;gap:12px;justify-content:flex-start}
.ad-kicker{font:bold 11px ui-monospace,monospace;letter-spacing:.16em;border-bottom:1px solid #55513e;padding-bottom:8px;margin:0}
.ad-headline{font:900 clamp(28px,4vw,44px)/.98 Georgia,serif;letter-spacing:-.045em;margin:0;text-transform:uppercase}
.tee-gallery #galleryLabel{font:bold 16px/1.2 Georgia,serif;margin:0;border-block:1px solid #6d674e;padding:9px 0}
.tee-gallery .design-color-note,.tee-gallery .gallery-controls small{color:#454533;font:13px/1.5 Georgia,serif;letter-spacing:0}
.tee-gallery .gallery-controls button{color:#29291f;background:transparent;border:1px solid #494936;border-radius:0;box-shadow:none;font:bold 10px ui-monospace,monospace;padding:10px}
.tee-gallery #galleryOrder{border:4px double #363728;font-size:12px;letter-spacing:.04em;background:#393b2a;color:#f1e8cd}
@media(max-width:650px){.tee-gallery{padding:14px}.ad-masthead{margin-bottom:14px}.tee-gallery .gallery-controls{border-left:0;padding:16px 0 0}.tee-gallery .shirt-photo{height:40dvh}.ad-headline{font-size:30px}.tee-gallery .gallery-close{top:17px;right:17px}}

/* Atomic-age print shop, aboard a future spacecraft. */
.ad-masthead{position:relative;color:#354f49;border-color:#526f63}
.ad-masthead>strong{font-family:'Arial Narrow',Impact,Haettenschweiler,sans-serif;font-stretch:condensed;letter-spacing:-.035em}
.ad-masthead>span{color:#943e32}.ad-masthead>div{border-color:#698577;color:#4c594b}
.ad-kicker{color:#963f32;border-color:#829183}.ad-headline{font-family:Futura,'Trebuchet MS',sans-serif;font-weight:900;line-height:1.02;color:#334e45;letter-spacing:-.055em}
.tee-gallery .shirt-photo:after{content:'✦ FABRICATED ON BOARD / PG–01';position:absolute;bottom:8px;left:10px;font:8px ui-monospace,monospace;letter-spacing:.08em;color:#4c6255;border-top:1px solid #829183;padding-top:5px;pointer-events:none}
.tee-gallery #galleryOrder{background:#587568;color:#fff0ce;border-color:#344e42;transform:rotate(-1deg)}
.tee-gallery .gallery-controls>small{border-top:3px double #8b5f45;padding-top:10px}
.tee-gallery .gallery-controls button:hover{background:#b9c7ae;filter:brightness(1.04)}

/* Portrait cockpit: same machine, closer view, controls within thumb reach. */
@media(max-width:650px){
  body { --phone-bar-height: 48px; }
  header, footer { height: var(--phone-bar-height); padding: 1px 6px; }
  header { display: flex; }
  header > div { display: none; }
  header nav {
    width: 100%;
    margin: 0;
    gap: 3px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 0;
  }
  header nav button {
    flex: 1 0 auto;
    min-height: 44px;
    padding: 0 5px;
    white-space: nowrap;
    font-size: 10px;
  }
  main { height: calc(100dvh - 2 * var(--phone-bar-height)); }
  footer { font-size: 10px; }
  footer button { min-height: 44px; padding: 0 7px; font-size: 10px; }
  #status { max-width: 42%; line-height: 1.25; }
 #launch{justify-content:center;overflow-y:auto;overflow-x:hidden;padding-bottom:78px}
 #pressMachine{width:190vw;max-width:none;margin-left:0;flex-shrink:0;align-self:center}
 #machineStatus{width:88vw;font-size:11px;line-height:1.5;margin:14px auto 0;align-self:center}
 #pressMachine .machine-start,#pressMachine .machine-order{position:absolute!important;top:105%!important;width:37vw!important;height:48px!important;border:3px ridge #7d8470!important;border-radius:9px!important;background:linear-gradient(#446d5c,#2c4b40)!important;color:#f2e7c9;box-shadow:inset 0 2px 2px #ffffff25,0 3px 0 #060c09!important;font-size:12px;letter-spacing:.04em}
 #pressMachine .machine-start{left:29%!important}#pressMachine .machine-order{left:51%!important;background:linear-gradient(#9b5140,#6d352c)!important}
 #pressMachine .machine-start:before,#pressMachine .machine-order:before{display:none}
 #pressMachine .machine-start:after{content:'PRINT START'}#pressMachine .machine-order:after{content:'CUSTOM TEES & ART'}
 #pressMachine .machine-start:active,#pressMachine .machine-order:active{transform:translateY(3px);filter:brightness(.85)}
 .tv-screen{position:fixed;inset:8px;width:calc(100vw - 16px);height:calc(100% - 16px);border-radius:18px;z-index:30;box-shadow:inset 0 0 20px #000b,0 0 0 5px #697b69}
 .tv-screen .tv-content{padding:32px 22px;font-size:16px}.tv-screen h2{font-size:24px}.tv-screen label{font-size:14px}.tv-screen input,.tv-screen textarea,.tv-screen select{font-size:16px;padding:10px}.tv-screen button{min-height:44px}.tv-row{flex-wrap:wrap}.tv-row label{width:100%}.tv-screen small{font-size:12px}
  .tee-gallery {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    padding: 10px;
  }
  .tee-gallery[open] { display: block; }
  .tee-gallery .ad-masthead {
    margin-bottom: 9px;
    padding: 5px 42px 7px 4px;
  }
  .ad-masthead > strong { font-size: clamp(22px, 7vw, 30px); }
  .ad-masthead > span { font-size: 8px; letter-spacing: .13em; }
  .ad-masthead > div { display: none; }
  .tee-gallery .gallery-close {
    top: 11px;
    right: 10px;
    width: 44px;
    height: 44px;
    margin: 0;
  }
  .tee-gallery .shirt-photo {
    width: min(100%, max(150px, calc((100dvh - 266px) * .8)));
    height: auto;
    aspect-ratio: 4 / 5;
    margin-inline: auto;
  }
  .tee-gallery .gallery-controls { gap: 6px; padding: 9px 0 0; }
  .tee-gallery .ad-headline,
  .tee-gallery .ad-kicker,
  .tee-gallery .gallery-controls > small { display: none; }
  .tee-gallery #galleryLabel { font-size: 15px; padding: 6px 0; }
  .tee-gallery .gallery-pagination { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .tee-gallery .gallery-controls button { min-height: 44px; margin: 0; padding: 6px; }
  .tee-gallery .design-color-note { margin: 0; font-size: 12px; line-height: 1.3; }
  .tee-gallery #galleryOrder { transform: none; }

}

@media(max-width:650px){#machineStatus{margin-top:78px}#launch{padding-bottom:20px}}

/* Phone view focuses on the central glass and collection bay. */
@media(max-width:650px){#pressMachine{width:280vw}#pressMachine .machine-start{left:35%!important}#pressMachine .machine-order{left:51%!important}#launch{padding-bottom:8px}#pressMachine .pgww-sticker{display:none}}

@media(max-width:650px){#machineStatus{position:absolute;bottom:8px;left:6vw;width:88vw;margin:0;font-size:10px}}

.portrait-panels{display:none}
@media(max-width:650px){
 #launch{justify-content:flex-start;padding:0 0 28px;overflow-y:auto}
 #pressMachine{width:250vw;margin:0;flex-shrink:0}
 .portrait-panels{display:flex;position:relative;width:88vw;height:190px;flex-shrink:0;gap:5px;margin:0 auto 8px;align-self:center}
 .portrait-gauges,.portrait-controls{height:100%;position:relative;background-image:url('assets/launch-yellow.png');background-repeat:no-repeat;border-radius:14px;box-shadow:0 3px 5px #0008}
 .portrait-gauges{width:44%;background-size:893% 160%;background-position:23.1% 53.7%}
 .portrait-controls{width:56%;background-size:685% 160%;background-position:80.2% 53.7%}
 #launch .portrait-controls .machine-start,#launch .portrait-controls .machine-order{position:absolute!important;top:49%!important;height:22%!important;width:30%!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:0}
 #launch .portrait-controls .machine-start{left:21%!important}#launch .portrait-controls .machine-order{left:60%!important}
 .portrait-controls .machine-start:after,.portrait-controls .machine-order:after{content:none!important}
 .portrait-controls .machine-start:hover,.portrait-controls .machine-order:hover{background:#e6ffc32b!important}
 .portrait-controls .machine-start:active,.portrait-controls .machine-order:active{transform:translateY(2px) scale(.93);background:#0003!important}
 #machineStatus{position:static;width:88vw;margin:5px auto 12px;align-self:center}
}

/* Align the original enamel shell and portrait faceplate below the pickup tray. */
@media (max-width: 650px) {
  #pressMachine .machine-plate {
    clip-path: inset(0 31.7% 8%);
  }
  #pressMachine .mint-side { display: none; }
  #launch .portrait-panels {
    width: 91.5vw;
    margin-top: -8.7vw;
    border-radius: 0 0 16px 16px;
    background-color: #b1985e;
    background-position: center bottom;
    box-shadow: 0 5px 7px #0008;
  }
  #launch .portrait-panels::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 5%;
    background:
      linear-gradient(to bottom, transparent 31%, #8c4c36 31% 44%, transparent 44% 60%, #657d69 60% 73%, transparent 73%) center / 91% 100% no-repeat,
      linear-gradient(90deg, #8f794c, #baa369 5%, #c4aa70 50%, #b29a63 95%, #8b7448);
    z-index: 1;
    pointer-events: none;
  }
}

@media (max-width: 650px) {
  body[data-station="home"] > header,
  body[data-station="home"] > footer { display: none; }
  body[data-station="home"] > main { height: 100dvh; }
}

/* The request screen is an inset instrument panel from the fabrication console. */
#pressMachine .tv-screen {
  border: 5px ridge #a69c7b;
  border-radius: 13px;
  background: #d6c39a;
  color: #302a1e;
  box-shadow: 0 0 0 3px #837a59, inset 0 0 16px #54402344;
  color-scheme: light;
}
#pressMachine .tv-content {
  background:
    linear-gradient(180deg, transparent 9px, #9d5a3d 9px 11px, transparent 11px 14px, #738974 14px 16px, transparent 16px),
    radial-gradient(ellipse at 45% 0, #f1e5c6, #cdb58a);
  padding-top: 24px;
}
#pressMachine .tv-content h2 {
  color: #332c20;
  font-family: 'Arial Narrow', 'Trebuchet MS', sans-serif;
  letter-spacing: .12em;
  font-weight: 900;
}
#pressMachine .tv-close {
  color: #fff1d2;
  background: #945440;
  border: 2px ridge #a89269;
}
#tvOrder .project-selector {
  display: grid;
  gap: 4px;
  min-inline-size: 0;
  margin: 8px 0;
  padding: 5px 7px 7px;
  border: 2px ridge #ada17e;
  border-radius: 6px;
  background: #9eaa91;
  box-shadow: inset 0 2px 5px #524e3933;
}
#tvOrder .project-selector legend {
  padding-inline: 6px;
  border: 1px solid #938260;
  border-radius: 2px;
  background: #e6d5ad;
  color: #332c20;
  font: 700 .84em/1.5 'Arial Narrow', 'Trebuchet MS', sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
}
#tvOrder .project-selector label {
  display: flex;
  align-items: center;
  gap: .65em;
  margin: 0;
  padding: .42em .6em;
  border: 1px solid #776c51;
  border-radius: 4px;
  background: linear-gradient(#e9dbb9, #d4c298);
  color: #322b1f;
  box-shadow: inset 0 1px #fff6dc, 0 1px 2px #463a2f55;
  cursor: pointer;
}
#tvOrder .project-selector input {
  appearance: none;
  flex: none;
  width: 14px;
  height: 14px;
  margin: 0;
  padding: 0;
  border: 2px ridge #9d8b68;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 35%, #8c997c, #4e5f4f);
  box-shadow: 0 1px 2px #423a30aa;
}
#tvOrder .project-selector label:has(:checked) {
  background: linear-gradient(#fff0c7, #edce8f);
  border-color: #906238;
}
#tvOrder .project-selector input:checked {
  background: radial-gradient(circle at 36% 35%, #fff6be, #f5af47 55%, #98501f);
  box-shadow: 0 0 6px #f5af4780;
}
#tvOrder .project-selector label:has(:focus-visible) { outline: 2px solid #694b29; }
#tvOrder input:not([type="radio"]), #tvOrder textarea {
  background: #f7ecd2;
  border-color: #8c7e5e;
  color: #302a1e;
  box-shadow: inset 0 1px 3px #5d4a2a22;
}
#tvOrder button[type="submit"] {
  background: linear-gradient(#647e69, #3b5747);
  border: 2px ridge #a98b5e;
  color: #fff0ca;
  letter-spacing: .06em;
}
#tvOrder small, #tvOrder .request-status { color: #453826; }
@media (max-width: 650px) {
  #tvOrder .project-selector label { min-height: 44px; }
}
@media (max-width: 650px) {
  #pressMachine:has(.tv-screen:not([hidden])) { z-index: 2; }
  #pressMachine .tv-screen {
    position: absolute;
    inset: 8px auto auto 50%;
    width: calc(100vw - 24px);
    height: min(149vw, calc(100dvh - 198px));
    transform: translateX(-50%);
  }
}

/* The station name and return control sit outside the printed advertisement. */
#station-sold-out {
  width: min(92vw, 465px, max(250px, calc((100dvh - 110px) * .8)));
  max-height: calc(100dvh - 24px);
  overflow: auto;
  padding: 0;
  border: 1px solid #876d47;
  border-radius: 3px;
  background: #eaddbe;
  color: #3c392c;
  box-shadow: 0 14px 50px #000a;
  color-scheme: light;
}
@media (min-width: 651px) {
  #station-sold-out {
    /* Preserve the full print and leave room for the station and return controls. */
    width: min(94vw, calc((100dvh - 120px) * .8));
  }
}
#station-sold-out::backdrop { background: #080f0dd4; }
.sold-out-station {
  margin: 0;
  padding: 6px 10px;
  text-align: center;
  color: #eadebe;
  background: #3c5849;
  font-weight: bold;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.sold-out-art { position: relative; margin: 0; }
.sold-out-poster { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; }
#station-sold-out form { display: flex; justify-content: center; padding: 5px; }
#station-sold-out button {
  min-height: 44px;
  padding: 7px 13px;
  border: 1px solid #736444;
  border-radius: 3px;
  background: #3c5849;
  color: #fff2ce;
}

#station-sold-out .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
