@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--white:#fff;--ink:#17202a;--muted:#6f7884;--magenta:#b4005a;--yellow:#f5bd00;--red:#df262d;--blue:#1878b9;--soft-bg:#f8fafc;--border:#18202a14;color:var(--ink);background:var(--white);font-synthesis:none;text-rendering:optimizelegibility;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:#fff;min-width:320px;min-height:100%;margin:0}button,input{font:inherit}button{border:0}body,#app{min-height:100vh}.app-shell{background:radial-gradient(circle at 12% 12%,#b4005a0e,#0000 18%),radial-gradient(circle at 90% 18%,#1878b90e,#0000 18%),radial-gradient(circle at 78% 86%,#f5bd000e,#0000 20%),#fff;flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.topbar{padding-top:calc(18px + env(safe-area-inset-top));z-index:5;flex-shrink:0;justify-content:center;padding-bottom:4px;padding-left:22px;padding-right:22px;display:flex;position:relative}.brand-logo{object-fit:contain;width:min(205px,50vw);height:auto;display:block}.hero{z-index:3;flex-direction:column;align-items:center;width:min(100%,510px);margin:auto;padding:4px 22px 28px;display:flex;position:relative}.mascot-wrap{aspect-ratio:1;justify-content:center;align-items:center;width:min(300px,65vw);margin-top:0;margin-bottom:-14px;display:flex;position:relative}.mascot-halo{filter:blur(2px);background:linear-gradient(135deg,#b4005a14,#f5bd0014,#df262d12,#1878b914);border-radius:50%;width:78%;height:78%;animation:5s ease-in-out infinite haloFloat;position:absolute}.mascot{object-fit:contain;z-index:2;filter:drop-shadow(0 18px 22px #16202a24);width:90%;max-height:100%;animation:.85s cubic-bezier(.2,.85,.2,1) both mascotIn,4.2s ease-in-out 1s infinite mascotFloat;position:relative}.hero-copy{text-align:center;z-index:4;position:relative}.eyebrow{color:var(--blue);letter-spacing:.14em;margin:0 0 7px;font-size:.69rem;font-weight:800}h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.15rem,8vw,3.15rem);font-weight:800;line-height:.99}h1 span{background:linear-gradient(90deg, var(--magenta), var(--red), var(--blue));color:#0000;-webkit-background-clip:text;background-clip:text;position:relative}.subtitle{max-width:390px;color:var(--muted);margin:13px auto 22px;font-size:.96rem;font-weight:500;line-height:1.5}.actions{gap:10px;width:100%;display:grid}.action-card{border:1px solid var(--border);text-align:left;width:100%;min-height:68px;color:var(--ink);cursor:pointer;background:#ffffffe8;border-radius:20px;grid-template-columns:47px 1fr 22px;align-items:center;gap:12px;padding:11px 14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;box-shadow:0 9px 28px #151f290e}.action-card:hover{transform:translateY(-2px);box-shadow:0 13px 32px #151f2917}.action-card:active{transform:scale(.985)}.action-icon{border-radius:16px;place-items:center;width:47px;height:47px;display:grid}.action-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.action-selfie .action-icon{color:var(--magenta);background:#b4005a17}.action-photo .action-icon{color:var(--blue);background:#1878b917}.action-gallery .action-icon{color:#c68d00;background:#f5bd0021}.action-selfie:hover{border-color:#b4005a38}.action-photo:hover{border-color:#1878b938}.action-gallery:hover{border-color:#f5bd004d}.action-text{flex-direction:column;gap:2px;display:flex}.action-text strong{font-size:1rem;font-weight:800}.action-text small{color:var(--muted);font-size:.73rem;font-weight:500}.action-arrow{color:#abb2ba;font-size:1.8rem;line-height:1}.privacy-note{color:#9098a1;justify-content:center;align-items:center;gap:6px;margin:18px 0 0;font-size:.69rem;font-weight:500;display:flex}.privacy-note svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:14px;height:14px}footer{text-align:center;padding:8px 18px max(18px, env(safe-area-inset-bottom));color:#9299a1;z-index:3;font-size:.68rem;font-weight:600;position:relative}.footer-colors{border-radius:999px;grid-template-columns:repeat(4,1fr);width:110px;height:4px;margin:0 auto 10px;display:grid;overflow:hidden}.footer-colors span:first-child{background:var(--magenta)}.footer-colors span:nth-child(2){background:var(--yellow)}.footer-colors span:nth-child(3){background:var(--red)}.footer-colors span:nth-child(4){background:var(--blue)}footer p{margin:0}.decor{pointer-events:none;opacity:.6;filter:blur(.2px);border-radius:999px;position:absolute}.decor-magenta{background:var(--magenta);width:12px;height:12px;animation:5s ease-in-out infinite littleFloat;top:31%;left:8%}.decor-yellow{background:var(--yellow);width:9px;height:9px;animation:6s ease-in-out infinite reverse littleFloat;top:38%;right:11%}.decor-red{background:var(--red);width:7px;height:7px;animation:4.5s ease-in-out infinite littleFloat;bottom:29%;left:14%}.decor-blue{background:var(--blue);width:10px;height:10px;animation:5.5s ease-in-out infinite reverse littleFloat;bottom:34%;right:8%}.mini-dot{z-index:1;border-radius:50%;position:absolute}.dot-1{background:var(--magenta);width:9px;height:9px;top:18%;left:2%}.dot-2{background:var(--yellow);width:7px;height:7px;top:8%;right:10%}.dot-3{background:var(--blue);width:8px;height:8px;bottom:24%;right:0}.dot-4{background:var(--red);width:6px;height:6px;bottom:16%;left:10%}.toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));color:#fff;text-align:center;opacity:0;pointer-events:none;z-index:50;background:#181f27f0;border-radius:16px;width:min(100% - 36px,430px);padding:12px 16px;font-size:.78rem;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)scale(.97);box-shadow:0 18px 45px #00000030}.toast.show{opacity:1;transform:translate(-50%)scale(1)}@keyframes mascotIn{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes mascotFloat{0%,to{transform:translateY(0)rotate(-.5deg)}50%{transform:translateY(-7px)rotate(.5deg)}}@keyframes haloFloat{0%,to{transform:scale(1)}50%{transform:scale(1.055)}}@keyframes littleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (height<=740px){.brand-logo{width:min(185px,48vw)}.mascot-wrap{width:min(235px,55vw)}.subtitle{margin-bottom:14px}.action-card{min-height:60px}.action-icon{width:42px;height:42px}.privacy-note{margin-top:12px}}@media (width>=780px){.app-shell{min-height:100vh}.hero{width:min(100%,540px)}.brand-logo{width:230px}.mascot-wrap{width:310px}.actions{max-width:480px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=520px){.topbar{padding-top:calc(20px + env(safe-area-inset-top))}.brand-logo{width:185px;max-width:48vw}.hero{flex:1;justify-content:center;margin:0 auto}}.screen{width:100%;min-height:100svh;display:none}.screen.active{display:flex}.home-screen{flex-direction:column}.camera-screen{z-index:100;background:#080a0c;min-height:100svh;position:fixed;inset:0;overflow:hidden}#cameraVideo{object-fit:cover;background:#080a0c;width:100%;height:100%;position:absolute;inset:0}#cameraVideo.mirror{transform:scaleX(-1)}.camera-shade{pointer-events:none;z-index:2;background:linear-gradient(#00000075 0%,#0000000d 25%,#0000 55%,#0000008c 100%);position:absolute;inset:0}.camera-header{z-index:4;padding:max(18px, env(safe-area-inset-top)) 18px 12px;grid-template-columns:48px 1fr 48px;align-items:center;display:grid;position:absolute;top:0;left:0;right:0}.camera-control{color:#fff;-webkit-backdrop-filter:blur(16px);cursor:pointer;background:#ffffff26;border-radius:50%;place-items:center;width:46px;height:46px;transition:transform .18s,background .18s;display:grid}.camera-control:active{background:#ffffff42;transform:scale(.92)}.camera-control svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.camera-brand{-webkit-backdrop-filter:blur(13px);color:#fff;letter-spacing:.02em;background:#0a0c0f52;border-radius:999px;justify-self:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:.78rem;font-weight:700;display:flex}.camera-brand-dot{background:linear-gradient(135deg, var(--magenta), var(--red));border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #ffffff14}.camera-message{z-index:5;-webkit-backdrop-filter:blur(18px);color:#fff;text-align:center;background:#13171da8;border-radius:25px;flex-direction:column;align-items:center;gap:8px;width:min(100% - 46px,330px);padding:24px 20px;transition:opacity .25s,transform .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-message.hidden{opacity:0;pointer-events:none;transform:translate(-50%,-46%)scale(.96)}.camera-message-icon{background:#ffffff1c;border-radius:18px;place-items:center;width:53px;height:53px;margin-bottom:4px;font-size:1.5rem;display:grid}.camera-message strong{font-size:.96rem}.camera-message span{color:#ffffffa6;font-size:.72rem;line-height:1.45}.camera-footer{z-index:4;padding:16px 27px max(25px, calc(env(safe-area-inset-bottom) + 14px));grid-template-columns:62px 1fr 62px;align-items:center;display:grid;position:absolute;bottom:0;left:0;right:0}.camera-mini-action{-webkit-backdrop-filter:blur(14px);color:#fff;cursor:pointer;background:#ffffff26;border-radius:17px;justify-self:start;place-items:center;width:50px;height:50px;display:grid}.camera-mini-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.shutter{cursor:pointer;background:#ffffff4d;border-radius:50%;justify-self:center;place-items:center;width:82px;height:82px;padding:6px;transition:transform .13s;display:grid}.shutter:active{transform:scale(.92)}.shutter span{background:#fff;border-radius:50%;width:66px;height:66px;display:block;box-shadow:inset 0 0 0 2px #14191e17}.camera-mini-placeholder{justify-content:center;justify-self:end;align-items:center;display:flex}.camera-mini-placeholder span{color:#ffffffc2;-webkit-backdrop-filter:blur(12px);background:#00000038;border-radius:999px;padding:8px 10px;font-size:.68rem;font-weight:700}@media (width>=800px){.camera-screen{width:min(100%,520px);left:50%;transform:translate(-50%);box-shadow:0 0 80px #0003}}
