.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;overflow:hidden;background:linear-gradient(160deg,#ffe0f0,#fff9c4,#c8f7dc 70%,#b8e0ff)}.hero__blobs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.blob{position:absolute;border-radius:50%;filter:blur(2px);animation:float 8s ease-in-out infinite}.blob--1{width:180px;height:180px;background:#ff6b9d;top:10%;left:8%;opacity:.5;animation-delay:0s}.blob--2{width:120px;height:120px;background:#ffd93d;top:20%;right:12%;opacity:.6;animation-delay:-2s}.blob--3{width:200px;height:200px;background:#6bcb77;bottom:15%;left:15%;opacity:.4;animation-delay:-4s}.blob--4{width:140px;height:140px;background:#4d96ff;bottom:20%;right:10%;opacity:.5;animation-delay:-1s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.hero__content{position:relative;z-index:1;text-align:center}.hero__eyebrow{font-size:1rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#7b5ea7;margin-bottom:1.5rem}.hero__question{font-size:clamp(2.5rem,8vw,5rem);font-weight:700;line-height:1.1;color:#2d1b4e;text-shadow:3px 3px 0 #ffd93d,6px 6px 0 rgba(255,107,157,.4);max-width:14ch;margin:0 auto}.hero__answer{margin-top:2rem;font-size:clamp(12rem,30vw,21rem);font-weight:600;color:#ff4757;opacity:0;transform:translateY(12px) scale(.9);transition:opacity .6s ease,transform .6s cubic-bezier(.34,1.56,.64,1)}.hero__answer--visible{opacity:1;transform:translateY(0) scale(1)}.hero__scroll-hint{position:absolute;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:.85rem;font-weight:500;color:#7b5ea7;letter-spacing:.1em;text-transform:uppercase;animation:bounce 2s ease-in-out infinite}.hero__scroll-arrow{font-size:1.5rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.month-card{background:#fff;border-radius:20px;padding:1.25rem;box-shadow:0 8px 24px #2d1b4e14;border:3px solid var(--month-accent);transition:transform .2s ease}.month-card:hover{transform:translateY(-4px)}.month-card__title{font-size:1.25rem;font-weight:700;color:var(--month-accent);text-align:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px dashed var(--month-accent);opacity:.9}.month-card__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.month-card__weekday{text-align:center;font-size:.65rem;font-weight:600;color:#7b5ea7;text-transform:uppercase}.month-card__days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.day-cell{aspect-ratio:1;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.7rem;background:#f8f4ff;min-height:0;padding:2px}.day-cell--empty{background:transparent}.day-cell--has-entry{background:#fff9c4;border:1.5px solid #ffd93d}.day-cell--worked{background:#d4f5dc;border-color:#6bcb77}.day-cell--not-worked{background:#ffe0e6;border-color:#ff6b9d}.day-cell__number{font-weight:600;font-size:.75rem;color:#2d1b4e;line-height:1}.day-cell__details{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:1px}.day-cell__event{font-size:.55rem;line-height:1}.day-cell__weather{font-size:.6rem;line-height:1}.day-cell__degrees{font-size:.5rem;font-weight:500;color:#7b5ea7;line-height:1}@media(max-width:320px){.day-cell__details{display:none}}.calendar-section{padding:4rem 1.5rem 3rem;background:linear-gradient(180deg,#b8e0ff,#fff5f8 30%,#ffe0f0)}.calendar-section__title{text-align:center;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:#2d1b4e;margin-bottom:.5rem}.calendar-section__subtitle{text-align:center;font-size:1rem;color:#7b5ea7;margin-bottom:3rem;max-width:40ch;margin-left:auto;margin-right:auto}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:1400px;margin:0 auto}.summary{padding:4rem 1.5rem 5rem;background:linear-gradient(180deg,#ffe0f0,#c8f7dc,#ffd93d);text-align:center}.summary__title{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:#2d1b4e;margin-bottom:2.5rem}.summary__cards{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem;max-width:800px;margin:0 auto 2.5rem}.summary__card{flex:1 1 240px;max-width:320px;background:#fff;border-radius:24px;padding:2rem 1.5rem;box-shadow:0 12px 32px #2d1b4e1f;display:flex;flex-direction:column;align-items:center;gap:.5rem}.summary__card--workdays{border:4px solid #4d96ff}.summary__card--worked{border:4px solid #6bcb77}.summary__emoji{font-size:2.5rem}.summary__number{font-size:4rem;font-weight:700;line-height:1;color:#2d1b4e}.summary__label{font-size:1rem;font-weight:500;color:#7b5ea7}.summary__hint{font-size:.8rem;color:#aaa;font-weight:400}.summary__vs{font-size:1.5rem;font-weight:700;color:#ff6b9d;text-transform:lowercase}.summary__bar-wrap{max-width:500px;margin:0 auto 2rem}.summary__bar-label{font-size:.9rem;font-weight:500;color:#2d1b4e;margin-bottom:.75rem}.summary__bar{height:24px;background:#fff;border-radius:12px;overflow:hidden;border:3px solid #2d1b4e;box-shadow:inset 0 2px 4px #0000000f}.summary__bar-fill{height:100%;background:linear-gradient(90deg,#6bcb77,#ffd93d);border-radius:8px;transition:width 1s cubic-bezier(.34,1.56,.64,1)}.summary__percentage{display:block;margin-top:.5rem;font-size:1.25rem;font-weight:700;color:#2d1b4e}.summary__footer{font-size:1.1rem;font-weight:500;color:#2d1b4e;opacity:.85}.app{width:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Fredoka,system-ui,sans-serif;background:#fff5f8;color:#2d1b4e;overflow-x:hidden}#root{min-height:100vh}
