*{margin:0;padding:0;box-sizing:border-box}:root{--brand-teal: #84CFC5;--brand-teal-rgb: 132, 207, 197;--brand-blue: #32ACE2;--brand-blue-rgb: 50, 172, 226;--brand-azure: #4090CE;--brand-azure-rgb: 64, 144, 206;--holo-blue-top: #FFFFFF;--holo-blue-bottom: #2A8AB5;--brand-magenta: #DD4A9A;--brand-magenta-rgb: 221, 74, 154;--brand-dark: #0E0E0E;--brand-light: #F2F1F1;--brand-orange: #FF6B35;--glass-bg: rgba(20, 22, 28, .65);--glass-border: rgba(255, 255, 255, .08);--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .5);--text-tertiary: rgba(255, 255, 255, .25);--accent: rgba(var(--brand-teal-rgb), .9);--accent-glow: rgba(var(--brand-teal-rgb), .3);--accent-subtle: rgba(var(--brand-teal-rgb), .15);--blur-amount: 20px;--radius-soft: 16px;--radius-pill: 50px;--ease-out: cubic-bezier(.25, .1, .25, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .4s;--layout-center-x: 67%;--phone-width: 260px;--phone-height: 125px;--phone-bottom: 115px;--projector-width: 420px;--projector-height: 140px;--projector-bottom: 20px;--cancel-bottom: 180px;--cancel-offset-x: 100px;--phone-font-size: .8rem}body{background:#000;color:var(--text-primary);font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;height:100vh;height:100dvh;width:100vw;line-height:1.5;-webkit-font-smoothing:antialiased}#hologram-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#000;overflow:hidden}#background-layer{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/assets/backgrounds/living-room.jpg);background-size:cover;background-position:67% bottom;background-repeat:no-repeat;z-index:0;transition:filter .8s ease-out}#hologram-container.loading #background-layer{filter:blur(20px) brightness(.7)}#hologram-container.loading #emitter-shadows-svg{opacity:0;transition:opacity .8s ease-out}#emitter-shadows-svg{opacity:1;transition:opacity .8s ease-out}#emitter-shadow{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}#emitter-shadow .shadow-contact,#emitter-shadow .shadow-penumbra{display:none}#hero-text{display:none;position:fixed;left:0;top:0;width:50%;height:100%;z-index:10;pointer-events:none;background:linear-gradient(90deg,#2d231cd9,#2d231cb3,#2d231c00);flex-direction:column;justify-content:center;padding-left:12%;padding-right:12%}@media (min-width: 768px){#hero-text{display:flex}}.hero-tagline{display:block;font-family:Montserrat,sans-serif;font-size:clamp(.75rem,1.2vw,1rem);font-weight:600;text-transform:uppercase;letter-spacing:.35em;color:var(--brand-teal);margin-bottom:1.5rem;text-shadow:0 0 30px rgba(132,207,197,.5)}.hero-title{font-family:Montserrat,sans-serif;font-size:clamp(4rem,8vw,7rem);font-weight:700;line-height:.95;color:var(--brand-light);margin-bottom:1.5rem;letter-spacing:-.02em;text-shadow:0 0 60px rgba(242,241,241,.15),0 0 120px rgba(132,207,197,.1)}.hero-subtitle{font-family:Poppins,sans-serif;font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:400;line-height:1.7;color:#f2f1f199;max-width:380px}#mascot-container{position:absolute;top:0;left:0;width:100%;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity var(--duration-slow) var(--ease-out)}#mascot-container canvas{width:100%!important;height:100vh!important;height:100dvh!important}#hologram-container.carousel-active #mascot-container{opacity:1}#caption{display:none}#status{position:absolute;top:40px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:3px;opacity:0;transition:opacity var(--duration-slow) var(--ease-out)}#status.visible{opacity:1}#geometry-hint{display:none}#voice-indicator{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;animation:fadeIn var(--duration-normal) var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#voice-indicator.hidden{display:none}.voice-waves{display:flex;align-items:center;gap:6px;height:50px}.voice-waves span{width:4px;height:16px;background:var(--accent);border-radius:2px;animation:wave 1s ease-in-out infinite}.voice-waves span:nth-child(1){animation-delay:0s}.voice-waves span:nth-child(2){animation-delay:.15s}.voice-waves span:nth-child(3){animation-delay:.3s}.voice-waves span:nth-child(4){animation-delay:.15s}.voice-waves span:nth-child(5){animation-delay:0s}@keyframes wave{0%,to{height:16px;opacity:.5}50%{height:40px;opacity:1}}.voice-text{margin-top:24px;font-size:1rem;font-weight:400;color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase}#carousel-title{position:fixed;left:var(--layout-center-x);transform:translate(-50%) translateY(50%);bottom:38%;z-index:100;text-align:center;pointer-events:none;display:inline-block;animation:holo-flicker 20s ease-in-out infinite,holo-drift 12s ease-in-out infinite}#carousel-title.hidden{display:none}#carousel-title .title-name{font-family:Montserrat,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.75rem;font-weight:500;letter-spacing:6px;text-transform:uppercase;margin-bottom:.25rem;position:relative;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.9),0 0 20px rgba(255,255,255,.7),0 0 40px rgba(200,230,255,.5),0 0 60px rgba(150,200,240,.3)}#carousel-title .title-variant{font-family:Montserrat,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;font-weight:400;color:#5a96b4f2;letter-spacing:4px;text-transform:uppercase;opacity:1;text-shadow:0 0 10px rgba(60,130,160,.5);animation:breathe-text 4s ease-in-out infinite}#carousel-title:after{content:"";position:absolute;top:-10%;left:-10%;width:120%;height:120%;background:repeating-linear-gradient(0deg,transparent 0px,rgba(255,255,255,.03) 1px,transparent 2px,transparent 4px),repeating-linear-gradient(90deg,transparent 0px,rgba(200,230,255,.02) 2px,transparent 4px,transparent 8px);pointer-events:none;animation:holo-noise .15s steps(3) infinite;opacity:.8;z-index:2}@keyframes holo-flicker{0%,to{opacity:1}48%{opacity:1}49%{opacity:.92}50%{opacity:1}97%{opacity:1}98%{opacity:.95}99%{opacity:1}}@keyframes holo-drift{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-2px)}}@keyframes holo-shimmer{0%{background-position:100% 100%,300% 0}to{background-position:100% 100%,-300% 0}}@keyframes holo-noise{0%{transform:translate(0);opacity:.6}33%{transform:translate(-2px,1px);opacity:.9}66%{transform:translate(1px,-1px);opacity:.5}to{transform:translate(-1px);opacity:.7}}#panel-title{position:fixed;left:var(--layout-center-x);transform:translate(-50%) translateY(50%);bottom:40%;z-index:100;text-align:center;pointer-events:none;display:inline-block;animation:holo-flicker 20s ease-in-out infinite,holo-drift 12s ease-in-out infinite}#panel-title.hidden{display:none}#panel-title .title-name{font-family:Montserrat,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:500;letter-spacing:5px;text-transform:uppercase;position:relative;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.9),0 0 20px rgba(255,255,255,.7),0 0 40px rgba(200,230,255,.5),0 0 60px rgba(150,200,240,.3)}#panel-title .title-subtitle{font-family:Montserrat,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;font-weight:400;letter-spacing:3px;margin-top:4px;opacity:.85;color:#84cfc5;text-shadow:0 0 8px rgba(132,207,197,.8),0 0 16px rgba(132,207,197,.5),0 0 32px rgba(132,207,197,.3)}#panel-title .title-subtitle:empty{display:none}#panel-title .music-controls{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:auto}#panel-title .music-controls.hidden,#panel-title.music-mode .title-name,#panel-title.music-mode .title-subtitle{display:none}#panel-title.music-mode .music-controls{display:flex}#panel-title .music-track-name{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.9),0 0 20px rgba(255,255,255,.6),0 0 40px rgba(200,230,255,.4);white-space:nowrap}#panel-title .music-playback{display:flex;align-items:center;gap:16px}#panel-title .music-btn{background:transparent;border:2px solid rgba(132,207,197,.6);border-radius:50%;width:36px;height:36px;font-size:14px;color:var(--brand-teal);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-shadow:0 0 8px rgba(132,207,197,.6);box-shadow:0 0 12px #84cfc533}#panel-title .music-btn:hover{background:#84cfc526;border-color:var(--brand-teal);box-shadow:0 0 20px #84cfc566}#panel-title .music-play{width:48px;height:48px;font-size:18px;border-width:2px}#panel-title .music-play.playing{background:#84cfc540;border-color:var(--brand-teal);box-shadow:0 0 25px #84cfc580}#panel-title .music-time{font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:400;letter-spacing:2px;color:#84cfc5e6;text-shadow:0 0 8px rgba(132,207,197,.5)}@media (max-width: 768px),(orientation: portrait){#panel-title .music-track-name{font-size:.95rem;letter-spacing:2px}#panel-title .music-btn{width:32px;height:32px;font-size:12px}#panel-title .music-play{width:42px;height:42px;font-size:16px}#panel-title .music-playback{gap:12px}#panel-title .music-time{font-size:.75rem}}#panel-title:after{content:"";position:absolute;top:-10%;left:-10%;width:120%;height:120%;background:repeating-linear-gradient(0deg,transparent 0px,rgba(255,255,255,.03) 1px,transparent 2px,transparent 4px),repeating-linear-gradient(90deg,transparent 0px,rgba(200,230,255,.02) 2px,transparent 4px,transparent 8px);pointer-events:none;animation:holo-noise .15s steps(3) infinite;opacity:.8;z-index:2}@media (max-width: 768px),(orientation: portrait){#carousel-title{bottom:42%}#panel-title{bottom:44%}#panel-title .title-name{font-size:1.25rem;letter-spacing:4px}#panel-title .title-subtitle{font-size:.8rem;letter-spacing:2px}#carousel-title .title-name{font-size:1.5rem;letter-spacing:5px}#carousel-title .title-variant{font-size:.85rem;letter-spacing:3px}}#hologram-container.meditation-active #background-layer{filter:blur(10px) brightness(.6)}#hologram-container.meditation-active #projector-base{filter:blur(6px);opacity:.3;transition:filter .5s ease,opacity .5s ease}#hologram-container.meditation-active #holo-phone,#hologram-container.meditation-active #mascot-container{filter:none!important}.progress-bar{width:200px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent) 0%,rgba(180,220,255,.9) 100%);border-radius:2px;transition:width .3s var(--ease-out);box-shadow:0 0 10px var(--accent-glow)}#response-progress{position:fixed;bottom:180px;left:50%;transform:translate(-50%);z-index:15;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;transition:opacity var(--duration-normal) var(--ease-out)}#response-progress:not(.hidden){opacity:1}#response-progress.hidden{display:none}#response-progress .progress-bar{width:160px;height:3px}@media (max-width: 768px){#response-progress{bottom:160px}#response-progress .progress-bar{width:140px}.meditation-content{top:40px}#meditation-phase{font-size:1.2rem;letter-spacing:4px}#meditation-timer{font-size:2rem}.progress-bar{width:160px}}.hidden{display:none!important}::-webkit-scrollbar{display:none}#holo-phone{position:absolute;bottom:var(--phone-bottom);left:var(--layout-center-x);transform:translate(-50%) perspective(800px) rotateX(-15deg) rotateY(0);transform-origin:bottom center;z-index:15;cursor:pointer;transition:all var(--duration-normal) var(--ease-out);display:none}.phone-frame{width:var(--phone-width);height:var(--phone-height);padding:8px;background:linear-gradient(165deg,#1e2328f2,#0f1216fa,#191e23f2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(60,65,75,.8);border-radius:16px;box-shadow:0 0 20px #50c8b426,0 8px 32px #0006,inset 0 1px 1px #ffffff1a,0 15px 25px -10px #00000080;display:flex;flex-direction:column;align-items:center}.phone-notch{width:60px;height:6px;background:#1e232df2;border-radius:3px;margin-bottom:6px;box-shadow:inset 0 1px 2px #0006}.phone-screen{flex:1;width:100%;background:linear-gradient(180deg,#050f14f2,#0a191ee6);border-radius:14px;border:1px solid rgba(80,180,160,.3);display:flex;align-items:center;justify-content:center;padding:12px 18px;position:relative;overflow:hidden}.phone-screen:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,rgba(80,200,180,.08) 0%,transparent 70%);pointer-events:none}.phone-indicator{width:80px;height:4px;background:#64c8b499;border-radius:2px;margin-top:6px;box-shadow:0 0 8px #64c8b466;animation:indicatorPulse 2s ease-in-out infinite}@keyframes indicatorPulse{0%,to{opacity:.6}50%{opacity:1;box-shadow:0 0 12px #64c8b499}}#holo-phone .screen-text{font-size:var(--phone-font-size);font-weight:500;letter-spacing:.3px;color:#8ce6d2f2;text-shadow:0 0 8px rgba(120,220,200,.6),0 0 16px rgba(100,200,180,.3);text-align:center;line-height:1.35;width:100%;z-index:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#holo-phone:hover{transform:translate(-50%) perspective(800px) rotateX(-22deg)}#holo-phone:hover .phone-frame{border-color:#64b4a099;box-shadow:0 0 25px #50c8b440,0 8px 32px #0006,inset 0 1px 1px #ffffff26}#holo-phone:hover .phone-screen{border-color:#64c8b480}#holo-phone:active,#holo-phone.listening{transform:translate(-50%) perspective(800px) rotateX(-20deg) scale(.98)}#holo-phone.listening .phone-frame{border-color:#78dcc8b3;box-shadow:0 0 30px #64dcc859,0 8px 32px #0006,inset 0 0 15px #64dcc80d}#holo-phone.listening .phone-screen{border-color:#78e6d299;background:linear-gradient(180deg,#0a191ef2,#0f2328e6)}#holo-phone.listening .screen-text{color:#a0fae6fa;text-shadow:0 0 10px rgba(140,240,220,.8),0 0 20px rgba(120,220,200,.5);animation:textPulse 1s ease-in-out infinite}#holo-phone.listening .phone-indicator{background:#78e6d2e6;box-shadow:0 0 12px #78e6d2b3}@keyframes textPulse{0%,to{opacity:.9}50%{opacity:1}}#holo-phone.speaking .phone-frame{border-color:#8cc8dc99}#holo-phone.speaking .phone-screen{border-color:#8cc8dc66}#holo-phone.speaking .screen-text{color:#aadce6f2;text-shadow:0 0 8px rgba(150,200,220,.5),0 0 16px rgba(130,180,200,.3)}#holo-phone.speaking .phone-indicator{background:#8cc8dcb3;box-shadow:0 0 8px #8cc8dc80}#projector-base{position:absolute;bottom:var(--projector-bottom);left:var(--layout-center-x);transform:translate(-50%) perspective(800px) rotateX(25deg);width:var(--projector-width);height:var(--projector-height);pointer-events:auto;z-index:5}.projector-glow{display:none}@keyframes projectorPulse{0%,to{opacity:.6}50%{opacity:1}}.projector-ring{display:none}@keyframes ringGlow{0%,to{box-shadow:0 0 15px #b4c8f080,0 0 30px #a0beff40;opacity:.8}50%{box-shadow:0 0 25px #dcebffd9,0 0 50px #b4c8f066,0 0 80px #a0beff33;opacity:1}}.projector-body{display:none}#hologram-container.listening-active #background-layer{filter:blur(6px) brightness(.7);transition:filter var(--duration-normal) var(--ease-out)}#hologram-container.carousel-active #background-layer{filter:blur(10px) brightness(.6);transition:filter var(--duration-slow) var(--ease-out)}#hologram-container.carousel-active #projector-base{opacity:.5;filter:blur(4px);transition:opacity var(--duration-slow) var(--ease-out),filter var(--duration-slow) var(--ease-out)}#hologram-container.carousel-active #holo-phone{opacity:.3;filter:blur(4px);transition:opacity var(--duration-slow) var(--ease-out),filter var(--duration-slow) var(--ease-out)}.tutorial-hint{position:fixed;left:50%;transform:translate(-50%);z-index:100;pointer-events:none;opacity:0;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.tutorial-hint.position-top{top:15%;transform:translate(-50%) translateY(-50%)}.tutorial-hint.position-bottom{bottom:30%;transform:translate(-50%) translateY(50%)}.tutorial-hint.visible{opacity:1}.tutorial-hint.position-top.visible,.tutorial-hint.position-bottom.visible{transform:translate(-50%) translateY(0)}.tutorial-hint .hint-text{display:block;font-family:Montserrat,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#b4dcfff2;text-shadow:0 0 20px rgba(140,180,255,.8),0 0 40px rgba(140,180,255,.4),0 0 60px rgba(140,180,255,.2);animation:holo-flicker 3s ease-in-out infinite}@keyframes holo-flicker{0%,to{opacity:1}50%{opacity:.85}52%{opacity:.95}54%{opacity:.9}}@media (max-width: 768px){.tutorial-hint .hint-text{font-size:1.1rem}.tutorial-hint.position-top{top:10%}.tutorial-hint.position-bottom{bottom:35%}}.tutorial-touch-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:150}.tutorial-finger{position:absolute;width:80px;height:80px;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s ease-out,transform .15s ease-out;background:transparent;--bracket-color: rgba(140, 200, 255, .95);--bracket-glow: rgba(100, 180, 255, .8);--bracket-thickness: 4px;--bracket-radius: 4px;--h-length: 16px}.tutorial-finger .bracket-top-left{position:absolute;left:0;top:0;width:var(--h-length);height:60%;background:linear-gradient(to right,var(--bracket-color) 100%,transparent 100%) 0 0 / 100% var(--bracket-thickness) no-repeat,linear-gradient(to bottom,var(--bracket-color) 100%,transparent 100%) 0 0 / var(--bracket-thickness) 100% no-repeat;border-radius:var(--bracket-radius) 0 0 0;filter:drop-shadow(0 0 6px var(--bracket-glow)) drop-shadow(0 0 15px var(--bracket-glow))}.tutorial-finger .bracket-top-right{position:absolute;right:0;top:0;width:var(--h-length);height:30%;background:linear-gradient(to left,var(--bracket-color) 100%,transparent 100%) 100% 0 / 100% var(--bracket-thickness) no-repeat,linear-gradient(to bottom,var(--bracket-color) 100%,transparent 100%) 100% 0 / var(--bracket-thickness) 100% no-repeat;border-radius:0 var(--bracket-radius) 0 0;filter:drop-shadow(0 0 6px var(--bracket-glow)) drop-shadow(0 0 15px var(--bracket-glow))}.tutorial-finger .bracket-bottom-left{position:absolute;left:0;bottom:0;width:var(--h-length);height:30%;background:linear-gradient(to right,var(--bracket-color) 100%,transparent 100%) 0 100% / 100% var(--bracket-thickness) no-repeat,linear-gradient(to top,var(--bracket-color) 100%,transparent 100%) 0 100% / var(--bracket-thickness) 100% no-repeat;border-radius:0 0 0 var(--bracket-radius);filter:drop-shadow(0 0 6px var(--bracket-glow)) drop-shadow(0 0 15px var(--bracket-glow))}.tutorial-finger .bracket-bottom-right{position:absolute;right:0;bottom:0;width:var(--h-length);height:60%;background:linear-gradient(to left,var(--bracket-color) 100%,transparent 100%) 100% 100% / 100% var(--bracket-thickness) no-repeat,linear-gradient(to top,var(--bracket-color) 100%,transparent 100%) 100% 100% / var(--bracket-thickness) 100% no-repeat;border-radius:0 0 var(--bracket-radius) 0;filter:drop-shadow(0 0 6px var(--bracket-glow)) drop-shadow(0 0 15px var(--bracket-glow))}.tutorial-finger .bracket-ripple{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);background:transparent;box-shadow:0 0 0 2px #ffc864e6,0 0 8px #ffb450cc,0 0 20px #ffa03c80;opacity:0}.tutorial-finger .bracket-ripple.visible{opacity:1;animation:ripple-pulse .8s ease-out infinite}@keyframes ripple-pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:1;box-shadow:0 0 0 3px #ffc864,0 0 10px #ffb450e6,0 0 25px #ffa03c99}to{transform:translate(-50%,-50%) scale(4);opacity:0;box-shadow:0 0 0 1px #ffc8644d,0 0 15px #ffb45033,0 0 30px #ffa03c1a}}@keyframes ripple-pulse-huge{0%{transform:translate(-50%,-50%) scale(1);opacity:1;box-shadow:0 0 0 5px #ffc864,0 0 20px #ffb450,0 0 50px #ffa03ccc}to{transform:translate(-50%,-50%) scale(8);opacity:0;box-shadow:0 0 0 2px #ffc86466,0 0 30px #ffb4504d,0 0 60px #ffa03c33}}.tutorial-finger.tap-finger{width:150px;height:150px}.tutorial-finger.tap-finger .bracket-ripple{width:30px;height:30px;background:#785014b3;border:4px solid rgba(100,60,10,.9);box-shadow:0 0 0 6px #503200cc,0 0 20px #3c1e0099,inset 0 0 10px #28140080}.tutorial-finger.tap-finger .bracket-ripple.visible{animation:ripple-pulse-huge .8s ease-out infinite}.tutorial-finger.zoom-in{opacity:1;animation:bracket-zoom-in .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes bracket-zoom-in{0%{transform:translate(-50%,-50%) scale(8);opacity:0}30%{opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.tutorial-finger.pressing{opacity:1;transform:translate(-50%,-50%) scale(.9)}.tutorial-finger.releasing{opacity:0;transform:translate(-50%,-50%) scale(1.1);transition:opacity .3s ease-out,transform .3s ease-out}.tutorial-ripple{position:absolute;width:30px;height:30px;border-radius:50%;transform:translate(-50%,-50%) scale(1);background:transparent;opacity:1;box-shadow:0 0 0 2px #8cc8ffe6,0 0 0 4px #64b4ff99,0 0 0 8px #50a0ff4d,0 0 20px #8cc8ffcc,0 0 40px #64b4ff66;transition:transform .7s cubic-bezier(.25,.46,.45,.94),opacity .7s ease-out,box-shadow .7s ease-out}.tutorial-ripple.expanding{transform:translate(-50%,-50%) scale(8);box-shadow:0 0 0 1px #8cc8ff4d,0 0 0 2px #64b4ff26,0 0 0 4px #50a0ff0d,0 0 30px #8cc8ff33,0 0 60px #64b4ff1a;opacity:0}.tutorial-drag-trail{position:absolute;transform:translate(-50%,-50%);border:2px dashed rgba(140,200,255,.5);border-radius:50%;box-shadow:0 0 15px #8cc8ff4d;opacity:0;transition:opacity .3s ease-out;pointer-events:none}.tutorial-finger.pinch-finger,.tutorial-finger.drag-finger{width:55px;height:55px}.tutorial-button-ripple{position:absolute;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%) scale(.5);background:transparent;border:3px solid rgba(255,200,100,.9);box-shadow:0 0 0 2px #ffb450cc,0 0 10px #ffa03c99,inset 0 0 5px #ffc86466;opacity:0;pointer-events:none;transition:none}.tutorial-button-ripple.active{animation:button-ripple-expand .4s ease-out forwards}@keyframes button-ripple-expand{0%{transform:translate(-50%,-50%) scale(.5);opacity:1;border-width:4px;box-shadow:0 0 0 3px #ffc864,0 0 15px #ffb450e6,inset 0 0 8px #ffc86499}50%{opacity:1}to{transform:translate(-50%,-50%) scale(3);opacity:0;border-width:2px;box-shadow:0 0 0 1px #ffc8644d,0 0 20px #ffb45033,inset 0 0 10px #ffc8641a}}
