:root{--bg:#ECEFF4;--surface:#FFFFFF;--sunken:#E3E7EE;--ink:#151A26;--muted:#5D6578;--line:#D5DAE4;--accent:#1F3FD6;--accent-ink:#FFFFFF;--p-red:#D7263D;--p-blue:#1F3FD6;--p-yellow:#E8B500;--p-green:#1E9E5A;--p-grey:#8A93A6;--p-purple:#7A4FD6;--p-teal:#0F8F9C;--ok:#1E9E5A;--warn:#B26A00;--err:#D7263D;--m-胸:var(--p-red);--m-背中:var(--p-blue);--m-脚:var(--p-yellow);--m-肩:var(--p-green);--m-腕:var(--p-purple);--m-体幹:var(--p-teal);--m-有酸素:var(--p-grey);--m-その他:var(--p-grey);--f-display:"Dela Gothic One","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;--f-body:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;--tabbar:64px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg:#0E121B;--surface:#171C28;--sunken:#11151F;--ink:#EDF0F6;--muted:#9AA3B5;--line:#2A3142;--accent:#6F86FF;--accent-ink:#0E121B;--p-red:#FF5468;--p-blue:#6F86FF;--p-yellow:#F5C933;--p-green:#3CCB7F;--p-purple:#A88BFF;--p-teal:#3CC6D3;--ok:#3CCB7F;--warn:#F5B14A;--err:#FF5468;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px) + 72px)}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}h2{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin:0 0 10px}h3{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--muted);margin:14px 0 4px}p{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.err{color:var(--err);font-weight:700}.top{max-width:560px;margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:18px 14px}.top h1{font-family:var(--f-display);font-weight:400;font-size:26px;margin:0;letter-spacing:.02em}.wrap{max-width:560px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:22px}.stack-s{display:flex;flex-direction:column;gap:10px}.banner{max-width:560px;margin:0 auto 12px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:color-mix(in srgb,var(--err) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--err) 40%,transparent);border-radius:12px;padding:8px 12px;font-size:13px}.btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 14px;font-weight:700}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn:disabled{opacity:.4;cursor:default}.btn.wide{width:100%;display:flex;flex-direction:column;align-items:center}.btn.wide small{font-weight:500;color:var(--muted);font-size:12px}.btn.danger-text,.link.armed,.icon.armed,.btn.armed{color:var(--err)}.link{border:0;background:none;color:var(--muted);font-size:13px;font-weight:700;padding:4px 6px}.icon{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:32px;height:32px;padding:0 8px;font-weight:700;color:var(--muted);font-size:13px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:14px;padding:22px 16px;color:var(--muted);text-align:center;font-size:14px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--muted)}.field input,.field textarea{font-weight:400;font-size:15px}.check-row{display:flex;gap:8px;align-items:center;font-size:14px}.select{width:100%;margin-bottom:10px}.steps{margin:0;padding-left:1.3em;font-size:14px;display:flex;flex-direction:column;gap:2px}.url{font-size:13px;background:var(--sunken);padding:6px 10px;border-radius:8px;overflow-wrap:anywhere;min-width:0}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.tabbar button{border:0;background:none;height:var(--tabbar);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:700;color:var(--muted);position:relative}.tabbar button[aria-current=page]{color:var(--accent)}.live{position:absolute;top:10px;left:calc(50% + 10px);width:8px;height:8px;border-radius:50%;background:var(--p-red)}.toast{position:fixed;left:0;right:0;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px) + 12px);display:flex;justify-content:center;pointer-events:none;z-index:30;padding-inline:16px}.toast span{background:var(--ink);color:var(--bg);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;box-shadow:0 6px 20px #0003}.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;gap:6px;background:var(--surface);padding:5px;border-radius:12px;border:1px solid var(--line)}.levels button{border:0;background:transparent;padding:9px 4px;border-radius:8px;font-weight:700;font-size:14px;color:var(--muted)}.levels button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.levels small{display:block;font-weight:400;font-size:11px;opacity:.8}.roll{width:100%;border:0;border-radius:16px;background:var(--accent);color:var(--accent-ink);font-family:var(--f-display);font-size:22px;padding:18px 16px;letter-spacing:.06em;box-shadow:0 4px color-mix(in srgb,var(--accent) 60%,#000);transition:transform .08s}.roll:active{transform:translateY(3px);box-shadow:0 1px color-mix(in srgb,var(--accent) 60%,#000)}.pool{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.chip .dot{width:9px;height:9px;border-radius:50%;background:var(--c)}.chip[aria-pressed=false]{opacity:.45;text-decoration:line-through}details summary{cursor:pointer;font-size:13px;color:var(--muted);list-style:none}details summary::-webkit-details-marker{display:none}details[open] summary{margin-bottom:8px}.menu{display:flex;flex-direction:column;gap:10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px 18px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.card:before,.excard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--c)}.name{font-weight:700;font-size:16px}.card .variant{font-size:13px;color:var(--muted);grid-column:1}.card .num{grid-row:1/3;grid-column:2;text-align:right;font-family:var(--f-display);font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.card .num small{font-family:var(--f-body);font-size:13px;font-weight:700;margin-left:2px}.card .num .x{font-family:var(--f-body);font-size:13px;color:var(--muted);display:block;margin-top:4px;font-weight:500}.card .sets{grid-column:1/3;display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.set{flex:1;min-width:70px;border:1.5px dashed var(--line);background:transparent;border-radius:10px;padding:8px 4px;font-size:13px;font-weight:700;color:var(--muted)}.set[aria-pressed=true]{border:1.5px solid var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--ink)}.rolling .num{animation:jit .09s steps(2) infinite}@keyframes jit{50%{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.rolling .num{animation:none}.roll{transition:none}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.stat .k{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.stat .k .dot{width:8px;height:8px;border-radius:50%;background:var(--c)}.stat .v{font-family:var(--f-display);font-size:22px;font-variant-numeric:tabular-nums}.stat .v small{font-family:var(--f-body);font-size:12px;font-weight:700;margin-left:2px}.strip{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;margin-top:10px}.strip div{aspect-ratio:1;border-radius:4px;background:var(--line);max-width:100%}.strip div.on{background:var(--accent)}.strip div.today{outline:2px solid var(--ink);outline-offset:1px}.strip-cap{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}.routine{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center;justify-content:space-between}.routine-body{min-width:0}.routine-actions{display:flex;flex-direction:column;align-items:center;gap:2px}.active-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);padding-block:6px 10px;margin-top:-6px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.title-input{font-family:var(--f-display);font-size:20px;border:0;background:transparent;padding:2px 0;width:100%}.active-meta{display:flex;align-items:center;gap:12px}.active-meta .btn{margin-left:auto;padding:8px 20px}.clock{font-family:var(--f-display);font-size:20px;font-variant-numeric:tabular-nums}.excard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 12px 8px 18px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px}.excard-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.excard-tools{display:flex;gap:6px;flex-shrink:0}.sets-grid{display:grid;gap:6px 6px;align-items:center}.sets-grid.cols-2{grid-template-columns:40px minmax(0,1fr) minmax(0,72px) minmax(0,60px) 44px}.sets-grid.cols-1{grid-template-columns:40px minmax(0,1fr) minmax(0,90px) 44px}.gh{font-size:11px;font-weight:700;color:var(--muted);text-align:center}.settype{height:36px;border-radius:8px;border:1px solid var(--line);background:var(--sunken);font-weight:700;font-variant-numeric:tabular-nums}.settype.t-warmup{color:var(--warn)}.settype.t-drop{color:var(--p-purple)}.settype.t-failure{color:var(--err)}.prev{font-size:12px;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.num-in{height:36px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700;padding:4px;width:100%;-moz-appearance:textfield}.num-in::-webkit-outer-spin-button,.num-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num-in::placeholder{color:var(--muted);opacity:.6;font-weight:500}.num-in.done{background:color-mix(in srgb,var(--ok) 14%,var(--surface));border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}.check{height:36px;border-radius:8px;border:1.5px solid var(--line);background:var(--surface);color:var(--muted);font-weight:700;font-size:16px}.check.on{background:var(--ok);border-color:var(--ok);color:#fff}.set-tools{display:flex;gap:4px}.restbar{position:fixed;left:0;right:0;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px));z-index:15;display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);overflow:hidden;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.restbar-fill{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 45%,transparent);transition:width 1s linear;z-index:-1}.restbar{isolation:isolate}.rest-label{font-size:12px;font-weight:700;opacity:.8}.rest-time{font-family:var(--f-display);font-size:22px;font-variant-numeric:tabular-nums;margin-right:auto}.restbar button{border:1px solid color-mix(in srgb,var(--bg) 40%,transparent);background:transparent;color:var(--bg);border-radius:8px;padding:6px 10px;font-weight:700;font-size:13px}.sheet{position:fixed;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.sheet-head{display:flex;gap:8px;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--line)}.sheet-head .search{flex:1}.sheet-body{flex:1;overflow-y:auto;padding-block:8px 32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));max-width:592px;width:100%;margin:0 auto}.pick{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:12px 4px;text-align:left;font-size:15px}.pick.new{color:var(--accent);font-weight:700}.weeks{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:110px;margin-top:12px;grid-template-rows:1fr auto}.week{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:2px;font-size:10px;color:var(--muted)}.week-bar{width:100%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}.chart-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px}.chart{width:100%;height:auto;display:block;margin-top:6px}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--muted);font-size:10px;font-family:var(--f-body)}.chart .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.chart .dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.5}.chart .dot.last{fill:var(--accent)}.pr-row{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;margin-top:6px}.wcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.wcard-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.wcard-foot{display:flex;justify-content:flex-end;margin-top:-4px}.badge{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.badge.s-gym{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.badge.s-home{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge.s-ai{color:var(--p-purple);border-color:color-mix(in srgb,var(--p-purple) 40%,transparent)}.wlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.wlist li{min-width:0;overflow-wrap:anywhere}.wlist i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c);margin-right:6px;vertical-align:1px}.wlist span{color:var(--muted);font-variant-numeric:tabular-nums}
