:root{color-scheme:dark;--bg:#101016;--panel:#1b1a25;--sub:#b7b4c7;--text:#f5f3fa;--line:#3c394d;--primary:#dbc2ff;--action:#dbd0f1;--success:#a5e6bb;--rest:#b6def8;--error:#ffb4b4;--shadow:0 12px 36px #0004;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}button,input,select{font:inherit}button,summary,a{touch-action:manipulation}button{cursor:pointer;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:10px 16px;background:var(--panel);color:var(--text);font-weight:650}button:hover{border-color:var(--primary)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--rest);outline-offset:3px}a{color:var(--primary)}input,select{min-height:48px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 12px;max-width:100%}input[type=number]{font-variant-numeric:tabular-nums;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.04em;line-height:1.3}h2{font-size:1.3rem;line-height:1.45}h3{font-size:1rem}.muted{color:var(--sub)}.small{font-size:.875rem}.eyebrow{color:var(--primary);font-size:.875rem;font-weight:750;letter-spacing:.08em}.shell{max-width:1040px;margin:auto;padding:0 24px}.topbar{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}.topbar .shell{min-height:72px;display:flex;align-items:center;gap:20px}.brand{font-size:1.1rem;letter-spacing:.065em;font-weight:850}.sync{margin-left:auto;font-size:.875rem;border:0;background:transparent;min-width:115px}.sync.pending{color:var(--primary)}.sync.error{color:var(--error)}main{padding-top:32px!important;padding-bottom:130px!important;min-height:80vh}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.date{font-size:.875rem;color:var(--sub);margin-bottom:6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px}.recommend{border-top:4px solid var(--primary)}.recommend h2{font-size:2rem;margin:8px 0 10px}.recommend .reason{font-size:1rem;margin-bottom:24px;color:var(--sub)}.primary{background:var(--action);color:#21172f;border-color:var(--action);min-height:56px;font-size:1.0625rem}.wide{width:100%}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:16px}.section{margin-top:28px}.home-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;align-items:start}.preview-list{padding:0;list-style:none;margin:20px 0 24px}.preview-list li{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid var(--line)}.preview-list li:last-child{border:0}.count{color:var(--sub);white-space:nowrap}.quiet{background:transparent}.danger{color:var(--error)}details>summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}details[open]>summary{margin-bottom:12px}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setting-grid label{display:grid;gap:6px;font-size:.875rem;color:var(--sub)}.setting-grid label select{width:100%}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;border-top:1px solid var(--line);background:var(--bg);padding:8px 20px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:12px}.tabs button{width:180px;background:transparent;border-color:transparent;color:var(--sub)}.tabs button[aria-current=page]{background:var(--panel);color:var(--primary);border-color:var(--line)}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;border-bottom:1px solid var(--line)}.progress-row b{font-variant-numeric:tabular-nums}.progress-row:last-child{border:0}.work-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;align-items:start}.work-card{border-top:4px solid var(--primary)}.work-card h1{margin:10px 0 8px;font-size:clamp(1.5rem,3.5vw,2.2rem);overflow-wrap:anywhere}.previous{font-size:.9375rem;color:var(--sub);margin:12px 0 22px}.numbers{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-label{display:flex;justify-content:space-between;font-size:.875rem;color:var(--sub);margin-bottom:8px}.stepper{display:grid;grid-template-columns:48px minmax(40px,1fr) 48px;align-items:center;border:1px solid var(--line);border-radius:14px;overflow:hidden}.stepper input{width:100%;border:0;border-radius:0;min-height:72px;padding:0 2px;font-weight:800;font-size:clamp(1.5rem,3vw,2.5rem);text-align:center;background:transparent}.stepper button{border:0;background:transparent;border-radius:0;padding:0;min-height:72px;font-size:1.35rem}.effort{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.effort label{font-size:.875rem;color:var(--sub)}.effort select{width:115px}.goal{margin-left:auto;font-size:.875rem;color:var(--sub)}.work-card .primary{margin-top:6px;min-height:64px}.rest-card{margin:16px 0 24px;border:1px solid var(--rest);background:#19232c;border-radius:16px;padding:20px}.rest-card.ready{border-width:3px}.rest-top{display:flex;justify-content:space-between;align-items:center}.rest-time{font-size:2.2rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.rest-actions{display:flex;gap:8px;margin-top:16px}.rest-actions .next{flex:1;color:var(--rest)}.rest-card p{margin-top:8px}.queue{border:1px solid var(--line);border-radius:16px;overflow:hidden}.exercise-row{border-bottom:1px solid var(--line);padding:14px 16px}.exercise-row:last-child{border:0}.exercise-name{display:flex;gap:12px;justify-content:space-between;align-items:center}.exercise-name button{border:0;background:transparent;text-align:left;padding:0;min-width:0;flex:1;line-height:1.4}.set-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.set-chip{min-width:48px;min-height:48px;padding:4px 10px;font-size:.875rem;line-height:1.3}.set-chip.done{color:var(--success);border-color:#597e66}.set-chip.current{border:2px solid var(--primary)}.set-chip.skipped{text-decoration:line-through;color:var(--sub)}.exercise-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.exercise-actions button{font-size:.875rem;padding:8px 10px}.add-form{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:16px;display:grid;gap:12px}.add-form label{display:grid;gap:5px}.add-form input,.add-form select{width:100%}.history-row{margin:16px 0;border:1px solid var(--line);border-radius:16px;padding:4px 20px}.history-row summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.history-row summary span{display:block}.history-set{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.history-set button{font-size:.875rem;background:transparent;border:0;color:var(--primary);padding:4px 8px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.metric{padding:16px;border:1px solid var(--line);border-radius:14px}.metric strong{display:block;font-size:1.2rem;margin:5px 0}.metric span{font-size:.875rem;color:var(--sub)}.metric svg{width:100%;height:48px;overflow:visible}.banner{border:1px solid var(--line);padding:14px 16px;border-radius:12px;margin-bottom:20px}.banner.error{border-color:var(--error);color:var(--error)}.banner p+button{margin-top:10px}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;z-index:30;background:#343042;border:1px solid var(--primary);border-radius:14px;padding:10px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px}.toast:empty{display:none}.toast button{background:transparent;white-space:nowrap}.result-value{font-weight:850;font-size:3rem;line-height:1.2;margin:16px 0}.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:10px 5px;border-bottom:1px solid var(--line)}.edit-box{border:2px solid var(--primary);padding:20px;border-radius:14px;margin-bottom:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}progress{width:100%;height:6px;accent-color:var(--primary);margin-top:12px}.work-actions{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}.notice{margin-top:12px}.training-plan{padding:12px 0}.training-plan strong{display:block}.training-plan .small{display:block;margin-top:6px}
@media(max-width:760px){.shell{padding-left:18px;padding-right:18px}.topbar .shell{min-height:62px;gap:8px}.brand{font-size:.9375rem}.sync{font-size:.8125rem;min-width:0;padding:8px 0 8px 10px}main{padding-top:24px!important}.page-head{margin-bottom:20px}.home-layout,.work-layout{grid-template-columns:1fr;gap:22px}.card{padding:22px 18px;border-radius:18px}.home-layout aside{border-top:1px solid var(--line);padding-top:20px}.recommend h2{font-size:1.75rem}.numbers{gap:12px}.stepper{grid-template-columns:44px minmax(38px,1fr) 44px}.stepper input{font-size:1.75rem}.stepper button{min-height:64px}.goal{margin-left:0}.work-layout aside{margin-top:4px}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1}.summary-actions{grid-template-columns:1fr}.tabs{gap:6px}.tabs button{width:33.333%;padding:8px 4px}.history-row{padding:4px 14px}.history-set{flex-wrap:wrap;gap:8px}.toast{font-size:.875rem}.setting-grid{gap:10px}.page-head .inline{gap:6px}.rest-actions button{font-size:.875rem;padding:10px}.work-card .primary{position:sticky;bottom:88px;z-index:2;box-shadow:0 6px 24px #0005}}
.home-primary{display:grid;gap:20px}.week-menu h2{margin-top:4px}.week-days{display:grid;gap:10px;margin-top:18px}.week-day{border:1px solid var(--line);border-radius:14px;padding:14px}.week-day.is-recommended{border-color:var(--primary)}.week-day.is-done{opacity:.68}.week-day-head{display:flex;align-items:center;gap:8px}.week-day-head button,.week-status{margin-left:auto;min-height:38px;padding:5px 10px;font-size:.8125rem}.week-status{display:inline-flex;align-items:center;border:1px solid var(--primary);border-radius:999px;color:var(--primary)}.week-status.done{border-color:var(--line);color:var(--sub)}.week-day h3{margin:7px 0 2px}
.replace-form{border:2px solid var(--primary);margin-bottom:20px}
[hidden]{display:none!important}.toast.in-work{bottom:14px}.work-card .primary{scroll-margin-bottom:90px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#f6f5fa;--panel:#fff;--sub:#5c5769;--text:#221b2f;--line:#d2ccdf;--primary:#67439d;--action:#ded0f3;--success:#296041;--rest:#255676;--error:#a52332}.rest-card{background:#eaf4fb}.toast{background:#fff}}

@media(max-width:760px){body.training .work-card>button.primary{position:fixed;left:18px;right:18px;bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 36px);z-index:20;min-height:60px}body.training main{padding-bottom:180px!important}.rest-card{padding:14px;margin:0 0 16px}.rest-actions{margin-top:10px}.rest-time{font-size:1.8rem}.previous{margin:8px 0 16px}.page-head{margin-bottom:16px}.effort{margin:14px 0}.toast.in-work{bottom:calc(10px + env(safe-area-inset-bottom));min-height:58px}}

body.editing-set .work-card>button.primary{display:none}
