:root{--bg:#f2f2f7;--card:#fff;--text:#000;--muted:#3c3c439e;--faint:#3c3c434d;--line:#3c3c4333;--fill:#7878801f;--bar:#f9f9f9c7;--seg-on:#fff;--tint:#007aff;--on-tint:#fff;--green:#1f8a3b;--cyan:#0077a8;--red:#d70015;--black:#000;--btn-green:#2aa84a;--btn-cyan:#1e9cd7;--btn-red:#ff3b30;--btn-black:#1c1c1e;--on-green:#fff;--on-cyan:#fff;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--font-round:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--tabbar:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--card:#1c1c1e;--text:#fff;--muted:#ebebf59e;--faint:#ebebf54d;--line:#54545899;--fill:#7676803d;--bar:#161618c2;--seg-on:#636366;--tint:#0a84ff;--green:#30d158;--cyan:#64d2ff;--red:#ff453a;--black:#fff;--btn-green:#30d158;--btn-cyan:#64d2ff;--btn-red:#ff453a;--btn-black:#636366;--on-green:#002b0d;--on-cyan:#00283a}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:17px/1.3 var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}main{max-width:600px;padding:calc(12px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}main:has(.grid-wrap){max-width:none}h1{letter-spacing:-.02em;margin:12px 0 14px;font-size:34px;font-weight:700;line-height:1.1}h2{text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:600}p{margin:8px 0}code{font-size:.88em}.muted{color:var(--muted)}.small{font-size:13px}p.muted{font-size:15px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between}button,input,select{font:inherit;letter-spacing:inherit;color:inherit}button{background:var(--fill);color:var(--tint);cursor:pointer;touch-action:manipulation;border:0;border-radius:12px;min-height:44px;padding:0 16px;font-weight:600;transition:transform .12s,opacity .12s}button:active:not(:disabled){opacity:.75;transform:scale(.97)}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--tint);color:var(--on-tint)}button.big{border-radius:14px;width:100%;min-height:52px;margin:12px 0}button.link{background:0 0;min-height:36px;padding:0 6px;font-weight:400}button.link.danger{color:var(--red)}input,select{background:var(--fill);border:0;border-radius:12px;width:100%;min-width:0;min-height:44px;padding:0 14px}input::placeholder{color:var(--faint)}input[type=date]{appearance:none}input[type=radio]{width:24px;height:24px;min-height:0;accent-color:var(--tint);background:0 0;margin:0 6px 0 0;padding:0}input[type=file]{background:0 0;min-height:0;padding:0;font-size:15px}input[type=file]::file-selector-button{font:inherit;color:var(--tint);background:var(--fill);border:0;border-radius:12px;min-height:44px;margin-right:12px;padding:0 16px;font-weight:600}label{color:var(--muted);margin:14px 0;font-size:13px;display:block}label input{color:var(--text);margin-top:6px;font-size:17px}:focus-visible{outline:3px solid color-mix(in srgb, var(--tint) 55%, transparent);outline-offset:2px}input:focus-visible,select:focus-visible{outline-offset:0}.banner{width:100%;min-height:0;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--tint);color:var(--on-tint);border-radius:0;font-size:15px;font-weight:400;display:block}.card{background:var(--card);border-radius:20px;margin:14px 0;padding:16px;scroll-margin-top:76px}.card[hidden]{display:none}.card>.row{margin-bottom:10px}.card>.row h2{margin:0}.card[style*=--group]>h2:before,.card[style*=--group]>.row h2:before,.grid tbody th[style*=--group]:before{content:"";background:var(--group);border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 0 .5px #80808080}.start{max-width:420px;margin:0 auto;padding:24px 16px}main .start{padding:0}.session-head{z-index:2;margin:calc(-12px - env(safe-area-inset-top)) -16px 0;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:.5px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.session-head strong{font-weight:600}.head-actions{flex-wrap:nowrap;gap:4px}.head-actions button{white-space:nowrap;border-radius:999px;min-height:34px;font-size:15px}.head-actions button:not(.primary){background:0 0;padding:0 10px;font-weight:400}.picker{background:var(--fill) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M1.5 6L5 2.5 8.5 6M1.5 10L5 13.5 8.5 10' fill='none' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center / 10px;letter-spacing:-.02em;appearance:none;min-height:48px;margin-bottom:8px;padding:0 40px 0 14px;font-size:20px;font-weight:600;display:block}.ex-name{letter-spacing:-.02em;font-size:22px;font-weight:700}.last{margin:4px 0 6px;font-size:15px}.last [class^=st-]{font-weight:600}.weight{grid-template-columns:60px 1fr 60px;align-items:center;gap:8px;margin:8px 0 12px;display:grid}.step{width:60px;height:60px;min-height:0;color:var(--text);font-family:var(--font-round);font-variant-numeric:tabular-nums;border-radius:50%;padding:0;font-size:18px}.weight-value{text-align:center;line-height:1}.weight-value input{text-align:center;font-family:var(--font-round);letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:0 0;min-height:68px;padding:0;font-size:64px;font-weight:700}.weight-value .small{font-weight:600}.note{margin-bottom:12px}.statuses{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.status{background:var(--c);color:#fff;letter-spacing:-.02em;border-radius:14px;min-height:56px;padding:0 2px;font-size:15px}.bg-red{--c:var(--btn-red)}.bg-black{--c:var(--btn-black)}.bg-cyan{--c:var(--btn-cyan);color:var(--on-cyan)}.bg-green{--c:var(--btn-green);color:var(--on-green)}.status.dim{opacity:.28}.status.on{box-shadow:0 0 0 2px var(--card), 0 0 0 4.5px var(--c)}.skip{color:var(--muted);background:0 0;width:100%;min-height:40px;margin-top:6px;font-size:15px;font-weight:400}.skip.on{color:var(--text);font-weight:600}.pager{left:0;right:0;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));z-index:3;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:8px max(16px,50% - 284px);font-size:15px;display:grid;position:fixed}.pager button{border-radius:14px;min-height:48px}.single{padding-bottom:64px}.st-green{color:var(--green)}.st-cyan{color:var(--cyan)}.st-red{color:var(--red)}.st-black{color:var(--black)}.st-skip{color:var(--muted)}.seg{background:var(--fill);border-radius:9px;padding:2px;display:flex}.seg button{min-height:30px;color:var(--text);background:0 0;border-radius:7px;padding:0 18px;font-size:13px;font-weight:500}.seg .on{background:var(--seg-on);font-weight:600;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.entries{margin:0;padding:0;list-style:none}.entries li{border-top:.5px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:16px;display:flex}.entries li span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.card h2 .muted{text-transform:none;letter-spacing:0;font-weight:400}.grid-wrap{background:var(--card);border-radius:16px;max-height:calc(100vh - 200px);overflow:auto}.grid{border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.grid th,.grid td{border-bottom:.5px solid var(--line);text-align:center;text-overflow:ellipsis;max-width:180px;padding:8px 12px;font-weight:600;overflow:hidden}.grid thead th{background:var(--card);z-index:1;position:sticky;top:0}.grid th:first-child{background:var(--card);text-align:left;z-index:2;border-right:.5px solid var(--line);font-weight:500;position:sticky;left:0}.grid .link{color:var(--tint);min-height:0;padding:0;font-weight:600}.ex-row{border-top:.5px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;display:grid}.ex-row.has-pick{grid-template-columns:auto minmax(0,1fr) auto}.ex-row.new{border:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px;padding-top:0}.ex-row>input:not([type=radio]){font-weight:600}.ex-row.new>input{font-weight:400}.ex-fields{grid-column:1/-1;gap:14px;display:flex}.ex-fields label{align-items:center;gap:8px;margin:0;display:flex}.ex-fields label:first-child{flex:1;min-width:0}.ex-fields input{min-height:38px;margin:0;font-size:15px}.ex-fields .num{width:60px}.ex-row.archived input{opacity:.4}.ex-row .num,.add-ex .num{text-align:center;padding:0 4px}.add-link{min-height:36px;padding:0;font-size:15px}.ex-row+.add-link{border-top:.5px solid var(--line);text-align:left;border-radius:0;width:100%;min-height:46px;padding-top:10px;display:block}.add-ex{border-top:.5px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:8px;padding-top:12px;display:grid}.add-ex label{align-items:center;gap:8px;margin:0;display:flex}.add-ex label input{width:60px;margin:0}.swatch{cursor:pointer;background:0 0;border-radius:50%;width:30px;height:30px;min-height:0;padding:0;overflow:hidden}.swatch::-webkit-color-swatch-wrapper{padding:0}.swatch::-webkit-color-swatch{border:.5px solid var(--line);border-radius:50%}.swatch::-moz-color-swatch{border:.5px solid var(--line);border-radius:50%}nav{z-index:3;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}nav button{height:var(--tabbar);min-height:0;color:var(--muted);letter-spacing:.01em;background:0 0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 0 4px;font-size:10px;font-weight:500;display:flex;position:relative}nav button.on{color:var(--tint)}nav svg{width:25px;height:25px}.dot{background:var(--btn-red);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:calc(50% + 8px)}@media (prefers-reduced-motion:reduce){button{transition:none}}
