:root{--bg:#050d1d;--card:#0b1d3a;--card2:#10284d;--text:#f8fafc;--muted:#9db2d3;--line:#274b7d;--blue:#2583ff;--cyan:#2dd4ff;--green:#22c55e;--orange:#fb923c;--red:#ef4444;--shadow:0 18px 45px rgba(0,0,0,.25)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;padding-bottom:90px;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:radial-gradient(circle at 85% 0,rgba(37,131,255,.2),transparent 28rem),linear-gradient(180deg,#050d1d,#07152d 55%,#061127)}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px max(16px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(255,255,255,.08);background:rgba(5,13,29,.9);backdrop-filter:blur(18px)}.topbar h1{display:inline;margin:0 8px;font-size:25px}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.version{padding:4px 8px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--cyan));font-weight:800}.cloud{border:1px solid var(--line);background:rgba(16,40,77,.8);color:#dceaff;padding:9px 12px;border-radius:999px}main{width:min(1180px,calc(100% - 26px));margin:16px auto}.page{display:none}.page.active{display:block}.card{margin-bottom:15px;padding:19px;border:1px solid var(--line);border-radius:21px;background:linear-gradient(145deg,rgba(15,39,75,.98),rgba(7,24,51,.98));box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:1.5fr .5fr;gap:20px;align-items:center;min-height:240px;background:radial-gradient(circle at 85% 30%,rgba(45,212,255,.16),transparent 15rem),linear-gradient(135deg,#0b2250,#08152d)}.hero h2{margin:8px 0;font-size:42px}.hero p{max-width:650px;color:#c6d6ef}.eyebrow{color:#67c5ff;font-size:13px;font-weight:800;letter-spacing:.12em}.row{display:flex;gap:10px;align-items:center;margin-top:14px}.row.wrap{flex-wrap:wrap}.primary,.secondary,.ghost,.danger{padding:11px 16px;border-radius:12px;font-weight:750}.primary{border:0;color:#fff;background:linear-gradient(135deg,#1671ef,#299aff);box-shadow:0 8px 22px rgba(38,131,255,.28)}.secondary{border:1px solid #2b5d9e;color:#e2eeff;background:#102c57}.ghost{border:1px solid #355c91;color:#dceaff;background:transparent}.danger{border:1px solid #7f1d1d;color:#fecaca;background:#3b1119}.wide{width:100%;margin-top:13px}.link{border:0;background:transparent;color:#6fc7ff}.ring{position:relative;width:158px;height:158px;margin:auto;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--cyan) 0deg,#15325c 0deg)}.ring:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#091a35}.ring b,.ring span{z-index:1}.ring b{font-size:31px}.ring span{color:var(--muted);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px}.metric{margin:0;min-height:122px}.metric span,.metric small{color:var(--muted)}.metric b{display:inline-block;margin:15px 5px 0 0;font-size:30px}.head,.title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.head h2,.title h2{margin:4px 0}.head p{margin:4px 0;color:var(--muted)}.title{margin:18px 3px 13px}.advice{display:grid;gap:10px}.advice-item{display:flex;gap:12px;padding:13px;border:1px solid #1f4275;border-radius:14px;background:#081a36}.advice-item i{font-style:normal;font-size:22px}.advice-item b{display:block;margin-bottom:4px}.advice-item p{margin:0;color:#bdcde6;line-height:1.55}.note{color:#879dbf;font-size:12px}.progress-grid,.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.progress-card,.achievement{padding:13px;border:1px solid #285287;border-radius:14px;background:#081b39}.progress-card h3,.achievement h3{margin:0 0 7px}.up{color:#4ade80}.hold{color:#facc15}.down{color:#fb7185}.form{display:grid;gap:11px;margin-bottom:11px}.form.two{grid-template-columns:repeat(2,1fr)}.form.three{grid-template-columns:repeat(3,1fr)}.form.four{grid-template-columns:2fr 1fr 1fr 1.3fr}label{display:block;color:#bed0e9;font-size:13px}input,select,textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #2b4d7c;border-radius:11px;outline:none;color:white;background:#07172f}input:focus,select:focus,textarea:focus{border-color:#2aa7ff;box-shadow:0 0 0 3px rgba(42,167,255,.12)}textarea{min-height:88px;resize:vertical}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-day{min-height:90px;padding:9px;border:1px solid #285185;border-radius:12px;background:#07182f}.cal-day b,.cal-day span{display:block}.cal-day b{color:#6fc7ff}.cal-day span{margin-top:8px;font-size:12px}.cal-day.done{border-color:#1e9d57;background:#0b2a2a}.cal-day.today{box-shadow:0 0 0 2px var(--cyan) inset}.exercise{margin:12px 0;padding:14px;border:1px solid #28518a;border-radius:16px;background:#081a35}.exercise-top{display:grid;grid-template-columns:1fr 120px 120px auto;gap:8px;align-items:end}.remove{padding:10px;border:0;border-radius:10px;color:#fecdd3;background:#3b1622}.sets{width:100%;margin-top:11px;border-collapse:collapse}.sets th,.sets td{padding:7px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.sets input{margin:0}.sets button{border:0;background:transparent;color:#67c5ff}.timeline{display:grid;gap:11px}.timeline-item{padding:12px 14px;border-left:3px solid var(--blue);border-radius:0 13px 13px 0;background:#081a35}.timeline-item h3{margin:0 0 5px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.chip{padding:7px 10px;border:1px solid #2b568f;border-radius:999px;background:#102c57;font-size:12px}.chip button{border:0;background:transparent;color:#fb7185}.recommend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.recommend-card{padding:12px;border:1px solid #275086;border-radius:13px;background:#081a35}.toolbar{display:grid;grid-template-columns:1fr 190px;gap:10px}.recipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:15px}.recipe{overflow:hidden;border:1px solid #214777;border-radius:20px;background:#0a1c39}.recipe img{width:100%;display:block;aspect-ratio:1.61;object-fit:cover}.recipe-body{padding:14px}.recipe h3{margin:4px 0 7px}.recipe-meta{display:flex;gap:12px;color:#9db2d3;font-size:12px}.week-plan{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:12px 0}.day{padding:9px;border:1px solid #28518a;border-radius:12px;background:#07182f;font-size:12px}.day b{display:block;margin-bottom:6px;color:#67c5ff}.day span{display:block;margin:4px 0}.shopping{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shop-cat{padding:12px;border:1px solid #244a7c;border-radius:14px;background:#081a35}.shop-cat h3{margin:0 0 9px;color:#67c5ff}.check{display:flex;align-items:center;gap:8px;margin:8px 0}.check input{width:auto;margin:0}.segment{display:inline-flex;margin-bottom:14px;padding:4px;border:1px solid #284b78;border-radius:12px;background:#07172f}.segment button{padding:9px 18px;border:0;border-radius:9px;color:#9eb6d8;background:transparent}.segment button.active{color:#fff;background:#185fca}.charts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:17px}.charts canvas{width:100%;border-radius:14px;background:#07172f}.table{overflow:auto}.data-table{width:100%;min-width:680px;border-collapse:collapse}.data-table th,.data-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.data-table th{color:#8fb5e7;font-size:12px}.privacy{padding:12px;border:1px solid #24518b;border-radius:12px;color:#bdd1ed;background:#071a36}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo{overflow:hidden;border:1px solid #284e82;border-radius:18px;background:#091a35}.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.photo div{padding:12px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:repeat(6,1fr);padding:7px max(5px,calc((100vw - 900px)/2)) calc(7px + env(safe-area-inset-bottom));border-top:1px solid #1d3c69;background:rgba(4,12,27,.95);backdrop-filter:blur(18px)}.nav button{padding:7px 3px;border:0;border-radius:12px;color:#7f98bb;background:transparent;font-size:11px}.nav button span{display:block;margin-bottom:2px;font-size:18px}.nav button.active{color:#fff;background:#11366b}.timer{position:fixed;right:18px;bottom:95px;z-index:120;width:250px;padding:14px;border:1px solid #2f64a5;border-radius:17px;background:#071a36;box-shadow:var(--shadow)}.timer b,.timer span{display:block;text-align:center}.timer span{margin:6px 0;font-size:39px;font-variant-numeric:tabular-nums}.modal{position:fixed;inset:0;z-index:1000}.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-body{position:relative;width:min(920px,calc(100% - 22px));max-height:92vh;margin:4vh auto;overflow:auto;border:1px solid #315d98;border-radius:22px;background:#091a35}.close{position:sticky;top:10px;float:right;z-index:5;width:42px;height:42px;margin:10px;border:0;border-radius:50%;color:white;background:#172f57;font-size:25px}.detail-hero img{width:100%;display:block}.detail-content{padding:22px}.detail-content h1{margin:0 0 8px}.ingredients{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ingredient{display:flex;justify-content:space-between;padding:9px;border-bottom:1px dashed #30517e}.step-list{display:grid;gap:13px;padding:0;counter-reset:s}.step{position:relative;overflow:hidden;padding:0;border:1px solid #244a7d;border-radius:15px;background:#07182f;counter-increment:s}.step img{width:100%;display:block;aspect-ratio:1.8;object-fit:cover}.step div{padding:14px 14px 14px 55px;line-height:1.7}.step div:before{content:counter(s);position:absolute;left:15px;bottom:18px;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#1473e6;font-weight:800}.beginner{display:grid;gap:12px;padding:15px;border:1px solid #2f64a5;border-radius:15px;background:#071a36}.beginner img{width:100%;border-radius:13px}.toast{position:fixed;left:50%;bottom:100px;z-index:2000;opacity:0;pointer-events:none;transform:translateX(-50%) translateY(20px);padding:10px 16px;border-radius:999px;color:#0f172a;background:#f8fafc;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}code{color:#7dd3fc}@media(max-width:850px){.hero{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.progress-grid,.achievement-grid,.recommend,.shopping,.photo-grid{grid-template-columns:1fr 1fr}.exercise-top{grid-template-columns:1fr 1fr}.calendar{grid-template-columns:repeat(4,1fr)}.week-plan{grid-template-columns:repeat(2,1fr)}.charts{grid-template-columns:1fr}}@media(max-width:600px){body{padding-bottom:84px}.topbar{padding:13px}.topbar h1{font-size:20px}.topbar p{display:none}.cloud{font-size:11px}main{width:calc(100% - 18px);margin:10px auto}.card{padding:14px;border-radius:16px}.hero h2{font-size:32px}.metrics,.progress-grid,.achievement-grid,.form.two,.form.three,.form.four,.recommend,.recipe-grid,.shopping,.photo-grid,.toolbar{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(2,1fr)}.exercise-top{grid-template-columns:1fr}.week-plan{grid-template-columns:1fr}.ingredients{grid-template-columns:1fr}.row{flex-wrap:wrap}.nav{grid-template-columns:repeat(6,1fr);padding-left:2px;padding-right:2px}.nav button{font-size:10px}.timer{left:10px;right:10px;bottom:88px;width:auto}}


/* V4.1 完整热身模块 */
.warmup-card{border-color:#2a65a8;background:radial-gradient(circle at 92% 0%,rgba(45,212,255,.12),transparent 18rem),linear-gradient(145deg,rgba(15,43,82,.98),rgba(7,24,51,.98))}
.warmup-summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin:14px 0}.warmup-summary b{font-size:21px}.warmup-summary span{color:var(--muted)}
.warmup-progress{height:10px;overflow:hidden;border-radius:999px;background:#07152d;border:1px solid #254976}.warmup-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .25s ease}
.warmup-list{display:grid;gap:10px}.warmup-step{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid #295487;border-radius:15px;background:#071a36;transition:.18s}.warmup-step.done{border-color:#21945a;background:#0a292b}.warmup-check{display:block;position:relative}.warmup-check input{position:absolute;opacity:0;pointer-events:none}.warmup-check span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #3971b3;border-radius:50%;color:#d7e8ff;background:#102b52;font-size:15px;font-weight:800}.warmup-step.done .warmup-check span{border-color:#22c55e;background:#15803d;color:white}.warmup-copy h3{margin:0 0 5px;font-size:16px}.warmup-copy p{margin:0;color:#afc2df;line-height:1.55}.warmup-timer{white-space:nowrap}.warmup-weight{display:grid;grid-template-columns:minmax(180px,290px) 1fr;align-items:end;gap:10px;margin-top:10px;padding:10px;border-radius:11px;background:#06152d}.warmup-weight input{padding:8px 10px}.warmup-weight b{padding-bottom:9px;color:#67d5ff}.warmup-alert{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px;border:1px solid #684044;border-radius:12px;background:#29151d;color:#fecdd3}.warmup-alert input{width:auto;margin:0}.stop-warning{margin-top:9px;padding:12px;border:1px solid #b91c1c;border-radius:12px;background:#3d1119;color:#fecaca;line-height:1.55}.timeline-meta{color:#78bfff;font-size:12px}
@media(max-width:650px){.warmup-step{grid-template-columns:42px 1fr}.warmup-timer{grid-column:2;width:100%}.warmup-weight{grid-template-columns:1fr}.warmup-weight b{padding-bottom:0}.warmup-summary{grid-template-columns:1fr}.warmup-card .head{display:grid}.warmup-card .head button{width:100%}}
