*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#091421;color:#fff1d5;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #49e3df;outline-offset:5px}button{border:0}button:disabled{cursor:wait;opacity:.65}.store{position:relative;min-height:760px;height:100svh;max-height:1200px;overflow:hidden;isolation:isolate}.world{position:absolute;width:max(100vw,177.8svh);height:max(56.25vw,100svh);left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1}.background,.counter{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.counter{z-index:3}.mo{position:absolute;width:32.3%;left:39.8%;top:27.6%;z-index:2;transform-origin:55% 94%}.idle{animation:breathe 5s ease-in-out infinite}.reaction{position:absolute;left:40%;top:27%;width:32%;aspect-ratio:1;background:url(assets/poses.webp) no-repeat;background-size:300% 200%;z-index:2;display:none;transform-origin:50% 95%}.world.reacting .mo{display:none}.world.reacting .reaction{display:block;animation:reactIn .22s ease-out}.sprite{position:absolute;background:url(assets/props.webp) no-repeat;background-size:300% 200%;aspect-ratio:1;z-index:4}.printer{width:18%;left:72%;top:62%}.cup{width:8%;left:49%;top:68%}.jar{width:7%;left:67%;top:76%}.window-rain{position:absolute;left:76%;top:12%;width:24%;height:62%;background:repeating-linear-gradient(105deg,transparent 0 43px,#99e8f622 44px 45px,transparent 46px 80px);animation:rain 1.2s linear infinite;opacity:.3}.neon{position:absolute;left:77%;top:25%;width:20%;height:45%;background:#ff647a;mix-blend-mode:screen;opacity:.03;animation:flicker 9s infinite}.steam{position:absolute;left:52%;top:64%;z-index:5;display:flex;gap:8px}.steam i{width:8px;height:50px;border-left:3px solid #fff1d57a;border-radius:50%;animation:steam 3s infinite}.steam i:nth-child(2){animation-delay:1s}.steam i:nth-child(3){animation-delay:2s}header{display:flex;align-items:center;gap:45px;padding:28px 6%;position:relative;z-index:8;background:linear-gradient(#081221b0,transparent)}.brand{text-decoration:none;font-weight:950;font-size:48px;letter-spacing:-4px;color:#fff1d5;line-height:.8}.brand span{display:block;font-size:9px;letter-spacing:1.6px;margin-top:10px}nav{display:flex;gap:30px}nav button,footer button{background:transparent;font-size:13px;text-transform:uppercase;font-weight:bold;letter-spacing:.7px}.token{margin-left:auto;background:#ff7871;color:#101927;border:3px solid #07121e;border-radius:14px;padding:15px 23px;font-weight:900}.hero{position:absolute;left:7%;top:17%;width:45%;z-index:6}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;color:#67e1da}h1{font-size:clamp(48px,5.4vw,90px);font-weight:950;line-height:.98;letter-spacing:-3px;margin:18px 0;text-shadow:3px 4px #081221}h1 span{font-size:.72em}p{line-height:1.5}.hero p{font-size:clamp(16px,1.7vw,26px);text-shadow:2px 2px #081221}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.primary,.outline{padding:16px 22px;border-radius:12px;font-weight:900;text-transform:uppercase;font-size:13px;box-shadow:0 4px #07121e}.primary{background:#ff7770;color:#101927;border:2px solid #091522}.outline{background:#0c1c28dd;border:2px solid #fff1d5}.spot{position:absolute;z-index:7;background:#091924e8;border:2px solid #fff1d5;border-radius:40px;padding:10px 18px;text-transform:uppercase;font-size:12px;font-weight:bold;box-shadow:0 3px #06101a}.spot b{display:inline-block;width:9px;height:9px;background:#46e4da;border-radius:50%;margin-right:9px;box-shadow:0 0 10px #46e4da}.coffee{left:15%;top:59%}.possum{left:60%;top:44%}.receipts{right:12%;top:61%}.cctv{right:16%;top:17%}.bubble{position:absolute;z-index:7;left:52%;top:24%;max-width:250px;background:#fff1d5;color:#172633;border:3px solid #091522;border-radius:16px;padding:13px 18px;font-size:14px;font-weight:bold;opacity:0;transform:translateY(6px);transition:.2s}.bubble.show{opacity:1;transform:none}footer{position:absolute;bottom:0;left:0;right:0;height:76px;background:#0a303ee8;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-top:3px solid #081221;z-index:9}.dead-button{display:flex;align-items:center;gap:20px}.dead-button img{width:160px}footer>div{display:flex;gap:16px}.mobile,.mobile-nav{display:none}.exploring .hero{opacity:0;pointer-events:none;transform:translateY(-10px)}.hero{transition:opacity .4s,transform .4s}.exploring .spot{border-color:#52ddd5}.paused *{animation-play-state:paused!important}dialog{border:2px solid #6aa4ac;border-radius:20px;background:#0e2330;color:#fff1d5;width:min(1080px,94vw);max-height:90svh;padding:40px;box-shadow:0 20px 100px #000a}dialog::backdrop{background:#06111cba;backdrop-filter:blur(7px)}.close{position:absolute;right:12px;top:10px;background:#203e49;border-radius:50%;width:34px;height:34px;font-size:24px}.receipt-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px}h2{font-size:45px;line-height:1;margin:15px 0}label{display:block;font-size:13px;font-weight:bold;margin:18px 0}input:not([type=radio]),textarea{width:100%;padding:12px;margin-top:8px;background:#091823;border:1px solid #76929a;border-radius:8px;color:#fff1d5}textarea{resize:vertical;min-height:80px}fieldset{border:0;padding:0;margin:18px 0}legend{font-size:13px;font-weight:bold}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips label{background:#1c3b47;padding:10px;border-radius:8px;margin:8px 0;font-size:11px}.faces{display:flex;gap:8px;margin-top:10px}.faces button{width:65px;aspect-ratio:1;background-image:url(assets/heads.webp);background-size:300% 200%;border:2px solid transparent;border-radius:8px;background-color:#153844}.faces button[aria-pressed=true]{border-color:#ff7871}.fine{font-size:11px;color:#b3c5ca}.print{width:100%}.printer-preview{position:relative;text-align:center;padding-top:15px;overflow:hidden}.printer-slot{height:32px;background:#071018;border:7px solid #2e424a;border-radius:9px}.paper{position:relative;width:88%;margin:-4px auto 0;background:#fff0cf;color:#19252d;padding:26px 22px;text-align:center;font-family:monospace;box-shadow:0 9px 25px #0005;clip-path:polygon(0 0,100% 0,100% 98%,97% 100%,94% 98%,91% 100%,88% 98%,85% 100%,82% 98%,79% 100%,76% 98%,73% 100%,70% 98%,67% 100%,64% 98%,61% 100%,58% 98%,55% 100%,52% 98%,49% 100%,46% 98%,43% 100%,40% 98%,37% 100%,34% 98%,31% 100%,28% 98%,25% 100%,22% 98%,19% 100%,16% 98%,13% 100%,10% 98%,7% 100%,4% 98%,0 100%)}.paper h3{font-size:19px;margin:0}.paper h4{font-size:23px;overflow-wrap:anywhere;margin:20px 0}.paper p{font-size:11px}.paper hr{border:0;border-top:1px dashed #293c44}.face-stamp{width:85px;height:85px;margin:auto;background:url(assets/heads.webp);background-size:300% 200%}.barcode{height:30px;margin:16px 0;background:repeating-linear-gradient(90deg,#172633 0 2px,transparent 2px 4px,#172633 4px 5px,transparent 5px 9px)}.export{display:flex;justify-content:center;gap:8px;margin-top:20px}.export button,.simple button{padding:12px;background:#254650;border-radius:8px;font-size:12px}.printing{animation:feed .9s ease-out}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.meme{background:#fff1d5;color:#142732;border-radius:12px;padding:12px;text-align:center}.meme .art{aspect-ratio:1;background-image:url(assets/poses.webp);background-size:300% 200%;background-color:#15323f}.meme button{background:#ff7871;color:#112535;border-radius:7px;padding:10px}.simple{padding:15px}.simple p{max-width:650px}.toast{color:#68e2d7}.camera{background:#06231e;color:#76ffc6;border:8px solid #203e44;border-radius:12px;padding:35px;font:16px monospace}.camera img{width:100%;max-height:260px;object-fit:contain}.token-address{padding:15px;background:#09202b;border-radius:8px;font-family:monospace}
@keyframes breathe{50%{transform:translateY(3px) rotate(.2deg)}}@keyframes steam{0%{opacity:0;transform:translateY(10px)}50%{opacity:.5}100%{opacity:0;transform:translateY(-25px)}}@keyframes rain{to{background-position:-30px 65px}}@keyframes flicker{0%,96%,100%{opacity:.025}97%,99%{opacity:.1}98%{opacity:0}}@keyframes reactIn{from{opacity:0;transform:translateY(6px)}}@keyframes feed{from{transform:translateY(-70%);opacity:.2}to{transform:none;opacity:1}}
@media(max-width:900px){.store{min-height:820px;height:calc(100svh - 62px);max-height:none}.world{width:1450px;height:816px;top:auto;bottom:26px;transform:translateX(-57%)}header{padding:22px 6%;gap:15px}.brand{font-size:38px}nav{display:none}.token{padding:10px;font-size:11px}.hero{top:115px;left:7%;width:86%}.eyebrow{font-size:9px}h1{font-size:52px;letter-spacing:-2px;margin:12px 0}.hero p{font-size:16px}.hero .actions{margin-top:15px}.actions button{font-size:10px;padding:12px}.mobile{display:block}.hotspots .coffee{left:7%;top:61%}.hotspots .possum{left:67%;top:58%}.hotspots .receipts{right:5%;top:76%}.cctv{display:none}.bubble{left:35%;top:49%;font-size:12px;max-width:210px}footer{height:58px;padding:0 4%}.dead-button img{width:78px}.dead-button{font-size:8px;gap:6px}footer>div{gap:6px}footer button{font-size:9px;letter-spacing:0}.mobile-nav{display:flex;justify-content:space-around;position:sticky;bottom:0;height:62px;background:#092430;border-top:1px solid #476c77;z-index:15}.mobile-nav button{background:none;font-size:12px;font-weight:bold}.receipt-layout{grid-template-columns:1fr;gap:20px}dialog{padding:35px 20px}.gallery{grid-template-columns:repeat(2,1fr)}h2{font-size:35px}.exploring .world{transform:translateX(-57%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Pixel-registered layers use the original 1350 x 1165 artwork. */
.tail-layer{transform-box:view-box;transform-origin:395px 1055px;animation:tailSway 7.7s ease-in-out infinite}.blink-lids{pointer-events:none}.idle{animation:quietBreath 5.6s ease-in-out infinite}@keyframes quietBreath{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(1.5px) rotate(.12deg)}}@keyframes tailSway{0%,100%{transform:rotate(0)}48%{transform:rotate(-.7deg)}65%{transform:rotate(.25deg)}}

/* More readable tail motion and a brief irregular ear flick. */
.tail-layer{animation:tailSwayReadable 6.8s ease-in-out infinite}.ear-layer{transform-box:view-box;transform-origin:870px 270px;animation:earTwitch 9.7s linear infinite}@keyframes tailSwayReadable{0%,100%{transform:rotate(0)}35%{transform:rotate(-3.4deg)}58%{transform:rotate(1.4deg)}78%{transform:rotate(-1deg)}}@keyframes earTwitch{0%,68%,74%,100%{transform:rotate(0)}69%{transform:rotate(-4deg)}70%{transform:rotate(2deg)}71%{transform:rotate(-2.5deg)}72%{transform:rotate(1deg)}}

/* Coffee uses moving parts on the existing MO, not whole-body sprite swaps. */
.coffee-layers{display:none}.coffee-active .coffee-layers{display:block}.coffee-active .mo{animation:none}.coffee-active .cup,.coffee-active .steam{opacity:0}.pour-arm{transform-box:view-box;transform-origin:720px 935px;opacity:0}.sip-arm{transform-box:view-box;transform-origin:720px 970px;opacity:0}.coffee-stream{opacity:0;stroke-dasharray:150;stroke-dashoffset:150}.coffee-active .pour-arm{animation:pourCoffee 8s both}.coffee-active .sip-arm{animation:sipCoffee 8s both}.coffee-active .coffee-stream{animation:pourStream 8s both}.coffee-active .coffee-alert-eyes{animation:coffeeEyes 8s both}.coffee-active #mo{animation:coffeeBody 8s both}@keyframes pourCoffee{0%,4%{opacity:0;transform:translate(65px,70px) rotate(8deg)}10%{opacity:1;transform:translate(0,0) rotate(0)}18%,32%{opacity:1;transform:translate(10px,-20px) rotate(13deg)}42%{opacity:1;transform:translate(40px,40px) rotate(0)}48%,100%{opacity:0;transform:translate(65px,70px)}}@keyframes sipCoffee{0%,7%{opacity:0;transform:translateY(60px)}12%,38%{opacity:1;transform:translateY(0)}49%,57%{opacity:1;transform:translate(-65px,-230px) rotate(-8deg)}67%{opacity:1;transform:translateY(0)}75%,100%{opacity:0;transform:translateY(60px)}}@keyframes pourStream{0%,19%{opacity:0;stroke-dashoffset:150}23%,31%{opacity:1;stroke-dashoffset:0}34%,100%{opacity:0;stroke-dashoffset:0}}@keyframes coffeeEyes{0%,59%,83%,100%{opacity:0}63%,77%{opacity:1}}@keyframes coffeeBody{0%,55%,100%{transform:translateY(0) rotate(0)}64%,76%{transform:translateY(-7px) rotate(-.6deg)}87%,94%{transform:translateY(6px) rotate(.4deg)}}

/* Recording-driven correction: one moving arm, mouth-aligned cup, clear hotspots. */
.coffee-base{display:none}.coffee-active .coffee-base{display:block}.coffee-active #mo>image:not(.coffee-base){opacity:0}.coffee-active .blink-lids{opacity:0!important}.coffee-active .tail-layer,.coffee-active .ear-layer{animation:none}.coffee-active .pour-arm{animation:pourCoffeeFixed 8s both}.coffee-active .sip-arm{animation:sipCoffeeFixed 8s both}.coffee-active .coffee-stream{animation:pourStreamFixed 8s both}.coffee-active .coffee-alert-eyes{display:none}.coffee-active #mo{animation:coffeeBody 8s both}.pour-arm,.sip-arm{transform-origin:1000px 800px}@keyframes pourCoffeeFixed{0%,4%{opacity:0;transform:translate(25px,60px)}10%,16%{opacity:1;transform:translate(0,0) rotate(0)}20%,30%{opacity:1;transform:translate(-20px,10px) rotate(10deg)}36%{opacity:1;transform:translate(0,20px) rotate(0)}40%,100%{opacity:0;transform:translate(25px,60px)}}@keyframes sipCoffeeFixed{0%,39%{opacity:0;transform:translate(0,110px)}43%{opacity:1;transform:translate(0,0)}51%,59%{opacity:1;transform:translate(-220px,-205px) rotate(-3deg)}68%,76%{opacity:1;transform:translate(0,100px)}83%,100%{opacity:0;transform:translate(0,130px)}}@keyframes pourStreamFixed{0%,20%{opacity:0;stroke-dashoffset:150}24%,29%{opacity:1;stroke-dashoffset:0}32%,100%{opacity:0;stroke-dashoffset:0}}
@media(min-width:901px){.store{min-height:0;height:100svh;max-height:none}.world{width:max(100vw,177.8svh);height:max(56.25vw,100svh)}.coffee{left:9%;top:67%}.possum{left:69%;top:47%}.hero{top:18%}.hero .actions{margin-top:20px}.cctv{right:14%;top:20%}}
@media(max-width:900px){.hotspots .possum{left:auto;right:5%;top:66%}}

.pour-target-cup{animation:targetCup 8s both}@keyframes targetCup{0%,36%{opacity:1}40%,100%{opacity:0}}

/* Replace detached arm rig with complete, anatomically coherent drawings. */
.coffee-sequence{position:absolute;left:39.8%;top:27.6%;width:32.3%;height:auto;aspect-ratio:1.159;z-index:2;display:none}.coffee-active .coffee-sequence{display:block}.coffee-active #mo{visibility:hidden}.coffee-active .cup,.coffee-active .steam{opacity:0}.coffee-active .coffee-sequence{animation:none}

.coffee-sequence{overflow:visible}

.print-theater{position:relative;background:#09202b;border:2px solid #345e68;border-radius:14px;padding:10px;margin-bottom:12px;overflow:hidden}.operator-frames{width:100%;aspect-ratio:1;background:url(assets/mo-printer-sequence.webp) no-repeat;background-size:500% 200%;background-position:0 0}.feed-closeup{position:absolute;right:8px;bottom:38px;width:30%;background:#123340;border:2px solid #4f8790;border-radius:10px;box-shadow:0 3px 12px #0007}.feed-closeup>span{font:8px monospace;letter-spacing:1px}.feed-frames{aspect-ratio:1;background:url(assets/printer-feed-sequence.webp) no-repeat;background-size:500% 200%;background-position:0 0}.print-stage-status{font-size:11px!important;margin:5px 0;color:#6de7df}.replay-print{padding:8px 14px;background:#284956;border-radius:7px;font-size:11px;margin-bottom:16px}.printer-preview .paper{margin-top:-4px}.printer-preview .printing{animation:feed 1.8s ease-out}

.hero-printer-sequence{position:absolute;left:38.5%;top:27%;width:43%;aspect-ratio:1;background:url(assets/mo-printer-sequence.webp) no-repeat;background-size:500% 200%;z-index:4;display:none}.hero-feed-sequence{position:absolute;left:68.5%;top:59%;width:14%;aspect-ratio:1;background:url(assets/printer-feed-sequence.webp) no-repeat;background-size:500% 200%;z-index:5;display:none}.hero-printing #mo,.hero-printing .reaction,.hero-printing .printer,.hero-printing .cup,.hero-printing .steam{visibility:hidden}.hero-printing .hero-printer-sequence{display:block}.hero-printing.feeding .hero-feed-sequence{display:block}

.hero-printer-sequence{z-index:2;top:24%;width:40%}.hero-printing .hero-feed-sequence{display:block}

/* Fixed scene-space rig: the original printer stays in place throughout. */
.hero-print-rig{position:absolute;inset:0;width:100%;height:100%;z-index:5;display:none;overflow:visible;pointer-events:none}.printer-clean-torso{display:none}.hero-printing .hero-print-rig{display:block}.hero-printing #mo,.hero-printing .printer,.hero-printing .cup,.hero-printing .steam{visibility:visible}.hero-printing .printer-clean-torso{display:block}.hero-printing #mo{animation:none}.hero-printing .hero-printer-sequence,.hero-printing .hero-feed-sequence{display:none!important}.hero-printing .ear-layer,.hero-printing .tail-layer{animation:none}.hero-printing .blink-lids{opacity:0!important}

.hero-printing .moving-arm-mask{fill:black}

/* Drawn complete poses, using the same approach as coffee. */
.hero-touch-poses{position:absolute;left:43%;top:27%;width:29.5%;aspect-ratio:1;z-index:2;overflow:visible;display:none}.hero-paper-feed{position:absolute;inset:0;width:100%;height:100%;z-index:5;display:none;pointer-events:none}.hero-printing #mo{visibility:hidden!important}.hero-printing .hero-touch-poses,.hero-printing .hero-paper-feed{display:block}.hero-printing .printer{visibility:visible!important}

.finished-receipt{position:absolute;z-index:12;right:13%;bottom:14%;width:155px;min-height:95px;background:#fff0cf;color:#172633;border:2px solid #172633;box-shadow:0 6px 14px #0005;padding:15px;font:700 14px monospace;transform:rotate(-3deg)}.finished-receipt small{font-size:10px;line-height:2}.receipt-ready .hero-paper-feed{display:block}.finished-receipt[hidden]{display:none}@media(max-width:900px){.finished-receipt{right:5%;bottom:11%;width:125px;font-size:12px}}

/* Mobile counter composition: MO and printer share the same scene transform. */
@media(max-width:900px){
body{overflow-x:hidden}.store{height:calc(100svh - 68px - env(safe-area-inset-bottom));min-height:740px;max-height:none}
.world{width:max(600px,180vw);height:max(337.5px,101.25vw);left:50%;top:auto;bottom:58px;transform:translateX(-64%)}.exploring .world{transform:translateX(-64%)}
header{padding:20px 6%}.brand{font-size:36px}.token{min-height:44px;padding:11px 13px}.hero{top:110px;left:6%;width:88%}.hero h1{font-size:clamp(40px,11.2vw,55px);line-height:1.02;letter-spacing:-1.8px}.hero h1 span{font-size:.74em}.hero p{font-size:16px;margin:14px 0}.hero .actions{gap:9px;margin-top:15px}.hero .actions button{min-height:46px;padding:12px 15px;font-size:11px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}
.hotspots{display:none}.bubble{left:22%;right:6%;top:auto;bottom:395px;max-width:290px;font-size:12px;padding:11px 14px}.exploring .hero{opacity:1;transform:none;pointer-events:auto}.exploring .hero .eyebrow{color:#ff8c80}
footer{height:58px;gap:8px;padding:0 4%}.dead-button{max-width:62%;font-size:8px}.dead-button img{width:75px;flex-shrink:0}footer>div{gap:5px}footer>div button{min-height:44px;padding:6px 3px;font-size:8px}
.mobile-nav{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);align-items:stretch;gap:0}.mobile-nav button{min-height:48px;flex:1;padding:10px 2px;font-size:10px}.mobile-nav button:disabled{opacity:.5}
.finished-receipt{right:6%;bottom:112px;width:135px;min-height:88px;font-size:12px}.finished-receipt small{font-size:10px}
dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);margin:auto;padding:38px 18px 22px;border-radius:16px}.close{width:44px;height:44px;top:5px;right:6px}.receipt-layout{display:flex;flex-direction:column;gap:24px}.receipt-layout h2{font-size:36px}.receipt-layout input:not([type=radio]),.receipt-layout textarea{font-size:16px;min-height:48px}.chips{gap:6px}.chips label{min-height:44px;display:flex;align-items:center;font-size:10px;padding:9px}.faces{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.faces button{width:100%;max-width:90px;min-height:60px;justify-self:center}.print{min-height:50px}.export{flex-wrap:wrap}.export button{min-height:46px;flex:1;padding:13px;font-size:12px}.paper{width:92%;padding:25px 18px}.paper h4{font-size:22px}.print-theater{max-width:360px;margin:0 auto 12px}.fine{font-size:12px;line-height:1.5}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meme{padding:9px}.meme h3{font-size:13px}.meme button{min-height:44px;font-size:11px}
}
@media(max-width:360px){.hero{top:102px}.hero h1{font-size:39px}.hero p{font-size:14px}.hero .actions button{font-size:10px;padding:11px}.token{font-size:10px}.dead-button img{width:58px}}
@media(max-height:500px) and (max-width:900px) and (orientation:landscape){.store{height:700px;min-height:700px}.world{width:1244px;height:700px}.mobile-nav{position:sticky}}
.security h2{font-size:clamp(27px,5vw,48px);line-height:1;margin:14px 0 24px}.cctv-screen{position:relative;aspect-ratio:16/9;background:#020708;border:6px solid #28474c;border-radius:12px;overflow:hidden}.cctv-screen video{width:100%;height:100%;object-fit:contain;display:block}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#00110c22 3px 4px)}.feed-top,.feed-bottom{position:absolute;left:12px;right:12px;font:clamp(9px,1.4vw,12px) monospace;color:#c7ffe4;text-shadow:0 1px 4px #000,1px 0 3px #000;pointer-events:none}.feed-top{top:12px;display:flex;justify-content:space-between;gap:10px}.feed-bottom{bottom:12px}.rec-dot{color:#ff7770;white-space:nowrap}.cctv-controls{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 24px}.cctv-controls button{background:#25454f;padding:12px 14px;border-radius:7px;min-height:44px}.cctv-controls #camera-next{background:#ff7871;color:#112535;margin-left:auto;font-weight:bold}.camera-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.camera-list button{padding:4px;background:#122d38;border:2px solid transparent;border-radius:8px;overflow:hidden;text-align:left}.camera-list button[aria-pressed=true]{border-color:#67e1da;background:#20494e}.camera-list img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px}.camera-list span{display:block;padding:7px 3px;font:10px monospace;line-height:1.5}#feed-status{font:12px monospace;color:#67e1da}@media(max-width:600px){.camera-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cctv-controls button{flex:1;font-size:12px;padding:10px}.cctv-controls #camera-next{flex-basis:100%}.feed-top,.feed-bottom{left:7px;right:7px}.security h2{margin-top:8px}.cctv-screen{border-width:3px}}

.store-monitor{position:absolute;left:63.1579%;top:8.7141%;width:9.6292%;height:15.7279%;z-index:1;pointer-events:none;overflow:visible}.monitor-plane{position:absolute;width:161px;height:148px;transform-origin:0 0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;padding:1px;background:#05111c;filter:brightness(.78) saturate(.72) contrast(1.1);will-change:transform}.monitor-feed{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}.monitor-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 2px,#001d2e55 2px 3px);box-shadow:inset 0 0 12px #2bcbef40}
.monitor-hit{position:absolute;z-index:7;background:transparent;clip-path:polygon(0 20%,95% 0,100% 85%,2% 100%);border-radius:0;min-width:44px;min-height:44px}.monitor-hit:hover{background:#82f6f526;box-shadow:inset 0 0 14px #8fffff80}.monitor-hit:focus-visible{background:#82f6f54a;outline:3px solid #7ef5e6;outline-offset:-3px}.monitor-dialog{width:min(1120px,96vw);max-width:none;max-height:94dvh;padding:30px;background:#081820;border:3px solid #35565e;transform-origin:center}.security-heading h2{font-size:clamp(24px,4vw,40px);margin:12px 0}.security-heading p{font-size:13px;color:#8cb7bc}.camera-wall{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:#02080c;border:5px solid #28434a;border-radius:12px;overflow:hidden}.wall-feed{position:relative;aspect-ratio:16/9;overflow:hidden;background:#010507}.wall-feed video{width:100%;height:100%;object-fit:contain;display:block}.expand-feed{position:absolute;inset:0;background:transparent;padding:0;text-align:left}.wall-label{position:absolute;top:10px;left:10px;right:48px;color:#c5ffe8;font:clamp(8px,1vw,12px) monospace;text-shadow:1px 2px 3px #000}.wall-expand{position:absolute;right:9px;top:7px;font-size:24px;text-shadow:0 2px 4px #000}.expand-feed:hover{box-shadow:inset 0 0 0 2px #67e1da}.wall-rec{position:absolute;bottom:9px;left:10px;color:#ff8a81;font:10px monospace;pointer-events:none;text-shadow:0 2px 3px #000}.wall-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.wall-controls button{background:#25454f;border-radius:7px;min-height:44px;padding:10px 16px}.wall-controls #wall-back{background:#ff7871;color:#10222a}.wall-controls span{font:11px monospace;color:#7ec9c3;margin-left:auto}.single-feed .security-heading{display:none}.single-feed .camera-wall{grid-template-columns:1fr;border:0;padding:0}.single-feed .wall-feed:not(.selected){display:none}.single-feed .wall-feed.selected{aspect-ratio:auto;height:calc(88dvh - 120px)}.single-feed .expand-feed{pointer-events:none}.monitor-dialog:has(.single-feed){width:98vw;max-height:98dvh;padding:38px 12px 12px}.single-feed .wall-expand{display:none}@media(max-width:600px){.monitor-dialog{padding:38px 10px 16px}.camera-wall{gap:3px;padding:3px;border-width:3px}.wall-label{top:5px;left:5px;right:20px;font-size:8px}.wall-expand{font-size:18px;right:4px;top:2px}.wall-rec{font-size:8px;bottom:5px;left:5px}.wall-controls span{width:100%;margin:4px 0}.wall-controls button{font-size:12px;flex:1}.single-feed .wall-feed.selected{height:calc(85dvh - 120px)}}
.monitor-hit{clip-path:none;border-radius:16px;min-width:100px;min-height:100px;cursor:zoom-in;background:transparent}.monitor-hit:hover{background:#78eee80a;box-shadow:inset 0 0 25px #7ae7ee22}.monitor-invite{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);white-space:nowrap;padding:6px 9px;border:1px solid #78e6dc77;border-radius:5px;background:#071d2de6;color:#a0f6e8;font:bold 9px monospace;letter-spacing:1px;opacity:.75;transition:opacity .2s,transform .2s;box-shadow:0 2px 12px #0008}.monitor-hit:hover .monitor-invite,.monitor-hit:focus-visible .monitor-invite{opacity:1;transform:translateX(-50%) scale(1.08)}.pov-tunnel{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#06101c;pointer-events:all}.pov-scene{position:absolute;inset:0;will-change:transform,filter}.pov-tunnel .monitor-invite{display:none}.entering-monitor{overflow:hidden}.monitor-dialog{width:98vw;max-height:98dvh;padding:36px 14px 14px}.security-wall .security-heading h2{display:none}.security-wall .security-heading p{margin:8px 0 12px}.security-wall .camera-wall{max-height:calc(88dvh - 100px)}.security-wall .wall-feed{aspect-ratio:16/9;max-height:calc((88dvh - 114px)/2)}.security-wall.single-feed .wall-feed.selected{max-height:none;height:calc(88dvh - 120px)}@media(max-width:600px){.monitor-invite{font-size:8px}.monitor-dialog{padding:38px 8px 12px}.security-wall .camera-wall{max-height:none}.security-wall .wall-feed{max-height:none}}
/* Register the printer poses to the idle head; isolate each sheet cell. */
.hero-touch-poses{left:45.309%;top:24.421%;width:28.9416%;overflow:hidden}.hero-printing #mo{transform:none!important}
