@font-face{font-family:Winky Show Script;src:local("Winky Show Script"),local("WinkyShowScript"),url(/assets/WinkyShowScript.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background-color:#dce8f2;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#canvas-container{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:1;cursor:none}.optical-dof-lens{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:2;pointer-events:none;background:radial-gradient(ellipse 86% 82% at 50% 50%,transparent 72%,rgba(6,12,10,.2) 100%)}.landing-screen{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;cursor:pointer;background:radial-gradient(ellipse 76% 68% at 50% 48%,#0a140f3d,#060e0b6b);backdrop-filter:blur(8px) saturate(1.08);-webkit-backdrop-filter:blur(8px) saturate(1.08);opacity:1;visibility:visible;transition:opacity 1.15s cubic-bezier(.22,1,.36,1),backdrop-filter 1.15s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter 1.15s cubic-bezier(.22,1,.36,1),visibility 1.15s ease}.landing-screen.is-dismissed{opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:none;-webkit-backdrop-filter:none}.landing-fireflies-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.landing-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(-6px);transition:transform 1.15s cubic-bezier(.22,1,.36,1),opacity .9s ease}.landing-screen.is-dismissed .landing-content{transform:translateY(-22px) scale(1.03);opacity:0}.landing-title{color:#fff;font-size:clamp(64px,9.2vw,120px);font-family:Winky Show Script,cursive,serif;font-weight:400;line-height:1;letter-spacing:-1.8px;word-wrap:break-word;text-shadow:0 6px 32px rgba(6,16,12,.36),0 0 48px rgba(255,236,175,.24)}.landing-subtitle{margin-top:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(.88rem,1.3vw,1.08rem);font-weight:400;letter-spacing:.04em;color:#ffffffe6;text-shadow:0 2px 14px rgba(0,0,0,.38)}.landing-enter-hint{margin-top:28px;padding:7px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#101a1452;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd6;box-shadow:0 8px 24px #0000002e;animation:landingPulse 2.8s ease-in-out infinite}@keyframes landingPulse{0%,to{opacity:.78;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.glass-cursor{position:fixed;left:0;top:0;width:56px;height:56px;border-radius:50%;pointer-events:none;z-index:8;opacity:0;contain:layout style;will-change:transform,opacity;transform:translate3d(-100px,-100px,0) translate(-50%,-50%);transition:opacity .25s ease,width .22s cubic-bezier(.2,.9,.3,1),height .22s cubic-bezier(.2,.9,.3,1);background:radial-gradient(circle at 34% 30%,#ffffff38,#ffffff08 42%,#d2eeff14 76%,#ffffff3d 94%,#fff6);border:1px solid rgba(255,255,255,.52);box-shadow:0 10px 24px -4px #08120e42,0 2px 6px #08120e29,inset 2.5px 2.5px 5px #ffffffad,inset -2.5px -3px 7px #afe1ff61,inset 0 0 12px #ffffff29}.glass-cursor-specular{position:absolute;top:7%;left:11%;width:46%;height:26%;border-radius:50%;transform:rotate(-28deg);background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.78) 0%,rgba(255,255,255,.24) 55%,transparent 100%);pointer-events:none}.glass-cursor-caustic{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;border-bottom:1.5px solid rgba(225,246,255,.58);border-right:1px solid rgba(255,240,210,.42);border-top:1px solid transparent;border-left:1px solid transparent;transform:rotate(-12deg);pointer-events:none}.glass-cursor.is-visible{opacity:1}.glass-cursor.is-pressing{width:46px;height:46px;box-shadow:0 5px 14px -2px #08120e52,inset 3px 3px 6px #ffffffbf,inset -3px -3px 8px #beebff73,inset 0 0 16px #ffffff38}.glass-shockwave{position:fixed;left:50%;top:50%;width:84px;height:84px;border-radius:50%;transform:translate3d(-50%,-50%,0) scale(0);will-change:transform,opacity;opacity:0;z-index:3;pointer-events:none;background:radial-gradient(circle,transparent 54%,rgba(255,255,255,.08) 70%,rgba(220,244,255,.24) 82%,rgba(255,255,255,.38) 91%,transparent 100%);box-shadow:inset 0 0 18px #ffffff59,0 0 22px #d2f0ff38}.glass-shockwave.is-rippling{animation:glassMirrorRippleExpand 1.95s cubic-bezier(.16,.86,.24,1) forwards}@keyframes glassMirrorRippleExpand{0%{transform:translate(-50%,-50%) scale(.35);opacity:.95}50%{opacity:.72}to{transform:translate(-50%,-50%) scale(19);opacity:0}}.bare-top{position:fixed;top:0;left:0;right:0;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;z-index:10;pointer-events:none}.bare-brand{font-size:.68rem;font-weight:500;letter-spacing:.16em;color:#ffffffe6;text-shadow:0 1px 8px rgba(0,0,0,.35)}.bare-status{font-size:.65rem;font-weight:400;letter-spacing:.1em;color:#ffffffd9;text-shadow:0 1px 8px rgba(0,0,0,.35);font-variant-numeric:tabular-nums}.bare-bottom{position:fixed;bottom:0;left:0;right:0;padding:22px 26px;display:flex;align-items:flex-end;justify-content:space-between;z-index:10;pointer-events:none}.bare-hint{font-size:.7rem;font-weight:400;color:#ffffffd1;text-shadow:0 1px 10px rgba(0,0,0,.45);letter-spacing:.01em}.bare-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;pointer-events:auto}.zoom-pill-group{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#101a159e;box-shadow:0 4px 14px #0000002e}.zoom-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#ffffff1f;color:#fff;width:24px;height:24px;border-radius:50%;font-size:.92rem;font-weight:500;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s ease,transform .14s ease}.zoom-icon-btn:hover{background:#ffffff47}.zoom-icon-btn:active{transform:scale(.92)}.zoom-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:78px;height:4px;border-radius:999px;background:#ffffff47;outline:none;cursor:pointer}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000073;cursor:pointer;transition:transform .15s ease}.zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.18)}.zoom-readout-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#ffffffeb;font-family:inherit;font-size:.7rem;font-weight:500;font-variant-numeric:tabular-nums;padding:2px 5px;min-width:38px;text-align:center;cursor:pointer;border-radius:999px;transition:background .16s ease}.zoom-readout-btn:hover{background:#ffffff29}.pill-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.3);background:#101a159e;box-shadow:0 4px 14px #0000002e;color:#fff;padding:8px 15px;border-radius:999px;font-family:inherit;font-size:.74rem;font-weight:400;letter-spacing:.01em;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.pill-btn:hover{background:#14201aa6;border-color:#ffffff7a}.pill-btn:active{transform:scale(.97)}.pill-btn.is-active{background:#ffffffeb;color:#0b140d;border-color:#fffffff2}.status-dot{width:6px;height:6px;border-radius:50%;background:#fff9;transition:background .2s ease,box-shadow .2s ease}.pill-btn.is-active .status-dot{background:#22c55e;box-shadow:0 0 8px #22c55e}.cam-preview-wrap{position:fixed;bottom:68px;right:26px;width:136px;height:102px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.28);background:#0000006b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;pointer-events:none;box-shadow:0 8px 24px #00000052}.cam-preview-wrap[hidden]{display:none}#webcam-video,#webcam-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}#webcam-video{opacity:.55}.gesture-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:28px;background:#0e12118f;backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);animation:guideFadeIn .24s cubic-bezier(.16,.84,.24,1)}.gesture-guide-backdrop[hidden]{display:none}@keyframes guideFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.gesture-guide-card{position:relative;width:min(920px,94vw);padding:46px 54px 48px;border-radius:20px;background:#181c1bc2;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 68px #00000073;color:#fffffff0}.gesture-guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:36px}.gesture-guide-title{font-size:1.9rem;font-weight:300;letter-spacing:-.02em;color:#fff;line-height:1.15}.gesture-guide-subtitle{margin-top:6px;font-size:.76rem;font-weight:300;letter-spacing:.03em;color:#ffffff9e}.gesture-switches-block{display:flex;flex-direction:column;align-items:center;margin-left:auto;margin-right:36px;padding-top:28px}.gesture-switches-row{display:flex;align-items:center;gap:24px}.switch-dot-btn{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;padding:4px;display:flex;flex-direction:column;align-items:center;color:#ffffffd9}.switch-slant-label{position:absolute;bottom:22px;left:50%;transform-origin:bottom left;transform:rotate(-36deg);white-space:nowrap;font-size:.68rem;font-weight:300;letter-spacing:.02em;color:#ffffffc2;transition:color .18s ease;pointer-events:none}.switch-dot{width:9px;height:9px;border-radius:50%;background:#ffffff59;border:1px solid rgba(255,255,255,.72);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.switch-dot-btn:hover .switch-slant-label,.switch-dot-btn.is-active .switch-slant-label{color:#fff}.switch-dot-btn:hover .switch-dot,.switch-dot-btn.is-active .switch-dot{background:#fff;box-shadow:0 0 10px #ffffffbf;transform:scale(1.22)}.gesture-switches-caption{margin-top:8px;font-size:.72rem;font-weight:300;letter-spacing:.04em;color:#ffffffa3}.gesture-guide-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.22);background:#ffffff0f;color:#ffffffe0;width:34px;height:34px;border-radius:50%;font-size:1.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,transform .16s ease}.gesture-guide-close:hover{background:#ffffff2e;transform:scale(1.06)}.gesture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 36px}.gesture-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 10px;border-radius:14px;transition:background .2s ease}.gesture-item:hover{background:#ffffff0a}.gesture-svg-wrap{width:148px;height:124px;color:#ffffffeb;margin-bottom:10px}.gesture-svg-wrap svg{width:100%;height:100%;display:block}.gesture-item-title{font-size:.84rem;font-weight:400;letter-spacing:.01em;color:#fff;margin-bottom:4px}.gesture-item-desc{font-size:.72rem;font-weight:300;line-height:1.42;color:#ffffffa3;max-width:220px}@media(max-width:760px){.gesture-guide-card{padding:28px 22px;max-height:90vh;overflow-y:auto}.gesture-switches-block{display:none}.gesture-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:640px){.bare-top,.bare-bottom{padding:14px 16px}.bare-hint{display:none}}
