:root{--bg-start:#eef6ff;--bg-mid:#e3f0ff;--bg-end:#dde8ff;--text:#2a3548;--muted:#6b7f9a;--accent:#4a90d9;--sans:"Segoe UI", system-ui, sans-serif;--display:Georgia, "Times New Roman", serif;font-family:var(--sans);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:linear-gradient(145deg, var(--bg-start) 0%, var(--bg-mid) 45%, var(--bg-end) 100%);background-attachment:fixed;min-width:320px;min-height:100svh;margin:0}#root{min-height:100svh}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.floating-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.floating-bg__glow{filter:blur(80px);opacity:.55;border-radius:50%;width:55vw;height:55vw;animation:8s ease-in-out infinite pulse-glow;position:absolute}.floating-bg__glow--left{background:radial-gradient(circle,#b8d4f8 0%,#0000 70%);top:-10%;left:-15%}.floating-bg__glow--right{background:radial-gradient(circle,#c5d8f5 0%,#0000 70%);animation-delay:-4s;bottom:-15%;right:-10%}.floating-bg__glow--center{opacity:.35;background:radial-gradient(circle,#dde8ff 0%,#0000 70%);width:40vw;height:40vw;animation-delay:-2s;top:20%;left:30%}.floating-bg__stars{position:absolute;inset:0}.floating-bg__star{left:var(--left);top:var(--top);width:var(--size);height:var(--size);box-shadow:0 0 calc(var(--size) * 2) #b8d4f8;opacity:var(--opacity);animation:star-twinkle var(--duration) ease-in-out infinite var(--delay);background:#a8c8f0;border-radius:50%;position:absolute}.float-item{left:var(--left);top:var(--top);width:var(--size);height:var(--size);opacity:var(--opacity);animation:drift var(--duration) linear infinite var(--delay), sway calc(var(--duration) * .4) ease-in-out infinite var(--delay), spin calc(var(--duration) * .6) ease-in-out infinite var(--delay);position:absolute}.float-item svg{filter:drop-shadow(0 2px 6px #4a90d940);width:100%;height:100%;display:block}.float-item--star svg{filter:drop-shadow(0 0 6px #7eb8e873)}.float-item--sparkle svg{filter:drop-shadow(0 0 4px #4a90d959)}@keyframes drift{0%{transform:translateY(110vh)rotate(0)}to{transform:translate(var(--drift), -20vh) rotate(var(--spin))}}@keyframes sway{0%,to{margin-left:0}50%{margin-left:24px}}@keyframes spin{0%,to{rotate:-8deg}50%{rotate:8deg}}@keyframes pulse-glow{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.65;transform:scale(1.08)}}@keyframes star-twinkle{0%,to{opacity:calc(var(--opacity) * .4);transform:scale(.8)}50%{opacity:var(--opacity);transform:scale(1.2)}}body.custom-cursor,body.custom-cursor *{cursor:none!important}.cute-cursor{pointer-events:none;z-index:9999;position:fixed;inset:0}.cute-cursor__heart,.cute-cursor__trail{will-change:transform;position:fixed;top:0;left:0}.cute-cursor__heart{color:#4a90d9;filter:drop-shadow(0 2px 8px #4a90d973);width:28px;height:28px;margin:-14px 0 0 -14px}.cute-cursor__heart svg{width:100%;height:100%;animation:2s ease-in-out infinite cursor-wiggle;display:block}.cute-cursor__trail{color:#7eb8e8;opacity:.7;margin:-6px 0 0 -6px;font-size:12px}.cute-cursor__trail span{animation:1.6s ease-in-out infinite cursor-twinkle;display:block}@keyframes cursor-wiggle{0%,to{rotate:-6deg}50%{rotate:6deg}}@keyframes cursor-twinkle{0%,to{opacity:.4;scale:.85}50%{opacity:1;scale:1.1}}.moon-phase-cycle{z-index:0;pointer-events:none;opacity:.9;position:fixed;top:1.1rem;right:1.35rem}.moon-phase-cycle__glow{filter:blur(10px);background:radial-gradient(circle,#fffcf86b 0%,#eef6ff33 38%,#0000 68%);border-radius:50%;animation:5s ease-in-out infinite moon-glow-pulse;position:absolute;inset:-44px}.moon-phase-cycle__halo{background:radial-gradient(circle,#dde8ff59 0%,#eef6ff1f 45%,#0000 75%);border-radius:50%;animation:5s ease-in-out infinite moon-halo-pulse;position:absolute;inset:-36px}.moon-phase-cycle__track{filter:drop-shadow(0 0 18px #ffffff59);width:88px;height:88px;animation:8s ease-in-out infinite alternate moon-float;position:relative;-webkit-mask-image:radial-gradient(circle,#000 52%,#0000 76%);mask-image:radial-gradient(circle,#000 52%,#0000 76%)}.moon-phase-cycle__moon{width:100%;height:100%;display:block;overflow:visible}@keyframes moon-float{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes moon-glow-pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes moon-halo-pulse{0%,to{opacity:.7}50%{opacity:.95}}@media (width<=600px){.moon-phase-cycle{opacity:.85;top:.75rem;right:.9rem}.moon-phase-cycle__track{width:70px;height:70px}.moon-phase-cycle__glow{inset:-32px}.moon-phase-cycle__halo{inset:-24px}}@media (prefers-reduced-motion:reduce){.moon-phase-cycle__track,.moon-phase-cycle__glow,.moon-phase-cycle__halo{animation:none}}.letter-viewer{z-index:200;cursor:pointer;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.letter-viewer__overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#2a354866;animation:.35s both overlay-in;position:absolute;inset:0}.letter-viewer__cluster{z-index:1;cursor:default;perspective:1200px;width:min(88vw,300px);height:190px;transition:width 1.15s cubic-bezier(.22,1,.36,1),height 1.15s cubic-bezier(.22,1,.36,1);position:relative}.letter-viewer__cluster--expand,.letter-viewer__cluster--full{width:min(92vw,595px);height:min(88vh,842px,130.114vw)}.letter-viewer__envelope{transform-style:preserve-3d;z-index:3;pointer-events:none;transition:opacity .6s .15s;position:absolute;inset:0}.letter-viewer__cluster--expand .letter-viewer__envelope,.letter-viewer__cluster--full .letter-viewer__envelope{opacity:0}.letter-viewer__envelope-back{background:linear-gradient(160deg,#d9ebfa 0%,#c5dff5 100%);border:2px solid #7eb8e8;border-radius:6px;position:absolute;inset:0}.letter-viewer__envelope-front{clip-path:polygon(0 0,50% 45%,100% 0,100% 100%,0 100%);z-index:2;background:linear-gradient(#b8d4f8 0%,#a8c8f0 100%);border:2px solid #7eb8e8;border-top:none;border-radius:0 0 6px 6px;height:65%;transition:opacity .4s;position:absolute;bottom:0;left:0;right:0}.letter-viewer__envelope-front--slide,.letter-viewer__envelope-front--expand,.letter-viewer__envelope-front--full{opacity:0}.letter-viewer__flap{clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top;z-index:4;backface-visibility:hidden;background:linear-gradient(#a8c8f0 0%,#7eb8e8 100%);border:2px solid #5b9fd4;border-bottom:none;height:105px;transition:transform .7s cubic-bezier(.33,1,.38,1);position:absolute;top:0;left:-2px;right:-2px;transform:rotateX(0)}.letter-viewer__flap--flap,.letter-viewer__flap--slide,.letter-viewer__flap--expand,.letter-viewer__flap--full{transform:rotateX(180deg)}.letter-viewer__sheet{z-index:1;transform-origin:bottom;background:#fffef8;border:1px solid #7eb8e866;border-radius:2px;width:78%;height:108px;transition:width 1.15s cubic-bezier(.22,1,.36,1),height 1.15s cubic-bezier(.22,1,.36,1),bottom 1.15s cubic-bezier(.22,1,.36,1),left 1.15s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1),box-shadow .8s,border-radius .6s;position:absolute;bottom:14px;left:50%;overflow:hidden;transform:translate(-50%)translateY(0);box-shadow:0 4px 16px #4a90d924}.letter-viewer__sheet--slide{z-index:2;transform:translate(-50%)translateY(-48px);box-shadow:0 12px 32px #4a90d933}.letter-viewer__sheet--expand,.letter-viewer__sheet--full{z-index:5;border-radius:3px;width:100%;height:100%;bottom:0;left:0;transform:none;box-shadow:0 4px 24px #4a90d926,0 20px 56px #2a354829}.letter-viewer__sheet-inner{opacity:0;height:100%;padding:.75rem 1rem;transition:opacity .55s .45s;overflow-y:auto}.letter-viewer__sheet--expand .letter-viewer__sheet-inner,.letter-viewer__sheet--full .letter-viewer__sheet-inner{opacity:1;padding:clamp(1.75rem,4vw,3.5rem) clamp(1.5rem,5vw,3.5rem)}.letter-viewer__header{border-bottom:1px solid #7eb8e840;margin-bottom:1.5rem;padding-bottom:1rem}.letter-viewer__date{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.78rem;font-family:var(--sans);margin:0 0 .35rem}.letter-viewer__title{font-family:var(--display);color:var(--text);margin:0;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:400;line-height:1.25}.letter-viewer__body p{font-family:var(--display);color:#3d4a5c;margin:0 0 1rem;font-size:clamp(.95rem,1.6vw,1.05rem);line-height:1.75}.letter-viewer__body p:last-child{margin-bottom:0}@media (width<=600px){.letter-viewer__cluster--expand,.letter-viewer__cluster--full{width:96vw;height:min(90vh,135.771vw)}.letter-viewer__sheet--expand .letter-viewer__sheet-inner,.letter-viewer__sheet--full .letter-viewer__sheet-inner{padding:1.75rem 1.35rem}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.letter-viewer__cluster,.letter-viewer__sheet,.letter-viewer__flap,.letter-viewer__envelope,.letter-viewer__sheet-inner,.letter-viewer__envelope-front{transition-duration:.01ms!important}}.panel--memories{max-width:min(92vw,40rem);max-height:min(88vh,640px)}.memories-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.memory-card{cursor:pointer;width:100%;transform:rotate(var(--tilt,0deg));background:#fff;border:none;border-radius:4px;padding:.45rem .45rem 1.25rem;transition:transform .25s,box-shadow .25s;animation:.5s cubic-bezier(.22,1,.36,1) both memory-in;display:block;box-shadow:0 2px 8px #4a90d91f,0 8px 20px #2a354814}.memory-card:hover{z-index:1;transform:rotate(0)scale(1.04);box-shadow:0 12px 28px #4a90d933}.memory-card img{aspect-ratio:4/5;object-fit:cover;background:#eef6ff;border-radius:2px;width:100%;display:block}.memory-lightbox{z-index:300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#2a35488c;justify-content:center;align-items:center;padding:1.5rem;animation:.3s both overlay-in;display:flex;position:fixed;inset:0}.memory-lightbox__polaroid{max-width:min(92vw,400px);transform:rotate(var(--tilt,-2deg));cursor:default;background:#fefefe;border-radius:3px;margin:0;padding:.85rem .85rem 2.75rem;animation:.45s cubic-bezier(.22,1,.36,1) both polaroid-in;box-shadow:0 1px 3px #00000014,0 12px 28px #2a354838,0 28px 64px #0000002e}.memory-lightbox__photo{object-fit:contain;background:#f4f4f2;width:100%;max-height:min(62vh,480px);display:block}.memory-lightbox__caption{text-align:center;font-family:var(--display);color:#b8cce0;letter-spacing:.2em;margin:.85rem 0 0;font-size:1.1rem}@keyframes polaroid-in{0%{opacity:0;transform:rotate(var(--tilt,-2deg)) translateY(24px) scale(.88)}to{opacity:1;transform:rotate(var(--tilt,-2deg)) translateY(0) scale(1)}}@keyframes memory-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.memories-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.memory-card{padding:.35rem .35rem 1rem}}.panel.panel--quiz{flex:none;width:min(94vw,36rem);max-width:min(94vw,36rem);min-height:32rem;max-height:min(92vh,720px);padding:2.25rem 2.25rem 2rem;transition:opacity .35s;position:relative;overflow:visible}.pop-quiz__shell{align-items:center;gap:.85rem;max-width:min(96vw,52rem);display:flex;overflow:visible}.panel.panel--quiz-dimmed{opacity:.72}.pop-quiz__progress{text-align:center;margin-bottom:1rem}.pop-quiz__progress-label{color:var(--muted);letter-spacing:.06em;font-size:.8rem;display:block}.pop-quiz__progress-dots{justify-content:center;gap:.35rem;margin:.5rem 0;display:flex}.pop-quiz__dot{background:#7eb8e859;border-radius:50%;width:.45rem;height:.45rem;transition:background .3s,transform .3s}.pop-quiz__dot--current{background:var(--accent);transform:scale(1.35)}.pop-quiz__dot--done{background:#7eb8e8}.pop-quiz__stats{color:var(--accent);opacity:.85;font-size:.72rem;display:block}.pop-quiz__round-notice{text-align:center;color:var(--text);background:#b8d4f866;border-radius:.65rem;margin:0 0 .75rem;padding:.5rem .75rem;font-size:.85rem;animation:.4s both fade-up}.pop-quiz__complete{z-index:20;flex:none;width:min(17rem,78vw);animation:.55s cubic-bezier(.22,1,.36,1) both pop-quiz-dialogue-in;position:relative}.pop-quiz__complete-card{text-align:center;background:#fffffff5;border:1px solid #7eb8e88c;border-radius:1.1rem;width:100%;padding:1.75rem 1.5rem 1.5rem;position:relative;box-shadow:0 16px 40px #4a90d933}.pop-quiz__complete-card:before{content:"";background:#fffffff5;border-bottom:1px solid #7eb8e88c;border-left:1px solid #7eb8e88c;width:.85rem;height:.85rem;position:absolute;top:50%;left:-.55rem;transform:translateY(-50%)rotate(45deg);box-shadow:-4px 4px 12px #4a90d914}.pop-quiz__complete-heart{color:#4a90d9;filter:drop-shadow(0 4px 12px #4a90d959);margin-bottom:.75rem;font-size:2.5rem;line-height:1;animation:1.4s ease-in-out infinite pop-quiz-heart-pulse;display:block}.pop-quiz__complete-text{font-family:var(--display);color:var(--text);margin:0 0 1.25rem;font-size:1.35rem;line-height:1.45}.pop-quiz__complete-btn{color:var(--text);cursor:pointer;background:#b8d4f873;border:1px solid #7eb8e88c;border-radius:999px;padding:.65rem 1.25rem;font-family:inherit;font-size:.9rem;transition:background .2s,transform .2s,box-shadow .2s}.pop-quiz__complete-btn:hover{background:#b8d4f8b3;transform:translateY(-1px);box-shadow:0 6px 16px #4a90d92e}@keyframes pop-quiz-heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes pop-quiz-dialogue-in{0%{opacity:0;transform:translate(2.5rem)}to{opacity:1;transform:translate(0)}}.pop-quiz__stage{min-height:19rem;transition:opacity .35s,transform .35s}.pop-quiz__stage--out{opacity:.45;pointer-events:none;transform:translateY(6px)}.pop-quiz__badge{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.75rem}.pop-quiz__question{flex-direction:column;min-height:18rem;margin-top:.5rem;display:flex;position:relative}.pop-quiz__success-slot{min-height:4.25rem;margin-top:auto;padding-top:.75rem}.pop-quiz__prompt{font-family:var(--display);color:var(--text);margin:0 0 1.25rem;font-size:1.25rem;line-height:1.5}.pop-quiz__options{flex-direction:column;gap:.75rem;display:flex}.pop-quiz__option{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#eef6ffbf;border:1px solid #7eb8e873;border-radius:.85rem;padding:.85rem 1.1rem;font-family:inherit;font-size:1rem;transition:background .25s,border-color .25s,box-shadow .25s,transform .2s,color .25s;position:relative}.pop-quiz__option:hover:not(:disabled):not(.pop-quiz__option--correct){background:#fff;transform:translate(4px);box-shadow:0 4px 14px #4a90d924}.pop-quiz__option:disabled:not(.pop-quiz__option--correct){opacity:.55;cursor:default}.pop-quiz__option--correct{cursor:default;transform:scale(1.02);color:#1a5c3a!important;opacity:1!important;background:#86e0aa8c!important;border-color:#4caf7a!important;box-shadow:0 0 0 2px #4caf7a40,0 6px 20px #4caf7a47!important}.pop-quiz__option--locked{pointer-events:none;cursor:default}.pop-quiz__question--tf{overflow:visible}.pop-quiz__tf-zone{min-height:8rem;margin:0 -3rem;position:relative;overflow:visible}.pop-quiz__option--runaway{pointer-events:none;-webkit-user-select:none;user-select:none;cursor:default;text-align:center;z-index:5;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;width:auto;min-width:5.5rem;padding:.75rem 1rem;transition:transform .12s ease-out;display:inline-flex;position:absolute;top:72%;left:50%}.pop-quiz__option--runaway:hover{pointer-events:none}.pop-quiz__option--runaway-touch{transition:none}.panel-overlay--quiz{cursor:default}.pop-quiz__tf-arena{justify-content:center;align-items:center;min-height:4rem;padding:.5rem;display:flex;position:relative;overflow:visible}.pop-quiz__option--true{text-align:center;min-width:6.5rem;padding:.85rem 1.5rem}.pop-quiz__option--morphing{border-color:var(--accent);color:var(--accent);background:#b8d4f880}.pop-quiz__success{font-family:var(--display);color:var(--text);text-align:center;background:#b8d4f859;border:1px solid #7eb8e866;border-radius:.85rem;margin:0;padding:.85rem 1rem;font-size:1rem;line-height:1.5;animation:.5s cubic-bezier(.22,1,.36,1) both fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.pop-quiz__shell{flex-direction:column;align-items:stretch;gap:.75rem}.panel.panel--quiz{width:min(94vw,36rem);min-height:30rem}.pop-quiz__complete{width:min(94vw,36rem);animation-name:pop-quiz-dialogue-in-mobile}.pop-quiz__complete-card:before{top:-.45rem;left:50%;transform:translate(-50%)rotate(135deg)}}@keyframes pop-quiz-dialogue-in-mobile{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pop-quiz__complete{animation-duration:.01ms}.pop-quiz__stage{transition-duration:.01ms}}.bottom-sections{grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;max-width:42rem;margin-top:2.5rem;animation:.9s cubic-bezier(.22,1,.36,1) .8s both fade-up;display:grid}.section-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;color:inherit;text-align:center;background:#ffffff80;border:1px solid #ffffffd9;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .75rem 1rem;font-family:inherit;transition:transform .25s,box-shadow .25s,background .25s;display:flex;box-shadow:0 4px 20px #4a90d91a}.section-card:hover{background:#ffffffb8;transform:translateY(-4px);box-shadow:0 8px 28px #4a90d92e}.section-card:active{transform:translateY(-1px)}.section-card__icon{width:4.5rem;height:3.5rem}.section-card__label{font-family:var(--display);color:var(--text);font-size:1.1rem}.section-card__desc{color:var(--muted);font-size:.75rem;line-height:1.3}.panel-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2a354840;justify-content:center;align-items:center;padding:1.5rem;animation:.35s both overlay-in;display:flex;position:fixed;inset:0}.panel{background:#ffffffeb;border:1px solid #fffffff2;border-radius:1.5rem;width:100%;max-width:28rem;max-height:min(85vh,520px);padding:2rem 1.75rem 1.75rem;animation:.45s cubic-bezier(.22,1,.36,1) both panel-in;position:relative;overflow-y:auto;box-shadow:0 16px 48px #4a90d933}.panel--placeholder{text-align:center;max-width:22rem}.panel__close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:#4a90d91a;border:none;border-radius:50%;font-size:.85rem;transition:background .2s;position:absolute;top:1rem;right:1rem}.panel__close:hover{color:var(--text);background:#4a90d933}.panel__title{font-family:var(--display);color:var(--text);margin:0;font-size:1.6rem}.panel__subtitle{color:var(--muted);margin:.5rem 0 1.5rem;font-size:.95rem}.panel__coming-soon{color:var(--accent);margin:0 0 .75rem;font-size:1.5rem;animation:2s ease-in-out infinite twinkle}.letter-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.letter-list__item{cursor:pointer;text-align:left;width:100%;color:inherit;background:#eef6ff99;border:1px solid #7eb8e859;border-radius:1rem;align-items:center;gap:1rem;padding:.85rem 1rem;font-family:inherit;transition:transform .2s,box-shadow .2s,background .2s;animation:.5s cubic-bezier(.22,1,.36,1) both fade-up;display:flex}.letter-list__item:hover{background:#ffffffe6;transform:translate(4px);box-shadow:0 4px 16px #4a90d91f}.letter-list__envelope{flex-shrink:0;width:2.5rem;height:1.75rem;position:relative}.letter-list__body{background:#d9ebfa;border:1.5px solid #7eb8e8;border-radius:3px;position:absolute;inset:0}.letter-list__flap{clip-path:polygon(0 0,50% 100%,100% 0);background:#b8d4f8;border-top:1.5px solid #7eb8e8;height:.9rem;position:absolute;top:0;left:0;right:0}.letter-list__text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.letter-list__title{font-family:var(--display);color:var(--text);font-size:1rem}.letter-list__preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.letter-list__date{color:var(--accent);opacity:.8;font-size:.72rem}@keyframes panel-in{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.bottom-sections{grid-template-columns:1fr;gap:.75rem;margin-top:2rem}.section-card{text-align:left;flex-direction:row;gap:1rem;padding:1rem 1.25rem}.section-card__icon{flex-shrink:0;width:3.5rem;height:2.75rem}.section-card__desc{font-size:.8rem}}.password-gate{z-index:10000;background:0 0;justify-content:center;align-items:center;padding:2rem;transition:opacity 4.5s cubic-bezier(.33,0,.2,1);display:flex;position:fixed;inset:0}.password-gate--unlocking{opacity:0;pointer-events:none}.password-gate__form{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:16rem;display:flex}.password-gate__label{letter-spacing:.06em;color:#666;text-transform:lowercase;font-family:system-ui,sans-serif;font-size:.9rem;font-weight:400}.password-gate__input{color:#aaa;text-align:center;caret-color:#666;background:0 0;border:none;border-bottom:1px solid #333;border-radius:0;outline:none;width:100%;padding:.6rem 0;font-family:system-ui,sans-serif;font-size:.95rem}.password-gate__input:focus{color:#ccc;border-bottom-color:#555}.password-gate--error .password-gate__input{border-bottom-color:#422;animation:.4s gate-shake}@keyframes gate-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.password-gate{transition-duration:.01ms}}.app-site--hidden{opacity:0;pointer-events:none}.app-site--revealing{opacity:1;transition:opacity 4.5s cubic-bezier(.33,0,.2,1) .5s}.site-veil{z-index:9999;pointer-events:none;opacity:1;background:#000;transition:opacity 4.5s cubic-bezier(.33,0,.2,1);position:fixed;inset:0}.site-veil--out{opacity:0}.site-veil--gone{visibility:hidden}.page{z-index:1;justify-content:center;align-items:center;min-height:100svh;padding:2rem 2rem 3rem;display:flex;position:relative}.page__content{flex-direction:column;align-items:center;width:100%;max-width:42rem;display:flex}.hero-card{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #fffc;border-radius:2rem;width:100%;max-width:36rem;padding:3rem 2.5rem 2.75rem;animation:1.2s cubic-bezier(.22,1,.36,1) both card-enter;position:relative;box-shadow:0 8px 32px #4a90d924,inset 0 1px #ffffffe6}.hero-card__sparkles{pointer-events:none;position:absolute;inset:0}.hero-card__sparkles span{color:var(--accent);opacity:.6;font-size:1rem;animation:3s ease-in-out infinite twinkle;position:absolute}.hero-card__sparkles span:first-child{animation-delay:0s;top:12%;left:10%}.hero-card__sparkles span:nth-child(2){animation-delay:1s;top:18%;right:12%}.hero-card__sparkles span:nth-child(3){animation-delay:2s;bottom:14%;left:14%}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.82rem;animation:.9s cubic-bezier(.22,1,.36,1) .2s both fade-up}.title{font-family:var(--display);flex-flow:wrap;justify-content:center;align-items:baseline;gap:.35em;margin:0;font-size:clamp(1.9rem,5.5vw,2.75rem);font-weight:400;line-height:1.2;animation:.9s cubic-bezier(.22,1,.36,1) .35s both fade-up;display:flex}.title-line--prefix{color:var(--text)}.title-line{color:var(--text);display:inline}.title-line--accent{background:linear-gradient(135deg,#4a90d9 0%,#7eb8e8 50%,#5b9fd4 100%) 0 0/200%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite shimmer}.subtitle{max-width:24rem;color:var(--muted);margin:1.25rem auto 0;font-size:1.08rem;line-height:1.65;animation:.9s cubic-bezier(.22,1,.36,1) .5s both fade-up}.heart-row{color:var(--accent);justify-content:center;gap:.6rem;margin-top:2rem;font-size:1.1rem;animation:.9s cubic-bezier(.22,1,.36,1) .65s both fade-up;display:flex}.heart-beat{animation:1.4s ease-in-out infinite heartbeat;display:inline-block}.heart-beat--delay{opacity:.75;font-size:.85rem;animation-delay:.2s}.heart-beat--delay-2{opacity:.55;font-size:.7rem;animation-delay:.4s}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.9)rotate(0)}50%{opacity:.9;transform:scale(1.15)rotate(12deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}@media (width<=480px){.hero-card{border-radius:1.5rem;padding:2.25rem 1.5rem 2rem}}
