*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#fff;touch-action:none}#desktop-blocker{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#73b5f1;align-items:center;justify-content:center;overflow:hidden}#desktop-blocker.visible{display:flex}.desktop-message{text-align:center;padding:2rem;position:relative;z-index:1;animation:fadeIn .6s ease-out .3s both}.phone-icon{margin-bottom:1.5rem;opacity:.7;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.desktop-message h1{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:#fff}.desktop-message p{font-size:.95rem;color:#ffffffbf;max-width:280px;line-height:1.5}#loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#73b5f1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;overflow:hidden;transition:opacity .6s ease}#loading-screen.fade-out{opacity:0;pointer-events:none}#loading-screen.hidden{display:none}#loading-screen p{font-size:.9rem;color:#ffffffb3}#loading-status{display:flex;flex-direction:column;align-items:center;gap:1.5rem;position:relative;z-index:1}.start-btn{position:relative;z-index:1;border:none;background:#ffffff40;color:#fff;font-size:1.1rem;font-weight:600;padding:16px 48px;border-radius:32px;cursor:pointer;transition:transform .2s cubic-bezier(.25,.1,.25,1),background .2s ease;animation:fadeIn .5s ease-out both,subtlePulse 2s ease-in-out infinite;touch-action:manipulation}.start-btn:active{transform:scale(.95);background:#fff6}@keyframes subtlePulse{0%,to{box-shadow:0 0 #ffffff4d}50%{box-shadow:0 0 0 12px #fff0}}#loading-screen .loader{position:relative;z-index:1;animation:fadeIn .6s ease-out .3s both,spin .8s linear infinite}#loading-screen p{position:relative;z-index:1;animation:fadeIn .6s ease-out .3s both}.loader{width:40px;height:40px;border:3px solid rgba(86,197,248,.2);border-top-color:#56c5f8;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.curtain-cloud{position:absolute;height:360vh;width:auto;opacity:.97;will-change:transform;backface-visibility:hidden}.curtain-cloud.left{right:5%}.curtain-cloud.right{left:5%}.curtain-cloud.flip{transform:scaleX(-1)}.c1{top:-5%;z-index:7;transition:transform 1.3s cubic-bezier(.25,.1,.25,1) 0s}.c2{top:-85%;z-index:3;transition:transform 1.6s cubic-bezier(.25,.1,.25,1) .08s}.c3{top:-45%;z-index:5;transition:transform 1.4s cubic-bezier(.25,.1,.25,1) .14s}.c4{top:-110%;z-index:1;transition:transform 1.55s cubic-bezier(.25,.1,.25,1) .04s}.c5{top:-25%;z-index:6;transition:transform 1.45s cubic-bezier(.25,.1,.25,1) .16s}.c6{top:-70%;z-index:4;transition:transform 1.3s cubic-bezier(.25,.1,.25,1) .1s}.c7{top:-95%;z-index:2;transition:transform 1.6s cubic-bezier(.25,.1,.25,1) .2s}.c8{top:-15%;z-index:6;transition:transform 1.35s cubic-bezier(.25,.1,.25,1) .06s}.c9{top:-100%;z-index:2;transition:transform 1.5s cubic-bezier(.25,.1,.25,1) .12s}.c10{top:-35%;z-index:5;transition:transform 1.3s cubic-bezier(.25,.1,.25,1) .18s}.c11{top:-60%;z-index:4;transition:transform 1.6s cubic-bezier(.25,.1,.25,1) .03s}.c12{top:-80%;z-index:3;transition:transform 1.4s cubic-bezier(.25,.1,.25,1) .15s}.c13{top:-50%;z-index:7;transition:transform 1.45s cubic-bezier(.25,.1,.25,1) .09s}.c14{top:-115%;z-index:1;transition:transform 1.55s cubic-bezier(.25,.1,.25,1) .19s}#transition-curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none;display:none}#transition-curtain.closing .curtain-cloud.left{transform:translate(0)!important}#transition-curtain.closing .curtain-cloud.left.flip{transform:scaleX(-1) translate(0)!important}#transition-curtain.closing .curtain-cloud.right{transform:translate(0)!important}#transition-curtain.closing .curtain-cloud.right.flip{transform:scaleX(-1) translate(0)!important}#transition-curtain.open .curtain-cloud.left{transform:translate(-110%)!important}#transition-curtain.open .curtain-cloud.left.flip{transform:scaleX(-1) translate(110%)!important}#transition-curtain.open .curtain-cloud.right{transform:translate(110%)!important}#transition-curtain.open .curtain-cloud.right.flip{transform:scaleX(-1) translate(-110%)!important}#transition-curtain .curtain-cloud.left{transform:translate(-110%)}#transition-curtain .curtain-cloud.left.flip{transform:scaleX(-1) translate(110%)}#transition-curtain .curtain-cloud.right{transform:translate(110%)}#transition-curtain .curtain-cloud.right.flip{transform:scaleX(-1) translate(-110%)}#camera-canvas{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;object-fit:cover!important;opacity:0;transition:opacity .6s ease}#camera-canvas.visible{opacity:1}#controls{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;padding:env(safe-area-inset-top,12px) 16px env(safe-area-inset-bottom,16px)}#controls.hidden{display:none}#controls>*{pointer-events:auto}.top-bar{display:flex;justify-content:flex-end;padding-top:8px;opacity:0;transform:translateY(-30px);transition:opacity .6s cubic-bezier(.25,.1,.25,1),transform .6s cubic-bezier(.25,.1,.25,1)}.top-bar.entered{opacity:1;transform:translateY(0)}.bottom-bar{display:flex;align-items:center;justify-content:center;gap:24px;padding-bottom:20px;opacity:0;transform:translateY(40px);transition:opacity .6s cubic-bezier(.25,.1,.25,1),transform .6s cubic-bezier(.25,.1,.25,1)}.bottom-bar.entered{opacity:1;transform:translateY(0)}.spacer{width:48px}.control-btn{background:#56c5f84d;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.25,.1,.25,1),background .2s ease;touch-action:manipulation;font-size:16px}.control-btn:active{transform:scale(.9);background:#56c5f88c}.control-btn.preview-close{background:#ffffff40}.control-btn.preview-close:active{background:#fff6}.photo-btn{width:44px;height:44px;border-radius:50%;border:none;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.25,.1,.25,1),background .2s ease;touch-action:manipulation}.photo-btn:active{transform:scale(.9);background:#fffc}.record-btn{width:72px;height:72px;border-radius:50%;border:none;box-shadow:inset 0 0 0 4px #fff;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.25,.1,.25,1);flex-shrink:0;touch-action:manipulation;font-size:16px;overflow:hidden}.record-btn:active{transform:scale(.92)}.record-inner{width:52px;height:52px;border-radius:50%;background:#ff3b30;transition:all .35s cubic-bezier(.25,.1,.25,1)}.record-btn.recording .record-inner{width:24px;height:24px;border-radius:5px}#recording-timer{position:fixed;top:calc(env(safe-area-inset-top,12px) + 16px);left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:8px;background:#56c5f880;padding:6px 14px;border-radius:20px}#recording-timer.hidden{display:none}.rec-dot{width:8px;height:8px;border-radius:50%;background:#f44;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}#timer-text{font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:500}#preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#73b5f1;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .5s ease}#preview-overlay.visible{opacity:1;pointer-events:auto}#preview-overlay.hidden{display:none}#preview-overlay .preview-content{animation:previewSlideUp .35s ease-out}@keyframes previewSlideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}#preview-overlay .preview-footer{animation:previewFadeIn .4s ease-out .1s both}#preview-overlay .preview-header{animation:previewFadeIn .3s ease-out}@keyframes previewFadeIn{0%{opacity:0}to{opacity:1}}.preview-header{display:flex;justify-content:flex-start;padding:calc(env(safe-area-inset-top,12px) + 8px) 16px 8px;position:relative;z-index:1}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:1}#preview-video,#preview-image{max-width:calc(100% - 32px);max-height:100%;object-fit:contain;display:none;border-radius:20px;border:2px solid rgba(255,255,255,.6)}#preview-video.visible,#preview-image.visible{display:block}.preview-footer{display:flex;gap:12px;padding:16px 24px calc(env(safe-area-inset-bottom,16px) + 16px);justify-content:center;position:relative;z-index:1}.action-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;border:none;border-radius:28px;background:#ffffff40;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s,background .15s}.action-btn:active{transform:scale(.95)}.action-btn.primary{background:#fff6;color:#fff}.action-btn.primary svg{stroke:#fff}.action-btn.primary:active{background:#fffffff2}.clouds-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0;opacity:0;transition:opacity 1s ease}.clouds-bg.loaded{opacity:1}.clouds-layer{position:absolute;top:0;left:0;width:300%;height:100%;background-image:url(/clouds-desktop.png);background-repeat:repeat-x;background-size:auto 150%;background-position:0 center;animation:cloudsScroll 120s linear infinite;will-change:transform;backface-visibility:hidden}.clouds-layer:nth-child(2){top:-30%;height:160%;opacity:.7;background-repeat:repeat;animation:cloudsScrollReverse 180s linear infinite}@media(max-width:1024px){.clouds-layer{background-image:url(/clouds.png)}.clouds-layer:nth-child(2){background-image:url(/clouds.png)}}@keyframes cloudsScroll{0%{transform:translateZ(0)}to{transform:translate3d(calc(-100% / 3),0,0)}}@keyframes cloudsScrollReverse{0%{transform:translate3d(calc(-100% / 3),0,0)}to{transform:translateZ(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInHalf{0%{opacity:0}to{opacity:.7}}.hidden{display:none!important}
