:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-card: #1c2128;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--accent-primary: #58a6ff;--accent-secondary: #388bfd;--accent-success: #3fb950;--accent-warning: #d29922;--accent-danger: #f85149;--border-color: #30363d;--shadow: 0 8px 24px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at top left,rgba(88,166,255,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(63,185,80,.06) 0%,transparent 50%),var(--bg-primary)}.header{text-align:center;padding:2rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-success));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.subtitle{color:var(--text-secondary);font-size:1.1rem}.main{flex:1;padding:2rem 1rem;max-width:800px;margin:0 auto;width:100%}.goal-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow)}.goal-form h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.form-row{display:flex;gap:.75rem;margin-bottom:1rem}.form-row input,.form-row select{flex:1;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}.form-row input:focus,.form-row select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #58a6ff26}.form-row input::placeholder{color:var(--text-muted)}.btn-add{padding:.75rem 1.5rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.btn-add:hover{background:var(--accent-secondary);transform:translateY(-1px)}.btn-add:active{transform:translateY(0)}.goals-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.goals-list{display:flex;flex-direction:column;gap:1rem}.goal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;transition:transform .2s,box-shadow .2s}.goal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.goal-title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.goal-category{font-size:.75rem;padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:20px;color:var(--text-secondary)}.goal-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.progress-container{margin-bottom:1rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;color:var(--text-secondary)}.progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-success));border-radius:4px;transition:width .5s ease-out}.progress-fill.completed{background:var(--accent-success)}.milestones-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.milestones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.milestones-header h4{font-size:.9rem;color:var(--text-secondary);font-weight:500}.milestone-list{display:flex;flex-direction:column;gap:.5rem}.milestone-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:6px;cursor:pointer;transition:background .2s}.milestone-item:hover{background:var(--bg-primary)}.milestone-checkbox{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.milestone-item.completed .milestone-checkbox{background:var(--accent-success);border-color:var(--accent-success)}.milestone-checkbox:after{content:"✓";color:var(--bg-primary);font-size:12px;font-weight:700;opacity:0;transition:opacity .2s}.milestone-item.completed .milestone-checkbox:after{opacity:1}.milestone-text{flex:1;font-size:.9rem;color:var(--text-primary)}.milestone-item.completed .milestone-text{text-decoration:line-through;color:var(--text-muted)}.milestone-progress{font-size:.8rem;color:var(--text-muted)}.goal-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-action{padding:.5rem 1rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-action:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--text-muted)}.btn-action.danger:hover{color:var(--accent-danger);border-color:var(--accent-danger)}.add-milestone{display:flex;gap:.5rem;margin-top:.75rem}.add-milestone input{flex:1;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.85rem;outline:none}.add-milestone input:focus{border-color:var(--accent-primary)}.add-milestone button{padding:.5rem .75rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.add-milestone button:hover{background:var(--accent-secondary)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state p{font-size:1.1rem;margin-bottom:.5rem}.empty-state span{font-size:.9rem}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--accent-primary);margin-bottom:.25rem}.stat-label{font-size:.85rem;color:var(--text-secondary)}.footer{text-align:center;padding:1.5rem;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.85rem;background:var(--bg-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.goal-card{animation:fadeIn .3s ease-out}@media(max-width:600px){.header h1{font-size:2rem}.form-row{flex-direction:column}.stats-row{grid-template-columns:1fr}}
