
:root { color-scheme:dark; --bg:#071519; --surface:#10262a; --surface2:#143034; --line:#26464a; --ink:#e8f7f4; --muted:#9eb9b6; --accent:#6ce0bd; --accent2:#aaf4df; --warn:#f9c783; --danger:#ff9b9b; --radius:20px; }
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;background:radial-gradient(ellipse at top left,#18413d 0,transparent 450px),var(--bg);color:var(--ink);line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}input,select,textarea{min-width:0;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px #6ce0bd26}::placeholder{color:#779491}
.shell{max-width:820px;margin:0 auto;padding:18px 16px 112px}.top{display:flex;justify-content:space-between;gap:12px;align-items:start;margin:4px 0 22px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:800}.brand{font-size:30px;font-weight:850;letter-spacing:-.03em;line-height:1.2;margin:7px 0}.sub{font-size:13px;color:var(--muted);max-width:480px;margin:7px 0 0}.pill{display:inline-block;white-space:nowrap;border:1px solid #468375;color:var(--accent2);background:#15352e;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:700}.panel,.exercise,.empty,.insight{background:linear-gradient(155deg,#122b2e,#102327);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 9px 30px #0002}.panel{padding:16px;margin:12px 0}.sectionbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0 10px}.sectionbar h2{font-size:18px;line-height:1.25;margin:0;letter-spacing:-.02em}.count{font-size:12px;color:var(--muted)}.datebar{display:flex;align-items:center;gap:9px}.datebar input{flex:1}.control,input[type=date],input[type=text],input[type=number],select,textarea{background:#0a1e22;border:1px solid #365258;color:var(--ink);border-radius:12px;padding:11px 12px;width:100%;font-size:15px}select{appearance:auto}.btn{border:1px solid #3b625e;background:#193936;color:var(--ink);border-radius:12px;padding:10px 13px;font-weight:750;font-size:13px;display:inline-flex;justify-content:center;align-items:center;gap:6px}.btn.primary{background:var(--accent);color:#08352c;border-color:var(--accent)}.btn.ghost{background:transparent;color:var(--accent2)}.btn.warn{color:var(--danger);border-color:#644e51;background:#2e2229}.btn.small{padding:6px 9px;border-radius:10px;font-size:12px}.btn:active{transform:scale(.985)}.flex{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:10px}.tiny{font-size:12px;color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.stat{padding:13px;background:#0b2024;border-radius:14px;border:1px solid #29484a}.stat strong{display:block;font-size:23px;letter-spacing:-.03em;line-height:1.2}.stat span{font-size:11px;color:var(--muted)}.exercise{padding:15px;margin:10px 0}.exercise-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ex-name{font-size:17px;font-weight:800}.ex-sub{font-size:11px;color:var(--muted);margin-top:2px}.sets{margin:13px 0}.set-head,.set-row{display:grid;grid-template-columns:38px minmax(75px,1fr) minmax(69px,1fr) 110px;gap:8px;align-items:center}.set-head{font-size:11px;color:var(--muted);padding:0 3px 5px}.set-row{margin:7px 0}.set-actions{display:flex;gap:4px;justify-content:flex-end;min-width:0}.set-row input{padding:9px 10px;font-size:15px;text-align:center;border-radius:10px}.set-label{font-size:13px;color:var(--accent2);font-weight:750;text-align:center}.icon{width:32px;height:36px;border:1px solid #365258;border-radius:9px;background:#0e2327;color:#b6ccca}.effort-options{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.effort-option{position:relative;cursor:pointer}.field .effort-option{margin:0;color:var(--ink);font-size:14px}.effort-option input{position:absolute;opacity:0;width:1px;height:1px}.effort-option span{display:block;padding:8px 12px;border:1px solid #365258;border-radius:10px;background:#0a1e22}.effort-option input:checked+span{background:var(--accent);border-color:var(--accent);color:#08352c;font-weight:750}.effort-option input:focus-visible+span{outline:2px solid var(--accent2);outline-offset:3px}.two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field label{font-size:12px;color:var(--muted);display:block;margin:0 0 5px}.field textarea{resize:vertical;min-height:53px}.mutedline{font-size:12px;color:var(--muted);margin:9px 0}.empty{padding:30px 18px;text-align:center;color:var(--muted)}.empty strong{color:var(--ink);display:block;font-size:16px;margin-bottom:4px}.addbox{padding:14px;background:#133034;border:1px dashed #4e817b;border-radius:18px;margin:12px 0}.addbox select,.addbox input{margin:6px 0}.addbox .btn{margin-top:8px}.savehint{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--accent2)}.dot{background:var(--accent);border-radius:99px;width:7px;height:7px}.footnav{position:fixed;bottom:0;left:0;right:0;z-index:3;background:#0a1e21ee;backdrop-filter:blur(14px);border-top:1px solid #32504d;padding:8px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.navinner{max-width:820px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.tab{border:0;background:transparent;color:var(--muted);font-weight:750;border-radius:12px;padding:8px 2px;font-size:12px}.tab.active{color:#0a3028;background:var(--accent)}.tab span{display:block;font-size:19px;line-height:1.2}.history{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 15px;margin:9px 0;background:#11272b;border:1px solid var(--line);border-radius:16px}.history .day{font-size:16px;font-weight:800}.history .meta{font-size:12px;color:var(--muted)}.history .btn{flex-shrink:0}.insight{padding:17px}.plot{width:100%;height:auto;max-height:285px;display:block}.legend{margin-top:10px;font-size:12px;color:var(--muted)}.empty-chart{background:#0b1f22;border-radius:13px;padding:26px 14px;text-align:center;color:var(--muted);font-size:13px}.note{padding:12px;border:1px solid #536049;background:#272b1e;border-radius:13px;color:#e9dfb0;font-size:12px;margin:12px 0}.manage{padding:12px 0;border-bottom:1px solid var(--line)}.manage:last-child{border-bottom:0}.hide{display:none!important}.tag{font-size:11px;background:#163d38;color:var(--accent);padding:3px 8px;border-radius:99px}.footer-note{font-size:12px;color:var(--muted);padding:8px 1px}.toast{position:fixed;left:50%;bottom:87px;transform:translateX(-50%);background:#d5ffec;color:#123c30;padding:9px 15px;border-radius:99px;font-size:12px;font-weight:800;box-shadow:0 12px 40px #0008;z-index:10;max-width:92vw;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}.rowline{height:1px;background:var(--line);margin:13px 0}button[disabled]{opacity:.5;cursor:not-allowed}
@media(min-width:640px){.shell{padding:28px 26px 120px}.top{margin-bottom:26px}.brand{font-size:36px}.exercise{padding:20px}.panel{padding:20px}.stats{gap:12px}.stat{padding:17px}.two{gap:14px}}@media(max-width:360px){.shell{padding:15px 11px 105px}.brand{font-size:27px}.exercise{padding:12px}.set-head,.set-row{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr);gap:6px}.stat strong{font-size:19px}.datebar{flex-wrap:wrap}}
@media(max-width:639px){
/* 手机端：组号、重量、次数、三枚操作按钮同一行 */
.set-head,.set-row{grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 104px;gap:5px;min-width:0}
.set-head>span:last-child{display:none}
.set-row input{min-width:0;width:100%;box-sizing:border-box;padding:9px 2px;font-size:14px}
.set-actions{grid-column:4;display:flex;justify-content:flex-end;gap:3px;min-width:0;margin:0}
.set-actions .icon{width:32px;min-width:0;height:36px;flex:0 0 32px}
.set-row{padding-bottom:8px;border-bottom:1px solid #29464a}
}
@media(max-width:360px){
.set-head,.set-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 92px;gap:3px}
.set-actions{gap:2px}
.set-actions .icon{width:29px;flex-basis:29px}
}
