*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-sun: #FFD93D;--color-sky: #6EC6FF;--color-peach: #FF8A80;--color-mint: #80CBC4;--color-lilac: #B39DDB;--color-coral: #FF6E6E;--color-cream: #FFFDF7;--color-dark: #2D2B55;--color-text: #3A3660;--color-text-light: #6B6599;--font-display: "Fredoka", sans-serif;--font-body: "Nunito", sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-cream);color:var(--color-text);line-height:1.6;overflow-x:hidden}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes rainbow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffdf7e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 2rem;display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;box-shadow:0 2px 20px #2d2b5514}.nav a{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--color-text);text-decoration:none;padding:.4rem 1rem;border-radius:999px;transition:all .25s}.nav a:hover{background:var(--color-sky);color:#fff;transform:scale(1.05)}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 4rem;background:linear-gradient(170deg,#e8f5ff,#fff9e6 40%,#ffeef0);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,217,61,.3),transparent 70%);animation:float 6s ease-in-out infinite}.hero:after{content:"";position:absolute;bottom:-80px;left:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(110,198,255,.25),transparent 70%);animation:float 8s ease-in-out infinite reverse}.hero-emoji{font-size:5rem;margin-bottom:1rem;animation:wiggle 2s ease-in-out infinite;display:inline-block}.hero h1{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;color:var(--color-dark);line-height:1.15;margin-bottom:1rem;position:relative}.hero h1 .highlight{background:linear-gradient(135deg,var(--color-sky),var(--color-lilac),var(--color-peach));background-size:200% 200%;animation:rainbow 4s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1rem,2.5vw,1.35rem);color:var(--color-text-light);max-width:500px;margin-bottom:2rem}.hero-cta{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:#fff;background:linear-gradient(135deg,var(--color-sky),var(--color-lilac));padding:.9rem 2.5rem;border-radius:999px;text-decoration:none;box-shadow:0 6px 24px #6ec6ff59;transition:all .3s}.hero-cta:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 30px #6ec6ff73}.section{padding:5rem 2rem;max-width:1000px;margin:0 auto}.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;color:var(--color-dark);text-align:center;margin-bottom:.5rem}.section-subtitle{text-align:center;color:var(--color-text-light);font-size:1.05rem;margin-bottom:3rem;max-width:550px;margin-left:auto;margin-right:auto}.section-icon{text-align:center;font-size:2.5rem;margin-bottom:.5rem}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.tip-card{background:#fff;border-radius:1.25rem;padding:2rem 1.5rem;text-align:center;box-shadow:0 4px 20px #2d2b550f;border:2px solid transparent;transition:all .3s;animation:fadeInUp .6s ease-out both;cursor:default}.tip-card:nth-child(1){animation-delay:.05s}.tip-card:nth-child(2){animation-delay:.1s}.tip-card:nth-child(3){animation-delay:.15s}.tip-card:nth-child(4){animation-delay:.2s}.tip-card:nth-child(5){animation-delay:.25s}.tip-card:nth-child(6){animation-delay:.3s}.tip-card:hover{transform:translateY(-6px);border-color:var(--color-sky);box-shadow:0 12px 32px #6ec6ff26}.tip-card .card-emoji{font-size:3rem;margin-bottom:.75rem;display:inline-block;transition:transform .3s}.tip-card:hover .card-emoji{transform:scale(1.2) rotate(5deg)}.tip-card h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--color-dark);margin-bottom:.5rem}.tip-card p{color:var(--color-text-light);font-size:.95rem}.affirmations-wrapper{background:linear-gradient(135deg,#e8f5ff,#f3e5f5,#fff3e0);border-radius:2rem;padding:3rem 2rem;margin-top:1rem}.affirmations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.affirmation-bubble{background:#fff;border-radius:1.5rem;padding:1.5rem;font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--color-dark);text-align:center;box-shadow:0 4px 16px #2d2b5512;transition:all .3s;position:relative;overflow:hidden}.affirmation-bubble:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:1.5rem 1.5rem 0 0}.affirmation-bubble:nth-child(1):before{background:var(--color-sun)}.affirmation-bubble:nth-child(2):before{background:var(--color-sky)}.affirmation-bubble:nth-child(3):before{background:var(--color-peach)}.affirmation-bubble:nth-child(4):before{background:var(--color-mint)}.affirmation-bubble:nth-child(5):before{background:var(--color-lilac)}.affirmation-bubble:nth-child(6):before{background:var(--color-coral)}.affirmation-bubble:hover{transform:scale(1.05) rotate(-1deg);box-shadow:0 8px 24px #2d2b551f}.stories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.story-card{background:#fff;border-radius:1.25rem;overflow:hidden;box-shadow:0 4px 20px #2d2b550f;transition:all .3s}.story-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #2d2b551a}.story-header{padding:1.5rem 1.5rem .75rem;display:flex;align-items:center;gap:1rem}.story-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0}.story-card:nth-child(1) .story-avatar{background:#fff3e0}.story-card:nth-child(2) .story-avatar{background:#e8f5e9}.story-card:nth-child(3) .story-avatar{background:#e3f2fd}.story-name{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--color-dark)}.story-role{font-size:.85rem;color:var(--color-text-light)}.story-body{padding:0 1.5rem 1.5rem;color:var(--color-text-light);font-size:.95rem}.activity-card{background:#fff;border-radius:1.5rem;padding:2.5rem;box-shadow:0 4px 20px #2d2b550f;max-width:600px;margin:0 auto}.activity-card h3{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--color-dark);margin-bottom:1rem;text-align:center}.activity-steps{list-style:none;counter-reset:steps}.activity-steps li{counter-increment:steps;display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0;border-bottom:1px dashed rgba(45,43,85,.08);font-size:1rem;color:var(--color-text)}.activity-steps li:last-child{border-bottom:none}.step-number{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-sun),var(--color-peach));color:#fff;font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem}.idea-box{background:#fff;border-radius:1.5rem;padding:2rem;margin-bottom:1.5rem;min-height:100px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #2d2b5514;border:3px dashed var(--color-lilac)}.idea-text{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--color-dark);text-align:center;animation:pop .4s ease-out}.idea-placeholder{color:var(--color-text-light);font-size:1.05rem;font-style:italic}.completed-count{margin-top:1rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--color-text-light)}.meter-wrapper{max-width:500px;margin:0 auto;text-align:center}.meter-bar-bg{width:100%;height:28px;background:#ede7f6;border-radius:999px;overflow:hidden;margin:1.5rem 0;position:relative}.meter-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--color-sky),var(--color-lilac),var(--color-peach));background-size:200% 100%;animation:rainbow 3s ease infinite;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.meter-label{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--color-dark)}.meter-controls{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.btn{font-family:var(--font-display);font-weight:600;font-size:1rem;border:none;border-radius:999px;padding:.6rem 1.5rem;cursor:pointer;transition:all .25s}.btn-primary{background:linear-gradient(135deg,var(--color-sky),var(--color-lilac));color:#fff;box-shadow:0 4px 16px #6ec6ff4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6ec6ff66}.btn-secondary{background:#f3e5f5;color:var(--color-dark)}.btn-secondary:hover{background:#e1bee7;transform:translateY(-2px)}.pledge-wrapper{background:linear-gradient(135deg,var(--color-dark),#3F3D7B);border-radius:2rem;padding:3rem 2rem;text-align:center;color:#fff}.pledge-wrapper h2{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700;margin-bottom:1rem}.pledge-text{font-size:1.1rem;line-height:1.8;max-width:550px;margin:0 auto 1.5rem;opacity:.9}.pledge-text strong{color:var(--color-sun)}.pledge-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--color-dark);background:var(--color-sun);border:none;padding:.9rem 2.5rem;border-radius:999px;cursor:pointer;box-shadow:0 6px 24px #ffd93d59;transition:all .3s}.pledge-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 30px #ffd93d73}.pledge-btn.taken{background:var(--color-mint);box-shadow:0 6px 24px #80cbc459}.footer{text-align:center;padding:3rem 2rem;color:var(--color-text-light);font-size:.9rem}.footer-hearts{font-size:1.5rem;margin-bottom:.5rem}@media(max-width:600px){.nav{padding:.5rem 1rem;gap:.25rem}.nav a{font-size:.8rem;padding:.3rem .7rem}.section{padding:3rem 1.25rem}.hero{padding:5rem 1.25rem 3rem}}
