:root{--bg: #09090b;--surface: #111116;--surface-e: #18181f;--border: #222228;--border-hover: #33333d;--accent: #c8f654;--accent-dim: rgba(200,246,84,.1);--accent-blue: #60a5fa;--accent-orange: #fb923c;--accent-red: #f87171;--text: #f4f4f5;--text-2: #a1a1aa;--text-muted: #52525b;--protein-color: #c8f654;--carbs-color: #60a5fa;--fat-color: #fb923c;--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 24px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:15px;line-height:1.6;min-height:100vh;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(200,246,84,.06) 0%,transparent 60%),linear-gradient(to bottom right,#09090b,#0d0d12)}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}input,select{font-family:inherit}ul{list-style:none}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg);background-image:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(200,246,84,.08) 0%,transparent 60%)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border-hover);border-radius:16px;padding:2.5rem 2rem;box-shadow:0 8px 40px #00000080,0 0 80px #c8f6540a;animation:slideUp .25s ease}.login-logo{display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:Barlow Condensed,sans-serif;font-size:2.5rem;font-weight:900;letter-spacing:.05em;margin-bottom:.25rem}.login-tagline{font-size:.8125rem;color:var(--text-muted);margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-error{background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-sm);padding:.6rem .875rem;font-size:.8125rem;color:var(--accent-red)}.login-hint{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:1.25rem}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:2rem;padding:0 2rem;height:60px;background:#09090bd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.app-logo{display:flex;align-items:center;gap:.5rem;font-family:Barlow Condensed,sans-serif;font-size:1.5rem;font-weight:900;letter-spacing:.05em;color:var(--text);flex-shrink:0}.logo-dot{color:var(--accent)}.app-nav{display:flex;gap:.25rem;flex:1}.nav-btn{padding:.35rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-2);transition:color .15s,background .15s;position:relative}.nav-btn:hover{color:var(--text);background:#ffffff0a}.nav-btn.active{color:var(--accent);background:var(--accent-dim)}.header-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.header-profile-btn{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#09090b;font-weight:700;font-size:.875rem;flex-shrink:0;transition:opacity .15s}.header-profile-btn:hover{opacity:.85}.header-icon-btn{display:flex;align-items:center;padding:.35rem .5rem}.profile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#09090bb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;animation:fadeIn .15s ease}.profile-menu{width:100%;background:var(--surface);border:1px solid var(--border-hover);border-radius:16px 16px 0 0;padding:.5rem 0 max(1.5rem,env(safe-area-inset-bottom));animation:slideUp .2s ease}.profile-menu-user{display:flex;align-items:center;gap:.875rem;padding:1rem 1.5rem .875rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.profile-menu-avatar{width:36px;height:36px;background:var(--accent);color:#09090b;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.profile-menu-name{font-weight:600;color:var(--text)}.profile-menu-item{width:100%;text-align:left;padding:.875rem 1.5rem;font-size:1rem;color:var(--text-2);background:none;border:none;cursor:pointer;transition:background .1s,color .1s}.profile-menu-item:hover{background:var(--surface-e);color:var(--text)}.profile-menu-item.danger{color:var(--accent-red)}.profile-menu-item.danger:hover{background:#f8717114}.account-saved{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--accent-dim);border:1px solid rgba(200,246,84,.3);border-radius:var(--radius);color:var(--accent);font-weight:500}.account-saved-icon{font-size:1.5rem}.bottom-nav{display:none}.app-main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:2.5rem 2rem 4rem}.app-footer{text-align:center;padding:1.25rem;color:var(--text-muted);font-size:.75rem;letter-spacing:.08em;border-top:1px solid var(--border)}.btn-primary{background:var(--accent);color:#09090b;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1rem;letter-spacing:.08em;padding:.85rem 2rem;border-radius:var(--radius-sm);transition:opacity .15s,transform .1s}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-block{width:100%}.btn-ghost{background:transparent;border:1px solid var(--border-hover);color:var(--text-2);font-size:.8125rem;padding:.4rem .9rem;border-radius:var(--radius-sm);transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.tag{display:inline-block;padding:.2rem .65rem;border-radius:999px;background:var(--surface-e);border:1px solid var(--border);font-size:.75rem;color:var(--text-2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#09090bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border-hover);border-radius:16px;padding:2.5rem;width:100%;max-width:600px;box-shadow:var(--shadow),0 0 80px #c8f6540d;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{margin-bottom:2rem}.modal-eyebrow{font-family:Space Mono,monospace;font-size:.6875rem;letter-spacing:.15em;color:var(--accent);margin-bottom:.5rem}.modal-title{font-family:Barlow Condensed,sans-serif;font-size:2rem;font-weight:700;color:var(--text);line-height:1.1;margin-bottom:.5rem}.modal-subtitle{color:var(--text-2);font-size:.9rem}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-full{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-family:Space Mono,monospace;font-size:.6875rem;letter-spacing:.12em;color:var(--text-muted)}.form-input{background:var(--surface-e);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.65rem .875rem;font-size:.9375rem;transition:border-color .15s;outline:none}.form-input:focus{border-color:var(--accent)}.form-input::placeholder{color:var(--text-muted)}input[type=number]::-webkit-inner-spin-button{opacity:.4}.radio-group{display:flex;gap:.5rem}.radio-btn{flex:1;padding:.6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-e);color:var(--text-2);font-size:.875rem;transition:all .15s}.radio-btn:hover{border-color:var(--border-hover);color:var(--text)}.radio-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.activity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.activity-btn{display:flex;flex-direction:column;align-items:center;padding:.65rem .25rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-e);color:var(--text-2);transition:all .15s;gap:.25rem}.activity-btn:hover{border-color:var(--border-hover);color:var(--text)}.activity-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.activity-label{font-size:.75rem;font-weight:600;text-align:center}.activity-desc{font-size:.65rem;color:inherit;text-align:center;opacity:.7}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.goal-btn{display:flex;flex-direction:column;align-items:center;padding:1.25rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-e);color:var(--text-2);transition:all .15s;gap:.4rem}.goal-btn:hover{border-color:var(--border-hover);color:var(--text)}.goal-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.goal-icon{font-size:1.5rem}.goal-label{font-weight:600;font-size:.875rem}.goal-desc{font-size:.7rem;opacity:.65;text-align:center}.dashboard{display:flex;flex-direction:column;gap:1.5rem}.dash-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.dash-eyebrow{display:block;font-family:Space Mono,monospace;font-size:.6875rem;letter-spacing:.15em;color:var(--accent);margin-bottom:.35rem}.dash-name{font-family:Barlow Condensed,sans-serif;font-size:3.5rem;font-weight:900;line-height:1;letter-spacing:-.01em;margin-bottom:.75rem}.dash-dot{color:var(--accent)}.dash-tags{display:flex;flex-wrap:wrap;gap:.5rem}.metrics-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s}.metric-card:hover{border-color:var(--border-hover)}.metric-label{font-family:Space Mono,monospace;font-size:.625rem;letter-spacing:.15em;color:var(--text-muted)}.metric-value{font-family:Space Mono,monospace;font-size:2.75rem;font-weight:700;color:var(--text);line-height:1}.metric-sub{font-size:.875rem;color:var(--text-2);font-weight:500}.metric-note{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.metric-bmi{grid-column:1}.bmi-bar-track{margin-top:.75rem}.bmi-bar-zones{display:flex;justify-content:space-between;font-size:.6rem;color:var(--text-muted);margin-bottom:.35rem;letter-spacing:.03em}.bmi-bar{height:6px;border-radius:999px;background:linear-gradient(to right,#60a5fa,#c8f654,#fb923c 60%,#f87171);position:relative}.bmi-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;border:2px solid var(--bg);box-shadow:0 0 8px #0009;transition:left .6s ease}.calorie-target-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:grid;grid-template-columns:1fr 1.5fr;gap:2rem;align-items:start}.calorie-label{font-family:Space Mono,monospace;font-size:.625rem;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.5rem}.calorie-value{font-family:Space Mono,monospace;font-size:4rem;font-weight:700;color:var(--accent);line-height:1}.calorie-unit{font-size:1.25rem;color:var(--text-2);margin-left:.5rem}.calorie-note{font-size:.8rem;color:var(--text-2);margin-top:.5rem}.calorie-note.deficit{color:#60a5fa}.calorie-note.surplus{color:var(--accent-orange)}.macro-title{font-family:Space Mono,monospace;font-size:.625rem;letter-spacing:.15em;color:var(--text-muted);margin-bottom:1rem}.macro-bars{display:flex;flex-direction:column;gap:.85rem}.macro-row{display:flex;align-items:center;gap:.75rem}.macro-name{font-size:.8rem;font-weight:600;width:52px;flex-shrink:0}.protein-color{color:var(--protein-color)}.carbs-color{color:var(--carbs-color)}.fat-color{color:var(--fat-color)}.macro-bar-track{flex:1;height:6px;background:var(--surface-e);border-radius:999px;overflow:hidden}.macro-bar-fill{height:100%;border-radius:999px;transition:width 1s ease}.protein-bg{background:var(--protein-color)}.carbs-bg{background:var(--carbs-color)}.fat-bg{background:var(--fat-color)}.macro-grams{font-size:.8rem;color:var(--text-2);width:36px;text-align:right;flex-shrink:0}.macro-pct{font-size:.75rem;color:var(--text-muted);width:30px;text-align:right;flex-shrink:0}.macro-note{font-size:.75rem;color:var(--text-muted);margin-top:.75rem}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;gap:.875rem;align-items:center;transition:border-color .2s}.info-card:hover{border-color:var(--border-hover)}.info-icon{font-size:1.5rem;flex-shrink:0}.info-title{font-size:.75rem;color:var(--text-muted);margin-bottom:.2rem}.info-value{font-family:Space Mono,monospace;font-size:1rem;font-weight:700;color:var(--text)}.exercises{display:flex;flex-direction:column;gap:1.5rem}.section-header{margin-bottom:.5rem}.section-eyebrow{font-family:Space Mono,monospace;font-size:.6875rem;letter-spacing:.15em;color:var(--accent);display:block;margin-bottom:.35rem}.section-title{font-family:Barlow Condensed,sans-serif;font-size:2.25rem;font-weight:700;line-height:1.1;margin-bottom:.4rem}.section-sub{color:var(--text-2);font-size:.9rem}.section-title-row{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap;margin-bottom:.4rem}.section-title-row .section-title{margin-bottom:0}.bodyweight-badge{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.12em;padding:.25rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);background:var(--accent-dim);white-space:nowrap}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.day-btn{display:flex;flex-direction:column;align-items:center;padding:.75rem .25rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);transition:all .15s;gap:.5rem}.day-btn:hover{border-color:var(--border-hover);color:var(--text)}.day-btn.rest{opacity:.5}.day-btn.active{color:var(--text)}.day-short{font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:.1em;font-weight:700}.day-type-dot{width:8px;height:8px;border-radius:50%}.day-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem}.day-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.day-detail-day{font-family:Barlow Condensed,sans-serif;font-size:1.75rem;font-weight:700}.day-detail-focus{color:var(--text-2);font-size:.875rem;margin-top:.2rem}.day-detail-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.day-type-badge{font-family:Space Mono,monospace;font-size:.625rem;letter-spacing:.1em;padding:.25rem .6rem;border-radius:var(--radius-sm);border:1px solid}.day-duration{font-size:.8rem;color:var(--text-muted)}.exercise-list{display:flex;flex-direction:column;gap:.75rem}.exercise-card{background:var(--surface-e);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .15s}.exercise-card:hover{border-color:var(--border-hover)}.exercise-card.expanded{border-color:var(--accent)}.exercise-summary{width:100%;text-align:left;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;color:inherit;cursor:pointer}.exercise-summary:hover .exercise-name{color:var(--accent)}.exercise-header{display:flex;justify-content:space-between;align-items:flex-start}.exercise-header-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.exercise-name{font-weight:600;font-size:.9375rem;margin-bottom:.2rem;transition:color .15s}.exercise-muscle{font-size:.75rem;color:var(--text-muted)}.exercise-header-text{flex:1;min-width:0}.exercise-expand-icon{font-size:.6rem;color:var(--text-muted);transition:transform .2s}.adaptation-badge{font-size:1rem;flex-shrink:0}.adaptation-description{font-size:.7rem;color:var(--accent-orange);margin-top:.2rem;font-style:italic}.exercise-rating{border-top:1px solid var(--border);padding:1rem 1.25rem;background:var(--surface);display:flex;flex-direction:column;gap:.75rem}.rating-title{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.15em;color:var(--text-muted)}.rating-buttons{display:flex;gap:.5rem}.rating-btn{flex:1;padding:.6rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-e);font-size:.8125rem;font-weight:500;color:var(--text-2);transition:all .15s;min-height:44px}.rating-btn:hover{color:var(--text);border-color:var(--border-hover)}.rating-btn.rating-for_lett:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.rating-btn.rating-passe:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#60a5fa1a}.rating-btn.rating-for_tungt:hover{border-color:var(--accent-red);color:var(--accent-red);background:#f871711a}.rating-confirmed{display:flex;flex-direction:column;gap:.5rem}.rating-done{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-2)}.rating-done strong{color:var(--text)}.rating-done-icon{width:20px;height:20px;background:#c8f65426;border:1px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--accent);flex-shrink:0}.rating-preview{font-size:.8rem;color:var(--accent);font-family:Space Mono,monospace;padding:.4rem .75rem;background:var(--accent-dim);border-radius:var(--radius-sm);border:1px solid rgba(200,246,84,.25)}.rating-change-btn{align-self:flex-start;font-size:.75rem;color:var(--text-muted);text-decoration:underline;background:none;border:none;padding:0;cursor:pointer}.rating-change-btn:hover{color:var(--text-2)}.exercise-guide{display:grid;grid-template-columns:200px 1fr;gap:1.25rem;padding:1.25rem;border-top:1px solid var(--border);background:var(--surface);animation:guideIn .2s ease}@keyframes guideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.illustration-wrapper{background:var(--surface-e);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem;color:var(--text-2);display:flex;align-items:center;justify-content:center}.illustration-wrapper svg{width:100%;height:auto}.guide-steps{display:flex;flex-direction:column;gap:.75rem}.guide-steps-title{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.15em;color:var(--accent)}.guide-step-list{display:flex;flex-direction:column;gap:.6rem;list-style:none}.guide-step-item{display:flex;gap:.75rem;align-items:flex-start}.guide-step-num{font-family:Space Mono,monospace;font-size:.65rem;font-weight:700;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}.guide-step-item span:last-child{font-size:.8375rem;color:var(--text-2);line-height:1.55}@media(max-width:600px){.exercise-guide{grid-template-columns:1fr}.illustration-wrapper{max-width:200px;margin:0 auto}}.difficulty-badge{font-size:.6rem;padding:.2rem .5rem;border-radius:var(--radius-sm);border:1px solid;font-family:Space Mono,monospace;letter-spacing:.05em;flex-shrink:0}.exercise-stats{display:flex;align-items:center;gap:0;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.ex-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:.6rem .5rem;gap:.2rem}.ex-stat-divider{width:1px;height:2rem;background:var(--border);flex-shrink:0}.ex-stat-label{font-family:Space Mono,monospace;font-size:.55rem;letter-spacing:.1em;color:var(--text-muted)}.ex-stat-value{font-family:Space Mono,monospace;font-size:.9rem;font-weight:700;color:var(--accent)}.exercise-notes{font-size:.75rem;color:var(--accent-orange);font-style:italic}.rest-card{text-align:center;padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.rest-icon{font-size:3rem}.rest-title{font-family:Barlow Condensed,sans-serif;font-size:1.75rem;font-weight:700}.rest-text{color:var(--text-2);max-width:480px}.plan-legend{display:flex;flex-wrap:wrap;gap:1rem;padding-top:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-label{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.nutrition{display:flex;flex-direction:column;gap:1.5rem}.nutrition-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:flex;align-items:center;gap:2.5rem}.nutrition-target{flex-shrink:0}.nt-label{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.25rem}.nt-value{font-family:Space Mono,monospace;font-size:3.5rem;font-weight:700;color:var(--accent);line-height:1}.nt-unit{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.macro-chips{display:flex;gap:1rem;flex-wrap:wrap}.macro-chip{border:1px solid;border-radius:var(--radius);padding:.875rem 1.25rem;min-width:110px}.macro-chip-label{display:block;font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.12em;margin-bottom:.4rem}.macro-chip-g{display:block;font-family:Space Mono,monospace;font-size:1.75rem;font-weight:700;color:var(--text);line-height:1;margin-bottom:.2rem}.macro-chip-kcal{font-size:.75rem;color:var(--text-muted)}.calorie-bar-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem}.calorie-bar-label{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-2);margin-bottom:.65rem}.calorie-bar-num{font-family:Space Mono,monospace;font-weight:700;color:var(--text)}.calorie-progress-track{height:6px;background:var(--surface-e);border-radius:999px;overflow:hidden}.calorie-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .8s ease}.meal-list{display:flex;flex-direction:column;gap:.5rem}.meal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s}.meal-card:hover,.meal-card.open{border-color:var(--border-hover)}.meal-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;gap:1rem;text-align:left;color:var(--text)}.meal-header-left{display:flex;align-items:center;gap:1rem}.meal-index{font-family:Space Mono,monospace;font-size:.75rem;color:var(--text-muted);flex-shrink:0}.meal-name{font-weight:600;font-size:.9375rem}.meal-time{font-size:.75rem;color:var(--text-muted)}.meal-header-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.meal-kcal{font-family:Space Mono,monospace;font-size:.875rem;font-weight:700;color:var(--accent)}.meal-chevron{font-size:1.25rem;color:var(--text-muted);width:20px;text-align:center}.meal-body{padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--border)}.meal-macros-row{display:flex;gap:1.25rem;margin-bottom:.875rem}.meal-macro{font-family:Space Mono,monospace;font-size:.75rem;font-weight:700}.meal-foods{display:flex;flex-direction:column;gap:.4rem}.meal-food-item{font-size:.875rem;color:var(--text-2);display:flex;align-items:flex-start;gap:.6rem}.food-bullet{color:var(--accent);flex-shrink:0;font-family:Space Mono,monospace;font-size:.7rem;margin-top:.1rem}.meal-alternatives{margin-top:1rem;padding-top:.875rem;border-top:1px dashed var(--border)}.meal-alternatives-label{font-family:Space Mono,monospace;font-size:.6875rem;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.5rem}.tips-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem}.tips-title{font-family:Space Mono,monospace;font-size:.6875rem;letter-spacing:.15em;color:var(--accent);margin-bottom:1.25rem}.tips-list{display:flex;flex-direction:column;gap:1rem}.tip-item{display:flex;gap:1rem;align-items:flex-start}.tip-num{font-family:Space Mono,monospace;font-size:.75rem;color:var(--text-muted);flex-shrink:0;margin-top:.1rem}.tip-text{font-size:.875rem;color:var(--text-2);line-height:1.6}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.level-btn{display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-e);color:var(--text-2);transition:all .15s;gap:.35rem}.level-btn:hover{border-color:var(--border-hover);color:var(--text)}.level-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.level-icon{font-size:1.5rem}.level-label{font-weight:600;font-size:.875rem}.level-desc{font-size:.7rem;opacity:.65;text-align:center}.beginner-banner{display:flex;align-items:flex-start;gap:.875rem;background:#c8f6540f;border:1px solid rgba(200,246,84,.25);border-radius:var(--radius);padding:1rem 1.25rem;font-size:.8375rem;color:var(--text-2);line-height:1.55}.beginner-banner strong{color:var(--accent)}.beginner-banner-icon{font-size:1.25rem;flex-shrink:0;margin-top:.1rem}.beginner-upgrade-hint{color:var(--accent-orange)}.week-info-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem}.week-info-left{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.week-variant-block,.week-number-block{display:flex;flex-direction:column;align-items:center;gap:.25rem}.week-variant-label,.week-number-label{font-family:Space Mono,monospace;font-size:.55rem;letter-spacing:.15em;color:var(--text-muted)}.week-variant-value{font-family:Barlow Condensed,sans-serif;font-size:3rem;font-weight:900;line-height:1;color:var(--accent)}.week-number-value{font-family:Space Mono,monospace;font-size:1.5rem;font-weight:700;line-height:1;color:var(--text)}.week-info-divider{width:1px;height:3rem;background:var(--border);flex-shrink:0}.week-info-right{display:flex;flex-direction:column;gap:.5rem}.phase-badge{display:inline-block;font-family:Space Mono,monospace;font-size:.625rem;letter-spacing:.12em;padding:.2rem .6rem;border-radius:var(--radius-sm);border:1px solid;align-self:flex-start}.phase-description{font-size:.8375rem;color:var(--text-2);line-height:1.5}.phase-timeline{display:flex;gap:.5rem}.phase-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .25rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);transition:all .15s}.phase-step.active{background:var(--surface-e)}.phase-step-num{font-family:Space Mono,monospace;font-size:.65rem}.phase-step-label{font-size:.6rem;letter-spacing:.08em;text-align:center}.meal-selector{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.meal-selector-label{font-family:Space Mono,monospace;font-size:.625rem;letter-spacing:.15em;color:var(--text-muted)}.meal-selector-chips{display:flex;flex-wrap:wrap;gap:.5rem}.meal-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .875rem;border-radius:999px;border:1px solid var(--border-hover);background:var(--surface-e);color:var(--text-muted);font-size:.8125rem;transition:all .15s}.meal-chip:hover{border-color:var(--accent);color:var(--text)}.meal-chip.active{border-color:var(--accent);background:var(--accent-dim);color:var(--text);font-weight:500}.meal-chip-check{font-size:.65rem;color:var(--accent)}.meal-selector-note{font-size:.75rem;color:var(--accent-orange);margin-top:.1rem}@media(max-width:900px){.metrics-grid{grid-template-columns:1fr 1fr}.calorie-target-card{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.nutrition-summary{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.app-header{padding:0 1rem;gap:.5rem;height:54px}.app-nav,.header-logout-btn{display:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#09090bf5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:.375rem 0 max(.375rem,env(safe-area-inset-bottom))}.bottom-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .25rem;color:var(--text-muted);font-size:.6rem;letter-spacing:.06em;min-height:48px;transition:color .15s}.bottom-nav-btn.active{color:var(--accent)}.bottom-nav-btn svg{width:20px;height:20px}.app-main{padding:1.25rem 1rem 5.5rem}.app-footer{display:none}.modal{padding:1.5rem 1.25rem;margin:0;border-radius:16px 16px 0 0}.modal-overlay{align-items:flex-end;padding:0}.modal-title{font-size:1.6rem}.form-grid{grid-template-columns:1fr}.form-full{grid-column:1}.activity-grid{grid-template-columns:repeat(3,1fr)}.goal-grid{grid-template-columns:1fr}.level-grid{grid-template-columns:1fr;gap:.5rem}.level-btn{flex-direction:row;justify-content:flex-start;gap:.75rem;padding:.75rem 1rem}.level-desc{display:none}.dash-hero{flex-direction:column;gap:.75rem}.dash-name{font-size:2.75rem}.metrics-grid{grid-template-columns:1fr}.calorie-value{font-size:3rem}.info-grid{grid-template-columns:1fr 1fr}.macro-chips{flex-direction:row;flex-wrap:wrap}.macro-chip{flex:1;min-width:120px}.week-grid{display:flex;overflow-x:auto;gap:.4rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.week-grid::-webkit-scrollbar{display:none}.day-btn{flex-shrink:0;width:52px}.week-info-banner{flex-direction:column;gap:1rem}.week-info-left{width:100%}.week-info-divider{display:none}.phase-timeline{overflow-x:auto}.phase-step-label{font-size:.5rem}.day-detail-header{flex-direction:column;gap:.75rem}.day-detail-meta{flex-direction:row;align-items:center}.beginner-banner{font-size:.8rem}.nutrition-summary{gap:1rem}.macro-chip-g{font-size:1.35rem}.meal-header{padding:.875rem 1rem}.meal-body{padding:0 1rem 1rem}.tips-section{padding:1.25rem 1rem}}
