:root{--bg-color: #0d1117;--card-bg: rgba(22, 27, 34, .7);--text-primary: #e6edf3;--text-secondary: #8b949e;--accent-color: #2f81f7;--success-color: #238636;--vitality-high: #3fb950;--vitality-mid: #d29922;--vitality-low: #f85149;--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-main);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 20% 20%,rgba(47,129,247,.05) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(63,185,80,.05) 0%,transparent 40%)}#app{max-width:1200px;margin:0 auto;padding:2rem}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}h1{font-family:var(--font-display);font-weight:700;font-size:2.5rem;letter-spacing:-.02em}.btn-primary{background:linear-gradient(135deg,var(--accent-color),#58a6ff);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-family:var(--font-main);font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #2f81f74d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2f81f766}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.goal-card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px;padding:1.75rem;position:relative;transition:transform .3s,border-color .3s;cursor:pointer;overflow:hidden}.card-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.goal-icon{margin-right:.5rem;font-size:1.5rem;vertical-align:middle}.goal-card:hover{transform:translateY(-5px);border-color:#fff3}.goal-card h3{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.25rem}.goal-desc{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.progress-container{margin-bottom:1.5rem}.progress-label{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;font-weight:500}.progress-bar-bg{height:10px;background:rgba(255,255,255,.05);border-radius:5px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-color),#a5d6ff);border-radius:5px;transition:width 1s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #2f81f780}.milestone-marker{position:absolute;top:0;width:2px;height:100%;background:rgba(255,255,255,.2);z-index:2}.vitality-section{display:flex;align-items:center;gap:1rem}.vitality-glow{width:12px;height:12px;border-radius:50%;position:relative}.vitality-glow:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;background:inherit;filter:blur(8px);opacity:.6;animation:pulse 2s infinite alternate}@keyframes pulse{0%{opacity:.3;transform:scale(1)}to{opacity:.8;transform:scale(1.5)}}.hidden{display:none!important}#modal-container{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center}.modal{background:#161b22;border:1px solid var(--glass-border);border-radius:32px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;padding:2.5rem;box-shadow:var(--glass-shadow)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.title-with-icon{display:flex;align-items:center;gap:1rem}.header-icon{font-size:2rem}.header-actions{display:flex;align-items:center;gap:.75rem}.btn-icon-danger{background:none;border:none;color:#f44;cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-icon-danger:hover{background:rgba(255,68,68,.1)}.close-modal{background:transparent;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;line-height:1}.goal-full-desc{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.goal-terminal{background:rgba(255,255,255,.05);padding:1rem;border-radius:12px;margin-bottom:2rem;font-size:.95rem}.progress-section,.milestone-section,.vitality-section.detail{margin-bottom:2.5rem}.progress-section h3,.milestone-section h3,.vitality-section h3{font-family:var(--font-display);font-size:1.1rem;margin-bottom:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.progress-bar-bg.large{height:16px;border-radius:8px;margin-bottom:1rem}.progress-actions{display:flex;gap:1rem}.btn-surge,.btn-secondary{flex:1;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--glass-border);background:rgba(255,255,255,.05);color:var(--text-primary);font-family:var(--font-main);font-weight:500;cursor:pointer;transition:all .2s}.btn-surge:hover,.btn-secondary:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.milestone-list{list-style:none}.milestone-list li{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--glass-border)}.milestone-list li.achieved{opacity:.6}.milestone-list label{cursor:pointer}.vitality-indicator{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.vitality-glow.large{width:24px;height:24px}.vitality-glow.large:after{top:-8px;left:-8px;right:-8px;bottom:-8px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--glass-border);background:rgba(255,255,255,.05);color:var(--text-primary);font-family:var(--font-main);outline:none;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-color)}.form-group textarea{height:100px;resize:vertical}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.full-width{width:100%;margin-top:1rem}.milestones-setup{margin-top:2rem;margin-bottom:2rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}.milestone-row{display:flex;gap:1rem;margin-bottom:1rem}.milestone-row input{padding:.5rem .75rem;border-radius:8px;border:1px solid var(--glass-border);background:rgba(255,255,255,.05);color:var(--text-primary)}.ms-label{flex:2}.ms-percent{flex:1}.btn-text{background:transparent;border:none;color:var(--accent-color);font-size:.9rem;cursor:pointer;padding:.5rem 0;font-weight:500}.btn-text:hover{text-decoration:underline}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.completed{background:var(--success-color);color:#fff;box-shadow:0 0 10px #23863666}.timeline{display:flex;flex-direction:column;gap:1rem;max-height:300px;overflow-y:auto;padding-right:10px}.timeline-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:rgba(255,255,255,.03);border-radius:8px;font-size:.85rem}.timeline-item .time{color:var(--text-secondary)}.timeline-item .type{font-weight:600;color:var(--accent-color);font-size:.7rem}.timeline-item .value{font-weight:600;text-align:right;min-width:60px}.timeline-details{flex:1;display:flex;flex-direction:column;padding:0 1rem}.timeline-note{font-size:.75rem;color:var(--text-secondary);font-style:italic}.empty-text{color:var(--text-secondary);font-style:italic;font-size:.85rem}.manual-progress{margin-bottom:2rem}.manual-progress label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.manual-progress input[type=range]{width:100%;accent-color:var(--accent-color);background:rgba(255,255,255,.05);height:6px;border-radius:3px;cursor:pointer}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.5rem;background:rgba(255,255,255,.03);padding:.75rem;border-radius:12px;border:1px solid var(--glass-border)}.icon-btn{background:none;border:1px solid transparent;font-size:1.5rem;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s}.icon-btn:hover{background:rgba(255,255,255,.05)}.icon-btn.selected{background:rgba(255,255,255,.1);border-color:var(--accent-color)}.artifact-note{color:var(--success-color);font-style:italic;font-size:.9rem;padding:1rem;background:rgba(35,134,54,.1);border-radius:12px;border:1px solid rgba(35,134,54,.2)}.stagnant-indicator{position:absolute;top:1.5rem;right:1.5rem;width:24px;height:24px;background:rgba(210,153,34,.2);color:var(--vitality-mid);border:1px solid var(--vitality-mid);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;animation:subtle-pulse 2s infinite ease-in-out}@keyframes subtle-pulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.7}}@media (max-width: 768px){#app{padding:1.5rem 1rem}.app-header{flex-direction:column;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}h1{font-size:2rem}.btn-primary{width:100%;text-align:center}.dashboard-grid{grid-template-columns:1fr;gap:1.5rem}.modal{padding:1.5rem;border-radius:24px}.modal-header h2{font-size:1.5rem}.progress-actions{flex-direction:column;gap:.75rem}.btn-surge,.btn-secondary{width:100%;padding:1rem}.form-row{flex-direction:column;gap:0}.milestone-row{flex-direction:column;gap:.5rem;background:rgba(255,255,255,.03);padding:1rem;border-radius:12px}.milestone-row input{width:100%}.vitality-indicator{font-size:1.1rem}body.modal-open{overflow:hidden}}@media (max-width: 480px){h1{font-size:1.75rem}.goal-card{padding:1.5rem}.modal{width:95%;padding:1.25rem}}
