:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--accent: #7c3aed;--accent-light: #a78bfa;--accent-glow: rgba(124, 58, 237, .35);--green: #22c55e;--green-glow: rgba(34, 197, 94, .3);--surface: rgba(255, 255, 255, .04);--surface-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .08);--text: #fafafa;--text-dim: rgba(255, 255, 255, .5);--radius: 1rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#06060a;color:var(--text)}.app-wrapper{position:relative;min-height:100vh;overflow:hidden;display:flex;justify-content:center;padding:2.5rem 1.5rem}.blob{position:fixed;border-radius:50%;filter:blur(120px);opacity:.45;pointer-events:none;animation:float 12s ease-in-out infinite alternate}.blob-1{width:420px;height:420px;background:radial-gradient(circle,#7c3aed,#4f46e5);top:-10%;left:-8%;animation-duration:14s}.blob-2{width:350px;height:350px;background:radial-gradient(circle,#ec4899,#be185d);bottom:-10%;right:-6%;animation-duration:11s;animation-delay:2s}.blob-3{width:280px;height:280px;background:radial-gradient(circle,#22c55e,#059669);top:50%;left:60%;animation-duration:16s;animation-delay:4s}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(40px,-30px) scale(1.15)}}.app{position:relative;z-index:1;width:100%;max-width:28rem;display:flex;flex-direction:column;gap:1.25rem}.header{text-align:center;margin-bottom:.5rem}.title{font-size:2rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#a78bfa,#ec4899,#f97316);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 4s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.title-icon{font-size:1.8rem;-webkit-text-fill-color:initial}.subtitle{color:var(--text-dim);font-size:.9rem;margin-top:.25rem}.progress-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem}.progress-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.progress-count{color:var(--accent-light);font-weight:600}.progress-track{height:8px;background:#ffffff0f;border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ec4899,#f97316);background-size:200% 100%;animation:gradient-shift 3s ease infinite;transition:width .5s cubic-bezier(.22,1,.36,1)}.progress-pct{display:block;text-align:right;font-size:.8rem;font-weight:700;color:var(--accent-light);margin-top:.35rem}.celebration{display:flex;align-items:center;gap:.6rem;justify-content:center;padding:.85rem 1rem;border-radius:var(--radius);background:linear-gradient(135deg,#22c55e26,#7c3aed26);border:1px solid rgba(34,197,94,.25);font-weight:600;font-size:.95rem;animation:pop-in .4s cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.celebration-icon{font-size:1.4rem;animation:bounce .6s ease infinite alternate}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.exercise-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.exercise-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s ease;animation:slide-up .4s ease both}.exercise-item:hover{background:var(--surface-hover);border-color:#ffffff24;transform:translate(4px)}.exercise-item.done{border-color:#22c55e40;background:#22c55e0f}.exercise-item.done .exercise-name{text-decoration:line-through;color:var(--text-dim)}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.check-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center}.check-box{width:24px;height:24px;border:2px solid rgba(255,255,255,.2);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .25s ease;color:transparent}.check-box.checked{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 12px var(--green-glow);animation:check-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes check-pop{0%{transform:scale(.6)}to{transform:scale(1)}}.exercise-icon{font-size:1.35rem;flex-shrink:0}.exercise-info{flex:1;display:flex;flex-direction:column;min-width:0}.exercise-name{font-weight:600;font-size:.95rem;transition:all .3s ease}.exercise-sets{font-size:.78rem;color:var(--text-dim)}.delete-btn{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:.85rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.delete-btn:hover{background:#ef444426;color:#ef4444}.add-form{display:flex;gap:.5rem}.add-input{flex:1;padding:.65rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:.6rem;color:var(--text);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.add-input::placeholder{color:var(--text-dim)}.add-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.add-btn{padding:.65rem 1.1rem;background:var(--accent);border:none;border-radius:.6rem;color:#fff;font-weight:700;font-size:.85rem;font-family:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-btn:hover{background:#6d28d9;box-shadow:0 0 16px var(--accent-glow)}.reset-btn{padding:.6rem 1rem;background:transparent;border:1px solid var(--border);border-radius:.6rem;color:var(--text-dim);font-size:.8rem;font-family:inherit;cursor:pointer;transition:all .2s ease;align-self:center}.reset-btn:hover{border-color:#fff3;color:var(--text)}
