:root{--bg:#f4f5f7;--surface:#fff;--ink:#15181d;--ink2:#4a515c;--muted:#8a919c;--line:#dde1e6;--accent:#e8590c;--accent-ink:#fff;--blk-a:#e7f0ff;--blk-b:#eaf7ee;--warm:#fff4e0;--up:#1a7f37;--down:#b42318;--fig:#3b4250;--prop:#a3abb6;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--surface:#1a1e24;--ink:#eef1f5;--ink2:#b8c0cb;--muted:#7d8692;--line:#2c323b;--accent:#ff7a2e;--accent-ink:#15181d;--blk-a:#142238;--blk-b:#12291b;--warm:#2e2310;--up:#4ac26b;--down:#ff6b5e;--fig:#d5dbe3;--prop:#5d6672;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--ink);margin:0}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}input,textarea,select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);-webkit-user-select:text;user-select:text;border-radius:8px;padding:6px 8px}h1{margin:4px 0 10px;font-size:22px}.app{min-height:100dvh}.screen{min-height:100dvh;padding:calc(var(--safe-top) + 10px) 16px calc(var(--safe-bottom) + 16px);flex-direction:column;gap:10px;display:flex}.with-tabs .screen{padding-bottom:calc(var(--safe-bottom) + 72px)}.tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border:0;flex:1;padding:12px 0 10px;font-size:13px}.tabs button.active{color:var(--accent);font-weight:700}.card{background:var(--surface);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.label{color:var(--ink2);font-size:13px;font-weight:600}.hint,.muted{color:var(--muted);font-size:12px}.note{color:var(--accent);font-size:13px}.link{color:var(--accent);background:0 0;border:0;padding:4px 0;font-weight:600}.row{align-items:center;gap:8px;display:flex}.btn-primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:14px;width:100%;padding:16px;font-size:18px;font-weight:800}.btn-primary.huge{padding:22px;font-size:24px}.btn-ghost{border:1px solid var(--line);width:100%;color:var(--ink2);background:0 0;border-radius:12px;padding:12px}.btn-small{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:14px}.btn-small.warn{border-color:var(--down);color:var(--down)}.seg{gap:6px;display:flex}.seg button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:10px;flex:1;padding:12px 4px;font-weight:600}.seg button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.seg.small button{padding:8px 2px;font-size:14px}.fig-body{stroke:var(--fig);stroke-width:4.5px;stroke-linecap:round}.fig-head{fill:var(--fig)}.fig-hi{stroke:var(--accent);stroke-width:5.5px;stroke-linecap:round}.fig-hi-dot{fill:var(--accent)}.fig-prop{stroke:var(--prop);stroke-width:3px;stroke-linecap:round}.fig-prop-solid{fill:var(--prop)}.fig-cable{stroke:var(--prop);stroke-width:1.2px;stroke-dasharray:2 2}.fig-ground{stroke:var(--line);stroke-width:1px}.fig-arrow{stroke:var(--muted);stroke-width:1.5px;fill:none}.body-icon{flex:none;width:64px;height:50px}.bm{fill:var(--line)}.bm.on{fill:var(--accent)}.home{height:100dvh;min-height:0;overflow:hidden}.home-head{justify-content:space-between;align-items:center;display:flex}.home-head h1{margin:0;font-size:21px}.date{color:var(--muted);font-size:13px}.holiday{background:var(--warm);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.cards{flex:1;grid-template-columns:1fr 1fr;gap:8px;min-height:0;display:grid}.ex-card{background:var(--surface);border-radius:14px;flex-direction:column;min-height:0;padding:8px 10px;display:flex;position:relative}.ex-key{color:var(--muted);font-size:11px;font-weight:800;position:absolute;top:6px;left:8px}.ex-fig{flex:1;width:100%;min-height:40px;max-height:92px}.ex-name{font-size:13px;font-weight:700;line-height:1.2}.ex-target{font-size:19px;font-weight:800}.ex-prev{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.up{color:var(--up);margin-left:4px}.down{color:var(--down);margin-left:4px}.timeline{gap:2px;height:22px;font-size:11px;font-weight:700;display:flex}.timeline>div{color:var(--ink2);border-radius:4px;justify-content:center;align-items:center;display:flex}.tl-w,.tl-c{background:var(--warm)}.tl-A{background:var(--blk-a)}.tl-B{background:var(--blk-b)}.backup{background:var(--warm);width:100%;color:var(--ink);text-align:left;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.backup b{color:var(--accent);white-space:nowrap}.start-area{flex-direction:column;gap:6px;display:flex}.start-area .btn-ghost{padding:9px}.rest-day{color:var(--muted);margin:auto;font-size:20px}.status{text-align:center;align-items:center;padding:24px}.big-check{color:var(--up);font-size:44px}.afternoon .scale{align-items:center;gap:6px;display:flex}.afternoon .scale span{width:36px;color:var(--ink2);font-size:14px}.afternoon .scale button{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex:1;padding:12px 0;font-weight:700}.afternoon .scale button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.sheet-bg{z-index:20;background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;padding:16px 16px calc(var(--safe-bottom) + 16px);border-radius:18px 18px 0 0;flex-direction:column;gap:12px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:10px 16px}.chips button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.training{gap:6px;height:100dvh;transition:background-color .3s;overflow:hidden}.training.blk-A{background:var(--blk-a)}.training.blk-B{background:var(--blk-b)}.training.warmup,.training.cooldown{background:var(--warm)}.training.flash{animation:.7s flash}@keyframes flash{0%,40%{background:var(--accent)}to{}}.tr-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.tr-label{font-size:17px;font-weight:800}.tr-total{color:var(--ink2);font-variant-numeric:tabular-nums;font-size:13px}.tr-timer{text-align:center;font-variant-numeric:tabular-nums;font-size:84px;font-weight:800;line-height:1}.tr-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:0;display:flex}.tr-fig{flex:1;width:100%;min-height:80px;max-height:190px}.tr-name{text-align:center;font-size:22px;font-weight:800}.tr-name.big{font-size:30px}.tr-sub{color:var(--ink2);font-size:14px}.tr-next{color:var(--ink2);text-align:center;font-size:13px}.tr-controls{flex-direction:column;gap:8px;display:flex}.tr-controls.rest{align-items:stretch}.rest-msg{text-align:center;color:var(--up);padding:6px;font-size:22px;font-weight:800}.spacer{flex:1}.stepper{background:var(--surface);border-radius:14px;align-items:center;display:flex}.stepper button{width:76px;height:56px;color:var(--accent);background:0 0;border:0;font-size:30px;font-weight:700}.stepper-val{text-align:center;font-variant-numeric:tabular-nums;flex:1;font-size:26px;font-weight:800}.stepper-val small{color:var(--muted);font-size:11px;font-weight:600;display:block}.done-meta{color:var(--ink2);margin-top:-6px}.done-ex-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.done-sets{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;display:flex}.done-sets .auto{color:var(--muted)}.badge{white-space:nowrap;color:var(--ink2);font-size:13px;font-weight:700}.badge.UP{color:var(--up)}.badge.DOWN,.badge.BLANK{color:var(--down)}.tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tile{background:var(--surface);border-radius:14px;flex-direction:column;padding:12px;display:flex}.tile small{color:var(--ink2);font-size:12px}.tile b{font-size:28px}.tile span{color:var(--muted);font-size:12px}.bars{align-items:flex-end;gap:4px;height:96px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;display:flex}.bar{background:var(--accent);border-radius:4px 4px 0 0;width:60%;min-height:0}.bar-col small,.bar-n{color:var(--muted);font-size:10px}.chart{margin:0}.chart figcaption{color:var(--ink2);justify-content:space-between;font-size:13px;display:flex}.chart-val{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.chart svg{width:100%}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:10px}.chart .series{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.chart .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.sub-chart{opacity:.75;transform-origin:0 0}.session-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.session-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.btn-ghost.danger{color:var(--down);border-color:var(--down)}.log-list{color:var(--ink2);font-variant-numeric:tabular-nums;margin:0;padding-left:18px;font-size:13px}.toggle{align-items:center;gap:8px;font-size:15px;display:flex}.toggle input[type=number]{width:60px}.menu-day{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:6px 0;display:flex}.slot-row{align-items:center;gap:8px;font-size:14px;display:flex}.slot-key{width:22px;color:var(--muted);font-weight:800}.slot-name,.slot-row select{flex:1;min-width:0}.mini-step{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.mini-step button{border:1px solid var(--line);background:var(--bg);border-radius:8px;width:32px;height:32px}.ex-setting{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 0;font-size:14px;display:flex}.ex-setting b{width:100%}.ex-setting input[type=number]{width:64px;margin:0 4px}.ex-setting .memo{flex:1;min-width:100%}
