@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@300;400;500;600&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eefbff;font-synthesis:none;text-rendering:optimizelegibility;--cyan:#78e7ff;--soft-cyan:#78e7ff94;--line:#aee0ff30;--surface:#050a169e;background:#020309;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 50% 45%,#1623522e,#0000 40%),#020309}button,video,canvas{display:block}button{font:inherit}#app{isolation:isolate;position:relative}#galaxy-root,.galaxy-canvas{width:100%;height:100%;position:absolute;inset:0}#galaxy-root{background:#020309}.galaxy-canvas{opacity:0;animation:2.4s cubic-bezier(.2,.76,.25,1) .1s forwards universe-in}.hud{z-index:6;pointer-events:none;position:absolute}.hud--top{justify-content:space-between;width:100%;padding:30px 34px;display:flex;top:0;left:0}.brand-lockup,.tracking-status{align-items:center;gap:13px;display:flex}.brand-mark{border:1px solid var(--cyan);width:10px;height:31px;transform:skew(-16deg);box-shadow:inset 0 0 12px #78e7ff61,0 0 16px #78e7ff24}.eyebrow,.brand-name,.status-copy,.camera-preview,.hud--side,.privacy-note,.intro-kicker,.gesture-hint,.intro-controls,.hand-roles{letter-spacing:.13em;text-transform:uppercase;font-family:DM Mono,monospace}.eyebrow,.brand-name,.status-copy{margin:0}.eyebrow{color:#d7f2ff6e;font-size:8px;line-height:1.4}.brand-name,.status-copy{color:#ecfaffe6;margin-top:3px;font-size:11px;font-weight:500}.tracking-status{text-align:right}.status-dot{border:1px solid #cfeeff8c;border-radius:50%;width:7px;height:7px;transition:all .4s}.tracking-status[data-state=ready] .status-dot{border-color:var(--cyan);background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:1.8s ease-in-out infinite status-pulse}.tracking-status[data-state=searching] .status-dot,.tracking-status[data-state=loading-model] .status-dot,.tracking-status[data-state=requesting-camera] .status-dot{background:#ffcf70;border-color:#ffcf70;box-shadow:0 0 10px #ffcf708f}.tracking-status[data-state=permission-denied] .status-dot,.tracking-status[data-state=camera-unavailable] .status-dot,.tracking-status[data-state=error] .status-dot{background:#ff6f7c;border-color:#ff6f7c;box-shadow:0 0 10px #ff6f7c8f}.hud--side{color:#c8e6f24d;writing-mode:vertical-rl;align-items:center;gap:10px;font-size:7px;line-height:1.7;display:flex;top:50%;right:32px;transform:translateY(-50%)}.hud-line{background:linear-gradient(transparent, var(--line), transparent);width:1px;height:54px}.intro{z-index:5;background:radial-gradient(circle,#02040d14 0%,#0203095c 72%);flex-direction:column;justify-content:center;align-items:center;padding:24px;transition:opacity 1s,visibility 1s;display:flex;position:absolute;inset:0}.intro.is-dismissed{visibility:hidden;opacity:0;pointer-events:none}.intro-kicker{color:var(--soft-cyan);margin:0 0 17px;font-size:clamp(7px,.7vw,9px)}.intro h1{color:#f4fcff;letter-spacing:-.075em;text-shadow:0 0 46px #71c9ff2e;margin:0;font-size:clamp(54px,9vw,124px);font-weight:300;line-height:.88;position:relative}.intro h1 em{color:var(--cyan);text-shadow:0 0 28px #78e7ff6b;font-style:normal;font-weight:300}.intro-lead{color:#e1f2faad;letter-spacing:.045em;margin:24px 0 11px;font-size:clamp(13px,1.35vw,17px);font-weight:300}.intro-controls{color:#9bddf66b;letter-spacing:.14em;margin:0 0 25px;font-size:7px}.activate-button{color:#dbfaff;letter-spacing:.15em;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0817257a;border:1px solid #78e7ff5c;border-radius:2px;justify-content:space-between;align-items:center;width:min(260px,80vw);padding:14px 15px 14px 19px;font-family:DM Mono,monospace;font-size:10px;transition:border-color .3s,background .3s,transform .3s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #4ec2ff09,0 12px 60px #00000040}.activate-button:before{content:"";background:linear-gradient(90deg,#0000,#78e7ff1a,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-110%)}.activate-button:hover:not(:disabled){background:#0c283a94;border-color:#78e7ffb3;transform:translateY(-2px)}.activate-button:hover:not(:disabled):before{transform:translate(110%)}.activate-button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.activate-button:disabled{cursor:progress;opacity:.7}.button-icon{width:27px;height:27px;color:var(--cyan);border:1px solid #78e7ff47;place-items:center;display:grid}.privacy-note{color:#cfe9f34d;letter-spacing:.11em;margin:14px 0 0;font-size:7px}.intro-error{color:#ff9aa4;text-align:center;width:min(430px,82vw);margin:0;font-size:11px;line-height:1.5;position:absolute;top:calc(50% + 165px)}.intro-orbit{aspect-ratio:1;border:1px solid #84cfff0f;border-radius:50%;width:min(48vw,660px);position:absolute;transform:rotateX(70deg)}.intro-orbit:before,.intro-orbit:after{border-radius:inherit;content:"";border:1px solid #84cfff0b;position:absolute;inset:9%}.intro-orbit:after{inset:24%}.intro-orbit span{background:var(--cyan);width:4px;height:4px;box-shadow:0 0 15px var(--cyan);border-radius:50%;position:absolute;top:49%;left:-2px}.camera-preview{z-index:8;bottom:max(24px, env(safe-area-inset-bottom));left:max(28px, env(safe-area-inset-left));color:#d9f4ff8f;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#02070fb3;border:1px solid #9cdeff2e;border-radius:9px;width:clamp(220px,19vw,280px);font-size:7px;transition:opacity .7s .35s,transform .7s .35s,border-color .5s;position:absolute;overflow:hidden;transform:translateY(18px);box-shadow:0 18px 65px #0000007a,inset 0 0 30px #51b3ff06}.camera-preview.is-active{opacity:1;border-color:#78e7ff52;transform:translateY(0)}.camera-header,.camera-footer{justify-content:space-between;align-items:center;height:27px;padding:0 10px;display:flex}.camera-header{border-bottom:1px solid #9cdeff1c}.camera-header span:last-child{color:var(--cyan)}.camera-header span:last-child:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-right:5px;display:inline-block;box-shadow:0 0 7px}.camera-viewport{aspect-ratio:16/9;background-color:#030812;background-image:linear-gradient(#78e7ff06 1px,#0000 1px),linear-gradient(90deg,#78e7ff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:relative;overflow:hidden}.camera-viewport video,.camera-viewport canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.camera-viewport video{filter:saturate(.72)contrast(1.08)brightness(.82)hue-rotate(4deg)}.camera-viewport canvas{z-index:2}.camera-viewport:after{z-index:3;content:"";border:1px solid #78e7ff14;position:absolute;inset:0;box-shadow:inset 0 0 35px #030a16b8}.camera-scanline{z-index:4;background:#78e7ff38;width:100%;height:1px;animation:4s linear infinite scan;position:absolute;top:0;left:0;box-shadow:0 0 7px #78e7ff40}.camera-empty{color:#badeed40;letter-spacing:.15em;place-items:center;display:grid;position:absolute;inset:0}.camera-empty[hidden]{display:none}.camera-footer{color:#d6edf757;border-top:1px solid #9cdeff1c;gap:7px}.camera-footer .is-detected{color:var(--cyan)}.hand-readout{color:#dcf5ff99;white-space:nowrap}.hand-readout--left{color:#c6a7ffa8}.hand-roles{z-index:7;color:#cfecf852;opacity:0;pointer-events:none;gap:7px;font-size:7px;transition:opacity .7s .45s,transform .7s .45s;display:grid;position:absolute;bottom:34px;right:34px;transform:translateY(10px)}.hand-roles.is-visible{opacity:1;transform:translateY(0)}.hand-role{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03081252;border:1px solid #78e7ff17;grid-template-columns:24px 1fr;align-items:center;min-width:184px;padding:7px 9px;transition:color .35s,border-color .35s,box-shadow .35s;display:grid}.hand-role[data-active=true]{color:#85ecffc7;border-color:#78e7ff4d;box-shadow:inset 0 0 18px #36bcff09}.hand-role--left[data-active=true]{color:#ccaaffd1;border-color:#b184ff52;box-shadow:inset 0 0 18px #9957ff0a}.hand-key{border:1px solid;border-radius:50%;place-items:center;width:17px;height:17px;display:grid}.hand-role div{justify-content:space-between;gap:12px;display:flex}.hand-role strong{color:currentColor;font-size:inherit;font-weight:400}.gesture-hint{z-index:7;color:#d6eff861;opacity:0;align-items:center;gap:10px;font-size:8px;transition:opacity .6s,transform .6s,color .4s;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%,8px)}.gesture-hint.is-visible{opacity:1;transform:translate(-50%)}.gesture-hint.has-hand{color:#78e7ffad}.gesture-icon{border:1px solid;border-radius:50%;width:6px;height:6px;box-shadow:0 0 9px}.grain{z-index:10;opacity:.035;pointer-events:none;background-image:repeating-radial-gradient(circle at 17% 23%,#ffffffe6 0 .45px,#0000 .6px 3px),repeating-radial-gradient(circle at 71% 67%,#ffffffb3 0 .35px,#0000 .5px 4px);animation:.22s steps(2,end) infinite grain;position:absolute;inset:-80%}.fatal-error #galaxy-root{background:radial-gradient(circle,#1c395040,#020309 52%)}@keyframes universe-in{to{opacity:1}}@keyframes status-pulse{50%{opacity:.42}}@keyframes scan{0%{transform:translateY(-2px)}to{transform:translateY(158px)}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-3%,2%)}75%{transform:translate(3%,4%)}to{transform:translate(-2%,-1%)}}@media (width<=700px){.hud--top{padding:20px}.hud--side{display:none}.intro{justify-content:center;padding-bottom:12vh}.intro-lead{margin-top:19px}.intro-orbit{width:86vw}.camera-preview{bottom:max(18px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));width:min(48vw,230px)}.gesture-hint{max-width:36vw;line-height:1.55;bottom:30px;left:auto;right:18px;transform:translateY(8px)}.gesture-hint.is-visible{transform:translateY(0)}.hand-roles{display:none}}@media (width<=430px){.tracking-status .eyebrow{display:none}.camera-preview{width:48vw}.camera-footer{height:24px;padding:0 7px}.camera-footer>span:first-child{display:none}.hand-readout{margin-left:auto}.hand-readout--left{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
