:root{--safe-area-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth;font-family:Inter,Segoe UI,system-ui,sans-serif}body{background-color:#f3f4f6}p,span,h1,h2,h3,h4,h5,h6,a,div{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.mobile-only{display:none!important}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:inline-block!important}}.app-loader-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:radial-gradient(circle at center,#fff,#f0fdfa);display:flex;justify-content:center;align-items:center;z-index:9999999;opacity:1;visibility:visible;transition:opacity .5s ease-in-out,visibility .5s ease-in-out}.app-loader-overlay.fade-out{opacity:0;visibility:hidden}.tooth-brushing-loader{display:flex;flex-direction:column;align-items:center;gap:40px}.animation-container{position:relative;width:280px;height:180px;display:flex;justify-content:center;align-items:center;padding:10px;overflow:visible}.contra-wrapper{position:absolute;width:130px;height:54px;top:25px;left:115px;z-index:10;pointer-events:none;transform-origin:90% 50%;animation:contra-action 2.4s cubic-bezier(.455,.03,.515,.955) forwards}.contra-wrapper .contra-svg{width:100%;height:100%;filter:drop-shadow(0 5px 8px rgba(0,0,0,.08));overflow:visible}.water-sprays-container{position:absolute;top:25px;left:70px;width:110px;height:40px;pointer-events:none;z-index:5;overflow:visible;animation:sprays-fade 2.4s forwards}.water-sprays-container .spray{position:absolute;background:linear-gradient(135deg,#38bdf8bf,#0e749080);border-radius:0 50% 50%;opacity:0}.water-sprays-container .spray.s1{left:20px;top:10px;width:6px;height:6px;animation:water-spray-left 1.5s infinite;animation-delay:0s}.water-sprays-container .spray.s2{left:24px;top:8px;width:4px;height:4px;animation:water-spray-left 1.2s infinite;animation-delay:.2s}.water-sprays-container .spray.s3{left:18px;top:12px;width:5px;height:5px;animation:water-spray-left 1.4s infinite;animation-delay:.4s}.water-sprays-container .spray.s4{left:26px;top:14px;width:3px;height:3px;animation:water-spray-left 1.1s infinite;animation-delay:.6s}.water-sprays-container .spray.s5{left:88px;top:8px;width:6px;height:6px;animation:water-spray-right 1.5s infinite;animation-delay:1.3s}.water-sprays-container .spray.s6{left:84px;top:11px;width:4px;height:4px;animation:water-spray-right 1.2s infinite;animation-delay:1.5s}.water-sprays-container .spray.s7{left:92px;top:6px;width:5px;height:5px;animation:water-spray-right 1.4s infinite;animation-delay:1.7s}.water-sprays-container .spray.s8{left:80px;top:13px;width:3px;height:3px;animation:water-spray-right 1.1s infinite;animation-delay:1.9s}.water-sprays-container .spray.s9{left:52px;top:4px;width:6px;height:6px;animation:water-spray-mid 1.4s infinite;animation-delay:2.5s}.water-sprays-container .spray.s10{left:58px;top:8px;width:4px;height:4px;animation:water-spray-mid 1.2s infinite;animation-delay:2.7s}.water-sprays-container .spray.s11{left:48px;top:10px;width:5px;height:5px;animation:water-spray-mid 1.5s infinite;animation-delay:2.9s}.water-sprays-container .spray.s12{left:62px;top:6px;width:3px;height:3px;animation:water-spray-mid 1.1s infinite;animation-delay:3.1s}.loader-branding-container{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.loader-center-title{position:absolute;font-family:Inter,system-ui,sans-serif;font-size:38px;font-weight:900;letter-spacing:-.04em;background:linear-gradient(135deg,#0f172a,#0891b2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;opacity:0;transform:scale(.92);z-index:2;animation:center-title-reveal 1.2s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:1.8s}.loader-branding{display:flex;flex-direction:column;align-items:center;text-align:center}.loader-branding .loader-progress-bar{width:200px;height:5px;background:#e2e8f0;border-radius:10px;overflow:hidden;margin:16px 0;position:relative;opacity:0;animation:fade-in .8s ease-out forwards;animation-delay:2.1s}.loader-branding .loader-progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#06b6d4,#0891b2);border-radius:10px;width:0%;animation:load-progress 4.5s cubic-bezier(.1,.8,.1,1) forwards}.loader-branding .loader-subtitle{font-family:Inter,system-ui,sans-serif;font-size:14.5px;color:#64748b;margin:0;font-weight:550;letter-spacing:-.01em;opacity:0;animation:fade-in .8s ease-out forwards;animation-delay:2.3s}@keyframes tooth-bounce{0%,to{transform:translateY(0) scale(1) rotate(0)}50%{transform:translateY(-4px) scale(1.01) rotate(.5deg)}}@keyframes contra-action{0%{transform:translate(-26px,-1px) rotate(-15deg) translate(0);opacity:1}4%{transform:translate(-23px,1px) rotate(-13deg) translate(.4px,-.4px);opacity:1}8%{transform:translate(-20px,2px) rotate(-11deg) translate(-.4px,.4px);opacity:1}12%{transform:translate(-24px) rotate(-14deg) translate(.4px,.4px);opacity:1}16%{transform:translate(-28px,-2px) rotate(-16deg) translate(-.4px,-.4px);opacity:1}20%{transform:translate(-23px,-1px) rotate(-13deg) translate(.4px,-.4px);opacity:1}24%{transform:translate(-18px,1px) rotate(-10deg) translate(-.4px,.4px);opacity:1}28%{transform:translate(-22px) rotate(-13deg) translate(.4px,.4px);opacity:1}33%{transform:translate(-26px,-1px) rotate(-15deg) translate(0);opacity:1}40%{transform:translate(26px,-1px) rotate(15deg) translate(0);opacity:1}44%{transform:translate(23px,1px) rotate(13deg) translate(.4px,-.4px);opacity:1}48%{transform:translate(20px,2px) rotate(11deg) translate(-.4px,.4px);opacity:1}52%{transform:translate(24px) rotate(14deg) translate(.4px,.4px);opacity:1}56%{transform:translate(28px,-2px) rotate(16deg) translate(-.4px,-.4px);opacity:1}60%{transform:translate(23px,-1px) rotate(13deg) translate(.4px,-.4px);opacity:1}64%{transform:translate(18px,1px) rotate(10deg) translate(-.4px,.4px);opacity:1}68%{transform:translate(22px) rotate(13deg) translate(.4px,.4px);opacity:1}73%{transform:translate(26px,-1px) rotate(15deg) translate(0);opacity:1}80%{transform:translateY(14px) rotate(0) translate(0);opacity:0}83%{transform:translate(-6px,12px) rotate(-4deg) translate(-.4px,.4px);opacity:0}86%{transform:translateY(8px) rotate(0) translate(.4px,-.4px);opacity:0}89%{transform:translate(6px,12px) rotate(4deg) translate(-.4px,-.4px);opacity:0}93%{transform:translateY(14px) rotate(0) translate(.4px,.4px);opacity:0}to{transform:translate(-26px,-1px) rotate(-15deg) translate(0);opacity:0}}@keyframes water-spray-left{0%{transform:translate(0) scale(.3) rotate(-45deg);opacity:0}15%{opacity:.9}50%{transform:translate(-30px,-20px) scale(1) rotate(-15deg);opacity:.8}to{transform:translate(-50px,-30px) scale(.2) rotate(30deg);opacity:0}}@keyframes water-spray-right{0%{transform:translate(0) scale(.3) rotate(-45deg);opacity:0}15%{opacity:.9}50%{transform:translate(30px,-20px) scale(1) rotate(-75deg);opacity:.8}to{transform:translate(50px,-30px) scale(.2) rotate(-120deg);opacity:0}}@keyframes water-spray-mid{0%{transform:translate(0) scale(.3) rotate(-45deg);opacity:0}15%{opacity:.9}50%{transform:translateY(-25px) scale(1.1) rotate(-45deg);opacity:.8}to{transform:translateY(-45px) scale(.2) rotate(-45deg);opacity:0}}@keyframes sparkle-pop-1{0%,18%,to{transform:scale(0) rotate(0);opacity:0}28%{transform:scale(1.2) rotate(90deg);opacity:1}38%{transform:scale(1) rotate(180deg);opacity:1}48%{transform:scale(0) rotate(270deg);opacity:0}}@keyframes sparkle-pop-2{0%,58%,to{transform:scale(0) rotate(0);opacity:0}68%{transform:scale(1.2) rotate(-90deg);opacity:1}78%{transform:scale(1) rotate(-180deg);opacity:1}88%{transform:scale(0) rotate(-270deg);opacity:0}}@keyframes ring-expand{0%,82%{transform:scale(0);opacity:0;border-width:3px}90%{transform:scale(1.4);opacity:.95;border-width:1.5px}97%{transform:scale(1.8);opacity:0;border-width:.5px}to{transform:scale(2);opacity:0}}@keyframes load-progress{0%{width:0%}to{width:100%}}@keyframes draw-circle{to{stroke-dashoffset:0}}@keyframes reveal-text{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{to{opacity:1}}@keyframes center-title-reveal{0%{opacity:0;transform:scale(.9);filter:blur(4px)}to{opacity:1;transform:scale(1);filter:blur(0);text-shadow:0 4px 20px rgba(8,145,178,.15)}}@keyframes sprays-fade{0%,77%{opacity:1}85%,to{opacity:0}}
