:root{--bg:#f4f1ea;--surface:#fffdf8;--surface-2:#ece8de;--text:#17181a;--muted:#76746e;--faint:#a8a59d;--line:rgba(23,24,26,.09);--line-strong:rgba(23,24,26,.16);--accent:#c2412d;--on-accent:#fff;--flag:#c2412d;--ok:#3f9b6e;--bar-bg:rgba(244,241,234,.78);--serif:ui-serif,"New York","Iowan Old Style","Apple Garamond",Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"SF Pro Text","Segoe UI",Roboto,sans-serif;--r-lg:22px;--r-md:16px;--r-sm:12px;--gutter:20px;--tap:44px;--tabs-h:64px;--top-h:52px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--c-push:#b8521e;--c-pull:#3a3f8f;--c-legs:#c4921a;--c-upper:#9a4a2a;--c-run:#4a6b8a;--c-swim:#2f7d8c;--c-walk:#5d7d45;--c-mob:#7d5a8a;--c-bjj:#5f5e5a;--c-rest:#a8a59d;--c:var(--accent);color-scheme:light dark;--ink:var(--text);--rock:var(--muted);--ground:var(--bg)}@media (prefers-color-scheme:dark){:root{--bg:#0f1012;--surface:#18191c;--surface-2:#222327;--text:#edeae3;--muted:#96948e;--faint:#65645f;--line:rgba(237,234,227,.08);--line-strong:rgba(237,234,227,.16);--accent:#e0644f;--on-accent:#0f1012;--flag:#e0644f;--bar-bg:rgba(15,16,18,.74);--c-push:#d9733f;--c-pull:#7b80d6;--c-legs:#e0b040;--c-upper:#c7714c;--c-run:#7fa2c4;--c-swim:#5bb0bf;--c-walk:#8fb070;--c-mob:#b48cc4;--c-bjj:#a3a19b}}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:8px}.contours{display:none}.app{max-width:560px;margin:0 auto;min-height:100dvh;padding:0 var(--gutter) calc(var(--tabs-h) + var(--safe-b) + 40px);display:flex;flex-direction:column;gap:22px}.head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;height:calc(var(--top-h) + var(--safe-t));padding:var(--safe-t) var(--gutter) 0;margin:0 calc(-1 * var(--gutter)) -6px;background:var(--bar-bg);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px)}.brand{display:inline-flex;align-items:center;gap:10px;font:600 15px/1 var(--sans);letter-spacing:.01em}.brand:before{content:"";width:18px;height:18px;border-radius:50%;background:conic-gradient(var(--c-push) 0 90deg,var(--c-pull) 0 180deg,var(--c-legs) 0 270deg,var(--c-run) 0)}.kicker{font-size:12.5px;font-weight:500;color:var(--muted)}.label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.num{font-family:var(--serif);font-weight:500;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.flag{color:var(--flag)}.row{display:flex;align-items:center;gap:10px}.between{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.stack{display:flex;flex-direction:column;gap:6px}.title{font:500 40px/1.08 var(--serif);letter-spacing:-.015em;margin:0}.big{font:500 84px/.95 var(--serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.unit{font:400 24px/1 var(--serif);color:var(--muted)}.sec{font:500 26px/1.15 var(--serif);margin:0}.note{font-size:14px;color:var(--muted);line-height:1.45}.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:12px;text-align:left;width:100%}button.box{transition:transform .12s}button.box:active{transform:scale(.985)}.box h3{margin:0;font:500 24px/1.15 var(--serif)}.bar{height:6px;border-radius:3px;background:var(--surface-2);position:relative;overflow:hidden}.bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--accent)}.in{min-height:var(--tap);padding:0 12px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font:500 18px/1 var(--sans);font-variant-numeric:tabular-nums;width:100%;outline:0}.in::placeholder{color:var(--faint);font-weight:400}.in:focus{border-color:var(--line-strong);background:var(--surface)}.btn{min-height:var(--tap);min-width:var(--tap);padding:0 20px;border-radius:999px;border:1px solid var(--line-strong);font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .12s,opacity .15s}.btn:active{transform:scale(.97)}.btn.solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ghost{border-color:transparent;background:var(--surface-2);color:var(--text);padding:0;width:var(--tap);font-size:20px}.btn:disabled{opacity:.35;cursor:default;transform:none}.btn.wide{min-height:54px;width:100%;font-size:16px;border-radius:var(--r-md)}.btn.flagb{background:var(--flag);border-color:var(--flag);color:#fff}.link{font-size:14px;font-weight:600;color:var(--muted);min-height:var(--tap);display:inline-flex;align-items:center;text-align:left}.link:active{color:var(--text)}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--tabs-h) + var(--safe-b));padding:6px 8px var(--safe-b);background:var(--bar-bg);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);border-top:1px solid var(--line)}.tabs>div{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--tap);font-size:11px;font-weight:500;letter-spacing:.02em;color:var(--faint);transition:color .15s}.tab.on{color:var(--text)}.tab .ti{display:grid;place-items:center;width:44px;height:28px;border-radius:14px;transition:background .15s}.tab.on .ti{background:var(--surface-2)}.tab svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero{display:flex;flex-direction:column;gap:6px;padding-top:6px}.typebadge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:28px;padding:0 12px 0 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.typebadge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}.statrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.statrow>:only-child{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}.restbox .t{font:500 30px/1 var(--serif);font-variant-numeric:tabular-nums}.lifts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.lift{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--c);border-radius:var(--r-md)}.lift .nm{font-size:16.5px;font-weight:600;line-height:1.3}.lift .sr{font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.lift .warm{font-size:13px;color:var(--muted)}.lift .try{font-weight:600;color:var(--c);font-size:13.5px;text-align:right;white-space:nowrap}.lift .need{font-size:13px;color:var(--flag)}.lift .note{font-size:13px}.lift.done{padding:0;border-left-color:color-mix(in srgb,var(--c) 45%,transparent)}.lift.done>button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:54px;padding:8px 14px}.lift.done .tick{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--text);color:var(--bg);font-size:13px;font-weight:700}.lift.done .nm{flex:1;min-width:0;font-size:15px;font-weight:500}.lift.done .sum{font-size:13px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.lift.skipped .tick{background:var(--surface-2);color:var(--muted)}.lift.skipped .nm{color:var(--muted)}.setrow{display:flex;align-items:center;gap:8px}.setrow .sn{width:24px;font-size:12px;color:var(--faint);font-weight:700}.setrow .x{font-size:13px;color:var(--faint)}.setrow .in.w{width:92px}.setrow .in.r{width:76px}.ok{margin-left:auto;flex:none;width:var(--tap);height:var(--tap);border-radius:50%;border:1.5px solid var(--line-strong);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted);display:grid;place-items:center;transition:all .15s}.ok.on{background:var(--text);border-color:var(--text);color:var(--bg);font-size:16px}.swaplist{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.swaplist button{min-height:var(--tap);text-align:left;padding:0 14px;border-bottom:1px solid var(--line);font-size:14.5px}.swaplist button:last-child{border-bottom:0}.swaplist button:active{background:var(--surface-2)}.finishbar{position:sticky;bottom:calc(var(--tabs-h) + var(--safe-b) + 10px);z-index:15;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:999px;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);border:1px solid var(--line-strong);box-shadow:0 8px 28px #14120c1f}.finishbar .fb-text{flex:1;min-width:0;font-size:13.5px;line-height:1.3}.finishbar .btn{flex:none}.chips{display:flex;gap:8px}.chips.wrap{flex-wrap:wrap}.chip{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);font-size:14px;font-weight:500;color:var(--muted)}.chip:first-letter{text-transform:uppercase}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip:disabled{opacity:.35;cursor:default}.wcheck{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}.wcheck>span{padding:4px 10px;border-radius:999px;background:var(--surface-2)}.wcheck b{font-weight:700;font-variant-numeric:tabular-nums}.wcheck .miss{color:var(--muted)}.fields2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fields3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.in-unit{position:relative;display:block}.in-unit .in{padding-right:34px;font-size:19px}.in-unit i{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-size:11px;font-weight:600;color:var(--faint);pointer-events:none}.pace{font-size:14px;color:var(--text)}.pace b{font:500 24px/1 var(--serif);font-variant-numeric:tabular-nums}.profile-svg{width:100%;height:auto;display:block}.profile-svg [stroke="#5F605C"],.profile-svg [stroke="#CFCDC4"]{stroke:var(--faint)}.profile-svg [stroke="#17171A"]{stroke:var(--text)}.profile-svg [fill="#17171A"]{fill:var(--text)}.profile-svg [fill="#5F605C"]{fill:var(--muted)}.profile-svg [fill="#F2F1EC"]{fill:var(--bg)}.profile-svg [fill="#C8321E"]{fill:var(--flag)}.profile-svg text{font-family:var(--sans)}.route{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.route li{padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;gap:4px}.route .nm{font:500 20px/1.2 var(--serif)}.route .gate{font-size:13px;color:var(--muted)}.route li.cleared{border-left:3px solid var(--ok)}.route li.cleared .nm:after{content:"✓";margin-left:8px;font-family:var(--sans);font-size:14px;color:var(--ok)}.route li.next{border-left:3px solid var(--flag)}.route li.locked{opacity:.55}.hist{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.hist>div{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}.hist>div:last-child{border-bottom:0}.hist .num{font-family:var(--sans);font-weight:500}.exlist{display:flex;flex-direction:column;gap:6px}.exlist button{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:50px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 14px;font-size:15px;font-weight:600}.exlist .hist{margin:6px 0 4px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabs-h) + var(--safe-b) + 14px);background:var(--accent);color:var(--on-accent);padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500;z-index:50}.dotsync{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--faint);margin-right:8px;vertical-align:0}.dotsync.ok{background:var(--ok)}.dotsync.err{background:var(--flag)}.week{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.week>li{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--c);border-radius:var(--r-md);padding:0 14px}.week>li.rest,.week>li.before{background:transparent;border-style:dashed;border-left-style:solid}.week>li>button{width:100%;min-height:62px;display:flex;align-items:center;gap:14px;text-align:left;padding:8px 0}.week .dw{width:36px;display:flex;flex-direction:column;align-items:flex-start}.week .wn{flex:1;font:500 20px/1.2 var(--serif)}.week .st{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.week .st.today{color:var(--accent);background:var(--surface-2);padding:3px 10px;border-radius:999px}.week .st.missed{color:var(--flag)}.week .st.done{color:var(--ok)}.week li.before .wn,.week li.before .dw{opacity:.45}.week li.rest .wn{color:var(--muted)}.plan{list-style:none;margin:0;padding:0}.plan li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.plan li:last-child{border-bottom:0}.plan .pn{font-size:15px;font-weight:500}.plan .sr{font-size:13.5px;font-weight:600;color:var(--muted);white-space:nowrap}.moved{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--flag);margin-top:2px}.meals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.meal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px 10px 10px;display:flex;flex-direction:column;gap:6px}.mhead{display:flex;align-items:center;gap:10px}.tickbox{width:var(--tap);height:var(--tap);flex:none;display:grid;place-items:center;font-size:0}.tickbox:before{content:"";width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--bg);transition:all .15s}.tickbox.on:before{content:"✓";display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--text);border-color:var(--text);color:var(--bg)}.tickbox:disabled{opacity:.4}.mbody{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px;min-height:var(--tap);justify-content:center}.mname{font-size:16px;font-weight:600;line-height:1.3}.meal.ate .mname{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--line-strong)}.mp{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.mp .muted{font-size:12.5px;font-weight:500}.portions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--ink);line-height:1.4}.portions li{padding-left:12px;position:relative}.portions li:before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:var(--faint)}.macros{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.macros b{color:var(--accent);font-weight:700}.bar.over>i{background:var(--c-legs)}.mdetail{display:flex;flex-direction:column;gap:6px;padding:0 0 4px 54px}.mchange{padding-left:54px;margin-top:-8px}.picker{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-top:4px}.mydish{display:flex;border-bottom:1px solid var(--line)}.mydish:last-child{border-bottom:0}.mydish>button:first-child{flex:1;border-bottom:0}.mydish .x{width:var(--tap);flex:none;font-size:22px;color:var(--muted);text-align:center;min-height:var(--tap)}.daystrip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.daystrip button{min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:var(--r-sm);padding:6px 0}.daystrip button.on{background:var(--accent);color:var(--on-accent)}.daystrip button.on .label{color:var(--on-accent);opacity:.7}.daystrip button.today:not(.on) .num{color:var(--flag)}.pips{display:flex;gap:3px;height:5px}.pips i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.25;display:block}.pips i.on{opacity:1}[data-t=push],[data-t=upper1],[data-t=upper2]{--c:var(--c-push)}[data-t=upper1],[data-t=upper2]{--c:var(--c-upper)}[data-t=pull]{--c:var(--c-pull)}[data-t=lower]{--c:var(--c-legs)}[data-t=jog]{--c:var(--c-run)}[data-t=swim]{--c:var(--c-swim)}[data-t=walk]{--c:var(--c-walk)}[data-t=mobility]{--c:var(--c-mob)}[data-t=bjj]{--c:var(--c-bjj)}[data-t=rest],[data-t=""]{--c:var(--c-rest)}.app>*{animation:enter .22s ease both}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.wheels{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;grid-template-rows:var(--wh);height:var(--wh);background:var(--surface-2);border-radius:var(--r-md);overflow:hidden;user-select:none;-webkit-user-select:none}.wheel-band{position:absolute;left:6px;right:6px;top:calc(50% - var(--wi) / 2);height:var(--wi);border-radius:10px;background:var(--surface);border:1px solid var(--line-strong);pointer-events:none}.wheel{position:relative;height:var(--wh);min-height:0;outline:none}.wheel:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--r-md)}.wheel-scroll{height:var(--wh);overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;padding:calc(var(--wh) / 2 - var(--wi) / 2) 0;-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}.wheel-scroll::-webkit-scrollbar{display:none}.wheel-scroll button{display:block;width:100%;height:var(--wi);scroll-snap-align:center;font:500 22px/var(--wi) var(--sans);font-variant-numeric:tabular-nums;color:var(--faint);text-align:center;padding:0 24px 0 0}.wheel-scroll button.on{color:var(--text);font-weight:600}.wheel-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;color:var(--muted);pointer-events:none}.kindtag{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:2px}.slot-tip{font-size:13.5px;padding:10px 12px;border-radius:14px;background:var(--surface-2);color:var(--text)}.wcheck .turn{flex-basis:100%;border-radius:14px;color:var(--flag);background:color-mix(in srgb,var(--flag) 10%,transparent)}
