*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#08080d;--surface:#101018;--card:#161622;--card2:#1c1c2c;--border:#252538;--text:#e8e8f0;--dim:#7a7a95;--accent:#7c6cf0;--accent2:#a8a0ff;--green:#2ecc71;--green-dim:rgba(46,204,113,.12);--orange:#f0a500;--orange-dim:rgba(240,165,0,.12);--red:#e74c3c;--red-dim:rgba(231,76,60,.12);--blue:#3498db;--blue-dim:rgba(52,152,219,.12);--purple-dim:rgba(124,108,240,.1);--radius:14px;--font:'Inter',system-ui,sans-serif;--font-head:'Outfit',system-ui,sans-serif}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
.wrap{max-width:1000px;margin:0 auto;padding:1rem}

/* Header */
.hero{text-align:center;padding:3rem 1rem 2rem;position:relative}
.hero::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:400px;height:400px;background:radial-gradient(circle,rgba(124,108,240,.08),transparent 70%);pointer-events:none;z-index:0}
.hero h1{font-family:var(--font-head);font-size:2.4rem;font-weight:800;background:linear-gradient(135deg,var(--accent2),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative;z-index:1}
.hero .sub{color:var(--dim);margin-top:.5rem;font-size:.95rem;position:relative;z-index:1}
.badges{display:flex;justify-content:center;gap:.6rem;margin-top:1.2rem;flex-wrap:wrap;position:relative;z-index:1}
.badge{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.5rem 1.2rem;font-size:.85rem;font-weight:600}
.badge.cal{color:var(--orange)}.badge.pro{color:var(--green)}.badge.carb{color:var(--blue)}.badge.fat{color:var(--red)}

/* Navigation */
.nav{display:flex;gap:.4rem;padding:.5rem;background:var(--surface);border-radius:14px;border:1px solid var(--border);margin:1.5rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nav-btn{flex:1;min-width:max-content;padding:.6rem .8rem;border:none;background:transparent;color:var(--dim);border-radius:10px;cursor:pointer;font-family:var(--font);font-size:.8rem;font-weight:500;transition:all .25s;white-space:nowrap}
.nav-btn:hover{color:var(--text);background:var(--card)}
.nav-btn.active{background:var(--accent);color:#fff;font-weight:600}

/* Sections */
.section{display:none;animation:fadeIn .3s ease}
.section.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Section titles */
.sec-title{font-family:var(--font-head);font-size:1.4rem;font-weight:700;margin:1.5rem 0 .5rem;padding-left:.8rem;border-left:3px solid var(--accent)}
.sec-sub{color:var(--dim);font-size:.85rem;margin-bottom:1.2rem;padding-left:.8rem}

/* Meal cards */
.meals{display:grid;gap:.8rem}
.meal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;transition:border-color .2s}
.meal:hover{border-color:var(--accent)}
.meal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.4rem}
.meal-name{font-weight:600;font-size:1rem}
.meal-time{font-size:.65rem;text-transform:uppercase;letter-spacing:.8px;color:var(--dim);background:var(--surface);padding:3px 8px;border-radius:6px}
.macros{display:flex;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}
.m{font-size:.7rem;padding:2px 7px;border-radius:5px;font-weight:500}
.m-cal{background:var(--orange-dim);color:var(--orange)}
.m-pro{background:var(--green-dim);color:var(--green)}
.m-carb{background:var(--blue-dim);color:var(--blue)}
.m-fat{background:var(--red-dim);color:var(--red)}
.items{list-style:none}
.items li{font-size:.83rem;color:var(--dim);padding:2px 0 2px 1rem;position:relative}
.items li::before{content:'•';position:absolute;left:0;color:var(--accent2)}

/* Totals bar */
.totals{background:linear-gradient(135deg,var(--purple-dim),var(--green-dim));border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-top:.8rem;display:flex;justify-content:space-around;flex-wrap:wrap;gap:.5rem}
.tot{text-align:center}
.tot-v{font-family:var(--font-head);font-weight:700;font-size:1.15rem}
.tot-l{font-size:.65rem;color:var(--dim);text-transform:uppercase;letter-spacing:.5px}

/* Info boxes */
.info-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;margin-bottom:.8rem}
.info-box h3{font-family:var(--font-head);font-size:1.05rem;margin-bottom:.6rem;color:var(--accent2)}
.info-box ul{list-style:none}
.info-box li{font-size:.83rem;color:var(--dim);padding:3px 0 3px 1.2rem;position:relative}
.info-box li::before{content:'✓';position:absolute;left:0;color:var(--green);font-size:.75rem}
.info-box.warn li::before{content:'⚠';color:var(--orange)}

/* Tables */
.tbl{width:100%;border-collapse:collapse;font-size:.83rem;margin:.5rem 0}
.tbl th{text-align:left;padding:.5rem .6rem;background:var(--surface);color:var(--dim);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}
.tbl td{padding:.45rem .6rem;border-bottom:1px solid var(--border);color:var(--dim)}
.tbl tr:hover td{color:var(--text)}
.tbl .hi{color:var(--green);font-weight:500}

/* Grid layout for info sections */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media(max-width:650px){.grid2{grid-template-columns:1fr}}

/* Footer */
.foot{text-align:center;padding:2rem 1rem;color:var(--dim);font-size:.72rem;border-top:1px solid var(--border);margin-top:2rem}

/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

@media(max-width:600px){
.hero h1{font-size:1.7rem}
.badges{gap:.4rem}
.badge{padding:.4rem .8rem;font-size:.78rem}
.nav-btn{font-size:.72rem;padding:.5rem .6rem}
.train-stats{flex-wrap:wrap}
}

/* Training Tracker */
.train-days{display:flex;gap:6px;margin-bottom:1rem;overflow-x:auto;padding-bottom:4px}
.train-day-btn{border:1px solid var(--border);background:var(--surface);color:var(--dim);cursor:pointer;padding:8px 6px;border-radius:8px;font-family:var(--font);font-weight:600;font-size:.7rem;letter-spacing:.5px;text-align:center;min-width:56px;transition:all .2s}
.train-day-btn:hover{border-color:#444;color:var(--text);background:var(--card)}
.train-day-btn.active{background:var(--card2);color:#fff;border-color:var(--day-color);box-shadow:0 0 12px rgba(var(--day-color-rgb),.25)}
.train-day-btn .tdb-icon{font-size:16px;margin-bottom:2px}

.train-header{border-radius:var(--radius);padding:1rem;margin-bottom:1rem;border:1px solid var(--border)}
.train-tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.65rem;font-weight:500;letter-spacing:1.5px;margin-bottom:4px}
.train-title{font-family:var(--font-head);font-size:1.4rem;font-weight:700;letter-spacing:1px}
.train-progress{display:flex;align-items:center;gap:10px;margin-top:10px}
.train-bar-bg{background:var(--border);border-radius:4px;height:4px;overflow:hidden;flex:1}
.train-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}
.train-pct{font-size:.75rem;font-weight:600;white-space:nowrap}

.train-stats{display:flex;gap:8px;margin-bottom:1rem}
.train-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;text-align:center;flex:1}
.train-stat-val{font-family:var(--font-head);font-weight:700;font-size:1.1rem;letter-spacing:1px}
.train-stat-lbl{font-size:.6rem;color:var(--dim);letter-spacing:1.5px;margin-top:2px}

.ex-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;align-items:flex-start;gap:12px;transition:all .2s;cursor:pointer;user-select:none}
.ex-row:hover{border-color:#333;background:var(--card)}
.ex-row.done{opacity:.4;background:var(--bg)}
.ex-row.done .ex-name{text-decoration:line-through}

.ex-check{width:22px;height:22px;border-radius:50%;border:2px solid #333;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:11px;color:transparent}
.ex-check.checked{border-color:var(--day-color);background:var(--day-color);color:#fff}

.ex-name{font-weight:600;font-size:.9rem;margin-bottom:4px;letter-spacing:.3px}
.ex-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.ex-tag{font-size:.68rem;padding:1px 7px;border-radius:4px;background:var(--card2);color:var(--dim)}
.ex-tag-load{color:var(--day-color);background:rgba(var(--day-color-rgb),.1)}
.ex-note{font-size:.75rem;color:var(--dim);line-height:1.4}

.coach-note{margin-top:1rem;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.coach-note-label{font-size:.6rem;letter-spacing:2px;color:#444;margin-bottom:4px}
.coach-note-text{font-size:.78rem;color:var(--dim);line-height:1.5}

.reset-btn{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border);color:var(--dim);padding:5px 12px;border-radius:6px;font-size:.7rem;cursor:pointer;transition:all .2s;font-family:var(--font);margin-top:.5rem}
.reset-btn:hover{border-color:var(--red);color:var(--red)}
