:root{--plum-950:#12081d;--plum-900:#1c0d2b;--plum-800:#2b1540;--plum-700:#432057;--plum-600:#5e2d74;--pomegranate-600:#b3243c;--pomegranate-500:#d23a52;--rose-300:#f4b3c2;--rose-100:#fbe1e7;--cream-50:#fff7ea;--cream-200:#f6e6c8;--gold-400:#f3c65c;--gold-200:#fbe3a0;--tea-600:#a8431c;--sunflower-400:#f6b42c;--leaf-500:#6f9a5b;--color-bg:var(--plum-900);--color-bg-deep:var(--plum-950);--color-surface:#2b1540b8;--color-surface-border:#fbe3a038;--color-text:var(--cream-50);--color-text-muted:var(--rose-100);--color-heading:var(--gold-200);--color-accent:var(--pomegranate-500);--color-accent-strong:var(--pomegranate-600);--color-star:var(--gold-400);--color-focus:var(--gold-400);--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-display:clamp(2.5rem, 11vw, 3.5rem);--leading-tight:1.15;--leading-body:1.55;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.75rem;--radius-pill:999px;--shadow-card:0 12px 32px #0a03128c, 0 2px 6px #0a031266;--shadow-soft:0 6px 18px #0a031259;--glow-gold:0 0 18px #f3c65c73;--glow-rose:0 0 24px #f4b3c259;--touch-min:44px;--focus-ring:0 0 0 3px var(--color-bg), 0 0 0 6px var(--color-focus);--ease-soft:cubic-bezier(.33, 1, .68, 1);--duration-fast:.16s;--duration-base:.32s;--duration-slow:3.5s;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);font-feature-settings:"locl" 0;font-size:var(--text-md);line-height:var(--leading-body);color:var(--color-text);background:radial-gradient(120% 60% at 50% 0%, var(--plum-700) 0%, transparent 70%), radial-gradient(90% 50% at 50% 110%, #b3243c59 0%, transparent 70%), linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-deep) 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;overflow-x:clip}body:before{content:"";pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 12% 18%, var(--color-star) 50%, transparent 51%), radial-gradient(1px 1px at 28% 42%, var(--cream-50) 50%, transparent 51%), radial-gradient(2px 2px at 46% 9%, var(--color-star) 50%, transparent 51%), radial-gradient(1px 1px at 63% 31%, var(--cream-50) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 81% 14%, var(--color-star) 50%, transparent 51%), radial-gradient(1px 1px at 90% 48%, var(--cream-50) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 8% 63%, var(--cream-50) 50%, transparent 51%), radial-gradient(2px 2px at 72% 70%, var(--color-star) 50%, transparent 51%), radial-gradient(1px 1px at 37% 82%, var(--cream-50) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 55% 55%, var(--color-star) 50%, transparent 51%);opacity:.85;position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){body:before{animation:twinkle var(--duration-slow) ease-in-out infinite alternate}}@keyframes twinkle{0%{opacity:.55}to{opacity:.95}}#root{min-height:100dvh;position:relative}h1,h2,h3{font-family:var(--font-display);line-height:var(--leading-tight);margin:0}p{margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{box-shadow:none;outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bird,.unicorn{overflow:visible}.bird__all,.bird__wing,.bird__leg,.bird__ribbon,.bird__bundle,.bird__drop,.bird__kiss,.unicorn__all,.unicorn__sparkle,.unicorn__heart,.unicorn__cloud,.unicorn__drop{transform-box:fill-box}.bird__all,.unicorn__all{transform-origin:50% 100%}.bird__wing{transform-origin:85% 90%}.bird__leg{transform-origin:50% 0}.bird__ribbon{transform-origin:100% 40%}.bird__bundle{transform-origin:50% 0}.bird__drop,.bird__kiss,.unicorn__sparkle,.unicorn__heart{transform-origin:50%}@media (prefers-reduced-motion:no-preference){.bird--panicking .bird__all{animation:.28s linear infinite bird-jitter}.bird--panicking .bird__wing{animation:.16s ease-in-out infinite alternate bird-flap}.bird--panicking .bird__leg--a{animation:.2s ease-in-out infinite alternate bird-scurry}.bird--panicking .bird__leg--b{animation:.2s ease-in-out infinite alternate-reverse bird-scurry}.bird--panicking .bird__drop{animation:.9s ease-out infinite bird-sweat}.bird--flying .bird__all{animation:1.1s ease-in-out infinite alternate char-bob}.bird--flying .bird__wing{animation:.32s ease-in-out infinite alternate bird-flap}.bird--flying .bird__ribbon{animation:.5s ease-in-out infinite alternate bird-ribbon}.bird--carrying .bird__all{animation:1.6s ease-in-out infinite alternate char-bob}.bird--carrying .bird__bundle{animation:1.6s ease-in-out infinite alternate bird-swing}.bird--laughing .bird__all{animation:.5s ease-in-out infinite bird-giggle}.bird--laughing .bird__kiss{animation:1.8s ease-out infinite bird-kiss}.unicorn--happy .unicorn__all{animation:.9s ease-in-out infinite alternate char-bob}.unicorn--happy .unicorn__sparkle,.unicorn--happy .unicorn__heart{animation:1.6s ease-in-out infinite char-twinkle}.unicorn--upset .unicorn__all{animation:4s ease-in-out infinite unicorn-sigh}.unicorn--upset .unicorn__cloud{animation:3s ease-in-out infinite alternate unicorn-cloud}.unicorn--upset .unicorn__drop{animation:1.2s ease-in infinite unicorn-rain}}@keyframes char-bob{0%{transform:translateY(0)}to{transform:translateY(-5px)}}@keyframes char-twinkle{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}@keyframes bird-jitter{0%{transform:translate(0)rotate(0)}25%{transform:translate(-1.5px,-2px)rotate(-3deg)}50%{transform:translate(1px)rotate(2deg)}75%{transform:translate(1.5px,-2px)rotate(-1deg)}to{transform:translate(0)rotate(0)}}@keyframes bird-flap{0%{transform:rotate(-45deg)}to{transform:rotate(6deg)}}@keyframes bird-scurry{0%{transform:rotate(-28deg)}to{transform:rotate(28deg)}}@keyframes bird-sweat{0%{opacity:0;transform:translateY(4px)scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(6px,-10px)scale(1)}}@keyframes bird-ribbon{0%{transform:rotate(-10deg)}to{transform:rotate(8deg)}}@keyframes bird-swing{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes bird-giggle{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(-3deg)translateY(-2px)}75%{transform:rotate(3deg)translateY(-2px)}}@keyframes bird-kiss{0%{opacity:0;transform:translateY(8px)scale(.5)}20%{opacity:1}to{opacity:0;transform:translateY(-22px)scale(1.15)}}@keyframes unicorn-sigh{0%,to{transform:translateY(0)}50%{transform:translateY(1.5px)}}@keyframes unicorn-cloud{0%{transform:translate(-2px)}to{transform:translate(2px)}}@keyframes unicorn-rain{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}to{opacity:0;transform:translateY(12px)}}.heart-rain{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.heart-rain__heart{left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:.9;position:absolute}.heart-rain__heart svg{width:100%;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.heart-rain{animation:heart-rain-fade var(--rain-duration) linear forwards}.heart-rain__heart{opacity:0;will-change:transform, opacity;animation:heart-rise var(--rise) ease-out var(--delay) forwards;top:100%}}@keyframes heart-rain-fade{0%,85%{opacity:1}to{opacity:0}}@keyframes heart-rise{0%{opacity:0;transform:translate(0,0)rotate(0)scale(.6)}12%{opacity:1}50%{transform:translate3d(var(--drift), -60vh, 0) rotate(var(--spin)) scale(1)}80%{opacity:.95}to{opacity:0;transform:translate3d(calc(var(--drift) * -.4), -118vh, 0) rotate(calc(var(--spin) * -1)) scale(1.05)}}.notify{min-height:3rem}.notify__sending{align-items:center;gap:var(--space-2);color:var(--color-heading);font-weight:700;display:inline-flex}.notify__beat{width:1.375rem;height:1.375rem;color:var(--rose-300);flex:none}.notify__card{gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.notify__title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-heading)}.notify__text{color:var(--color-text)}.notify__actions{justify-content:center;gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.notify__call,.notify__retry{min-height:48px;padding:0 var(--space-5);font:inherit;border-radius:var(--radius-pill);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.notify__call{color:var(--plum-900);background:var(--gold-400);border:1px solid var(--gold-200)}.notify__retry{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-surface-border)}@media (prefers-reduced-motion:no-preference){.notify__beat{animation:.9s ease-in-out infinite notify-beat}.notify__card{animation:notify-in .6s var(--ease-soft)}}@keyframes notify-beat{0%,to{transform:scale(.85)}40%{transform:scale(1.15)}}@keyframes notify-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sound-toggle{min-height:var(--touch-min);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-pill);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:700;display:inline-flex}.sound-toggle--on{color:var(--plum-900);background:var(--gold-200);border-color:var(--gold-400)}.sound-toggle__icon{flex:none;width:1.375rem;height:1.375rem}.flow{gap:var(--space-4);padding-bottom:var(--space-6);flex-direction:column;display:flex}.flow__title{font-size:var(--text-xl);color:var(--color-heading)}.flow__intro,.flow__text{color:var(--color-text-muted)}.flow__intro{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);line-height:1.4}.flow__question{font-size:var(--text-md);color:var(--color-heading);font-weight:700}.flow__actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.flow__button{min-height:48px;padding:0 var(--space-5);font:inherit;color:var(--plum-900);background:var(--accent);border:1px solid var(--gold-200);border-radius:var(--radius-pill);text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.flow__button--wide{width:100%}.flow__button--big{width:100%;min-height:4.5rem;font-family:var(--font-display);font-size:var(--text-xl);box-shadow:var(--glow-gold)}.flow__button--quiet{color:var(--color-text);background:var(--color-surface);border-color:var(--color-surface-border)}.flow__button--quiet:active{background:var(--plum-700)}.choices{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.choices>li{display:flex}.choice{align-items:center;gap:var(--space-3);width:100%;min-height:4.5rem;padding:var(--space-3) var(--space-4);font:inherit;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-decoration:none;display:flex}.choice:active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--plum-800))}.choice__emoji{background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%;flex:none;place-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;display:grid}.choice__text{flex-direction:column;gap:2px;min-width:0;display:flex}.choice__label{font-size:var(--text-md);overflow-wrap:anywhere;font-weight:700}.choice__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.duo{justify-content:space-between;align-items:flex-end;gap:var(--space-2);min-height:11rem;padding:var(--space-6) var(--space-4) var(--space-4);isolation:isolate;background:radial-gradient(120% 90% at 50% 100%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);display:flex;position:relative;overflow:hidden}.duo__bird{width:36%;max-width:8rem}.duo__unicorn{width:50%;max-width:11rem}.duo__bird svg,.duo__unicorn svg{width:100%;height:auto;display:block}.duo__gift{width:2.25rem;height:2.25rem;color:var(--rose-300);filter:drop-shadow(0 0 10px #f4b3c299);position:absolute;top:22%;left:46%}.duo--cozy{justify-content:center;gap:0}.duo--cozy .duo__bird{z-index:1;width:30%;margin-right:-3%}.duo__glow{z-index:-1;background:radial-gradient(closest-side,#f7a8c466,#fbe3a01f 60%,#0000);border-radius:50%;width:16rem;height:16rem;margin:-8rem 0 0 -8rem;position:absolute;top:55%;left:50%}.duo__float{width:1.25rem;height:1.25rem;color:var(--rose-300);opacity:.8;position:absolute}.duo__float--a{top:14%;left:16%}.duo__float--b{width:1rem;height:1rem;color:var(--gold-200);top:8%;left:48%}.duo__float--c{top:18%;left:80%}@media (prefers-reduced-motion:no-preference){.duo--hungry .duo__bird{animation:duo-fly-in 2.2s var(--ease-soft) both}.duo--sulking .duo__bird{animation:5s ease-in-out infinite alternate duo-float}.duo--sulking .duo__gift{animation:4.5s ease-in-out both duo-gift,2.4s ease-in-out 4.5s infinite alternate duo-glow}.duo__glow{animation:8s ease-in-out infinite duo-breathe}.duo__float{animation:4s ease-in-out infinite alternate duo-float}.duo__float--b{animation-delay:-1.3s}.duo__float--c{animation-delay:-2.6s}}@keyframes duo-fly-in{0%{opacity:0;transform:translate(-140%,-70%)rotate(-12deg)}20%{opacity:1}65%{transform:translate(10%,-16%)rotate(5deg)}to{opacity:1;transform:none}}@keyframes duo-float{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes duo-gift{0%{opacity:0;transform:translate(-6.5rem,3rem)scale(.4)}20%{opacity:1}55%{transform:translate(-3rem,-1rem)scale(.8)}to{opacity:1;transform:none}}@keyframes duo-glow{0%{transform:scale(1)}to{transform:scale(1.14)}}@keyframes duo-breathe{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.lost-form{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);flex-direction:column;display:flex}.lost-form__label{font-weight:700}.text-input{width:100%;min-height:48px;padding:0 var(--space-4);font:inherit;font-size:max(1rem, var(--text-md));color:var(--color-text);background:var(--plum-950);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);appearance:none}.text-input::placeholder{color:var(--color-text-muted);opacity:.6}.text-input[aria-invalid=true]{border-color:var(--rose-300)}.lost-form__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.mission{justify-content:center;align-items:center;gap:var(--space-3);min-height:16rem;padding:var(--space-5) var(--space-4);isolation:isolate;text-align:center;border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);background:linear-gradient(#1d1838 0%,#3a1640 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.mission__lines{z-index:-1;position:absolute;inset:0}.mission__lines span{border-radius:var(--radius-pill);background:linear-gradient(90deg,#0000,#fbe3a08c);width:30%;height:3px;position:absolute;left:10%}.mission__lines span:first-child{top:18%;left:60%}.mission__lines span:nth-child(2){width:22%;top:32%;left:8%}.mission__lines span:nth-child(3){width:18%;top:46%;left:70%}.mission__lines span:nth-child(4){top:60%;left:20%}.mission__lines span:nth-child(5){width:24%;top:74%;left:55%}.mission__lines span:nth-child(6){width:16%;top:86%;left:5%}.mission--found .mission__lines{opacity:0}.mission__badge{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);letter-spacing:.12em;color:var(--cream-50);background:var(--pomegranate-500);border-radius:var(--radius-pill);font-weight:800}.mission__bird{width:8rem}.mission__bird svg{width:100%;height:auto;display:block}.mission__count{width:3.5rem;height:3.5rem;font-family:var(--font-display);font-size:var(--text-xl);color:var(--gold-200);border:2px solid var(--gold-400);box-shadow:var(--glow-gold);border-radius:50%;place-items:center;font-weight:700;display:grid}.mission__status{font-family:var(--font-display);font-size:var(--text-lg);color:var(--cream-50)}.work__intro,.work__hint{text-align:center;max-width:22rem;color:var(--color-text-muted)}.work__player{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--color-surface-border);background:#12081d99;width:100%;overflow:hidden}.work__frame{border:0;width:100%;height:100%;display:block}.work__start{justify-content:center;align-items:center;gap:var(--space-2);width:100%;height:100%;font:inherit;font-weight:700;font-size:var(--text-md);color:var(--cream-50);border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;display:flex}.work__play{width:3.5rem;height:3.5rem;color:var(--plum-900);background:var(--cream-200);box-shadow:var(--glow-rose);border-radius:50%;place-items:center;padding-left:4px;font-size:1.4rem;display:grid}.work__note{font-size:var(--text-sm);text-align:center}@media (prefers-reduced-motion:no-preference){.mission__lines span{animation:.7s linear infinite mission-whoosh}.mission__lines span:nth-child(2n){animation-duration:.55s;animation-delay:-.2s}.mission__lines span:nth-child(3n){animation-duration:.85s;animation-delay:-.4s}.mission:not(.mission--found) .mission__bird{animation:1.4s ease-in-out infinite alternate mission-dart}.mission__count{animation:1s ease-out infinite mission-tick}.mission--found .mission__bird{animation:duo-fly-in .9s var(--ease-soft) both}.duo--mischief .duo__float{animation-duration:1.6s}}@keyframes mission-whoosh{0%{opacity:0;transform:translate(60vw)}30%{opacity:1}to{opacity:0;transform:translate(-80vw)}}@keyframes mission-dart{0%{transform:translate(-12%,4px)rotate(-4deg)}to{transform:translate(12%,-6px)rotate(3deg)}}@keyframes mission-tick{0%{transform:scale(1.25)}to{transform:scale(1)}}.alarm{z-index:100;justify-content:space-between;align-items:center;gap:var(--space-4);padding:calc(var(--safe-top) + var(--space-5)) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-5)) calc(var(--safe-left) + var(--space-4));overscroll-behavior:contain;text-align:center;color:var(--cream-50);background:radial-gradient(80% 60% at 50% 45%,#6e1426 0%,#3a0a1a 70%,#1f0612 100%);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.alarm__glow{pointer-events:none;opacity:.8;position:absolute;inset:0;box-shadow:inset 0 0 90px 30px #ff3b528c}.alarm__beam{top:calc(var(--safe-top) + 2.75rem);pointer-events:none;background:conic-gradient(#0000 0deg 18deg,#ff5c6e47 30deg,#0000 44deg 198deg,#ff5c6e47 210deg,#0000 224deg 360deg);width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;position:absolute;left:50%}.alarm__siren{flex-direction:column;align-items:center;display:flex;position:relative}.alarm__dome{background:radial-gradient(60% 70% at 40% 35%,#ffd1d6 0%,#ff4d63 45%,#c41a33 100%);border-radius:3.5rem 3.5rem .4rem .4rem;width:3.5rem;height:2.25rem;box-shadow:0 0 28px 8px #ff4d6399}.alarm__base{border-radius:var(--radius-sm);background:var(--plum-800);width:4.5rem;height:.6rem}.alarm__title{font-size:var(--text-display);color:#fff;text-shadow:0 0 18px #ff4d63cc;position:relative}.alarm__bubble{max-width:22rem;padding:var(--space-3) var(--space-4);font-family:var(--font-display);font-size:var(--text-lg);color:var(--plum-900);background:var(--cream-50);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);line-height:1.35;position:relative}.alarm__bubble:after{content:"";border:9px solid #0000;border-bottom:0;border-top-color:var(--cream-50);margin-left:-9px;position:absolute;bottom:-9px;left:50%}.alarm__arena{--run-x:min(30vw, 8rem);--run-y:2.25rem;flex:1;width:100%;min-height:9rem;max-height:16rem;position:relative}.alarm__run-x{position:absolute;top:50%;left:50%}.alarm__bird{width:6.5rem;height:auto;margin:-3.25rem 0 0 -3.25rem;display:block}.alarm__controls{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;max-width:22rem;display:flex;position:relative}.alarm__stop{width:100%;min-height:4.5rem;font:inherit;font-family:var(--font-display);font-size:var(--text-xl);color:var(--pomegranate-600);background:var(--cream-50);border-radius:var(--radius-pill);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:3px solid #fff;font-weight:700;box-shadow:0 8px 24px #0a031280}.alarm__stop:active{background:var(--rose-100)}.alarm__stop:focus-visible{border-radius:var(--radius-pill)}@media (prefers-reduced-motion:no-preference){.alarm__glow{animation:.9s ease-in-out infinite alternate alarm-pulse}.alarm__beam{will-change:transform;animation:1.6s linear infinite alarm-spin}.alarm__dome{animation:.4s ease-in-out infinite alternate alarm-pulse}.alarm__bubble{animation:alarm-bubble .35s var(--ease-soft)}.alarm__run-x{animation:1.2s ease-in-out infinite alternate alarm-run-x}.alarm__run-y{animation:1.2s ease-in-out -.6s infinite alternate alarm-run-y}.alarm__facing{animation:2.4s linear infinite alarm-facing}}@keyframes alarm-pulse{0%{opacity:.45}to{opacity:1}}@keyframes alarm-spin{to{transform:rotate(360deg)}}@keyframes alarm-bubble{0%{transform:scale(.85)rotate(-2deg)}to{transform:none}}@keyframes alarm-run-x{0%{transform:translateX(calc(var(--run-x) * -1))}to{transform:translateX(var(--run-x))}}@keyframes alarm-run-y{0%{transform:translateY(calc(var(--run-y) * -1))}to{transform:translateY(var(--run-y))}}@keyframes alarm-facing{0%,49.9%{transform:scaleX(1)}50%,to{transform:scaleX(-1)}}.calm{isolation:isolate;border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);background:linear-gradient(#1d1838 0%,#22163b 55%,#2b1540 100%);min-height:20rem;display:flex;position:relative;overflow:hidden}.calm__sky{z-index:-1;position:absolute;inset:0;overflow:hidden}.calm__drift{flex-direction:column;height:200%;display:flex;position:absolute;inset:0 0 auto}.calm__tile{flex:1;width:100%;display:block}.calm__star{fill:var(--gold-200);opacity:.75}.calm__star--b{fill:var(--cream-50);opacity:.5}.calm__glow{z-index:-1;opacity:.8;background:radial-gradient(closest-side,#c9b3f073,#f4b3c22e 60%,#0000);border-radius:50%;width:18rem;height:18rem;margin:-9rem 0 0 -9rem;position:absolute;top:50%;left:50%}.calm__content{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-4);flex-direction:column;flex:1;display:flex}.calm__line{max-width:20rem;min-height:3em;font-family:var(--font-display);font-size:var(--text-xl);color:var(--cream-50);text-shadow:0 0 16px #c9b3f080;place-items:center;line-height:1.35;display:grid}@media (prefers-reduced-motion:no-preference){.calm__drift{will-change:transform;animation:120s linear infinite calm-drift}.calm__star--b{animation:5s ease-in-out infinite alternate calm-twinkle}.calm__glow{animation:8s ease-in-out infinite calm-breathe}.calm__line{animation:calm-line 1.2s var(--ease-soft)}}@keyframes calm-drift{0%{transform:translateY(-50%)}to{transform:translateY(0)}}@keyframes calm-twinkle{0%{opacity:.25}to{opacity:.8}}@keyframes calm-breathe{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.12)}}@keyframes calm-line{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.scene{width:100%;padding:var(--space-3) var(--space-4) var(--space-3);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);background:linear-gradient(#43205799 0%,#1c0d2b40 100%);margin:0;position:relative;overflow:hidden}.scene__sky{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scene__stage{justify-content:center;align-items:flex-end;gap:var(--space-2);height:8.5rem;display:flex;position:relative}.scene__stage:before{content:"";background:radial-gradient(60% 100% at 50% 0%, var(--plum-600) 0%, var(--plum-800) 100%);border-radius:50%;height:3.75rem;position:absolute;bottom:-2.25rem;left:-12%;right:-12%}.scene__bird{transform-origin:50% 100%;width:5.75rem;height:auto;position:relative}.scene__unicorn{width:8.5rem;height:auto;filter:drop-shadow(var(--glow-rose));position:relative}.scene__heart{width:1.25rem;height:1.25rem;color:var(--rose-300);align-self:center;position:relative}.scene__caption{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);position:relative}.scene__star,.scene .bird__eye,.scene .unicorn__mane,.scene .unicorn__tail{transform-box:fill-box}.scene__star,.scene .bird__eye{transform-origin:50%}.scene .unicorn__mane{transform-origin:15% 10%}.scene .unicorn__tail{transform-origin:0 30%}.scene__star{opacity:.85}@media (prefers-reduced-motion:no-preference){.scene__bird{animation:4.5s ease-in-out infinite bird-hop}.scene .bird__eye{animation:4s ease-in-out infinite bird-blink}.scene .unicorn__mane{animation:3s ease-in-out infinite alternate sway}.scene .unicorn__tail{animation:3.6s ease-in-out -1s infinite alternate sway}.scene__star{animation:2.8s ease-in-out infinite star-twinkle}.scene__heart{animation:3.6s ease-out infinite heart-float}}@keyframes bird-hop{0%,55%,to{transform:translateY(0)rotate(0)}62%{transform:translateY(-10px)rotate(-3deg)}69%{transform:translateY(0)rotate(0)}74%{transform:translateY(-5px)rotate(-2deg)}79%{transform:translateY(0)rotate(0)}}@keyframes bird-blink{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.1)}}@keyframes sway{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}@keyframes star-twinkle{0%,to{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}@keyframes heart-float{0%{opacity:0;transform:translateY(10px)scale(.7)}25%{opacity:1}70%{opacity:.9}to{opacity:0;transform:translateY(-24px)scale(1)}}.logo{width:min(100%,14rem);height:auto;margin:0 auto;display:block;overflow:visible}.logo__word{font-family:var(--font-display);fill:var(--gold-200);stroke:var(--plum-950);stroke-width:.6px;paint-order:stroke;filter:drop-shadow(0 0 5px #f3c65c80);font-weight:700}.logo__star,.logo__orbiter{transform-box:fill-box;transform-origin:50%}.logo__star{opacity:.9}.logo__orbiter--bird{transform:translate(68px,18px)}.logo__orbiter--star{transform:translate(-68px,-18px)}@media (prefers-reduced-motion:no-preference){.logo__star{animation:2.8s ease-in-out infinite logo-twinkle}.logo__orbiter{animation:26s linear infinite logo-orbit}.logo__orbiter--star{animation-delay:-13s}}@keyframes logo-orbit{0%,to{transform:translate(78px)}8.33%{transform:translate(67.5px,18px)}16.67%{transform:translate(39px,31.2px)}25%{transform:translateY(36px)}33.33%{transform:translate(-39px,31.2px)}41.67%{transform:translate(-67.5px,18px)}50%{transform:translate(-78px)}58.33%{transform:translate(-67.5px,-18px)}66.67%{transform:translate(-39px,-31.2px)}75%{transform:translateY(-36px)}83.33%{transform:translate(39px,-31.2px)}91.67%{transform:translate(67.5px,-18px)}}@keyframes logo-twinkle{0%,to{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.view{animation:view-in var(--duration-base) var(--ease-soft)}}@keyframes view-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.screen{align-items:stretch;gap:var(--space-4);max-width:30rem;min-height:100dvh;padding:calc(var(--safe-top) + var(--space-4)) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-5)) calc(var(--safe-left) + var(--space-4));text-align:center;flex-direction:column;margin:0 auto;display:flex}.screen--home{padding-bottom:calc(var(--safe-bottom) + var(--space-7) + var(--space-5))}.home-logo{justify-content:center;display:flex}.love-card{gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;display:flex}.love-card__heading{font-size:var(--text-md);color:var(--color-heading);font-weight:500}.love-card__message{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);line-height:1.4}.love-card__signature{font-size:var(--text-sm);color:var(--rose-300);font-weight:700}[data-flow=hungry]{--accent:var(--sunflower-400)}[data-flow=lost]{--accent:#a8e6d3}[data-flow=sulking]{--accent:#c9b3f0}[data-flow=heartbroken]{--accent:var(--pomegranate-500)}[data-flow=affection]{--accent:var(--rose-300)}[data-flow=callMe]{--accent:var(--gold-400)}[data-flow=space]{--accent:var(--cream-200)}[data-flow=period]{--accent:#f7a8c4}.flows{gap:var(--space-3);flex-direction:column;display:flex}.flows__heading{font-size:var(--text-lg);color:var(--color-heading);font-weight:500}.flows__grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.flows__grid>li{display:flex}.flow-button{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:5.5rem;padding:var(--space-3) var(--space-2);font:inherit;font-size:var(--text-md);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;font-weight:700;line-height:1.25;display:flex}.flow-button:active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--plum-800))}@media (prefers-reduced-motion:no-preference){.flow-button{transition:transform var(--duration-fast) var(--ease-soft), background-color var(--duration-fast) var(--ease-soft), border-color var(--duration-fast) var(--ease-soft)}.flow-button:active{transform:scale(.96)}}.flow-button__icon{color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:grid}.flow-button__icon svg{width:1.75rem;height:1.75rem}.flow-button__label{overflow-wrap:anywhere}.screen--flow{padding-top:0}.top-bar{z-index:1;padding:calc(var(--safe-top) + var(--space-3)) 0 var(--space-3);background:linear-gradient(180deg, var(--color-bg) 70%, transparent);display:flex;position:sticky;top:0}.home-button{align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);font:inherit;color:var(--color-heading);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:700;display:inline-flex}.home-button:active{background:var(--plum-700)}.home-button__icon{width:1.25rem;height:1.25rem}
