:root{--bg: #07080c;--surface: rgba(12, 13, 18, .55);--surface-strong: rgba(14, 15, 20, .82);--surface-hover: rgba(28, 29, 36, .7);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--text: #f5f3ef;--text-muted: rgba(245, 243, 239, .58);--text-faint: rgba(245, 243, 239, .38);--accent: #ffb547;--accent-soft: rgba(255, 181, 71, .16);--rec: #ff4d4f;--radius: 14px;--shadow: 0 8px 30px rgba(0, 0, 0, .35);--ease: cubic-bezier(.2, .8, .2, 1);--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-festive: "Rozha One", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0;user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg);font-family:var(--font-ui);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}#app{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--bg)}#webcam{display:none}#stage{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}.grand-finale-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;transition:all .75s cubic-bezier(.16,1,.3,1)}.grand-finale-center.hidden{opacity:0;transform:translate(-50%,-46%) scale(.82);pointer-events:none}.finale-sparkle-aura{position:absolute;width:620px;height:380px;background:radial-gradient(circle,rgba(255,179,0,.35) 0%,rgba(211,47,47,.22) 50%,transparent 75%);filter:blur(36px);pointer-events:none;animation:pulse-aura 2.4s infinite alternate ease-in-out}.finale-mandala-ring{position:absolute;width:440px;height:440px;border-radius:50%;border:1.5px dashed rgba(255,215,0,.32);box-shadow:0 0 40px #ffb30040,inset 0 0 35px #d32f2f33;pointer-events:none;animation:spin-mandala 40s linear infinite}@keyframes spin-mandala{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-aura{0%{transform:scale(.92);opacity:.65}to{transform:scale(1.18);opacity:1}}.marigold-garland{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-bottom:.5rem;z-index:2}.garland-flower{width:48px;height:48px;filter:drop-shadow(0 4px 12px rgba(255,111,0,.65));animation:sway-flower 3s infinite alternate ease-in-out}.garland-flower.f1{transform:translateY(12px) rotate(-10deg);animation-delay:0s}.garland-flower.f2{transform:translateY(3px) rotate(-4deg);animation-delay:.2s}.garland-flower.f3{transform:translateY(-4px) rotate(0);width:56px;height:56px;animation-delay:.4s}.garland-flower.f4{transform:translateY(3px) rotate(4deg);animation-delay:.6s}.garland-flower.f5{transform:translateY(12px) rotate(10deg);animation-delay:.8s}@keyframes sway-flower{0%{transform:translateY(0) rotate(0) scale(.98)}to{transform:translateY(-4px) rotate(4deg) scale(1.04)}}.finale-banner{display:flex;align-items:center;justify-content:center;gap:1.8rem;z-index:2}.banner-diya{width:clamp(60px,6.5vw,88px);height:clamp(60px,6.5vw,88px);filter:drop-shadow(0 6px 22px rgba(255,179,0,.95)) drop-shadow(0 0 10px rgba(255,61,0,.7));animation:flicker-banner-diya 2s infinite alternate ease-in-out}.banner-diya.left{animation-delay:.2s}.banner-diya.right{transform:scaleX(-1);animation:flicker-banner-diya-right 2s infinite alternate ease-in-out;animation-delay:.7s}@keyframes flicker-banner-diya{0%{transform:scale(.95);filter:drop-shadow(0 4px 16px rgba(255,179,0,.85))}to{transform:scale(1.05);filter:drop-shadow(0 10px 28px rgba(255,111,0,1))}}@keyframes flicker-banner-diya-right{0%{transform:scaleX(-1) scale(.95);filter:drop-shadow(0 4px 16px rgba(255,179,0,.85))}to{transform:scaleX(-1) scale(1.05);filter:drop-shadow(0 10px 28px rgba(255,111,0,1))}}.finale-text-group{display:flex;flex-direction:column;align-items:center}.finale-pretitle{font-family:var(--font-festive);font-size:clamp(.9rem,2vw,1.4rem);font-weight:700;letter-spacing:.3em;color:#ffe082;text-shadow:0 0 16px rgba(255,179,0,.85);margin-bottom:.2rem}.finale-heading{font-family:var(--font-festive);font-size:clamp(2.8rem,7.5vw,6.2rem);font-weight:900;letter-spacing:.1em;line-height:1.05;background:linear-gradient(180deg,#fff,#fff3b0 22%,gold 50%,#ff8f00 80%,#d84315);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px rgba(255,215,0,.95)) drop-shadow(0 0 50px rgba(255,111,0,.8)) drop-shadow(0 0 90px rgba(194,24,91,.6));animation:shimmer-text 2.8s infinite alternate ease-in-out;white-space:nowrap}@keyframes shimmer-text{0%{filter:drop-shadow(0 0 18px rgba(255,215,0,.85)) drop-shadow(0 0 45px rgba(255,111,0,.7))}to{filter:drop-shadow(0 0 32px rgba(255,245,157,1)) drop-shadow(0 0 75px rgba(211,47,47,.9))}}.finale-subheading{font-family:var(--font-ui);font-size:clamp(.9rem,1.8vw,1.3rem);font-weight:600;letter-spacing:.08em;color:#fff9e6;text-shadow:0 2px 14px rgba(0,0,0,.9),0 0 20px rgba(255,179,0,.7);margin-top:.5rem}.lg-glass{--lg-tint: rgba(16, 16, 20, .08);position:relative;isolation:isolate;background:linear-gradient(to bottom,#ffffff14,#fff0),var(--lg-tint);-webkit-backdrop-filter:blur(3px) saturate(1.6) brightness(.95);backdrop-filter:blur(3px) saturate(1.6) brightness(.95);border:none;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35),0 0 12px rgba(0,0,0,.18);box-shadow:inset 0 1px 1px #ffffff40,inset 0 -1px 1px #ffffff0f,inset 0 0 20px #ffffff0d,0 8px 24px #00000038}.lg-refract .lg-glass{backdrop-filter:url(#lg-lens) blur(3px) saturate(1.6) brightness(.95)}.lg-dark .lg-glass,.lg-glass.lg-dark{--lg-tint: rgba(12, 12, 16, .38)}.lg-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#ffffff38,#ffffff0d 40%,#ffffff24 65%,#ffffff80);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none;z-index:1}.lg-glass:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 60% at 50% 0%,rgba(255,255,255,.16),transparent 60%);pointer-events:none;z-index:-1}.lg-glass>*{position:relative;z-index:2}button.lg-glass{cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s var(--ease)}button.lg-glass:hover{background:linear-gradient(to bottom,#fff3,#ffffff0f),var(--lg-tint)}button.lg-glass:active{transform:scale(.95)}.lg-tile{border:none;background:transparent;color:#fff;border-radius:14px;transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .3s cubic-bezier(.34,1.56,.64,1)}button.lg-tile{cursor:pointer;background:#ffffff1a;box-shadow:inset 0 1px .5px #fff3}button.lg-tile:hover{background:#ffffff2e}button.lg-tile:active{transform:scale(.96)}.lg-tile.lg-on,button.lg-tile.lg-on{background:#fffffff2;color:#111216;text-shadow:none;box-shadow:0 2px 10px #0000002e}button.lg-tile.lg-on:hover{background:#fff}.lg-field{border:none;border-radius:12px;padding:10px 12px;color:#fff;background:#00000038;box-shadow:inset 0 1px 3px #00000059,inset 0 -1px #ffffff14;outline:none}.hud-container{position:absolute;inset:0;pointer-events:none;z-index:10;display:flex;flex-direction:column;justify-content:space-between;padding:22px 26px;transition:opacity .3s var(--ease),transform .3s var(--ease)}.hud-container.hud-hidden{opacity:0;transform:translateY(-6px)}.hud-header{display:flex;align-items:flex-start;justify-content:space-between;pointer-events:auto}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-shadow:0 1px 2px rgba(0,0,0,.45),0 2px 18px rgba(0,0,0,.35)}.brand-name{font-family:var(--font-display);font-size:34px;line-height:.95;letter-spacing:-.01em;color:#fff}.brand-sub{font-family:var(--font-display);font-style:italic;font-size:17px;line-height:1;letter-spacing:.02em;color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hud-header{justify-content:flex-end}.header-actions{display:flex;align-items:center;gap:10px}.icon-btn,.record-btn,.restore-hud-btn{height:44px;border-radius:999px;color:#fff;cursor:pointer;text-shadow:0 1px 6px rgba(0,0,0,.3)}.icon-btn:focus-visible,.record-btn:focus-visible,.restore-hud-btn:focus-visible,.hud-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.icon-btn{width:44px;display:grid;place-items:center}.icon{width:19px;height:19px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.3))}.icon-btn .icon-sound-off,.icon-btn.is-muted .icon-sound-on{display:none}.icon-btn.is-muted .icon-sound-off{display:block}.icon-btn .icon-mic-on,.icon-btn.is-on .icon-mic-off{display:none}.icon-btn.is-on .icon-mic-on{display:block}.icon-btn.is-on{--lg-tint: rgba(255, 181, 71, .35)}.icon-btn:not(.is-on) .icon-mic-off{color:#ffffffb3}.icon-btn.is-muted{color:#fff9}.record-btn{display:flex;align-items:center;gap:9px;padding:0 18px 0 16px;font-size:14px;font-weight:500}.record-dot{width:10px;height:10px;border-radius:50%;background:var(--rec);box-shadow:0 0 8px #ff4d4fb3;transition:border-radius .2s var(--ease)}.record-btn.recording{--lg-tint: rgba(255, 60, 60, .3)}.record-btn.recording .record-dot{border-radius:2px;animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{50%{opacity:.45}}.record-timer{display:none;font-family:var(--font-mono);font-size:12px;color:#fffc;font-variant-numeric:tabular-nums}.record-btn.recording .record-timer{display:inline}.hud-footer{display:flex;justify-content:center;pointer-events:auto}.gesture-dock{border-radius:24px;max-width:min(1060px,100%);overflow:hidden;transition:opacity .35s var(--ease)}.gesture-bar{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;padding:6px;gap:2px}.gesture-dock.is-faded{opacity:.45}.gesture{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:7px 14px 7px 10px;border-radius:18px}.gesture-glyph{grid-row:1 / span 2;font-size:19px;line-height:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.gesture-svg{display:block;width:21px;height:21px}.gesture-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap}.gesture-sub{font-size:11px;color:#ffffffa6;white-space:nowrap}.restore-hud-btn{position:absolute;top:22px;right:26px;z-index:20;padding:0 18px;font-size:13px;font-weight:500}.restore-hud-btn.hidden{display:none}.intro{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at 50% 45%,#00000040,#0009);transition:opacity .45s var(--ease)}.intro.is-leaving{opacity:0;pointer-events:none}.intro-card{width:min(440px,100%);padding:32px 30px 24px;border-radius:30px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:intro-in .6s cubic-bezier(.34,1.56,.64,1)}@keyframes intro-in{0%{transform:translateY(12px) scale(.96)}to{transform:none}}.intro-eyebrow{font-family:var(--font-display);font-style:italic;font-size:18px;color:var(--accent)}.intro-title{margin-top:6px;font-family:var(--font-display);font-weight:400;font-size:clamp(30px,6vw,40px);line-height:1.05;letter-spacing:-.01em;text-wrap:balance}.intro-text{margin-top:12px;font-size:14px;line-height:1.5;color:#ffffffc7;max-width:32ch}.intro-start{margin-top:24px;width:100%;height:48px;border-radius:999px;font-size:15px;font-weight:600}.intro-start:disabled{cursor:progress}.intro-start:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.intro-note{margin-top:12px;font-size:12px;color:#ffffff8c}.intro-note.is-error{color:#ffb4a8}@media(max-width:640px){.intro{place-items:end stretch;padding:0}.intro-card{width:100%;border-radius:28px 28px 0 0;padding:12px 22px calc(20px + env(safe-area-inset-bottom));animation:sheet-up .5s cubic-bezier(.32,.72,0,1)}.intro-card>.intro-eyebrow:before{content:"";display:block;width:36px;height:5px;margin:0 auto 18px;border-radius:999px;background:#ffffff4d}.intro.is-leaving .intro-card{transform:translateY(100%);transition:transform .4s cubic-bezier(.32,.72,0,1)}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.reel-preview{position:fixed;z-index:40;top:84px;right:26px;width:min(270px,calc(100vw - 32px));padding:8px;border-radius:22px;display:flex;flex-direction:column;gap:8px;animation:slide-in .35s cubic-bezier(.34,1.56,.64,1)}.reel-preview.hidden{display:none}@keyframes slide-in{0%{transform:translateY(-8px) scale(.97)}to{transform:none}}.reel-thumb-btn{position:relative;width:100%;aspect-ratio:16 / 9;padding:0;border:none;cursor:pointer;background:#000;border-radius:15px;overflow:hidden;display:block}.reel-thumb-btn video{display:block;width:100%;height:100%;object-fit:cover}.reel-play-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0000004d;font-size:13px;font-weight:500;opacity:0;transition:opacity .2s var(--ease)}.reel-thumb-btn:hover .reel-play-overlay{opacity:1}.reel-card-meta{display:flex;justify-content:flex-end;padding:0 6px}.reel-duration{font-family:var(--font-mono);font-size:11px;color:#ffffffbf;font-variant-numeric:tabular-nums}.reel-actions{display:flex;gap:6px}.hud-btn-label{flex:1;height:34px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.btn-dismiss{color:#ffffffbf}.reel-dialog{margin:auto;padding:0;border:none;background:transparent;color:var(--text);max-width:min(760px,calc(100vw - 32px));width:100%;overflow:visible}.reel-dialog::backdrop{background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.reel-dialog-card{border-radius:28px;padding:16px;display:flex;flex-direction:column;gap:14px}.reel-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.reel-dialog-title{font-family:var(--font-display);font-size:24px}.reel-dialog-close{width:34px;height:34px;border:none;border-radius:999px;background:#ffffff1f;box-shadow:inset 0 1px .5px #ffffff59;color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:background .2s var(--ease)}.reel-dialog-close:hover{background:#ffffff38}.reel-dialog-video-wrapper{width:100%;aspect-ratio:16 / 9;background:#000;border-radius:18px;overflow:hidden}.reel-dialog-video-wrapper video{width:100%;height:100%;object-fit:contain;display:block}.reel-dialog-footer{display:flex;justify-content:flex-end}.hud-btn-download{height:42px;padding:0 22px;border-radius:999px;font-size:14px}@media(max-width:860px){.hud-container{padding:14px}.restore-hud-btn{top:14px;right:14px}.reel-preview{top:72px;right:14px}.gesture-sub{display:none}.gesture{grid-template-columns:auto;justify-items:center;row-gap:4px;padding:8px 10px}.gesture-glyph{grid-row:auto}.gesture-name{font-size:11px}.brand{padding:8px 14px 9px}.brand-name{font-size:22px}.record-btn .btn-label{display:none}.record-btn{padding:0 16px}.garland-flower{width:36px;height:36px}}@media(max-width:640px){.hud-container{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.gesture-dock{max-width:100%;border-radius:18px}.gesture-bar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.gesture-bar::-webkit-scrollbar{display:none}.gesture{flex:0 0 auto;row-gap:2px;padding:5px 7px;border-radius:13px}.gesture-glyph{font-size:16px}.gesture-svg{width:17px;height:17px}.gesture-name{font-size:9.5px;font-weight:500}.icon-btn,.record-btn{height:38px}.icon-btn{width:38px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
