:root{--c-bg:#f4f2ec;--c-surface:#fffdf9;--c-surface-alt:#ece9e1;--c-line:#e3dfd5;--c-border:#d3cec2;--c-text:#1d211f;--c-text-muted:#5d6460;--c-primary:#2d6a57;--c-primary-hover:#245646;--c-primary-soft:#e3eee9;--c-primary-text:#fff;--c-accent:#b5532e;--c-warning:#8a5a00;--c-warning-bg:#fbf1d9;--c-danger:#a1312b;--c-focus:#1f5fbf;--c-chart1:#2d6a57;--c-chart2:#b5532e;--c-chart3:#4a5fa8;--shadow:0 1px 2px #1d211f0d, 0 2px 8px #1d211f0a;--r-field:10px;--r-card:16px;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--c-bg:#121614;--c-surface:#1a1f1c;--c-surface-alt:#232a26;--c-line:#2a322e;--c-border:#3a443f;--c-text:#ecefec;--c-text-muted:#a9b2ad;--c-primary:#74c2a8;--c-primary-hover:#8fd1bb;--c-primary-soft:#1f322b;--c-primary-text:#0d1512;--c-accent:#e49a72;--c-warning:#f0c060;--c-warning-bg:#352c16;--c-danger:#ff8a80;--c-focus:#8ab4ff;--c-chart1:#74c2a8;--c-chart2:#e49a72;--c-chart3:#9fb0f0;--shadow:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}body{background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;line-height:1.55}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}a{color:var(--c-primary);text-underline-offset:2px}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px;border-radius:6px}h1{letter-spacing:-.02em;margin:0 0 1rem;font-size:1.75rem;font-weight:750;line-height:1.2}h2{letter-spacing:-.01em;margin:1.75rem 0 .75rem;font-size:1.15rem;font-weight:700}h3{margin:1rem 0 .5rem;font-size:1rem;font-weight:650}p{margin:.5rem 0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--c-text-muted)}.small{font-size:.875rem}.center{place-items:center;min-height:70vh;padding:1rem;display:grid}.skip{position:absolute;left:-999px}.skip:focus{z-index:10;background:var(--c-surface);padding:.5rem 1rem;top:1rem;left:1rem}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--c-line);flex-direction:column;align-self:start;gap:2px;height:100vh;padding:1.25rem .75rem;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:.6rem;padding:0 .6rem 1.1rem;font-size:1.1rem;font-weight:750;display:flex}.brand small{color:var(--c-text-muted);letter-spacing:0;font-size:.8rem;font-weight:400;display:block}.navlink{border-radius:var(--r-field);color:var(--c-text);font-weight:500;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.7rem;width:100%;padding:.55rem .7rem;text-decoration:none;display:flex}.navlink svg{color:var(--c-text-muted);flex:none}.navlink:hover{background:var(--c-surface-alt)}.navlink[aria-current=page]{background:var(--c-primary-soft);color:var(--c-primary);font-weight:650}.navlink[aria-current=page] svg{color:var(--c-primary)}.content{width:100%;min-width:0;max-width:1040px;padding:2rem 2.5rem 6rem}.shell>*{min-width:0}.bottomnav{display:none}@media (max-width:800px){.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:1.1rem 1rem 8rem}h1{font-size:1.5rem}.bottomnav{background:var(--c-surface);border-top:1px solid var(--c-line);z-index:5;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottomnav a{color:var(--c-text-muted);flex-direction:column;align-items:center;gap:2px;padding:.5rem .2rem .45rem;font-size:.72rem;font-weight:500;text-decoration:none;display:flex}.bottomnav a[aria-current=page]{color:var(--c-primary);font-weight:650}.fab{right:1rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));z-index:6;position:fixed}table.small{display:block;overflow-x:auto}}.fab.bottomonly{display:none}@media (max-width:800px){.fab.bottomonly{display:block}}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.1rem 1.25rem}.card>h2:first-child,.card>h3:first-child{margin-top:0}.grid2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.row{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.stack>*+*{margin-top:.75rem}.section-title{justify-content:space-between;align-items:baseline;gap:1rem;margin:1.75rem 0 .75rem;display:flex}.section-title h2{margin:0}.btn{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);border-radius:var(--r-field);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.45rem;min-height:44px;padding:.55rem 1rem;font-weight:550;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--c-surface-alt)}.btn.primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-text);font-weight:650}.btn.primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.btn.danger{color:var(--c-danger);border-color:color-mix(in srgb, var(--c-danger) 45%, var(--c-border))}.btn.danger-solid{background:var(--c-danger);border-color:var(--c-danger);color:#fff;font-weight:650}.btn.small{min-height:36px;padding:.3rem .75rem;font-size:.875rem}.btn.link{color:var(--c-primary);background:0 0;border:0;padding-left:0;padding-right:0}.btn:disabled{opacity:.55;cursor:not-allowed}label{margin-bottom:.3rem;font-size:.92rem;font-weight:550;display:block}.field{flex-direction:column;min-width:120px;display:flex}.field.grow{flex:1}input,select,textarea{font:inherit;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-field);min-height:44px;padding:.55rem .7rem}input:hover,select:hover,textarea:hover{border-color:var(--c-text-muted)}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--c-text-muted) 70%, transparent)}textarea{resize:vertical;width:100%;min-height:88px}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:auto;accent-color:var(--c-primary)}.check{align-items:center;gap:.55rem;font-weight:450;display:flex}.hint{color:var(--c-text-muted);margin-top:.25rem;font-size:.85rem}.notice{border-left:3px solid var(--c-warning);background:var(--c-warning-bg);border-radius:0 var(--r-field) var(--r-field) 0;margin:.6rem 0;padding:.65rem .9rem}.notice.info{border-left-color:var(--c-primary);background:var(--c-primary-soft)}.error{color:var(--c-danger)}.badge{background:var(--c-surface-alt);color:var(--c-text-muted);border-radius:999px;padding:.1rem .6rem;font-size:.78rem;font-weight:550;display:inline-block}.badge.ok{background:var(--c-primary-soft);color:var(--c-primary)}.badge.warn{background:var(--c-warning-bg);color:var(--c-warning)}.big-input{font-variant-numeric:tabular-nums;max-width:9rem;padding:.35rem .7rem;font-size:1.75rem;font-weight:650}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--c-line);padding:.5rem .55rem}th{color:var(--c-text-muted);font-size:.8rem;font-weight:600}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right}caption{padding-bottom:.4rem;font-size:.85rem}.phase{border:0;border-left:3px solid var(--c-primary);background:var(--c-surface);border-radius:0 var(--r-card) var(--r-card) 0;box-shadow:var(--shadow);margin:0 0 .9rem;padding:.9rem 1.1rem}.phase legend{float:left;width:100%;margin-bottom:.6rem;padding:0;font-size:.95rem}.phase legend+*{clear:both}.exercise{border-top:1px solid var(--c-line);margin-top:.9rem;padding-top:.9rem}.sets{width:100%;max-width:420px}.sets td,.sets th{border:0;padding:.25rem .3rem}.sets input{width:100%;min-width:3.2rem}.savebar{background:linear-gradient(to top, var(--c-bg) 72%, transparent);z-index:4;padding:.9rem 0 .75rem;position:sticky;bottom:0}.savebar .btn{width:100%;max-width:420px;min-height:50px;font-size:1.05rem}@media (max-width:800px){.savebar{bottom:calc(3.9rem + env(safe-area-inset-bottom))}}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;display:grid}.stat{flex-direction:column-reverse;display:flex}.stat .v{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:700}.stat .k{color:var(--c-text-muted);font-size:.8rem}.cal{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal .dow{text-align:center;color:var(--c-text-muted);padding:.25rem;font-size:.78rem;font-weight:600}.cal a{background:var(--c-surface);border:1px solid var(--c-line);min-height:80px;color:var(--c-text);border-radius:10px;flex-direction:column;gap:2px;padding:.4rem;font-size:.78rem;text-decoration:none;display:flex}.cal a:hover{border-color:var(--c-border)}.cal a.out{opacity:.4}.cal a.today{border-color:var(--c-accent);box-shadow:inset 0 0 0 1px var(--c-accent)}.cal a .d{font-variant-numeric:tabular-nums;font-weight:650}.cal a.activity_recorded{background:var(--c-primary-soft);border-color:#0000}.cal a.activity_recorded .d{color:var(--c-primary)}@media (max-width:600px){.cal a{min-height:54px;padding:.3rem;font-size:.66rem}}.addmenu{position:relative}.addmenu ul{background:var(--c-surface);border:1px solid var(--c-line);z-index:20;border-radius:14px;min-width:210px;margin:0;padding:.35rem;list-style:none;position:absolute;bottom:110%;right:0;box-shadow:0 10px 30px #00000024}.sidebar .addmenu ul{inset:110% auto auto 0}.addmenu li a,.addmenu li span{color:var(--c-text);border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .7rem;text-decoration:none;display:flex}.addmenu li a:hover{background:var(--c-surface-alt)}.addmenu li svg{color:var(--c-text-muted)}.toasts{z-index:50;pointer-events:none;flex-direction:column;gap:.5rem;width:min(92vw,420px);display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}@media (max-width:800px){.toasts{bottom:calc(5rem + env(safe-area-inset-bottom))}}.toast{pointer-events:auto;background:var(--c-text);color:var(--c-bg);border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-weight:500;animation:.16s ease-out toast-in;display:flex;box-shadow:0 8px 24px #0000002e}.toast.error{background:var(--c-danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dialog{background:var(--c-surface);width:min(92vw,440px);color:var(--c-text);border:0;border-radius:18px;padding:1.4rem;box-shadow:0 20px 50px #00000040}.dialog::backdrop{background:#12161473}details.more{margin-top:.6rem}details.more>summary{cursor:pointer;color:var(--c-primary);align-items:center;gap:.35rem;min-height:32px;padding:.3rem 0;font-size:.92rem;font-weight:550;list-style:none;display:inline-flex}details.more>summary::-webkit-details-marker{display:none}details.more>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;margin-right:.2rem;transition:transform .12s;transform:rotate(-45deg)}details.more[open]>summary:before{transform:rotate(45deg)}details.more .more-body{padding-top:.6rem}.empty{border:1px dashed var(--c-border);border-radius:var(--r-card);text-align:center;color:var(--c-text-muted);justify-items:center;gap:.6rem;padding:1.5rem;display:grid}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.today-head h1{margin:0}.today-head p{margin:.15rem 0 0}.week{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.week a{color:var(--c-text);border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:.45rem 0 .4rem;font-size:.78rem;text-decoration:none;display:flex}.week a:hover,.week a.today{background:var(--c-surface-alt)}.week a.today .n{color:var(--c-accent);font-weight:750}.week .n{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:600}.week .dot{background:var(--c-line);border-radius:50%;width:.7rem;height:.7rem}.week .dot.activity_recorded{background:var(--c-primary)}.week .dot.rest_logged,.week .dot.planned_rest{border:2px solid var(--c-accent);background:0 0;width:.65rem;height:.65rem}.cta{border-radius:var(--r-card);background:var(--c-primary);width:100%;color:var(--c-primary-text);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:1rem 1.2rem;font-size:1.08rem;font-weight:650;text-decoration:none;display:flex}.cta:hover{background:var(--c-primary-hover)}.cta small{opacity:.85;font-size:.85rem;font-weight:450;display:block}.actions{scrollbar-width:none;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.actions::-webkit-scrollbar{display:none}.action{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .95rem;font-weight:550;text-decoration:none;display:inline-flex}.action svg{color:var(--c-primary)}.action:hover{border-color:var(--c-primary)}.coach-bubble{background:var(--c-primary-soft);border-radius:var(--r-card);margin-bottom:1rem;padding:1rem 1.15rem}.coach-bubble .who{color:var(--c-primary);text-transform:none;font-size:.8rem;font-weight:650}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;border-radius:999px;min-height:40px;padding:.4rem .9rem;font-size:.92rem;font-weight:500}.chip:hover{border-color:var(--c-primary)}.chip[aria-pressed=true]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-text)}.scale{grid-template-columns:repeat(5,1fr);gap:.35rem;max-width:460px;display:grid}.scale button{border-radius:var(--r-field);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:.1rem;padding:.45rem .2rem;display:flex}.scale button strong{font-variant-numeric:tabular-nums;font-size:1.1rem}.scale button span{color:var(--c-text-muted);font-size:.7rem}.scale button[aria-pressed=true]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-text)}.scale button[aria-pressed=true] span{color:var(--c-primary-text)}.steps{gap:.35rem;margin-bottom:.75rem;display:flex}.steps span{background:var(--c-line);border-radius:2px;flex:1;height:4px}.steps span.on{background:var(--c-primary)}.choice{border:1px solid var(--c-border);cursor:pointer;background:var(--c-surface);border-radius:14px;align-items:flex-start;gap:.8rem;margin:0;padding:.85rem .95rem;font-weight:400;display:flex}.choice+.choice{margin-top:.5rem}.choice:has(input:checked){border-color:var(--c-primary);box-shadow:inset 0 0 0 1px var(--c-primary)}.choice input{margin-top:.2rem}.landing{max-width:1060px;margin:0 auto;padding:0 1.25rem 4rem}.topbar{justify-content:space-between;align-items:center;padding:1.1rem 0;display:flex}.topbar .brand{padding:0}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem;padding:3rem 0 3.5rem;display:grid}.hero h1{letter-spacing:-.03em;margin-bottom:1rem;font-size:clamp(2rem,4.6vw,3rem);line-height:1.08}.hero p.lead{color:var(--c-text-muted);max-width:34rem;font-size:1.15rem}@media (max-width:860px){.hero{grid-template-columns:1fr;gap:2rem;padding-top:1.5rem}}.sample{background:var(--c-surface);border:1px solid var(--c-line);border-radius:22px;padding:1.2rem;box-shadow:0 18px 40px #1d211f14}.sample .label{color:var(--c-text-muted);font-size:.75rem;font-weight:650}.facts{border-top:1px solid var(--c-line)}.fact{border-bottom:1px solid var(--c-line);grid-template-columns:15rem 1fr;gap:1.5rem;padding:1.25rem 0;display:grid}.fact h2{margin:0;font-size:1.05rem}.fact p{color:var(--c-text-muted);margin:0}@media (max-width:700px){.fact{grid-template-columns:1fr;gap:.3rem}}
