@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#fff;--text-primary:#1e293b;--text-secondary:#475569;--accent-color:#ec4899;--accent-hover:#db2777;--card-bg:#fff3;--card-border:#fff6;--glass-bg:#ffffff4d}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(-45deg,#ff9a9e,#fecfef,#a1c4fd,#c2e9fb) 0 0/400% 400%;justify-content:center;min-height:100vh;font-family:Inter,sans-serif;animation:15s infinite gradientBG;display:flex}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}#root{width:100%}button{cursor:pointer;font-family:Inter,sans-serif}.navbar{-webkit-backdrop-filter:blur(20px);z-index:1000;background:#ffffff4d;border-bottom:1px solid #ffffff4d;justify-content:space-between;align-items:center;padding:1.5rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.navbar-brand a{color:var(--text-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:800;text-decoration:none}.navbar-links{align-items:center;gap:2rem;margin:0;padding:0;list-style:none;display:flex}.navbar-links a{color:var(--text-secondary);font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s}.navbar-links a:hover,.navbar-links a.active{color:#ec4899}.navbar-links a.nav-cta{color:#fff;background:#ec4899;border-radius:999px;padding:.5rem 1.5rem;box-shadow:0 4px 10px #ec48994d}.navbar-links a.nav-cta:hover{color:#fff;background:#db2777;transform:translateY(-2px)}.landing-container,.app-container{padding-top:5rem}.landing-container{width:100%;min-height:100vh;color:var(--text-primary)}.landing-hero{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;justify-content:center;align-items:center;min-height:80vh;padding:2rem;display:flex}.landing-hero-content{max-width:900px}.landing-hero h1{background:linear-gradient(135deg,#ec4899 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;text-transform:uppercase;-webkit-background-clip:text;margin-bottom:1.5rem;font-size:5rem;font-weight:800;line-height:1.1}.landing-subtitle{color:var(--text-secondary);margin-bottom:3rem;font-size:1.5rem;font-weight:500;line-height:1.6}.cta-button{cursor:pointer;text-transform:uppercase;letter-spacing:.1em;border:none;border-radius:999px;padding:1.25rem 3rem;font-size:1.25rem;font-weight:700;transition:transform .2s,box-shadow .2s}.cta-button.primary{color:#fff;background:#ec4899;box-shadow:0 10px 25px #ec489966}.cta-button.primary:hover{transform:translateY(-3px);box-shadow:0 15px 35px #ec489999}.landing-problem,.landing-rules,.landing-transformation{text-align:center;max-width:1000px;margin:0 auto;padding:6rem 2rem}.landing-problem h2,.landing-rules h2,.landing-transformation h2{color:var(--text-primary);margin-bottom:2rem;font-size:3rem;font-weight:800}.landing-problem p,.landing-transformation p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.25rem;line-height:1.8}.rules-intro{color:#ec4899;margin-bottom:4rem;font-size:1.5rem;font-weight:700}.rules-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.rule-card{text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #fffc;border-radius:24px;padding:2.5rem;transition:transform .3s}.rule-card:hover{transform:translateY(-5px)}.rule-number{color:#ec489933;margin-bottom:1rem;font-size:4rem;font-weight:900;line-height:1}.rule-card h3{margin-bottom:1rem;font-size:1.5rem;font-weight:700}.rule-card p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6}@media (width<=768px){.landing-hero h1{font-size:3.5rem}.landing-subtitle{font-size:1.25rem}.landing-problem h2,.landing-rules h2,.landing-transformation h2{font-size:2.5rem}}.app-container{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.header{text-align:center;margin-bottom:4rem;padding-top:2rem;animation:1s ease-out fadeInDown}.header h1{letter-spacing:-.05em;background:linear-gradient(135deg,#ec4899 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:700}.header p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.25rem;font-weight:300;line-height:1.6}.progress-section{margin-bottom:3rem;animation:1s ease-out .3s both fadeIn}.progress-bar-container{background:var(--card-border);border-radius:4px;width:100%;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-color), #34d399);border-radius:4px;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1)}.progress-text{color:var(--text-secondary);text-align:right;font-size:.875rem;font-weight:500}.days-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem;animation:1s ease-out .6s both fadeIn;display:grid}.day-card{aspect-ratio:1;perspective:1000px;cursor:pointer;animation:.5s ease-out backwards fadeInDown}.day-card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1);position:relative}.day-card:hover .day-card-inner{transform:rotateY(180deg)}.day-card-front,.day-card-back{backface-visibility:hidden;background-color:var(--card-bg);background-position:50%;background-size:cover;border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:absolute;overflow:hidden}.day-card-back{-webkit-backdrop-filter:blur(16px);background:#ffffff26;border:1px solid #ffffff4d;padding:1.5rem;transform:rotateY(180deg)}.day-card-overlay{z-index:1;background:linear-gradient(#0000001a 0%,#000000b3 100%);transition:opacity .3s;position:absolute;inset:0}.day-card:hover .day-card-overlay{opacity:.8}.day-card-content{z-index:2;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.day-card:hover .day-card-front,.day-card:hover .day-card-back{box-shadow:0 10px 25px #0003}.day-card.completed .day-card-overlay{background:linear-gradient(#ec48994d 0%,#ec4899cc 100%)}.day-number{color:#fff;text-shadow:0 2px 10px #0000004d;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.day-status{color:#fffc;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:500}.day-card.completed .day-status{color:#fff;font-weight:700}.day-card-back-text{color:var(--text-primary);-webkit-line-clamp:5;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:.875rem;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.day-card.locked{opacity:.4;cursor:not-allowed;filter:grayscale(80%)}.day-card.locked:hover .day-card-inner{transform:none}.day-card.locked:hover{box-shadow:none;border-color:var(--card-border);transform:none}.modal-overlay{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);z-index:100;justify-content:center;align-items:center;padding:1rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-color);border:1px solid var(--card-border);border-radius:24px;width:100%;max-width:600px;padding:3rem;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 25px 50px -12px #00000080}.modal-close{color:var(--text-secondary);background:0 0;border:none;font-size:2rem;line-height:1;transition:color .2s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--text-primary)}.modal-day-badge{color:var(--accent-color);text-transform:uppercase;letter-spacing:.05em;background:#10b9811a;border-radius:999px;margin-bottom:1.5rem;padding:.25rem 1rem;font-size:.875rem;font-weight:600;display:inline-block}.modal-task-title{color:var(--text-primary);margin-bottom:2.5rem;font-size:1.5rem;font-weight:500;line-height:1.5}.modal-action-btn{background:var(--accent-color);color:#fff;border:none;border-radius:12px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.modal-action-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.modal-action-btn:disabled{background:var(--card-border);color:var(--text-secondary);cursor:not-allowed}.modal-action-btn.completed{border:2px solid var(--accent-color);color:var(--accent-color);background:0 0}.reflection-container{text-align:left;margin-bottom:2rem}.reflection-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.reflection-input{border:1px solid var(--card-border);width:100%;min-height:120px;color:var(--text-primary);resize:vertical;background:#0f172a80;border-radius:12px;padding:1rem;font-family:Inter,sans-serif;font-size:1rem;transition:border-color .3s}.reflection-input:focus{border-color:var(--accent-color);outline:none}.reflection-input::placeholder{color:#94a3b880}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.header h1{font-size:2.5rem}.days-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.modal-content{padding:2rem}.modal-task-title{font-size:1.25rem}}
