@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,700;1,800&display=swap";:root{color:#f6f7fb;background:#07070a;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Manrope,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--pink: #ff4d8d;--yellow: #ffd93d;--blue: #63e6ff;--green: #9cff57;--violet: #b47cff}*{box-sizing:border-box}html{background:#f7f7fb;max-width:100%;overflow-x:clip;overscroll-behavior-x:none;scroll-behavior:smooth;width:100%}body{margin:0;max-width:100%;min-width:320px;min-height:100vh;overflow-x:clip;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-y pinch-zoom;width:100%}#root{max-width:100%;overflow-x:clip;width:100%}.ui-emoji{display:inline-block;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.125rem;font-style:normal;font-weight:400;letter-spacing:0;line-height:1;text-size-adjust:none;-webkit-text-size-adjust:none;vertical-align:-.08em}button{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}.locked,.welcome{min-height:100vh;overflow:hidden}.birthday{max-width:100%;min-height:100vh;overflow-x:clip;position:relative;width:100%}.welcome{align-items:stretch;background:radial-gradient(circle at 15% 8%,rgba(255,171,210,.8),transparent 32%),radial-gradient(circle at 90% 28%,rgba(160,218,255,.85),transparent 34%),linear-gradient(155deg,#fff8fc,#f5edff 48%,#e8f6ff);color:#17131d;display:flex;flex-direction:column;min-height:100dvh;padding:env(safe-area-inset-top) 18px calc(18px + env(safe-area-inset-bottom))}.welcome-orb{border-radius:50%;filter:blur(5px);opacity:.8;pointer-events:none;position:absolute}.welcome-orb--pink{animation:orb-drift 8s ease-in-out infinite alternate;background:linear-gradient(145deg,#ff83b7,#ffb8dc);height:150px;left:-65px;top:35%;width:150px}.welcome-orb--blue{animation:orb-drift 10s ease-in-out -3s infinite alternate-reverse;background:linear-gradient(145deg,#77d8ff,#b0a4ff);height:125px;right:-52px;top:12%;width:125px}.welcome-orb--yellow{animation:orb-drift 9s ease-in-out -5s infinite alternate;background:#ffe876;bottom:4%;height:95px;left:8%;opacity:.55;width:95px}.welcome-topbar{animation:welcome-in .7s cubic-bezier(.2,.8,.2,1) both;width:100%}.welcome .brand{color:#39313f;font-size:13px;font-weight:650;letter-spacing:-.01em}.welcome .brand-mark,.welcome .sound-button{backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);background:#ffffff94;border:1px solid rgba(255,255,255,.76);box-shadow:0 5px 20px #4b305c1a;color:#ff3e84}.welcome .sound-button{color:#39313f}.welcome-content{display:flex;flex:1;flex-direction:column;justify-content:center;margin:0 auto;max-width:560px;padding:26px 0 12px;position:relative;text-align:center;width:100%;z-index:2}.welcome-photo-wrap{animation:welcome-in .8s .08s cubic-bezier(.2,.9,.2,1) both;height:186px;margin:0 auto 20px;position:relative;width:186px}.welcome-photo-halo{animation:halo-pulse 3s ease-in-out infinite;background:linear-gradient(140deg,#ff61a2,#a36cff 50%,#4bcfff);border-radius:50%;filter:blur(15px);top:-8px;right:-8px;bottom:-8px;left:-8px;opacity:.43;position:absolute}.welcome-photo{animation:photo-float 4s ease-in-out infinite;border:5px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 20px 50px #472b5b38;height:100%;object-fit:cover;position:relative;width:100%}.welcome-heart{align-items:center;animation:icon-float 3s ease-in-out infinite;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffc2;border:1px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 8px 22px #472b5b29;color:#ff3e84;display:flex;height:38px;justify-content:center;position:absolute;width:38px}.welcome-heart--one{left:-12px;top:30px}.welcome-heart--two{animation-delay:-.9s;color:#8f5cff;right:-14px;top:18px}.welcome-heart--three{animation-delay:-1.8s;bottom:3px;color:#ff9d18;right:-4px}.welcome-copy{animation:welcome-in .8s .17s cubic-bezier(.2,.9,.2,1) both}.welcome-kicker{align-items:center;color:#735d7b;display:flex;font-size:12px;font-weight:650;gap:6px;justify-content:center;margin-bottom:12px}.welcome-copy h1{font-size:clamp(42px,12vw,68px);letter-spacing:-.07em;line-height:.98;margin:0}.welcome-copy h1 em{background:linear-gradient(90deg,#ff3e84,#8b5cf6,#168fd2);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;font-family:Playfair Display,serif;font-style:italic;font-weight:800;letter-spacing:-.04em;padding-inline:.12em}.welcome-copy h1 em .welcome-name__rest{margin-left:1.5px}.welcome-copy p{color:#6f6475;font-size:14px;line-height:1.55;margin:15px auto 0;max-width:370px}.welcome-sheet{animation:sheet-up .85s .28s cubic-bezier(.18,.9,.2,1.08) both;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);background:#fff9;border:1px solid rgba(255,255,255,.86);border-radius:28px;box-shadow:0 20px 60px #442a5629,inset 0 1px #fffc;margin-top:24px;padding:12px}.welcome-countdown{padding:4px 5px 13px}.welcome-countdown>span{color:#806f86;display:block;font-size:11px;font-weight:650;margin:2px 0 10px;text-transform:uppercase}.welcome-countdown>div{display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.welcome-countdown p{background:#ffffffa1;border:1px solid rgba(255,255,255,.92);border-radius:16px;box-shadow:0 4px 12px #3c2a490f;margin:0;padding:9px 2px 7px}.welcome-countdown strong,.welcome-countdown small{display:block}.welcome-countdown strong{font-size:22px;letter-spacing:-.05em}.welcome-countdown small{color:#928697;font-size:8px;font-weight:650;margin-top:2px;text-transform:uppercase}.slide-unlock{background:#84748d80;border-radius:18px;box-shadow:inset 0 1px #ffffff59;height:68px;overflow:hidden;padding:7px;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.slide-unlock.is-ready{animation:ready-glow 2.4s ease-in-out infinite;background:linear-gradient(115deg,#ff3e84,#985af5 58%,#367eea);box-shadow:0 10px 28px #be389347,inset 0 1px #ffffff61}.slide-unlock.is-dragging .slide-unlock__thumb{transition:none}.slide-unlock.is-complete .slide-unlock__label{opacity:0!important}.slide-unlock.is-wiggle{animation:slide-wiggle .45s ease}.slide-unlock__label{align-items:center;color:#fffffff2;display:flex;font-size:15px;font-weight:720;height:100%;top:0;right:0;bottom:0;left:0;justify-content:center;letter-spacing:-.01em;padding:0 32px 0 70px;pointer-events:none;position:absolute;text-align:center;text-shadow:0 1px 2px rgba(36,18,48,.18);transition:opacity .18s ease}.slide-unlock__label:after{color:#ffffffb8;content:"›››";font-size:13px;letter-spacing:.08em;margin-left:8px}.slide-unlock:not(.is-ready) .slide-unlock__label:after{display:none}.slide-unlock__thumb{align-items:center;background:linear-gradient(180deg,#fff,#f4f0f6);border:1px solid rgba(255,255,255,.95);border-radius:15px;box-shadow:0 2px 6px #2412302e,0 8px 18px #2412301f,inset 0 1px #fff;color:#ff3e84;cursor:grab;display:flex;height:54px;justify-content:center;left:7px;position:absolute;top:7px;transition:transform .24s cubic-bezier(.2,.8,.2,1);width:54px;z-index:2}.slide-unlock.is-dragging .slide-unlock__thumb,.slide-unlock__thumb:active{cursor:grabbing}.slide-unlock:not(.is-ready) .slide-unlock__thumb{color:#9a8aa3;cursor:not-allowed;opacity:.92}.welcome-sheet>p{color:#8b7e90;font-size:11px;margin:9px 0 1px}.welcome-footer{color:#817287;font-size:11px;font-weight:600;padding:6px 0 0;position:relative;text-align:center;z-index:2}.welcome-footer span{align-items:center;display:inline-flex;gap:5px}.locked{background:radial-gradient(circle at 50% 12%,rgba(255,77,141,.22),transparent 38%),radial-gradient(circle at 15% 55%,rgba(180,124,255,.12),transparent 32%),#07070a;padding:env(safe-area-inset-top) 18px calc(28px + env(safe-area-inset-bottom))}.security-grid{background-image:radial-gradient(circle,rgba(255,217,61,.25) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,77,141,.2) 0 1px,transparent 1.5px);background-position:0 0,18px 18px;background-size:38px 38px;top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(to bottom,black,transparent 78%);mask-image:linear-gradient(to bottom,black,transparent 78%);pointer-events:none;position:absolute}.scanline{display:none}.topbar{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1100px;min-height:62px;position:relative;z-index:20}.brand{align-items:center;color:#c9c9ce;display:flex;font-family:Manrope,sans-serif;font-size:11px;gap:8px;letter-spacing:.04em}.brand-mark{align-items:center;background:#ff4c5b26;border:1px solid rgba(255,76,91,.4);border-radius:50%;color:#ff5b6a;display:flex;height:28px;justify-content:center;width:28px}.sound-button{align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:999px;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:11px;gap:7px;letter-spacing:0;padding:8px 10px}.locked-hero{margin:58px auto 0;max-width:720px;position:relative;text-align:center;z-index:2}.classification{align-items:center;color:#9b9ba3;display:flex;font-family:Manrope,sans-serif;font-size:11px;gap:8px;justify-content:center;letter-spacing:.05em;margin-bottom:32px;text-transform:uppercase}.classification span{animation:blink 1.2s infinite;background:#ff4b5d;border-radius:50%;box-shadow:0 0 12px #ff4b5d;height:5px;width:5px}.lock-orbit{height:128px;margin:0 auto 28px;position:relative;width:128px}.orbit{border:1px solid rgba(255,79,96,.27);border-radius:50%;top:0;right:0;bottom:0;left:0;position:absolute}.orbit:before{background:#ff5364;border-radius:50%;box-shadow:0 0 16px #ff5364;content:"";height:5px;left:50%;position:absolute;top:-3px;width:5px}.orbit--one{animation:spin 5s linear infinite}.orbit--two{animation:spin 3s linear infinite reverse;top:12px;right:12px;bottom:12px;left:12px}.lock-core{align-items:center;background:radial-gradient(circle at 40% 30%,#3b171e,#160a0d);border:1px solid rgba(255,86,103,.4);border-radius:50%;box-shadow:0 0 60px #ff3c502b;color:#ff6070;display:flex;top:25px;right:25px;bottom:25px;left:25px;justify-content:center;position:absolute}.lock-core--subject{overflow:hidden}.lock-core--subject img{filter:saturate(.85);height:100%;top:0;right:0;bottom:0;left:0;opacity:.62;object-fit:cover;position:absolute;width:100%}.lock-core--subject svg{filter:drop-shadow(0 2px 5px #160a0d);position:relative}.eyebrow{color:#ff6978;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;margin:0 0 14px;text-transform:uppercase}.locked h1,.birthday-hero h1{font-size:clamp(42px,12vw,92px);letter-spacing:-.07em;line-height:.92;margin:0}.birthday-hero h1{letter-spacing:-.04em}.locked h1 em,.birthday-hero h1 em,.certificate h2 em{font-family:Playfair Display,serif;font-weight:800}.locked h1 em{color:#ff5869}.hero-copy{color:#a4a4ac;font-size:13px;line-height:1.75;margin:24px auto 0;max-width:480px}.countdown-panel,.security-actions,.system-log{margin:72px auto 0;max-width:650px;position:relative;z-index:3}.countdown-panel{background:#0f0f13d1;border:1px solid rgba(255,255,255,.09);border-radius:20px;box-shadow:0 20px 60px #00000059;padding:16px}.panel-heading{align-items:center;color:#777780;display:flex;font-family:Manrope,sans-serif;font-size:10px;justify-content:space-between;letter-spacing:.04em;padding:2px 2px 14px;text-transform:uppercase}.live-dot{color:#ff6170}.live-dot:before{animation:blink 1s infinite;background:#ff6170;border-radius:50%;content:"";display:inline-block;height:4px;margin-right:5px;vertical-align:middle;width:4px}.countdown{display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.time-card{align-items:center;background:linear-gradient(145deg,#ffffff0e,#ffffff04);border:1px solid rgba(255,255,255,.07);border-radius:13px;display:flex;flex-direction:column;min-height:82px;justify-content:center}.time-card strong{font-family:Manrope,sans-serif;font-size:clamp(23px,8vw,38px);font-weight:400;letter-spacing:-.09em}.time-card span{color:#71717a;font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.03em;margin-top:5px;text-transform:uppercase}.countdown-panel>p{color:#686871;font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.02em;margin:14px 0 0;text-align:center;text-transform:uppercase}.security-actions{display:grid;gap:12px}.scan-button,.danger-button{border-radius:16px;cursor:pointer;text-align:left;width:100%}.scan-button{align-items:center;background:#111217;border:1px solid rgba(255,77,141,.25);display:flex;gap:16px;padding:15px}.fingerprint-wrap{align-items:center;background:#ff4d8d1a;border:1px solid rgba(255,77,141,.2);border-radius:12px;color:#ff6da4;display:flex;height:58px;justify-content:center;overflow:hidden;position:relative;width:58px}.is-scanning .fingerprint-wrap:after{animation:fingerprint-scan 1.2s ease-in-out infinite;background:#ffd93d;box-shadow:0 0 14px #ffd93d;content:"";height:1px;left:6px;position:absolute;right:6px;top:10px}.scan-button b{display:block;font-size:12px;margin-bottom:5px}.scan-button small,.danger-button small{color:#797983;display:block;font-size:11px}.danger-button{background:#ff4c5b0b;border:1px solid rgba(255,76,91,.19);padding:16px 18px}.danger-button span{align-items:center;color:#ff5c6c;display:flex;font-family:Manrope,sans-serif;font-size:11px;gap:7px;letter-spacing:.03em;margin-bottom:5px}.danger-response{animation:warning-in .25s ease-out;border-left:2px solid #ff5364;padding:3px 12px}.danger-response span{color:#ff5364;font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.danger-response p{color:#b4b4bc;font-size:10px;margin:4px 0 0}.locked--critical{animation:critical 1.5s infinite}.system-log{border-top:1px solid rgba(255,255,255,.08);padding-top:16px}.system-log ul{list-style:none;margin:0;padding:0}.system-log li{align-items:center;border-bottom:1px solid rgba(255,255,255,.045);color:#767680;display:flex;font-family:Manrope,sans-serif;font-size:10px;gap:10px;padding:9px 2px}.system-log li span{color:#46464e}.system-log li b{color:#aaaab2;font-weight:400;margin-left:auto;text-align:right}.locked-footer,.birthday-footer{border-top:1px solid rgba(255,255,255,.07);color:#54545c;display:flex;font-family:Manrope,sans-serif;font-size:10px;justify-content:space-between;letter-spacing:.02em;margin:72px auto 0;max-width:900px;padding-top:14px;position:relative;text-transform:uppercase;z-index:2}.transition-screen{align-items:center;background:#ff304e;color:#fff;display:flex;flex-direction:column;height:100dvh;justify-content:center;overflow:hidden;padding:20px;position:relative;text-align:center}.transition-screen>svg,.transition-screen>span,.transition-screen>h1,.transition-screen>p{animation:transition-in .45s cubic-bezier(.2,.8,.2,1) both;position:relative;z-index:2}.transition-screen>span{font-family:Manrope,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;margin-top:22px;text-transform:uppercase}.transition-screen h1{font-size:clamp(42px,13vw,110px);letter-spacing:-.04em;line-height:.84;margin:14px 0}.transition-screen p{font-family:Manrope,sans-serif;font-size:clamp(16px,4.5vw,22px);font-weight:600;letter-spacing:.01em}.warning-rings{top:50%;right:50%;bottom:50%;left:50%;position:absolute}.warning-rings i{animation:warning-ring 1.5s ease-out infinite;border:2px solid rgba(255,255,255,.35);border-radius:50%;height:150px;left:-75px;opacity:0;position:absolute;top:-75px;width:150px}.warning-rings i:nth-child(1){animation-delay:0s}.warning-rings i:nth-child(2){animation-delay:-.5s}.warning-rings i:nth-child(3){animation-delay:-1s}.birthday{background:#f5f0e8;color:#151218}.birthday:before{background-image:radial-gradient(rgba(21,18,24,.14) .6px,transparent .6px);background-size:5px 5px;content:"";top:0;right:0;bottom:0;left:0;opacity:.22;pointer-events:none;position:fixed;z-index:30}.topbar--birthday{min-height:72px;padding:env(safe-area-inset-top) 18px 0}.topbar--birthday .brand{color:#4f4652}.brand-mark--party{background:#ff4d8d;border-color:#ff4d8d;color:#fff}.topbar--birthday .sound-button{background:#ffffff80;border-color:#15121824}.birthday-hero{align-items:center;display:flex;flex-direction:column;min-height:calc(100svh - 72px);overflow:visible;padding:14vh 18px 50px;position:relative;text-align:center}.hero-burst{background:radial-gradient(circle,rgba(255,217,61,.75) 0 12%,transparent 12.2%),repeating-conic-gradient(from 0deg,rgba(255,77,141,.16) 0deg 8deg,transparent 8deg 18deg);height:min(100%,780px);left:50%;-webkit-mask-image:radial-gradient(circle,black,transparent 68%);mask-image:radial-gradient(circle,black,transparent 68%);max-width:100%;position:absolute;top:48%;transform:translate(-50%,-50%);width:min(100%,780px)}.access-pill{align-items:center;background:#151218;border-radius:999px;color:#fff;display:flex;font-family:Manrope,sans-serif;font-size:10px;gap:6px;letter-spacing:.02em;margin-bottom:34px;padding:8px 11px;position:relative;text-transform:uppercase}.access-pill svg{color:#84cc16;flex-shrink:0}.birthday-hero .eyebrow{color:#a52c5b;position:relative}.birthday-hero h1{font-size:clamp(57px,15vw,126px);max-width:1100px;overflow:visible;padding-inline:.06em;position:relative}.hero-name{background:linear-gradient(90deg,#ff3e84,#a747ff 45%,#17b8d8);-webkit-background-clip:text;background-clip:text;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:transparent;display:block;font-family:Playfair Display,serif;font-size:clamp(76px,20vw,100px);font-style:italic;font-weight:800;letter-spacing:-.02em;line-height:1;margin-inline:auto;max-width:calc(100% - 8px);-webkit-text-fill-color:transparent;padding:.14em .34em .16em;position:relative;width:max-content}.hero-name__rest{margin-left:1.5px}.hero-id-card{background:#fffdf6;border:1px solid #151218;box-shadow:5px 5px #151218;display:grid;grid-template-columns:80px 1fr;margin:25px auto 4px;max-width:320px;padding:9px;position:relative;text-align:left;transform:rotate(-2deg);width:100%}.hero-id-card__photo{border-radius:16px;grid-row:span 2;height:88px;overflow:hidden;width:70px}.hero-id-card__photo img{display:block;height:100%;object-fit:cover;object-position:center 22%;transform:scale(1.22);width:100%}.hero-id-card span{align-self:end;color:#a52c5b;font-family:Manrope,sans-serif;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.hero-id-card b{align-self:start;font-size:19px;letter-spacing:-.03em}.birthday-hero .hero-copy{color:#625867;max-width:540px;position:relative}.scroll-cue{align-items:center;color:#151218;display:flex;font-family:Manrope,sans-serif;font-size:10px;gap:7px;letter-spacing:.03em;margin-top:auto;padding-top:40px;position:relative;text-decoration:none;text-transform:uppercase}.scroll-cue svg{animation:bob 1.2s infinite}.marquee{background:#151218;box-shadow:-10px 0 #151218,10px 0 #151218;color:#fff;contain:paint;margin-left:-6px;overflow:hidden;padding:12px 0;position:relative;transform:rotate(-1.2deg) translateZ(0);width:calc(100% + 12px)}.marquee-track{animation:marquee 28s linear infinite;display:flex;font-family:Manrope,sans-serif;font-size:11px;letter-spacing:.04em;white-space:nowrap;width:max-content}.marquee-group{align-items:center;display:flex;flex-shrink:0}.marquee-item{align-items:center;display:flex;gap:22px;padding-right:22px}.marquee i{color:#ffd93d;font-style:normal}.birthday-section{margin:0 auto;max-width:1100px;padding:100px 18px;position:relative}.section-heading{margin-bottom:38px;max-width:600px}.section-heading>span{color:#9a4b6d;font-family:Manrope,sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.section-heading h2{font-size:clamp(34px,8vw,64px);letter-spacing:-.06em;line-height:1;margin:12px 0}.section-heading p{color:#706575;font-size:11px;line-height:1.7;margin:0}.control-grid{display:grid;gap:12px}.control-card{border:1px solid rgba(21,18,24,.13);border-radius:22px;display:flex;flex-direction:column;min-height:330px;overflow:hidden;padding:22px;position:relative}.control-card--pink{background:#ffd6e5}.control-card--blue{background:#d7f6fc}.control-card--yellow{background:#fff0a8}.card-number{font-family:Manrope,sans-serif;font-size:10px;position:absolute;right:20px;top:20px}.control-card>svg{margin-bottom:auto}.control-card h3{font-size:23px;letter-spacing:-.04em;margin:24px 0 7px}.control-card--pink h3 .ui-emoji,.control-card--blue h3 .ui-emoji{font-size:1.4em;vertical-align:-.1em}.control-card>p{color:#665b68;font-size:10px;line-height:1.55;margin:0}.balloon-game{margin-top:25px}.balloon-row{align-items:flex-end;display:flex;gap:7px;justify-content:center;min-height:105px;position:relative}.balloon-slot{align-items:flex-end;display:flex;flex:1;height:100px;justify-content:center;max-width:58px;position:relative}.mini-balloon{animation:balloon-float 2s ease-in-out infinite alternate;background:var(--balloon);border:1px solid rgba(21,18,24,.3);border-radius:50% 50% 48% 48%;cursor:pointer;height:58px;position:relative;transition:.2s;width:54px}.balloon-slot:nth-child(2) .mini-balloon{animation-delay:-.4s;height:70px}.balloon-slot:nth-child(3) .mini-balloon{animation-delay:-.8s}.balloon-slot:nth-child(4) .mini-balloon{animation-delay:-.2s;height:64px}.balloon-slot:nth-child(5) .mini-balloon{animation-delay:-.6s}.mini-balloon:after{background:#1512184d;bottom:-24px;content:"";height:24px;left:50%;position:absolute;width:1px}.mini-balloon.popped{animation:balloon-pop .3s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none}.balloon-burst{height:4px;left:50%;pointer-events:none;position:absolute;top:48%;width:4px;z-index:4}.balloon-burst i{animation:balloon-particle .75s cubic-bezier(.12,.7,.2,1) var(--burst-delay) both;background:var(--burst-color);border-radius:999px;box-shadow:0 0 8px var(--burst-color);height:10px;left:0;position:absolute;top:0;transform:rotate(var(--angle));width:4px}.balloon-finale{align-items:center;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.balloon-finale span{animation:balloon-word .65s cubic-bezier(.16,.9,.25,1.2) both;background:linear-gradient(120deg,#ff286f,#9551e8);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:29px;font-weight:900;letter-spacing:-.08em;margin:0 -2px;transform:rotate(-8deg)}.balloon-finale span:nth-child(2){animation-delay:.1s;color:#17131d;font-size:36px;transform:translateY(-8px) rotate(4deg)}.balloon-finale span:nth-child(3){animation-delay:.2s;transform:rotate(10deg)}.balloon-game p{align-items:center;display:flex;gap:8px;font-family:Manrope,sans-serif;font-size:12px;margin:22px 0 0}.balloon-game p b{background:#151218db;border-radius:999px;color:#fff;flex:0 0 auto;font-size:11px;padding:6px 9px;text-transform:uppercase}.balloon-game p span{color:#6c5060;font-weight:700;line-height:1.35}.balloon-victory{align-items:center;animation:victory-in .55s cubic-bezier(.16,.9,.25,1.2) both;background:linear-gradient(130deg,#ff3e84,#a65cf4);border:1px solid rgba(255,255,255,.7);border-radius:18px;box-shadow:0 12px 26px #9f408e42;color:#fff;display:flex;gap:11px;margin-top:18px;padding:13px 14px}.balloon-victory svg{animation:party-pop .65s cubic-bezier(.18,.9,.2,1.2) both;flex:0 0 auto}.balloon-victory span{font-size:12px;line-height:1.35}.balloon-victory b{display:block;font-size:14px}.compliment{color:#151218!important;font-size:15px!important;font-weight:700;margin:18px 0!important;min-height:48px}.card-action{background:#151218;border:0;border-radius:999px;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:10px;font-weight:700;letter-spacing:.02em;margin-top:auto;padding:13px 16px;text-transform:uppercase}.gift-box{background:transparent;border:0;cursor:pointer;height:126px;margin:0 auto;position:relative;width:140px;z-index:3}.gift-box:before,.gift-box:after{content:none}.gift-stage{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:16px;min-height:190px;position:relative}.gift-aura{animation:gift-aura 2.2s ease-in-out infinite;background:radial-gradient(circle,rgba(255,77,141,.42),rgba(180,92,255,.14) 44%,transparent 70%);border-radius:50%;height:220px;left:50%;position:absolute;top:48%;transform:translate(-50%,-50%);width:220px}.gift-lid,.gift-body{background:linear-gradient(145deg,#ff629c,#ed347c);border:2px solid #49253b;box-shadow:inset 0 2px #ffffff59,0 10px 20px #6b294e33;display:block;left:50%;position:absolute;transform:translate(-50%)}.gift-lid{border-radius:12px 12px 7px 7px;height:31px;top:20px;transform:translate(-50%) rotate(-3deg);transform-origin:82% 100%;width:132px;z-index:3}.gift-body{border-radius:7px 7px 18px 18px;bottom:0;height:82px;overflow:hidden;width:116px;z-index:2}.gift-lid i,.gift-body i{background:linear-gradient(180deg,#fff1a8,#ffd23d);border-left:1px solid rgba(73,37,59,.5);border-right:1px solid rgba(73,37,59,.5);bottom:0;left:50%;position:absolute;top:0;transform:translate(-50%);width:24px}.gift-body:after{background:linear-gradient(90deg,rgba(255,255,255,.35),transparent);content:"";top:0;right:0;bottom:0;left:0;position:absolute;transform:skew(-22deg) translate(-60%)}.gift-prompt{color:#755563!important;font-size:12px!important;font-weight:800;letter-spacing:.03em;margin:13px 0 0!important;position:relative;text-transform:uppercase}.gift-stage.is-opening .gift-aura{animation:gift-flash .7s ease-out forwards}.gift-box--opening{animation:gift-shake .55s ease-in-out both;pointer-events:none}.gift-box--opening .gift-lid{animation:gift-lid-fly .8s .38s cubic-bezier(.16,.8,.2,1) forwards}.gift-box--opening .gift-body{animation:gift-body-pop .65s .32s cubic-bezier(.16,.8,.2,1.2) both}.gift-burst{height:6px;left:50%;pointer-events:none;position:absolute;top:45%;width:6px;z-index:5}.gift-burst i{background:linear-gradient(180deg,#ff4d8d,#ffd93d);border-radius:999px;height:17px;left:0;opacity:0;position:absolute;top:0;transform:rotate(var(--angle));width:5px}.gift-stage.is-opening .gift-burst i{animation:gift-particle .85s .45s cubic-bezier(.12,.72,.2,1) forwards}.gift-reveal{align-items:center;animation:gift-reveal-in .7s cubic-bezier(.16,.9,.25,1.15);background:radial-gradient(circle at 50% 0,rgba(255,255,255,.95),transparent 45%),linear-gradient(145deg,#ffffffd1,#ffe189b8);border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 18px 40px #8054222e,inset 0 1px #fff;display:flex;flex-direction:column;margin-top:22px;overflow:hidden;padding:22px 17px 20px;position:relative;text-align:center}.gift-reveal-icons{align-items:center;color:#ff4d8d;display:flex;gap:13px;margin-bottom:12px}.gift-reveal-icons svg{animation:wish-sparkle .8s ease-in-out infinite alternate}.gift-reveal-icons svg:nth-child(2){color:#8e4de6}.gift-reveal-icons svg:nth-child(3){animation-delay:-.4s;color:#e7a500}.gift-reveal small{color:#9b6042;font-size:11px;font-weight:800;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.gift-reveal b{font-size:24px;letter-spacing:-.04em;line-height:1.05}.gift-reveal>span{background:#17131d;border-radius:999px;color:#fff;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;margin-top:12px;padding:6px 10px;text-transform:uppercase}.gift-reveal p{color:#725e67!important;font-size:12px!important;font-weight:700;line-height:1.45!important;margin:13px 0 0!important}.evidence-section{background:#ff4d8d;color:#151218;overflow:hidden;padding:95px 0 100px;position:relative}.evidence-section:before{background:repeating-linear-gradient(-45deg,transparent 0 12px,rgba(255,255,255,.1) 12px 13px);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.evidence-heading{margin:0 auto 44px;max-width:1100px;padding:0 18px;position:relative}.evidence-heading>span{align-items:center;display:flex;font-family:Manrope,sans-serif;font-size:10px;gap:7px;letter-spacing:.04em;text-transform:uppercase}.evidence-heading h2{color:#fff;font-size:clamp(40px,10vw,76px);letter-spacing:-.07em;line-height:.94;margin:15px 0;max-width:760px;text-shadow:3px 3px 0 #151218}.evidence-heading p{font-size:10px;line-height:1.65;margin:0;max-width:480px}.photo-rail{display:flex;gap:13px;overflow-x:auto;padding:5px max(18px,calc((100% - 1100px)/2)) 22px;position:relative;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-rail::-webkit-scrollbar{display:none}.evidence-card{background:#fffdf6;border:2px solid #151218;box-shadow:7px 7px #151218;color:#151218;cursor:pointer;flex:0 0 min(78vw,300px);padding:10px 10px 15px;scroll-snap-align:center;text-align:left;transform:rotate(-1deg);transition:transform .2s}.evidence-card:nth-child(2n){transform:rotate(1.5deg)}.evidence-card:active{transform:rotate(0) scale(.98)}.evidence-card>span,.photo-modal-card>span{display:block;font-family:Manrope,sans-serif;font-size:10px;font-weight:700;letter-spacing:.03em;padding:3px 1px 9px;text-transform:uppercase}.evidence-card img{aspect-ratio:3 / 4;border:1px solid #151218;display:block;filter:saturate(.92) contrast(1.03);object-fit:cover;width:100%}.evidence-card p{font-size:11px;font-weight:700;line-height:1.45;margin:14px 2px 10px}.evidence-card small{color:#8b7c8e;font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.02em;text-transform:uppercase}.photo-modal{align-items:center;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:100}.photo-modal-backdrop{background:#0a080be0;border:0;top:0;right:0;bottom:0;left:0;position:absolute}.photo-modal-card{animation:photo-in .3s cubic-bezier(.2,.8,.2,1);background:#fffdf6;border:2px solid white;box-shadow:0 22px 80px #0000008c;color:#151218;max-height:calc(100dvh - 36px);max-width:440px;overflow:auto;padding:9px 9px 18px;position:relative;transform:rotate(-1deg);width:100%}.photo-modal-card img{display:block;max-height:68dvh;object-fit:contain;width:100%}.photo-modal-card>span{padding:14px 6px 4px}.photo-modal-card p{font-size:15px;font-weight:700;line-height:1.45;margin:5px 6px 0}.photo-modal-close{align-items:center;background:#151218;border:1px solid white;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;width:36px;z-index:2}.cake-section{background:#19151d;color:#fff;overflow:hidden;padding:100px 18px 64px;position:relative;text-align:center}.cake-section:before{background:radial-gradient(circle,rgba(255,77,141,.22),transparent 65%);content:"";height:700px;left:50%;position:absolute;top:40%;transform:translate(-50%,-50%);width:700px}.section-heading--center{margin:0 auto 90px;position:relative;text-align:center}.cake{--cake-inset: 20px;--cake-plate-inset: 2px;--cake-frosting-height: 78px;--cake-frosting-top: 24px;--cake-plate-bottom: 4px;--cake-plate-height: 84px;--cake-tier-curve: calc(var(--cake-plate-height) * .54);--cake-tier-bottom: calc(var(--cake-plate-bottom) + (var(--cake-plate-height) * .3) - 6px);--cake-stripe: repeating-linear-gradient( -14deg, rgba(255,255,255,.3) 0 10px, transparent 10px 22px );height:224px;isolation:isolate;margin:0 auto;max-width:320px;position:relative;width:min(100%,320px)}.cake__plate{background:#63e6ff;border:2px solid #151218;border-radius:50%;bottom:var(--cake-plate-bottom);height:var(--cake-plate-height);left:var(--cake-plate-inset);position:absolute;width:calc(100% - (var(--cake-plate-inset) * 2));z-index:1}.cake__tier-side{background:var(--cake-stripe),linear-gradient(90deg,#ff80ae,#ff4d8d);background-size:130% 220%,100% 100%;background-position:center 100%;border-bottom:2px solid #151218;border-left:2px solid #151218;border-radius:0 0 50% 50% / 0 0 var(--cake-tier-curve) var(--cake-tier-curve);border-right:2px solid #151218;bottom:var(--cake-tier-bottom);left:var(--cake-inset);overflow:hidden;position:absolute;top:calc(var(--cake-frosting-top) + (var(--cake-frosting-height) / 2));width:calc(100% - (var(--cake-inset) * 2));z-index:3}.cake__frosting{background:linear-gradient(180deg,#ffe8f2,#ffd9e8 55%,#ffc8de);border:2px solid #151218;border-radius:50%;box-shadow:inset 0 -10px #ff78aa38,0 6px #ff78aa2e;height:var(--cake-frosting-height);left:var(--cake-inset);position:absolute;top:var(--cake-frosting-top);width:calc(100% - (var(--cake-inset) * 2));z-index:4}.cake__candles{align-items:flex-start;display:flex;justify-content:space-around;left:calc(var(--cake-inset) + 18px);position:absolute;right:calc(var(--cake-inset) + 18px);top:11px;z-index:5}.cake__candles button{background:repeating-linear-gradient(45deg,#63e6ff 0,#63e6ff 5px,#fff 5px,#fff 9px);border:1px solid #151218;cursor:pointer;height:48px;padding:0;position:relative;width:12px}.cake__candles button:nth-child(1),.cake__candles button:nth-child(5){margin-top:0}.cake__candles button:nth-child(2),.cake__candles button:nth-child(4){margin-top:5px}.cake__candles button:nth-child(3){margin-top:9px}.flame,.smoke{left:50%;position:absolute}.flame{animation:flicker .7s ease-in-out infinite alternate;background:#ffd93d;border-radius:50% 50% 50% 0;box-shadow:0 0 16px #ff9b3d;height:16px;top:-21px;transform:translate(-50%) rotate(-45deg);width:12px}.smoke{animation:smoke 1.4s ease-out forwards;background:#ffffff73;border-radius:50%;height:8px;top:-10px;width:8px}.cake--complete{animation:cake-happy .6s ease-in-out}.wish-result{align-items:center;background:#151218e0;border-radius:999px;color:#ffffffeb;display:inline-flex;font-family:Manrope,sans-serif;font-size:12px;font-weight:700;gap:4px;justify-content:center;letter-spacing:.05em;margin:28px auto 0;padding:9px 16px;position:relative;text-transform:uppercase;width:fit-content}.wish-result b{color:#fff;font-size:14px;font-weight:800}.wish-celebration{animation:wish-arrive .7s cubic-bezier(.18,.88,.25,1.18) both;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);background:radial-gradient(circle at 50% 0,rgba(255,255,255,.95),transparent 48%),linear-gradient(145deg,#ffffffe0,#ffe2f2d1);border:1px solid rgba(255,255,255,.98);border-radius:30px;box-shadow:0 24px 65px #8b427b33,inset 0 1px #fff;color:#17131d;margin:34px auto 0;max-width:460px;overflow:hidden;padding:25px 22px 28px;position:relative;text-align:center}.wish-celebration:before,.wish-celebration:after{background:#ff4d8d;border-radius:50%;content:"";filter:blur(1px);height:8px;position:absolute;top:26px;width:8px}.wish-celebration:before{animation:wish-dot 1.6s ease-in-out infinite;left:24px}.wish-celebration:after{animation:wish-dot 1.6s .4s ease-in-out infinite;background:#63c9ff;right:24px}.wish-sparkles{align-items:center;color:#ff4d8d;display:flex;gap:12px;justify-content:center;margin-bottom:12px}.wish-sparkles svg{animation:wish-sparkle 1.2s ease-in-out infinite alternate}.wish-sparkles svg:nth-child(2){animation-delay:-.4s;color:#b45cff}.wish-sparkles svg:nth-child(3){animation-delay:-.8s;color:#ffb72b}.wish-celebration>span{color:#9a4b6d;display:block;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.wish-celebration h3{color:#17131d;font-size:clamp(26px,8.2vw,48px);letter-spacing:-.05em;line-height:1.05;margin:9px 0 10px;white-space:nowrap}.wish-celebration p{color:#766b7b;font-size:15px;font-weight:700;margin:0}.achievements-section{background:#f5f0e8;padding-top:64px}.achievements{border-top:1px solid rgba(21,18,24,.15)}.achievements article{align-items:center;border-bottom:1px solid rgba(21,18,24,.15);cursor:pointer;display:flex;gap:16px;padding:20px 2px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .18s ease}.achievements article:active{transform:scale(.99)}.achievements article:focus-visible{outline:2px solid #ff4d8d;outline-offset:2px}.achievements article.is-checked{background:linear-gradient(145deg,#dcfce7,#bbf7d0);border-bottom-color:#86efac}.achievements article.is-checked>span{color:#16a34a}.achievements article.is-checked b{color:#14532d}.achievements article.is-checked p{color:#166534}.achievements article.is-checked svg{color:#16a34a;transform:scale(1.06)}.achievements article>span{color:#b0a5b2;flex-shrink:0;font-family:Manrope,sans-serif;font-size:13px;font-weight:600;min-width:22px}.achievements article div{flex:1}.achievements b{font-size:12px}.achievements p{color:#746a77;font-size:11px;margin:4px 0 0}.achievements svg{color:#ff4d8d;transition:color .22s ease,transform .22s ease}.certificate-wrap{background:#ffd93d;padding:90px 18px}.certificate{background:#fffdf6;border:2px solid #151218;box-shadow:10px 10px #151218;margin:0 auto;max-width:720px;overflow:hidden;padding:52px 25px 36px;position:relative;text-align:center}.certificate-corner{border:1px solid #151218;border-radius:50%;height:150px;position:absolute;width:150px}.certificate-corner--tl{left:-85px;top:-85px}.certificate-corner--br{bottom:-85px;right:-85px}.certificate-label{display:block;font-family:Manrope,sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;margin:18px 0 30px;text-transform:uppercase}.certificate h2{font-size:clamp(28px,8vw,56px);letter-spacing:-.06em;line-height:1.35;margin:0;overflow:visible}.certificate-name{color:#ff3e84;display:inline-block;font-family:Playfair Display,serif;font-style:italic;font-weight:800;letter-spacing:-.04em;line-height:1.45;overflow:visible;padding-bottom:.05em}.certificate-name__rest{margin-left:1.5px}.certificate>p{color:#6d6370;font-size:10px;line-height:1.7;margin:22px auto 40px;max-width:500px}.certificate-signatures{align-items:center;border-top:1px solid #151218;display:flex;justify-content:space-between;padding-top:20px}.certificate-signatures>div:first-child{align-items:flex-start;display:flex;flex-direction:column}.certificate-signatures b{font-family:Playfair Display,serif;font-size:20px;font-style:italic}.certificate-signatures span{font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.02em;text-transform:uppercase}.seal{align-items:center;background:#ff4d8d;border:1px solid #151218;border-radius:50%;color:#fff;display:flex;flex-direction:column;height:58px;justify-content:center;transform:rotate(8deg);width:58px}.real-message{background:linear-gradient(140deg,#ff4d8d,#a948f5);color:#fff;padding:120px 22px;text-align:center}.real-message>span{font-family:Manrope,sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.real-message h2{font-size:clamp(38px,10vw,76px);letter-spacing:-.07em;line-height:.98;margin:22px auto;max-width:850px}.real-message p{color:#fffc;font-size:11px;line-height:1.8;margin:0 auto;max-width:540px}.real-message div{font-family:Playfair Display,serif;font-size:24px;font-style:italic;margin-top:45px}.birthday-footer{background:#151218;color:#8c838e;margin:0;max-width:none;padding:24px 18px calc(24px + env(safe-area-inset-bottom))}.confetti{top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;z-index:50}.confetti i{animation:confetti-fall var(--duration) linear var(--delay) infinite;background:var(--color);height:calc(var(--size) * 1.7);left:var(--left);opacity:.9;position:absolute;top:-30px;transform:rotate(var(--spin));width:var(--size)}.confetti--tiny i{animation-duration:3.5s}.birthday{background:#f7f7fb}.birthday:before{background:radial-gradient(circle at 16% 12%,rgba(255,92,162,.13),transparent 30%),radial-gradient(circle at 88% 24%,rgba(74,173,255,.12),transparent 32%);opacity:1;z-index:0}.topbar--birthday{backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);background:#f7f7fbb8;border-bottom:1px solid rgba(255,255,255,.85);position:sticky;top:0;z-index:40}.topbar--birthday .brand{color:#3c3541;font-size:13px;font-weight:650;letter-spacing:-.01em}.topbar--birthday .sound-button{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffb8;border-color:#ffffffe6;box-shadow:0 4px 16px #2d233414}.birthday-hero{padding-top:8.5vh}.birthday-hero>*:not(.hero-burst){animation:hero-rise .75s cubic-bezier(.2,.85,.2,1) both}.birthday-hero .eyebrow{animation-delay:.06s}.birthday-hero h1{animation-delay:.11s}.birthday-hero .hero-id-card{animation-delay:.17s}.birthday-hero .hero-copy{animation-delay:.23s}.birthday-hero .scroll-cue{animation-delay:.3s}.access-pill{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#1e1923e0;padding:9px 13px}.hero-id-card{backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);background:#ffffffb8;border:1px solid rgba(255,255,255,.94);border-radius:22px;box-shadow:0 15px 40px #3f2a4b26;padding:11px;transform:rotate(-1deg)}.hero-id-card__photo{border-radius:16px}.birthday-section{z-index:1}.control-card{border:1px solid rgba(255,255,255,.86);border-radius:30px;box-shadow:0 16px 38px #3f2a4b1c;padding:24px;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}.control-card:before{animation:card-sparkle 2.4s ease-in-out infinite;color:#ffffffe6;content:"✦";font-size:26px;position:absolute;right:22px;text-shadow:0 0 18px rgba(255,255,255,.9);top:56px}.control-card:nth-child(2):before{animation-delay:-.8s;color:#7c57e8}.control-card:nth-child(3):before{animation-delay:-1.6s;color:#ff7caa}.control-card:active{box-shadow:0 8px 20px #3f2a4b1a;transform:scale(.985)}.control-card--pink{background:linear-gradient(145deg,#ffe0ed,#ffcce2)}.control-card--blue{background:linear-gradient(145deg,#e4faff,#cef1fb)}.control-card--yellow{background:linear-gradient(145deg,#fff6c7,#ffe99a)}.card-number{background:#ffffff9e;border:1px solid rgba(255,255,255,.86);border-radius:999px;box-shadow:0 4px 12px #53344c14;font-size:11px;font-weight:800;letter-spacing:.04em;padding:6px 9px;text-transform:uppercase}.control-card h3{font-size:27px}.control-card>p{font-size:13px;font-weight:650;line-height:1.5}.card-action{background:linear-gradient(115deg,#ff3e84,#985af5);border-radius:16px;box-shadow:0 8px 20px #a744b033;font-size:12px;padding:15px 17px;transition:transform .18s}.card-action:active{transform:scale(.97)}.evidence-section{background:radial-gradient(circle at 15% 5%,rgba(255,255,255,.32),transparent 30%),linear-gradient(145deg,#ff5a9b,#b65cf2 62%,#6b86ff)}.evidence-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffd6;border:1px solid rgba(255,255,255,.95);border-radius:28px;box-shadow:0 18px 42px #3c1c4a3b;transform:none}.evidence-card:nth-child(2n){transform:none}.evidence-card:active{transform:scale(.98)}.evidence-card img{border:0;border-radius:20px}.photo-modal-backdrop{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#211927ad}.photo-modal-card{border:1px solid rgba(255,255,255,.95);border-radius:28px;transform:none}.photo-modal-card img{border-radius:20px}.photo-modal-close{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#141117b8;border:1px solid rgba(255,255,255,.55)}.cake-section{background:radial-gradient(circle at 50% 52%,rgba(255,110,169,.25),transparent 42%),linear-gradient(160deg,#f7efff,#edf8ff);color:#17131d}.cake-section:before{background:radial-gradient(circle,rgba(255,77,141,.16),transparent 65%)}.birthday .section-heading>span,.evidence-heading>span,.real-message>span,.certificate-label{font-size:12px;font-weight:800}.section-heading p,.evidence-heading p,.real-message p{font-size:14px;line-height:1.65}.access-pill,.hero-id-card span{font-size:13px}.birthday-hero .eyebrow{font-size:12px}.birthday-hero .hero-copy{font-size:15px;line-height:1.65}.scroll-cue{font-size:12px;font-weight:750}.marquee{padding:14px 0}.marquee-track{font-size:12px;font-weight:750}.evidence-card>span,.photo-modal-card>span,.evidence-card small{font-size:12px}.evidence-card p{font-size:14px;line-height:1.5}.achievement-section p,.achievements p{font-size:13px}.certificate p{font-size:14px;line-height:1.65}.birthday-footer{font-size:11px}.achievements-section{background:#f7f7fb}.achievements{border-top:0;display:grid;gap:10px}.achievements article{background:#fff;border:1px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 8px 24px #3f2a4b14;padding:17px 16px}.achievements article.is-checked{background:linear-gradient(145deg,#dcfce7,#bbf7d0);border-color:#86efac;box-shadow:0 8px 24px #22c55e29}.certificate-wrap{background:linear-gradient(150deg,#fff3a5,#ffd6e8)}.certificate{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffc7;border:1px solid rgba(255,255,255,.95);border-radius:30px;box-shadow:0 22px 60px #60433026}.real-message{background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.2),transparent 35%),linear-gradient(140deg,#ff4d8d,#a948f5)}.birthday-footer{background:#f7f7fb;color:#807585}.transition-screen{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.22),transparent 28%),radial-gradient(circle at 85% 78%,rgba(77,198,255,.28),transparent 30%),linear-gradient(145deg,#ff4d8d,#a85cf5 62%,#5f89ff)}.transition-screen>svg{animation:party-pop .8s cubic-bezier(.18,.9,.2,1.2) both;filter:drop-shadow(0 10px 16px rgba(65,23,74,.22))}.transition-screen h1{text-shadow:0 10px 30px rgba(73,25,76,.22)}.mini-balloon,.gift-box,.cake__candles button,.evidence-card,.photo-modal-close,.sound-button{transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s}.gift-box:active,.cake__candles button:active,.photo-modal-close:active,.sound-button:active{transform:scale(.94)}@media(min-width:760px){.locked{padding-left:30px;padding-right:30px}.control-grid{grid-template-columns:repeat(3,1fr)}.control-card{min-height:390px}.achievements{display:grid;grid-template-columns:repeat(2,1fr)}.achievements article:nth-child(odd){border-right:1px solid rgba(21,18,24,.15);padding-right:20px}.achievements article:nth-child(2n){padding-left:20px}}@media(max-width:430px){.sound-button span{display:none}.birthday-hero{padding-inline:24px;padding-top:7.5vh}.birthday-hero h1{padding-inline:.12em}.hero-name{max-width:calc(100% - 16px);padding:.16em .38em .18em}.locked-hero{margin-top:38px}.lock-orbit{height:112px;width:112px}.classification{margin-bottom:24px}.locked-footer,.birthday-footer{gap:20px}.birthday-footer span:last-child,.locked-footer span:last-child{text-align:right}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.25}}@keyframes scan{to{transform:translateY(calc(100vh + 160px))}}@keyframes fingerprint-scan{50%{transform:translateY(34px)}}@keyframes warning-in{0%{opacity:0;transform:translateY(8px)}}@keyframes critical{50%{background-color:#ff1e320a}}@keyframes transition-in{0%{opacity:0;transform:scale(.78)}}@keyframes warning-ring{0%{opacity:0;transform:scale(1)}12%{opacity:.55}to{opacity:0;transform:scale(7)}}@keyframes bob{50%{transform:translateY(5px)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes balloon-float{to{transform:translateY(-7px) rotate(2deg)}}@keyframes balloon-pop{45%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(.1)}}@keyframes balloon-particle{0%{opacity:1;transform:rotate(var(--angle)) translateY(-5px) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(-55px) scale(.25)}}@keyframes balloon-word{0%{opacity:0;transform:translateY(20px) scale(.25) rotate(-18deg)}}@keyframes victory-in{0%{opacity:0;transform:translateY(16px) scale(.82) rotate(-2deg)}}@keyframes gift-aura{50%{opacity:.7;transform:translate(-50%,-50%) scale(1.12)}}@keyframes gift-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-7deg) scale(1.04)}40%{transform:rotate(7deg) scale(1.08)}60%{transform:rotate(-5deg) scale(1.1)}80%{transform:rotate(4deg) scale(1.12)}}@keyframes gift-lid-fly{to{opacity:0;transform:translate(-20%,-105px) rotate(38deg) scale(.8)}}@keyframes gift-body-pop{60%{filter:brightness(1.18);transform:translate(-50%) scale(1.13)}}@keyframes gift-flash{60%{opacity:1;transform:translate(-50%,-50%) scale(1.45)}to{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}@keyframes gift-particle{0%{opacity:1;transform:rotate(var(--angle)) translateY(-12px) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(-95px) scale(.2)}}@keyframes gift-reveal-in{0%{opacity:0;transform:translateY(28px) scale(.76) rotate(-3deg)}}@keyframes card-sparkle{50%{opacity:.35;transform:rotate(22deg) scale(.72)}}@keyframes title-colour{to{filter:saturate(1.25)}}@keyframes flicker{to{transform:translate(-50%) rotate(-35deg) scale(.82)}}@keyframes smoke{to{opacity:0;transform:translate(-10px,-35px) scale(2)}}@keyframes cake-happy{50%{transform:perspective(800px) rotateX(2deg) scale(1.05) rotate(2deg)}}@keyframes wish-arrive{0%{opacity:0;transform:translateY(26px) scale(.86)}}@keyframes wish-sparkle{to{transform:translateY(-5px) rotate(8deg) scale(1.15)}}@keyframes wish-dot{50%{opacity:.35;transform:translateY(8px) scale(.65)}}@keyframes photo-in{0%{opacity:0;transform:rotate(-1deg) translateY(25px) scale(.94)}}@keyframes welcome-in{0%{opacity:0;transform:translateY(16px) scale(.97)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(34px) scale(.96)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px) scale(.98)}}@keyframes photo-float{50%{transform:translateY(-6px) rotate(1deg)}}@keyframes icon-float{50%{transform:translateY(-8px) rotate(5deg)}}@keyframes halo-pulse{50%{opacity:.65;transform:scale(1.06)}}@keyframes orb-drift{to{transform:translate(20px,-18px) scale(1.08)}}@keyframes ready-glow{50%{box-shadow:0 14px 38px #be38936b,inset 0 1px #ffffff7a}}@keyframes slide-wiggle{20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes party-pop{0%{opacity:0;transform:scale(.3) rotate(-25deg)}60%{transform:scale(1.22) rotate(8deg)}}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(calc(var(--spin) + 760deg))}}
