*{box-sizing:border-box;margin:0;padding:0}body{color:#f8fafc;background:#0f172a;justify-content:center;min-height:100vh;padding:100px 20px;font-family:Arial,Helvetica,sans-serif;display:flex}.app{width:100%;max-width:700px}.header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.header h1{font-size:2rem}.xp-box{background:#1e293b;border-radius:12px;flex-direction:column;gap:5px;padding:12px 18px;display:flex}.xp-box span{color:#94a3b8;font-size:.8rem}.xp-box strong{font-size:1.5rem}.streak-box{background:#1e293b;border-radius:12px;flex-direction:column;gap:5px;padding:12px 18px;display:flex}.streak-box span{color:#94a3b8;font-size:.8rem}.streak-box strong{font-size:1.2rem}.habit-form{gap:10px;margin-bottom:25px;display:flex}.habit-form input{color:#fff;background:#1e293b;border:none;border-radius:10px;outline:none;flex:1;padding:14px;transition:border .2s,box-shadow .2s}.habit-form input:focus{border:1px solid #38bdf8;box-shadow:0 0 10px #38bdf84d}.habit-form button{cursor:pointer;color:#020617;background:#38bdf8;border:none;border-radius:10px;padding:14px 18px;font-weight:700;transition:all .2s}.habit-form button:hover{transform:scale(1.03)}.reward-section{margin-top:30px;margin-bottom:30px}.reward-section h2{margin-bottom:14px}.reward-form{gap:10px;margin-bottom:15px;display:flex}.reward-form input{color:#fff;background:#1e293b;border:none;border-radius:10px;outline:none;flex:1;padding:14px}.reward-card{background:#1e293b;border:2px solid #0000;border-radius:14px;padding:20px;transition:all .3s}.reward-label{color:#94a3b8;font-size:.9rem}.reward-card h3{margin:10px 0}.reward-card p{color:#94a3b8}.reward-unlocked{border-color:#22c55e;animation:2s infinite glow;box-shadow:0 0 20px #22c55e4d}.reward-status{color:#22c55e;margin-top:12px;display:inline-block}.history-section{margin-top:30px}.week-board{justify-content:space-between;margin-top:15px;display:flex}.day-item{flex-direction:column;align-items:center;gap:10px;display:flex}.day-item span{color:#94a3b8;font-size:.9rem}.day-dot{background:#1e293b;border-radius:50%;width:16px;height:16px;transition:all .3s}.day-dot.active{background:#22c55e;box-shadow:0 0 10px #22c55e80}.habit-list{flex-direction:column;gap:14px;margin-bottom:40px;display:flex}.habit-card{background:#1e293b;border:1px solid #0000;border-radius:14px;justify-content:space-between;align-items:center;padding:18px;transition:transform .2s,box-shadow .2s,border .2s;animation:.3s fadeIn;display:flex}.habit-card:hover{border-color:#38bdf8;transform:translateY(-3px);box-shadow:0 10px 25px #00000040}.habit-info{flex-direction:column;gap:6px;display:flex}.habit-title{font-size:1.1rem;font-weight:700}.habit-xp{color:#94a3b8;font-size:.9rem}.habit-actions{gap:10px;display:flex}.complete-btn,.delete-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 14px;font-weight:700;transition:transform .2s,opacity .2s}.complete-btn:hover,.delete-btn:hover{transform:scale(1.05)}.complete-btn{color:#fff;background:#22c55e}.delete-btn{color:#fff;background:#ef4444}.completed{opacity:.5;text-decoration:line-through}.progress-fill{background:linear-gradient(90deg,#38bdf8,#22c55e);border-radius:999px;height:100%;transition:width .4s}.reset-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:12px;width:100%;margin-top:30px;padding:14px;font-weight:700;transition:transform .2s,opacity .2s}.reset-btn:hover{opacity:.9;transform:scale(1.02)}.reset-reward-btn{color:#f8fafc;cursor:pointer;background:#0f172a;border:none;border-radius:10px;margin-top:16px;padding:10px 14px;transition:transform .2s,opacity .2s}.reset-reward-btn:hover{opacity:.9;transform:scale(1.03)}@media (width<=600px){.header{flex-direction:column;align-items:flex-start;gap:20px}.habit-form{flex-direction:column}.habit-card{flex-direction:column;align-items:flex-start;gap:15px}.habit-actions{width:100%}.complete-btn,.delete-btn{flex:1}}@keyframes glow{0%{box-shadow:0 0 5px #22c55e33}50%{box-shadow:0 0 20px #22c55e80}to{box-shadow:0 0 5px #22c55e33}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
