.weight-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.weight-form h3{font-size:1rem;font-weight:500;color:var(--color-text-secondary);margin:0}.btn-toggle-advanced{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;transition:all .2s}.btn-toggle-advanced:hover{border-color:var(--color-accent);color:var(--color-accent)}.form-row{display:flex;gap:1rem;align-items:flex-end}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group.flex-1{flex:1}.input-group label{font-size:.875rem;color:var(--color-text-muted)}.input-with-unit{position:relative;display:flex;align-items:center}.input-with-unit input{padding-right:3rem}.input-with-unit .unit{position:absolute;right:1rem;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.875rem}.weight-form input{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--color-text-primary);font-size:1rem;width:100%;transition:border-color .2s,box-shadow .2s}.weight-form input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4ade801a}.weight-form input::placeholder{color:var(--color-text-muted)}.btn-submit{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;transition:background .2s,transform .1s;white-space:nowrap}.btn-submit:hover:not(:disabled){background:var(--color-accent-hover)}.btn-submit:active:not(:disabled){transform:scale(.98)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.error-message{color:var(--color-error);font-size:.875rem;margin-top:.75rem}.advanced-row{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.session-hint{margin-top:.75rem;font-size:.8rem;color:var(--color-text-muted)}@media (max-width: 768px){.form-row{flex-direction:column;align-items:stretch}.btn-submit{width:100%}}.weight-history{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.weight-history h3{font-size:1rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:1rem}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border-radius:var(--radius-md);transition:background .2s;opacity:0}.history-item:hover{background:var(--color-bg-tertiary)}.history-main{display:flex;flex-direction:column;gap:.25rem;min-width:150px}.history-weight{font-size:1.125rem;font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.history-unit{font-size:.875rem;color:var(--color-text-muted)}.history-date{font-size:.75rem;color:var(--color-text-muted)}.history-meta{flex:1;display:flex;align-items:center;gap:.75rem}.history-notes{font-size:.875rem;color:var(--color-text-secondary);font-style:italic}.history-delete{background:transparent;border:none;color:var(--color-text-muted);font-size:1.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);opacity:0;transition:all .2s}.history-item:hover .history-delete{opacity:1}.history-delete:hover{color:var(--color-error);background:#ef44441a}.goal-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color .2s}.goal-card:hover{border-color:var(--color-accent)}.goal-card.overdue{border-color:var(--color-error)}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.goal-type-badge{background:var(--color-accent-muted);color:var(--color-accent);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.goal-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.goal-card:hover .goal-actions{opacity:1}.goal-actions button{background:transparent;border:none;color:var(--color-text-muted);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:1.2rem}.goal-actions button:hover{color:var(--color-error);background:#ef44441a}.goal-main{margin-bottom:1rem}.goal-target{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.target-label{font-size:1rem;color:var(--color-text-secondary)}.target-weight{font-size:1.5rem;font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.goal-progress{margin-bottom:1rem}.progress-bar{height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.progress-stats{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-text-muted)}.goal-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-text-muted);padding-top:.75rem;border-top:1px solid var(--color-border)}.goal-deadline{font-weight:500}.goal-deadline.warning{color:var(--color-warning)}.goal-deadline.overdue{color:var(--color-error)}.stats-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;opacity:0}.stats-label{font-size:.875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.stats-value-container{display:flex;align-items:baseline;gap:.5rem}.stats-value{font-size:2rem;font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.stats-unit{font-size:1rem;color:var(--color-text-muted);font-family:var(--font-mono)}.dashboard{padding-bottom:3rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;margin-top:1.5rem;flex-wrap:wrap;gap:1rem}.dashboard-header h1{font-size:1.75rem;font-weight:600;color:var(--color-text-primary)}.time-range-selector{display:flex;gap:.5rem;background:var(--color-bg-secondary);padding:.25rem;border-radius:var(--radius-md)}.range-btn{background:transparent;border:none;color:var(--color-text-muted);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;transition:all .2s}.range-btn:hover{color:var(--color-text-secondary)}.range-btn.active{background:var(--color-accent);color:var(--color-bg-primary);font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.loading-state{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.125rem;color:var(--color-text-muted)}.goals-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.goals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.goals-header h3{font-size:1rem;font-weight:500;color:var(--color-text-secondary);margin:0}.goals-actions{display:flex;align-items:center;gap:1rem}.show-all-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-muted);cursor:pointer}.btn-add-goal{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;text-decoration:none}.btn-add-goal:hover{background:var(--color-accent-hover)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.goals-grid .goal-card{margin-bottom:0}.goals-empty{text-align:center;padding:2rem;color:var(--color-text-muted)}.goals-empty a,.goals-empty button{color:var(--color-accent);background:none;border:none;font-size:1rem;cursor:pointer}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start}.time-range-selector{width:100%;overflow-x:auto}}.goal-detail{padding-bottom:3rem;margin-top:1.5rem}.goal-detail-header{display:flex;justify-content:space-between;align-items:center;margin:1rem 0}.goal-detail-header h1{font-size:1.75rem}.goal-summary{padding:1.5rem;margin-bottom:1rem}.goal-summary p{font-size:1.1rem;margin-bottom:.75rem}.goal-period{display:block;margin-top:.75rem;color:var(--color-text-muted);font-size:.85rem}.included-info{padding:1rem 1.5rem;margin-bottom:1.5rem;border-style:dashed}.included-info p{color:var(--color-text-secondary);font-size:.9rem;margin:0}.goal-detail h3{color:var(--color-text-secondary);font-weight:500;margin:1.5rem 0 1rem}:root{--color-bg-primary: #0a0f0d;--color-bg-secondary: #141a17;--color-bg-tertiary: #1e2622;--color-bg-card: #1a211d;--color-accent: #4ade80;--color-accent-hover: #22c55e;--color-accent-muted: #166534;--color-text-primary: #f0fdf4;--color-text-secondary: #a3b8a8;--color-text-muted: #6b7c6f;--color-border: #2d3a32;--color-border-focus: #4ade80;--color-error: #ef4444;--color-success: #4ade80;--color-warning: #fbbf24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(74, 222, 128, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--text-muted: var(--color-text-muted);--primary: var(--color-accent);--border: var(--color-border)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(74,222,128,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(74,222,128,.02) 0%,transparent 50%);pointer-events:none;z-index:-1}#root{min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:420px;margin:0 auto;padding:0 1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-slide-up{animation:slideUp .5s ease-out forwards}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%;display:flex;justify-content:space-between;align-items:center}.nav-brand{font-weight:600;font-size:1.25rem;color:var(--color-accent);display:flex;align-items:center;gap:.5rem}.form-group{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;color:var(--color-text-muted)}.form-group input,.form-group select,.form-group textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--color-text-primary);font-size:1rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4ade801a}.btn{padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;text-decoration:none;display:inline-block;background:transparent;color:var(--color-text-secondary);transition:all .2s}.btn-primary{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent);font-weight:600}.btn-primary:hover{background:var(--color-accent-hover)}.btn-ghost{background:transparent}.btn-ghost:hover{border-color:var(--color-error);color:var(--color-error)}.error-msg{color:var(--color-error);font-size:.875rem;margin-top:.75rem}.progress{height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.progress>div{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width .3s ease}.goal-card{padding:1.25rem;margin-bottom:1rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem}th{color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.auth-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;margin-top:3rem}.auth-card h1{margin-bottom:1.5rem}.auth-links{margin-top:1rem;display:flex;gap:1rem;font-size:.875rem}
