.particles-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:auto}.particles-container canvas{display:block;width:100%;height:100%}.interactive-logo{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;filter:drop-shadow(0 0 8px rgba(120,255,85,.12)) drop-shadow(0 10px 18px rgba(0,0,0,.3));transition:filter .18s ease,transform .18s ease}.interactive-logo svg{display:block;width:100%;height:100%;overflow:visible}.logo-shell{fill:#050505;stroke:#f5f5f0;stroke-opacity:.86;stroke-width:3;transition:stroke-opacity .18s ease}.logo-status-rail,.logo-scan{fill:none;stroke:#78ff55;stroke-linecap:round}.logo-status-rail{stroke-opacity:.48;stroke-width:3}.logo-screen{fill:#0f100e;stroke:#f5f5f0;stroke-opacity:.66;stroke-width:2.5}.logo-signal{fill:#78ff55;transform-origin:47px 35px;animation:logoSignalIdle 3.4s ease-in-out infinite;transition:opacity .18s ease,transform .18s ease,fill .18s ease}.logo-expression{transform-origin:56px 36px;transition:transform .18s ease}.logo-scan{stroke-width:3;stroke-dasharray:8 10;stroke-dashoffset:0;transition:stroke-dashoffset .26s ease}.logo-mouth{transform-origin:65px 35px;animation:logoBlink 4.8s steps(1) infinite;transition:opacity .18s ease,transform .18s ease,stroke .18s ease}.logo-expression-scan{fill:none;stroke:#78ff55;stroke-linecap:round;stroke-width:1.6;stroke-opacity:0;stroke-dasharray:10 18;transform-origin:50px 43px}.logo-coin-slot,.logo-plate,.logo-floor{fill:none;stroke:#f5f5f0;stroke-linecap:round}.logo-coin-slot{stroke-opacity:.66;stroke-width:2.5}.logo-dispense{fill:none;stroke:#4d8fa8;stroke-linecap:round;stroke-width:7;transition:stroke .18s ease,stroke-width .18s ease}.logo-alert{fill:#ff7a18;fill-opacity:.84;transform-origin:75px 74px;transition:fill-opacity .18s ease,transform .18s ease}.logo-plate{stroke-opacity:.42;stroke-width:2}.logo-floor{stroke-opacity:.18;stroke-width:2}.logo-symbols{pointer-events:none}.logo-heart,.logo-tear,.logo-blush,.logo-zzz,.logo-wave,.logo-sparkle,.logo-smoke{opacity:0;transform-box:fill-box}.logo-wave{fill:none;stroke:#78ff55;stroke-linecap:round;stroke-width:2;transform-origin:28px 27px;filter:drop-shadow(0 0 5px rgba(120,255,85,.38))}.logo-question{fill:#d8d2c5;font:900 15px/1 IBM Plex Mono,ui-monospace,monospace;filter:drop-shadow(0 0 5px rgba(216,210,197,.38))}.logo-question text{opacity:0;transform-box:fill-box;transform-origin:center}.logo-heart{fill:#ff8aa0;transform-origin:center;filter:drop-shadow(0 0 6px rgba(255,122,138,.62))}.logo-heart-b{fill-opacity:.82}.logo-tear{fill:#6eb8d4;transform-origin:47px 39px;filter:drop-shadow(0 0 6px rgba(77,143,168,.58))}.logo-blush{fill:none;stroke:#ff8aa0;stroke-linecap:round;stroke-width:3;transform-origin:54px 42px;filter:drop-shadow(0 0 5px rgba(255,122,138,.54))}.logo-zzz{fill:#d8d2c5;font:800 14px/1 IBM Plex Mono,ui-monospace,monospace;letter-spacing:0;transform-origin:84px 16px;filter:drop-shadow(0 0 5px rgba(216,210,197,.36))}.logo-sparkle{fill:#ffd36a;transform-origin:84px 28px;filter:drop-shadow(0 0 6px rgba(255,211,106,.62))}.logo-smoke{fill:none;stroke:#a6a69c;stroke-linecap:round;stroke-width:2.3;transform-origin:82px 26px;filter:drop-shadow(0 0 5px rgba(166,166,156,.32))}.logo-smoke path{opacity:0;transform-box:fill-box;transform-origin:center}.logo-shockwave{fill:none;stroke:#78ff55;stroke-opacity:0;stroke-width:2;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 8px rgba(120,255,85,.45))}.logo-output{position:absolute;left:49%;bottom:15%;width:18%;height:3px;border-radius:999px;background:#4d8fa8;box-shadow:0 0 12px #4d8fa8b3;opacity:0;transform:translate(-50%) scaleX(.4);transform-origin:center}.interactive-logo:hover,.interactive-logo:focus-visible{filter:drop-shadow(0 0 16px rgba(120,255,85,.24)) drop-shadow(0 12px 22px rgba(0,0,0,.38))}.interactive-logo:hover .logo-shell,.interactive-logo:focus-visible .logo-shell{stroke-opacity:1}.interactive-logo:hover .logo-scan,.interactive-logo:focus-visible .logo-scan{stroke-dashoffset:-14}.interactive-logo:hover .logo-expression,.interactive-logo:focus-visible .logo-expression{animation:logoInspect .52s cubic-bezier(.2,.8,.2,1) both}.interactive-logo:hover .logo-expression-scan,.interactive-logo:focus-visible .logo-expression-scan{opacity:1;animation:logoInspectScan .68s ease-out infinite}.interactive-logo:hover .logo-dispense,.interactive-logo:focus-visible .logo-dispense{stroke:#6eb8d4;stroke-width:8}.interactive-logo:focus-visible{outline:1px solid rgba(120,255,85,.72);outline-offset:5px;border-radius:14px}.interactive-logo:active{transform:translateY(1px) scale(.98)}.interactive-logo.is-single-pulse{animation:logoMachinePulse .52s cubic-bezier(.2,.8,.2,1)}.interactive-logo.is-single-pulse .logo-output{animation:logoDispenseFlash .52s cubic-bezier(.2,.8,.2,1)}.interactive-logo.is-single-pulse .logo-status-rail{animation:logoStatusFlash .52s cubic-bezier(.2,.8,.2,1)}.interactive-logo.is-single-pulse .logo-expression{animation:logoDispenseExpression .52s cubic-bezier(.2,.8,.2,1)}.interactive-logo.is-single-pulse .logo-mouth,.interactive-logo.is-triple-burst .logo-mouth{animation:none}.interactive-logo.is-double-switch .logo-expression{animation:logoDoubleSwitch .46s cubic-bezier(.2,.8,.2,1)}.interactive-logo.is-triple-burst{animation:logoTripleBurst 1.25s cubic-bezier(.18,.86,.18,1)}.interactive-logo.is-triple-burst .logo-shell,.interactive-logo.is-triple-burst .logo-status-rail{animation:logoOverloadFlash 1.25s steps(6)}.interactive-logo.is-triple-burst .logo-expression{animation:logoOverloadExpression 1.25s cubic-bezier(.18,.86,.18,1)}.interactive-logo.is-triple-burst .logo-screen{animation:logoOverloadScreen 1.25s steps(5)}.interactive-logo.is-triple-burst .logo-output{animation:logoOverloadOutput 1.25s cubic-bezier(.18,.86,.18,1)}.interactive-logo.is-triple-burst .logo-shockwave{animation:logoOverloadShockwave 1.25s cubic-bezier(.18,.86,.18,1)}.interactive-logo.is-triple-burst .logo-heart,.interactive-logo.is-triple-burst .logo-tear,.interactive-logo.is-triple-burst .logo-blush,.interactive-logo.is-triple-burst .logo-zzz,.interactive-logo.is-triple-burst .logo-wave,.interactive-logo.is-triple-burst .logo-question text,.interactive-logo.is-triple-burst .logo-sparkle{animation:none;opacity:0}.interactive-logo.is-triple-burst .logo-smoke{opacity:1}.interactive-logo.is-triple-burst .logo-smoke-a{animation:logoSmokePuff 1.25s ease-out both}.interactive-logo.is-triple-burst .logo-smoke-b{animation:logoSmokePuff 1.25s ease-out both;animation-delay:.11s}.interactive-logo.is-triple-burst .logo-smoke-c{animation:logoSmokePuff 1.25s ease-out both;animation-delay:.19s}.emotion-idle .logo-eye{transform:scale(1)}.emotion-idle .logo-wave{animation:logoWavePing 2.4s ease-in-out infinite}.emotion-curious .logo-expression{transform:translate(2px,-1px) rotate(-3deg)}.emotion-curious .logo-expression-scan{stroke-opacity:.32;animation:logoInspectScan 1.4s ease-out infinite}.emotion-curious .logo-question-a{animation:logoQuestionPop 1.35s ease-in-out infinite}.emotion-curious .logo-question-b{animation:logoQuestionPop 1.35s ease-in-out infinite;animation-delay:.12s}.emotion-curious .logo-question-c{animation:logoQuestionPop 1.35s ease-in-out infinite;animation-delay:.24s}.emotion-happy .logo-eye{opacity:1;transform:scale(1.26)}.emotion-happy .logo-mouth{transform:translateY(-2px) rotate(-5deg) scaleX(1.14)}.emotion-happy .logo-heart-a{animation:logoHeartFloat 1.5s ease-in-out infinite}.emotion-shy .logo-expression{transform:translateY(2px) scale(.94)}.emotion-shy .logo-alert{animation:logoShyAlert 1.4s ease-in-out infinite}.emotion-shy .logo-blush{animation:logoBlushGlow 1.5s ease-in-out infinite}.emotion-sleepy .logo-screen{fill:#0a0b09;stroke-opacity:.48}.emotion-sleepy .logo-eye{transform:scaleY(.42) scaleX(1.08);opacity:.62;animation:none}.emotion-sleepy .logo-mouth{opacity:.52;transform:translateY(2px) scaleX(.76);animation:none}.emotion-sleepy .logo-zzz{animation:logoZzzDrift 2s ease-in-out infinite}.emotion-confused .logo-mouth{animation:logoConfusedMouth .72s steps(2) infinite}.emotion-confused .logo-status-rail{animation:logoConfusedRail .86s steps(2) infinite}.emotion-confused .logo-tear{animation:logoTearDrop 1.4s ease-in-out infinite}.emotion-proud .logo-shell{stroke-opacity:1}.emotion-proud .logo-dispense{stroke:#6eb8d4;stroke-width:8}.emotion-proud .logo-expression{transform:translateY(-1px)}.emotion-proud .logo-sparkle{animation:logoSparkleTwinkle 1.6s ease-in-out infinite}@keyframes logoSignalIdle{0%,to{transform:scale(1);opacity:.82}50%{transform:scale(1.2);opacity:1}}@keyframes logoBlink{0%,84%,to{opacity:1;transform:scaleX(1)}88%{opacity:.45;transform:scaleX(.35)}92%{opacity:1;transform:scaleX(1)}}@keyframes logoInspect{0%{transform:translate(0) rotate(0)}42%{transform:translate(1px,-1px) rotate(-2deg)}to{transform:translate(0) rotate(-1deg)}}@keyframes logoInspectScan{0%{stroke-opacity:0;stroke-dashoffset:12;transform:translate(-4px)}34%{stroke-opacity:.72}to{stroke-opacity:0;stroke-dashoffset:-18;transform:translate(6px)}}@keyframes logoDispenseExpression{0%{transform:translateY(0) scaleY(1)}28%{transform:translateY(2px) scaleY(.82)}58%{transform:translateY(-1px) scaleY(1.05)}to{transform:translateY(0) scaleY(1)}}@keyframes logoMachinePulse{0%{transform:translateY(0) scale(1)}32%{transform:translateY(-1px) scale(1.04)}to{transform:translateY(0) scale(1)}}@keyframes logoDoubleSwitch{0%{transform:translate(0) scale(1)}34%{transform:translate(-2px) scale(.92)}68%{transform:translate(2px) scale(1.06)}to{transform:translate(0) scale(1)}}@keyframes logoTripleBurst{0%,to{transform:translateY(0) scale(1);filter:drop-shadow(0 0 8px rgba(120,255,85,.12)) drop-shadow(0 10px 18px rgba(0,0,0,.3))}12%{transform:translateY(-2px) scale(1.04);filter:drop-shadow(0 0 18px rgba(120,255,85,.34)) drop-shadow(0 12px 20px rgba(0,0,0,.36))}30%{transform:translateY(6px) scaleY(.62) scaleX(1.1);filter:drop-shadow(0 0 2px rgba(120,255,85,.08)) drop-shadow(0 3px 8px rgba(0,0,0,.24))}46%{transform:translateY(8px) scaleY(.48) scaleX(1.14)}58%{transform:translateY(-6px) scaleY(1.16) scaleX(.96);filter:drop-shadow(0 0 28px rgba(120,255,85,.48)) drop-shadow(0 16px 26px rgba(0,0,0,.44))}70%{transform:translateY(3px) scaleY(.86) scaleX(1.04)}84%{transform:translateY(-1px) scaleY(1.03)}}@keyframes logoOverloadFlash{0%,to{stroke-opacity:.86}14%{stroke-opacity:1;stroke:#78ff55}31%{stroke-opacity:.24;stroke:#f5f5f0}46%{stroke-opacity:.16}58%{stroke-opacity:1;stroke:#78ff55}66%{stroke-opacity:.32}78%{stroke-opacity:.9;stroke:#f5f5f0}}@keyframes logoOverloadExpression{0%,to{transform:translateY(0) scaleY(1);opacity:1}20%{transform:translateY(3px) scaleY(.5) scaleX(1.18);opacity:.78}42%{transform:translateY(7px) scaleY(.14) scaleX(.72);opacity:.22}58%{transform:translateY(-5px) scaleY(1.28) scaleX(1.08);opacity:1}74%{transform:translateY(3px) scaleY(.42) scaleX(.88);opacity:.48}90%{transform:translateY(0) scaleY(.84) scaleX(.96);opacity:.76}}@keyframes logoOverloadScreen{0%,to{fill:#0f100e;stroke-opacity:.66}18%{fill:#121a11;stroke-opacity:.95}34%{fill:#030403;stroke-opacity:.2}46%{fill:#020302;stroke-opacity:.12}58%{fill:#172417;stroke-opacity:1}74%{fill:#050605;stroke-opacity:.28}88%{fill:#0a0b09;stroke-opacity:.5}}@keyframes logoDispenseFlash{0%{opacity:0;transform:translate(-50%) scaleX(.3)}28%{opacity:1;transform:translate(-50%,7px) scaleX(1)}to{opacity:0;transform:translate(-50%,15px) scaleX(.5)}}@keyframes logoOverloadOutput{0%,28%{opacity:0;transform:translate(-50%) scaleX(.2)}38%{opacity:.72;transform:translate(-50%,5px) scaleX(.72)}48%{opacity:0;transform:translate(-50%,12px) scaleX(.28)}58%{opacity:1;transform:translate(-50%,9px) scaleX(1.34)}68%{opacity:.18;transform:translate(-50%,22px) scaleX(.42)}to{opacity:0;transform:translate(-50%,28px) scaleX(.24)}}@keyframes logoOverloadShockwave{0%,48%,to{opacity:0;transform:scale(.45);stroke-opacity:0;stroke-width:3}58%{opacity:.9;transform:scale(.7);stroke-opacity:.9;stroke-width:3}74%{opacity:.28;transform:scale(1.45);stroke-opacity:.28;stroke-width:1.2}88%{opacity:0;transform:scale(2.05);stroke-opacity:0;stroke-width:.5}}@keyframes logoSmokePuff{0%,34%{opacity:0;transform:translateY(10px) scale(.58);stroke-opacity:0}50%{opacity:.95;transform:translateY(2px) scale(.95);stroke-opacity:.96}72%{opacity:.78;transform:translateY(-12px) scale(1.28);stroke-opacity:.62}to{opacity:0;transform:translateY(-28px) scale(1.7);stroke-opacity:0}}@keyframes logoStatusFlash{0%,to{stroke-opacity:.48}34%{stroke-opacity:.95}}@keyframes logoHeartFloat{0%,to{opacity:0;transform:translateY(2px) scale(.78)}18%,72%{opacity:1}48%{transform:translateY(-3px) scale(1.08)}}@keyframes logoWavePing{0%,to{opacity:0;transform:translate(2px) scale(.86)}20%,70%{opacity:.86}48%{transform:translate(-2px) scale(1.08)}}@keyframes logoQuestionPop{0%,to{opacity:0;transform:translateY(7px) scale(.62)}18%,72%{opacity:.96}44%{transform:translateY(-3px) scale(1.08)}}@keyframes logoSparkleTwinkle{0%,to{opacity:0;transform:rotate(0) scale(.7)}22%,80%{opacity:1}48%{transform:rotate(18deg) scale(1.12)}}@keyframes logoTearDrop{0%,to{opacity:0;transform:translateY(-1px)}18%{opacity:1;transform:translateY(0)}56%{opacity:.96;transform:translateY(10px)}82%{opacity:0;transform:translateY(18px)}}@keyframes logoBlushGlow{0%,to{opacity:0;transform:scaleX(.72)}22%,78%{opacity:.95}54%{transform:scaleX(1.08)}}@keyframes logoZzzDrift{0%,to{opacity:0;transform:translateY(4px) scale(.86)}24%,78%{opacity:.95}56%{transform:translate(3px,-3px) scale(1.08)}}@keyframes logoShyAlert{0%,to{fill-opacity:.38;transform:scale(.84)}50%{fill-opacity:1;transform:scale(1.2)}}@keyframes logoConfusedMouth{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(2px) rotate(5deg)}}@keyframes logoConfusedRail{0%,to{transform:translate(0);stroke-opacity:.48}50%{transform:translate(-2px);stroke-opacity:.72}}@media(prefers-reduced-motion:reduce){.interactive-logo,.interactive-logo *,.logo-output{animation:none!important;transition:none!important}}.entry-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow:hidden;display:grid;place-items:center;background:#020202;color:#f6f4ef;isolation:isolate;transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}.entry-gate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(circle at 50% 49%,rgba(120,255,85,.09),transparent 7%),radial-gradient(circle at 50% 55%,rgba(255,122,24,.12),transparent 20%),radial-gradient(circle at 50% 100%,rgba(255,122,24,.08),transparent 34%)}.entry-gate.is-leaving{opacity:0;transform:scale(1.04);pointer-events:none}.entry-noise{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.12;background-image:radial-gradient(circle at 24% 30%,rgba(255,255,255,.55) 0 1px,transparent 1px),radial-gradient(circle at 67% 52%,rgba(255,255,255,.45) 0 1px,transparent 1px),linear-gradient(rgba(120,255,85,.05) 1px,transparent 1px);background-size:41px 41px,67px 67px,100% 9px;animation:entryNoise 1.6s steps(2) infinite}.entry-mode-nav,.entry-menu-button,.entry-menu{position:absolute;z-index:3;font:13px/1.2 IBM Plex Mono,ui-monospace,monospace;letter-spacing:0}.entry-mode-nav{top:28px;left:30px;display:grid;gap:10px}.entry-mode-nav button,.entry-menu-button,.entry-actions button{border:0;color:#f6f4ef94;background:transparent;cursor:pointer;transition:color .18s ease,text-shadow .18s ease,transform .18s ease}.entry-mode-nav button{padding:0;text-align:left}.entry-mode-nav button:hover,.entry-mode-nav button.is-active,.entry-menu-button:hover,.entry-actions button:hover{color:#f6f4ef;text-shadow:0 0 16px rgba(120,255,85,.35)}.entry-menu-button{top:30px;right:32px;padding:0}.entry-menu{top:68px;right:32px;display:grid;gap:12px;text-align:right;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}.entry-menu.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.entry-menu a{color:#f6f4efb8;text-decoration:none}.entry-menu a:hover{color:var(--signal-green)}.entry-center{position:relative;width:min(620px,calc(100vw - 42px));min-height:420px;display:grid;place-items:center;align-content:center;text-align:center}.entry-center h1{margin:32px 0 8px;font-size:clamp(28px,4vw,52px);font-weight:500;letter-spacing:0}.entry-center p{margin:0;color:#f6f4efc2;font-size:clamp(16px,2vw,24px);line-height:1.08}.entry-center.is-list-mode{gap:14px}.spiral-text{position:absolute;left:50%;top:43%;width:1px;height:1px;animation:spiralRotate 24s linear infinite}.spiral-text span{--angle: calc(360deg / var(--letter-count) * var(--letter-index));position:absolute;left:0;top:0;color:#f6f4ef6b;font:10px/1 IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase;transform:rotate(var(--angle)) translateY(-132px) rotate(90deg);transform-origin:0 0}.physical-core{position:relative;width:78px;height:78px;display:grid;place-items:center;animation:coreFloat 5s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(120,255,85,.18)) drop-shadow(0 18px 32px rgba(0,0,0,.42))}.physical-core.is-list-mode{width:62px;height:62px}.core-shadow{width:54px;height:14px;border-radius:50%;background:#000000e6;filter:blur(9px);transform:translateY(7px)}.entry-service-list{display:grid;gap:8px;margin-top:10px;color:#f6f4ef9e;font:11px/1.3 IBM Plex Mono,ui-monospace,monospace;text-align:left}.entry-actions{display:grid;margin-top:34px}.entry-actions button{padding:0;color:#f6f4efeb;font-size:clamp(24px,3.4vw,42px);font-weight:520;line-height:.88;letter-spacing:0;text-transform:lowercase}.entry-actions button:active{transform:translateY(2px) scale(.985)}@keyframes spiralRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes coreFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes entryNoise{0%{transform:translate(0)}50%{transform:translate(-2px,1px)}to{transform:translate(1px,-1px)}}@media(max-width:760px){.entry-mode-nav{top:22px;left:22px}.entry-menu-button{top:24px;right:22px}.entry-menu{right:22px}.entry-center{min-height:520px}.spiral-text span{transform:rotate(var(--angle)) translateY(-108px) rotate(90deg)}}@media(prefers-reduced-motion:reduce){.spiral-text,.physical-core,.entry-noise{animation:none!important}}.product-experience{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;overflow:hidden;color:var(--text);isolation:isolate}.product-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;transition:filter .32s ease,opacity .32s ease,transform .32s ease}.product-stage.is-dimmed{filter:blur(7px);opacity:.48;transform:scale(.985);pointer-events:none}.product-core{position:absolute;z-index:12;top:20px;left:28px;width:58px;aspect-ratio:1;display:grid;place-items:center;border:0;background:transparent;filter:drop-shadow(0 0 12px rgba(120,255,85,.16)) drop-shadow(0 12px 22px rgba(0,0,0,.34));animation:productLogoBreathe 4.8s ease-in-out infinite}.product-mode-switch{position:absolute;z-index:12;top:34px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;font:16px/1 IBM Plex Mono,ui-monospace,monospace}.product-mode-switch button{border:0;padding:0;background:transparent;color:#f5f5f073;cursor:pointer;transition:color .16s ease,text-shadow .16s ease}.product-mode-switch button.is-active,.product-mode-switch button:hover{color:#f5f5f0;text-shadow:0 0 16px rgba(120,255,85,.26)}.product-mode-switch i{width:8px;aspect-ratio:1;border-radius:999px;background:#f5f5f0}.product-menu-button{position:absolute;z-index:18;top:28px;right:30px;height:48px;min-width:86px;padding:0 18px;border:0;border-radius:999px;background:#f5f5f0;color:#050505;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font:16px/1 IBM Plex Mono,ui-monospace,monospace;transition:transform .16s ease}.product-menu-button:hover{transform:translateY(-1px)}.product-menu-button span{width:7px;aspect-ratio:1;border-radius:999px;background:#050505}.product-menu-button.is-open span{width:24px;display:grid;place-items:center}.product-menu-button.is-open span:before{content:"×";width:24px;aspect-ratio:1;border-radius:999px;background:#050505;color:#f5f5f0;display:grid;place-items:center;line-height:1}.product-sound-toggle{position:absolute;z-index:12;right:34px;bottom:28px;width:54px;aspect-ratio:1;border:0;border-radius:999px;background:#f5f5f0;color:#050505;cursor:pointer;font:11px/1 IBM Plex Mono,ui-monospace,monospace}.product-brand{position:absolute;z-index:7;left:40px;top:92px;transition:opacity .24s ease}.product-brand h1{margin:0;font-size:clamp(30px,4vw,46px);font-weight:500;letter-spacing:0}.product-brand p{margin:10px 0 0;color:#f5f5f094;font-size:13px}.product-status{position:absolute;z-index:7;top:96px;right:42px;display:grid;gap:4px;color:var(--signal-green);text-align:right;font:12px/1.4 IBM Plex Mono,ui-monospace,monospace;text-shadow:0 0 14px rgba(120,255,85,.34);transition:opacity .24s ease}.product-experience.is-list-mode .product-brand,.product-experience.is-list-mode .product-status{opacity:0;pointer-events:none}.product-spiral-stage{position:absolute;top:0;right:0;bottom:0;left:0;perspective:1500px;perspective-origin:50% 48%}.product-spiral-viewport{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none}.product-spiral-viewport:active{cursor:grabbing}.product-spiral-ring{position:absolute;left:50%;top:48%;width:1px;height:1px;transform-style:preserve-3d;transition:transform .36s cubic-bezier(.2,.8,.2,1);will-change:transform}.product-spiral-ring.is-auto-rotating{transition:none}.product-card{position:absolute;left:-215px;top:-126px;width:430px;height:252px;padding:0;border:0;border-radius:28px;background:transparent;cursor:pointer;transform-style:preserve-3d;backface-visibility:hidden;transition:filter .22s ease,opacity .22s ease;contain:layout paint;will-change:transform,opacity,filter}.product-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;box-shadow:0 24px 58px #00000075;pointer-events:none;transform:translateZ(0)}.product-card:not(.is-active){opacity:.38;filter:saturate(.42) brightness(.55)}.product-card.is-ghost{opacity:.18;filter:saturate(.36) brightness(.46) blur(.35px)}.product-card.is-ghost:hover,.product-card.is-ghost:focus{opacity:.24;filter:saturate(.42) brightness(.52) blur(.25px)}.product-card.is-active{opacity:1;filter:drop-shadow(0 0 34px rgba(120,255,85,.2)) drop-shadow(0 0 42px rgba(255,122,24,.08))}.product-card.is-dispensing{animation:productDispenseGlitch .18s steps(2) infinite}.product-card.is-complete{filter:drop-shadow(0 0 44px rgba(245,245,240,.28)) drop-shadow(0 0 56px rgba(120,255,85,.24))}.product-spiral-stage.is-dragging .product-card,.product-spiral-stage.is-dragging .product-card.is-active,.product-spiral-stage.is-dragging .product-card.is-ghost{transition:none;filter:saturate(.46) brightness(.58)}.product-spiral-stage.is-dragging .product-card img{box-shadow:0 18px 40px #0000005c}.product-spiral-hint{position:absolute;z-index:8;left:50%;bottom:92px;transform:translate(-50%);display:grid;gap:9px;text-align:center}.product-spiral-hint span{color:var(--signal-green);font:12px/1 IBM Plex Mono,ui-monospace,monospace}.product-spiral-hint strong{font-size:clamp(20px,3vw,34px);font-weight:500}.product-spiral-hint button{justify-self:center;height:34px;padding:0 18px;border:1px solid rgba(245,245,240,.28);border-radius:999px;background:#05050594;color:#f5f5f0db;cursor:pointer;font:12px/1 IBM Plex Mono,ui-monospace,monospace;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .16s ease,color .16s ease,transform .16s ease}.product-spiral-hint button:hover{border-color:var(--signal-green);color:var(--signal-green);transform:translateY(-1px)}.product-showreel-token{position:absolute;z-index:3;left:-30px;bottom:-38px;width:180px;aspect-ratio:1;border-radius:999px;pointer-events:none;opacity:.92;animation:productShowreelSpin 22s linear infinite}.product-showreel-token span{position:absolute;left:8px;top:44px;width:160px;color:#f5f5f0b3;font:12px/1 IBM Plex Mono,ui-monospace,monospace;transform:rotate(-22deg)}.product-showreel-token b{position:absolute;left:54px;top:64px;width:78px;height:118px;border-radius:18px;background:radial-gradient(circle at 36% 34%,rgba(120,255,85,.8),transparent 25%),radial-gradient(circle at 66% 52%,rgba(255,122,24,.78),transparent 28%),#e8ff4a;transform:rotate(-16deg)}.product-list-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:120px 40px 90px}.product-list-items{display:grid;gap:clamp(12px,2.2vh,26px);text-align:center}.product-list-items button{border:0;background:transparent;color:#f5f5f0f2;cursor:pointer;display:grid;gap:8px;transition:color .18s ease,transform .18s ease,opacity .18s ease}.product-list-items button span{font-size:clamp(48px,6.8vw,86px);line-height:.88;font-weight:600;letter-spacing:0}.product-list-items button small{color:#f5f5f061;font:12px/1 IBM Plex Mono,ui-monospace,monospace}.product-list-items button:not(.is-active){opacity:.72}.product-list-items button:hover,.product-list-items button.is-active{color:#fff;opacity:1;transform:translateY(-2px)}.product-list-items button.is-active small{color:var(--signal-green);text-shadow:0 0 14px rgba(120,255,85,.35)}.product-menu-scrim,.product-detail-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:14;pointer-events:none;opacity:0;background:#0000009e;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .26s ease,backdrop-filter .26s ease}.product-menu-scrim.is-open,.product-detail-scrim.is-open{pointer-events:auto;opacity:1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.product-menu-panel,.product-detail-panel{position:fixed;z-index:20;top:30px;right:30px;bottom:30px;width:min(464px,calc(100vw - 60px));border-radius:22px;background:#f5f5f0;color:#050505;box-shadow:0 34px 90px #0000006b;transform:translate(calc(100% + 60px));transition:transform .36s cubic-bezier(.2,.8,.2,1)}.product-menu-panel.is-open,.product-detail-panel.is-open{transform:translate(0)}.product-menu-panel{padding:38px 44px;display:grid;grid-template-rows:auto 1fr auto}.product-menu-close,.product-detail-close{justify-self:end;border:0;background:transparent;color:#050505;display:inline-flex;align-items:center;gap:16px;cursor:pointer;font-size:16px}.product-menu-close b,.product-detail-close b{width:48px;aspect-ratio:1;display:grid;place-items:center;border-radius:999px;background:#050505;color:#f5f5f0;font-size:28px;font-weight:400}.product-menu-links{align-self:center;display:grid;gap:22px}.product-menu-links a{color:#050505;text-decoration:none;font-size:clamp(48px,7vw,72px);line-height:.9;font-weight:600;font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:0}.product-menu-footer{display:grid;gap:18px}.product-menu-footer a{color:#050505;text-decoration:none;font-size:15px}.product-menu-actions{display:flex;gap:10px}.product-menu-actions button{width:48px;aspect-ratio:1;border:0;border-radius:999px;background:#050505;color:#f5f5f0;cursor:pointer;font:12px/1 IBM Plex Mono,ui-monospace,monospace}.product-detail-panel{padding:30px 34px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:18px;overflow-y:auto}.product-detail-status{color:var(--signal-green);font:12px/1 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.08em}.product-detail-object{justify-self:center;width:min(320px,72vw);aspect-ratio:720 / 420;border-radius:18px;overflow:hidden;box-shadow:0 18px 52px #0000002e}.product-detail-object img{width:100%;height:100%;object-fit:cover;display:block}.product-detail-copy{display:grid;gap:10px}.product-detail-copy span{font:12px/1 IBM Plex Mono,ui-monospace,monospace;color:#05050585}.product-detail-copy h2{margin:0;font-size:clamp(44px,6vw,66px);line-height:.88;font-weight:650;letter-spacing:0}.product-detail-copy p{margin:0;font-size:15px;line-height:1.5;color:#050505a8}.product-detail-specs{display:grid;gap:10px;margin:0}.product-detail-specs div{display:grid;grid-template-columns:108px 1fr;gap:14px;align-items:baseline;border-top:1px solid rgba(5,5,5,.12);padding-top:10px}.product-detail-specs dt{color:#05050570;font:11px/1.1 IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase}.product-detail-specs dd{margin:0;color:#050505;font-size:14px;line-height:1.3}.product-purchase-button{height:54px;border:0;border-radius:999px;background:#050505;color:#f5f5f0;cursor:pointer;font:15px/1 IBM Plex Mono,ui-monospace,monospace;transition:transform .16s ease,opacity .16s ease}.product-purchase-button:hover{transform:translateY(-1px)}.product-purchase-button:disabled{cursor:progress;opacity:.7}@keyframes productLogoBreathe{0%,to{transform:translateY(0);filter:drop-shadow(0 0 8px rgba(120,255,85,.12)) drop-shadow(0 10px 18px rgba(0,0,0,.3))}50%{transform:translateY(-1px);filter:drop-shadow(0 0 15px rgba(120,255,85,.22)) drop-shadow(0 12px 22px rgba(0,0,0,.38))}}@keyframes productShowreelSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes productDispenseGlitch{0%{transform:translate(0)}50%{filter:hue-rotate(20deg) brightness(1.25)}to{transform:translate(2px)}}@media(max-width:760px){.product-core{width:44px;top:14px;left:18px}.product-mode-switch{top:28px;font-size:14px;gap:12px}.product-menu-button{top:18px;right:18px;min-width:74px;height:42px;font-size:14px}.product-sound-toggle{right:22px;bottom:22px}.product-brand{top:82px;left:22px}.product-status{display:none}.product-card{left:-136px;top:-79px;width:272px;height:158px}.product-spiral-ring{top:51%}.product-spiral-hint{bottom:88px}.product-list-items button span{font-size:clamp(34px,12vw,58px)}.product-showreel-token{width:132px;left:-34px;bottom:-34px}.product-menu-panel,.product-detail-panel{top:18px;right:18px;bottom:18px;left:18px;width:auto}.product-menu-panel{padding:30px 32px}.product-detail-panel{display:flex;flex-direction:column;gap:14px;padding:24px 22px;max-height:calc(100dvh - 36px)}.product-detail-specs div{grid-template-columns:1fr;gap:5px}.product-detail-object{width:min(250px,74vw);flex:0 0 auto}.product-detail-copy{gap:8px}.product-detail-copy h2{font-size:clamp(34px,12vw,44px);line-height:.92}.product-detail-copy p{font-size:14px;line-height:1.45}.product-detail-specs{flex:0 0 auto;gap:8px}.product-purchase-button{min-height:50px;flex:0 0 auto}}@media(prefers-reduced-motion:reduce){.product-core,.product-showreel-token{animation:none!important}}:root{--bg: #020202;--text: #f5f5f0;--muted: #858585;--orange: #ff7a18;--signal-green: #78ff55;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--bg)}button,a{font:inherit}.app-shell{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),radial-gradient(circle at 50% 58%,rgba(255,122,24,.12),transparent 36%),radial-gradient(circle at 50% 20%,#151515,#050505 62%,#010101);background-size:72px 72px,72px 72px,100% 100%,100% 100%}.signal-particles{z-index:1}.scanlines,.noise,.signal-drift{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.scanlines{background:repeating-linear-gradient(180deg,rgba(120,255,85,.045) 0,rgba(120,255,85,.045) 1px,transparent 1px,transparent 8px);opacity:.34;mix-blend-mode:screen;animation:scanMove 9s linear infinite}.noise{opacity:.12;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.6) 0 1px,transparent 1px),radial-gradient(circle at 70% 50%,rgba(255,255,255,.45) 0 1px,transparent 1px),radial-gradient(circle at 40% 80%,rgba(255,255,255,.35) 0 1px,transparent 1px);background-size:37px 37px,53px 53px,71px 71px;animation:noiseShift 1.4s steps(2) infinite}.signal-drift:before{content:"";position:absolute;left:-20%;right:-20%;top:24%;height:2px;background:linear-gradient(90deg,transparent,rgba(120,255,85,.55),rgba(255,122,24,.35),transparent);filter:blur(.5px);opacity:0;animation:signalGlitch 5.5s infinite}@keyframes scanMove{0%{transform:translateY(0)}to{transform:translateY(16px)}}@keyframes noiseShift{0%{transform:translate(0)}50%{transform:translate(-2px,1px)}to{transform:translate(1px,-1px)}}@keyframes signalGlitch{0%,78%,to{opacity:0;transform:translateY(0)}80%{opacity:.9;transform:translateY(18px)}82%{opacity:.15;transform:translateY(-6px)}84%{opacity:.5;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
