.home-footer{border-top:1px solid var(--color-border);width:min(100% - 2rem,68rem);color:var(--color-muted);text-align:center;margin:0 auto;padding:2rem 0 3rem}.home-footer p{margin:0}.home-header{z-index:20;width:min(100% - 2rem,68rem);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffad;border:1px solid #ffffffc7;border-radius:999px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.home-header__logo{align-items:center;gap:.55rem;font-weight:900;text-decoration:none;display:inline-flex}.home-header__logo span{background:linear-gradient(135deg, var(--color-primary), var(--color-lilac));color:#fff;border-radius:999px;place-items:center;width:2rem;height:2rem;display:grid}.home-header__nav{gap:.35rem;display:flex}.home-header__nav a{color:var(--color-muted);border-radius:999px;padding:.55rem .8rem;font-size:.9rem;font-weight:800;text-decoration:none}.home-header__nav a:hover{color:var(--color-text);background:#ec48991a}@media (width<=560px){.home-header__nav{display:none}}.home-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;width:min(100% - 2rem,68rem);min-height:100vh;margin:0 auto;padding:8rem 0 5rem;display:grid;position:relative}.home-hero__content{z-index:2;position:relative}.home-hero__eyebrow{color:var(--color-primary);letter-spacing:.35em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem;font-weight:900}.home-hero__title{letter-spacing:-.08em;margin:0;font-size:clamp(3.3rem,8vw,6.8rem);line-height:.93}.home-hero__text{max-width:38rem;color:var(--color-muted);margin:1.5rem 0 0;font-size:clamp(1rem,2vw,1.22rem);line-height:1.75}.home-hero__actions{flex-wrap:wrap;gap:1rem;margin-top:2.4rem;display:flex}.home-hero__button{border-radius:999px;justify-content:center;align-items:center;min-height:3.15rem;padding:0 1.35rem;font-weight:900;text-decoration:none;display:inline-flex}.home-hero__button--primary{background:linear-gradient(135deg, var(--color-primary), var(--color-lilac));color:#fff;box-shadow:0 1rem 2.5rem #ec489938}.home-hero__button--secondary{border:1px solid var(--color-border);background:#ffffffa6}.home-hero__scene{min-height:30rem;box-shadow:var(--shadow-soft);background:#fff;border:1px solid #ffffffc7;border-radius:2.7rem;position:relative;overflow:hidden}.home-hero__sky{background:radial-gradient(circle at 28% 30%,#ffffffe6,#0000 4rem),linear-gradient(#f4d9ff,#ffe4f1);position:absolute;inset:0 0 35%}.home-hero__ground{background:linear-gradient(#dff5d8,#bfe8ba);height:38%;position:absolute;bottom:0;left:0;right:0}.home-hero__animal{border-radius:999px 999px 45% 45%;animation:2.7s ease-in-out infinite home-animal-bob;position:absolute;bottom:6rem}.home-hero__animal--red-panda{background:#d96548;border:.35rem solid #8f3f32;width:5.6rem;height:5.2rem;left:12%}.home-hero__animal--cat{background:#fff2fb;border:.35rem solid #cf9ee8;width:5rem;height:5.7rem;animation-delay:.25s;left:42%}.home-hero__animal--cow{background:radial-gradient(circle at 30% 45%,#8c5f46 0 18%,#0000 19%),radial-gradient(circle at 68% 35%,#8c5f46 0 15%,#0000 16%),#fff8ef;border:.35rem solid #c49a6c;width:6.2rem;height:5.2rem;animation-delay:.5s;right:12%}.home-hero__letter{background:#fffaf2;border-radius:1rem;place-items:center;width:4rem;height:3.2rem;animation:3s ease-in-out infinite home-letter-float;display:grid;position:absolute;top:5rem;left:50%;box-shadow:0 1rem 2rem #50284629}.home-hero__sparkle{color:var(--color-primary);opacity:.6;animation:4s ease-in-out infinite home-sparkle-float;position:absolute}.home-hero__sparkle--one{top:12rem;left:-1rem}.home-hero__sparkle--two{bottom:7rem;right:3rem}.home-hero__sparkle--three{top:8rem;right:34rem}@keyframes home-animal-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.75rem)}}@keyframes home-letter-float{0%,to{transform:translate(-50%)translateY(0)rotate(-5deg)}50%{transform:translate(-50%)translateY(-.9rem)rotate(5deg)}}@keyframes home-sparkle-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-.7rem)scale(1.2)}}@media (width<=900px){.home-hero{text-align:center;grid-template-columns:1fr}.home-hero__actions{justify-content:center}.home-hero__text{margin-left:auto;margin-right:auto}}.home-memory-card{border-radius:var(--radius-lg);min-height:21rem;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 100% 0,#c084fc38,#0000 12rem),#ffffffa3;border:1px solid #ffffffc7;padding:1.4rem}.home-memory-card__top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.home-memory-card__top span,.home-memory-card__top strong{border-radius:999px;padding:.45rem .7rem;font-size:.75rem;font-weight:900}.home-memory-card__top span{color:var(--color-primary-dark);background:#ec48991a}.home-memory-card__top strong{color:#7850a8;background:#c084fc29}.home-memory-card h3{letter-spacing:-.03em;margin:4rem 0 .75rem;font-size:1.55rem}.home-memory-card p{color:var(--color-muted);margin:0;line-height:1.65}.home-memory-card small{color:var(--color-primary-dark);margin-top:1rem;font-weight:800;line-height:1.5;display:block}.home-memory-card a{color:var(--color-primary-dark);margin-top:1.25rem;font-weight:900;text-decoration:none;display:inline-flex}.home-memory-card a:hover{text-decoration:underline}.home-memory-card__link--disabled{cursor:not-allowed;opacity:.55;pointer-events:none}.home-page{min-height:100vh;overflow:hidden}.home-page__memories{width:min(100% - 2rem,68rem);margin:0 auto;padding:4rem 0 7rem}.home-page__section-header{max-width:44rem;margin-bottom:2rem}.home-page__section-header p{color:var(--color-primary);letter-spacing:.32em;text-transform:uppercase;margin:0 0 .8rem;font-size:.78rem;font-weight:900}.home-page__section-header h2{letter-spacing:-.07em;margin:0;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.95}.home-page__memory-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=900px){.home-page__memory-grid{grid-template-columns:1fr}}.letter-modal{z-index:50;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.letter-modal__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#27141f59;border:0;position:absolute;inset:0}.letter-modal__card{z-index:1;background:#fffafc;border-radius:2rem;width:min(100%,34rem);padding:2rem;position:relative;box-shadow:0 2rem 6rem #27141f38}.letter-modal__close{position:absolute;top:1rem;right:1rem}.letter-modal p{color:var(--color-primary);letter-spacing:.28em;text-transform:uppercase;margin:0 0 .8rem;font-size:.75rem;font-weight:900}.letter-modal h2{margin:0;font-size:clamp(2rem,7vw,3.5rem);line-height:1}.letter-modal span{color:var(--color-muted);margin-top:1.2rem;line-height:1.8;display:block}.letter-modal__close{width:2.4rem;height:2.4rem;color:var(--color-primary-dark);cursor:pointer;background:#ec48991a;border:0;border-radius:999px;place-items:center;font-size:1.5rem;font-weight:900;display:grid}.letter-modal__button{background:linear-gradient(135deg, var(--color-primary), var(--color-lilac));color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:0 1.3rem;font-weight:900;display:inline-flex;box-shadow:0 1rem 2.5rem #ec489938}.letter-modal__button:hover{transform:translateY(-2px)}.game-canvas{background:#f7d9ff;width:100%;min-height:70vh}.game-canvas canvas{width:100%;display:block}.month-one-game-section{min-height:100vh;padding:2rem}.month-one-game-section__header{text-align:center;width:min(100%,76rem);margin:0 auto 1.5rem}.month-one-game-section__header p{color:var(--color-primary);letter-spacing:.32em;text-transform:uppercase;margin:0 0 .6rem;font-size:.78rem;font-weight:900}.month-one-game-section__header h1{letter-spacing:-.075em;margin:0;font-size:clamp(2.6rem,7vw,5.8rem);line-height:.95}.month-one-game-section__header span{color:var(--color-muted);margin-top:1rem;font-weight:700;display:block}.month-one-game-section__frame{width:min(100%,76rem);box-shadow:var(--shadow-soft);background:#ffffffa8;border:1px solid #ffffffc7;border-radius:2rem;margin:0 auto;overflow:hidden}.month-one-progress-panel{border-radius:var(--radius-lg);width:min(100% - 2rem,76rem);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #ffffffc7;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 auto 5rem;padding:1.5rem;display:flex}.month-one-progress-panel p{color:var(--color-primary);letter-spacing:.28em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:900}.month-one-progress-panel h2{letter-spacing:-.05em;margin:0 0 .8rem;font-size:clamp(1.8rem,4vw,2.6rem)}.month-one-progress-panel span{color:var(--color-muted);line-height:1.7;display:block}.month-one-progress-panel button{min-height:3rem;color:var(--color-primary-dark);cursor:pointer;background:#ec48991a;border:0;border-radius:999px;padding:0 1.2rem;font-weight:900}.reward-modal{z-index:50;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.reward-modal__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#27141f59;border:0;position:absolute;inset:0}.reward-modal__card{z-index:1;background:#fffafc;border-radius:2rem;width:min(100%,34rem);padding:2rem;position:relative;box-shadow:0 2rem 6rem #27141f38}.reward-modal__close{position:absolute;top:1rem;right:1rem}.reward-modal__icon{background:#ec48991a;border-radius:1.4rem;place-items:center;width:4rem;height:4rem;margin-bottom:1rem;font-size:2rem;display:grid}.reward-modal p{color:var(--color-primary);letter-spacing:.28em;text-transform:uppercase;margin:0 0 .8rem;font-size:.75rem;font-weight:900}.reward-modal h2{margin:0;font-size:clamp(2rem,7vw,3.5rem);line-height:1}.reward-modal span{color:var(--color-muted);margin-top:1.2rem;line-height:1.8;display:block}.reward-modal__close{width:2.4rem;height:2.4rem;color:var(--color-primary-dark);cursor:pointer;background:#ec48991a;border:0;border-radius:999px;place-items:center;font-size:1.5rem;font-weight:900;display:grid}.reward-modal__button{background:linear-gradient(135deg, var(--color-primary), var(--color-lilac));color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:0 1.3rem;font-weight:900;display:inline-flex;box-shadow:0 1rem 2.5rem #ec489938}.reward-modal__button:hover{transform:translateY(-2px)}.month-one-page{min-height:100vh;overflow-x:hidden}.not-found-content{flex-direction:column;justify-content:center;padding:3rem;display:flex}.not-found-content__code{color:var(--color-primary);letter-spacing:.35em;text-transform:uppercase;margin:0 0 1rem;font-size:.85rem;font-weight:900}.not-found-content__title{letter-spacing:-.075em;margin:0;font-size:clamp(3rem,7vw,5.8rem);line-height:.95}.not-found-content__text{max-width:32rem;color:var(--color-muted);margin:1.3rem 0 0;font-size:1.08rem;line-height:1.75}.not-found-content__button{background:linear-gradient(135deg, var(--color-primary), var(--color-lilac));color:#fff;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:3.15rem;margin-top:2rem;padding:0 1.35rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 1rem 2.5rem #ec489938}.not-found-content__button:hover{transform:translateY(-2px)}@media (width<=850px){.not-found-content{text-align:center;align-items:center;padding:2rem}}.not-found-scene{background:#fff;min-height:32rem;position:relative;overflow:hidden}.not-found-scene__sky{background:radial-gradient(circle at 30% 28%,#ffffffe6,#0000 4rem),linear-gradient(#f4d9ff,#ffe4f1);position:absolute;inset:0 0 35%}.not-found-scene__ground{background:radial-gradient(circle at 70% 25%,#ffffff80,#0000 4rem),linear-gradient(#e0f5d8,#bfe8ba);height:38%;position:absolute;bottom:0;left:0;right:0}.not-found-scene__lost-letter{width:4.2rem;height:3.1rem;color:var(--color-primary);background:#fffaf2;border-radius:.9rem;place-items:center;font-size:1.5rem;font-weight:900;animation:3s ease-in-out infinite not-found-scene-float;display:grid;position:absolute;top:4.5rem;left:50%;box-shadow:0 1rem 2rem #50284629}.not-found-scene__cat,.not-found-scene__cow{border-radius:999px 999px 45% 45%;animation:2.6s ease-in-out infinite not-found-scene-bob;position:absolute;bottom:6.5rem}.not-found-scene__cat{background:#fff2fb;border:.35rem solid #cf9ee8;width:5.2rem;height:5.7rem;left:18%}.not-found-scene__cat:before,.not-found-scene__cat:after{content:"";background:#fff2fb;border-top:.35rem solid #cf9ee8;width:1.6rem;height:1.6rem;position:absolute;top:-1.05rem;transform:rotate(45deg)}.not-found-scene__cat:before{left:.35rem}.not-found-scene__cat:after{right:.35rem}.not-found-scene__cow{background:radial-gradient(circle at 30% 45%,#8c5f46 0 18%,#0000 19%),radial-gradient(circle at 68% 35%,#8c5f46 0 15%,#0000 16%),#fff8ef;border:.35rem solid #c49a6c;width:6.2rem;height:5.2rem;animation-delay:.35s;right:18%}.not-found-scene__cow:before{content:"";background:#d6a66f;border-radius:999px 999px .4rem .4rem;width:4rem;height:1.4rem;position:absolute;top:-.7rem;left:50%;transform:translate(-50%)}@keyframes not-found-scene-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.7rem)}}@keyframes not-found-scene-float{0%,to{transform:translate(-50%)translateY(0)rotate(-5deg)}50%{transform:translate(-50%)translateY(-.8rem)rotate(5deg)}}.not-found-page{place-items:center;min-height:100vh;padding:7rem 1rem 3rem;display:grid;position:relative;overflow:hidden}.not-found-page__card{width:min(100%,68rem);min-height:32rem;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffa8;border:1px solid #ffffffc7;border-radius:2.75rem;grid-template-columns:.9fr 1.1fr;display:grid;overflow:hidden}.not-found-page__sparkle{color:var(--color-primary);opacity:.6;animation:4s ease-in-out infinite not-found-sparkle;position:absolute}.not-found-page__sparkle--one{top:18%;left:8%}.not-found-page__sparkle--two{bottom:20%;right:8%}.not-found-page__sparkle--three{top:14%;right:22%}@keyframes not-found-sparkle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-.8rem)scale(1.18)}}@media (width<=850px){.not-found-page__card{grid-template-columns:1fr}}.locked-page{place-items:center;min-height:100vh;padding:7rem 1rem 3rem;display:grid}.locked-page__card{text-align:center;width:min(100%,42rem);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 100% 0,#c084fc38,#0000 14rem),radial-gradient(circle at 0 100%,#ec489929,#0000 14rem),#ffffffad;border:1px solid #ffffffc7;border-radius:2.5rem;padding:2.5rem}.locked-page__eyebrow{color:var(--color-primary);letter-spacing:.35em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem;font-weight:900}.locked-page__title{letter-spacing:-.075em;margin:0;font-size:clamp(3rem,8vw,5.8rem);line-height:.95}.locked-page__text{max-width:30rem;color:var(--color-muted);margin:1.3rem auto 0;font-size:1.1rem;line-height:1.75}.locked-page__button{background:linear-gradient(135deg, var(--color-primary), var(--color-lilac));color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:3.15rem;margin-top:2rem;padding:0 1.35rem;font-weight:900;text-decoration:none;display:inline-flex}.app-layout{background:radial-gradient(circle at top left, #ffb7c580, transparent 32rem), radial-gradient(circle at top right, #c084fc52, transparent 34rem), radial-gradient(circle at bottom left, #f4c2ff4d, transparent 30rem), var(--color-background);min-height:100vh;color:var(--color-text)}:root{--color-background:#fff7fb;--color-surface:#fff;--color-text:#27141f;--color-muted:#7c6574;--color-primary:#ec4899;--color-primary-dark:#db2777;--color-purple:#a855f7;--color-lilac:#c084fc;--color-border:#27141f1f;--shadow-soft:0 1.5rem 4rem #59305221;--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:2rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}img,picture,svg,canvas{max-width:100%;display:block}a{color:inherit}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::selection{background:#ec489938}
