:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0d0f12;--raised:#151a20;--raised-high:#1c232b;--line:#2b333d;--line-strong:#3d4753;--ink:#e7ecf2;--ink-dim:#94a0ae;--ink-faint:#5d6773;--blue:#5b93cc;--blue-light:#9fc4e3;--blue-mid:#4a7fb5;--blue-deep:#2b4d70;--sym-gnikking:#5b93cc;--sym-nagging:#52b3a4;--sym-lydsensitiv:#a87fc4;--sym-slow-walk:#d4a96a;--wk:#86bf6e;--danger:#d97070;--radius:12px;--radius-sm:8px;--lift:3px 3px 0 #000;--lift-sm:2px 2px 0 #000;--gap:.75rem;font-synthesis:none;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);background-image:radial-gradient(120% 80% at 50% 0%, color-mix(in oklab, var(--blue-deep) 16%, transparent), transparent 70%);background-attachment:fixed;min-height:100dvh;margin:0;line-height:1.45}main{gap:1rem;display:grid}main,.trends{transition:opacity .15s}main[aria-busy=true],.trends[aria-busy=true]{opacity:.45;transition-delay:.2s}.shell{gap:1.25rem;max-width:34rem;margin-inline:auto;padding:1rem 1rem 4rem;display:grid}.masthead{align-items:center;gap:.75rem;display:flex}.masthead-actions{flex:none;align-items:center;gap:.5rem;margin-inline-start:auto;display:flex}.mark{background:var(--ink);border:2px solid var(--line-strong);block-size:56px;inline-size:56px;box-shadow:var(--lift);object-fit:cover;border-radius:50%;flex:none}.masthead h1{letter-spacing:-.015em;margin:0;font-size:1.35rem;font-weight:800}.masthead p{color:var(--ink-dim);margin:0;font-size:.8rem}.datenav{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);align-items:center;gap:.5rem;padding:.4rem;display:flex}.datenav button{font:inherit;color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:.45rem .6rem}.datenav button:hover:not(:disabled){background:var(--raised-high)}.datenav button:disabled{color:var(--ink-faint);cursor:not-allowed}.datenav .chevron{flex:none;padding-inline:.7rem;font-size:1.25rem;line-height:1}.datenav .current{text-align:center;letter-spacing:-.01em;view-transition-name:current-day;flex:1;font-weight:650}.datenav .today{text-transform:uppercase;letter-spacing:.06em;color:var(--blue-light);border:2px solid var(--blue-deep);background:color-mix(in oklab, var(--blue) 12%, transparent);flex:none;font-size:.75rem;font-weight:700}.datenav input[type=date]{opacity:0;pointer-events:none;block-size:0;inline-size:0;position:absolute}.symptoms{gap:var(--gap);border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;display:grid}@media (width<352px){.symptoms{grid-template-columns:1fr}}.symptoms legend{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);grid-column:1/-1;margin-block-end:.5rem;padding:0;font-size:.75rem;font-weight:700}.symptom{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);align-items:center;transition:border-color .12s,background-color .12s;display:flex}.symptom:has(:checked){border-color:var(--blue-mid);background:color-mix(in oklab, var(--blue) 13%, var(--raised))}.symptom:has(label:focus-visible){outline:2px solid var(--blue-light);outline-offset:2px}.symptom:has(label:active){box-shadow:var(--lift-sm);translate:1px 1px}.symptom label{cursor:pointer;flex:1;align-items:center;gap:.5rem;min-inline-size:0;padding:.7rem .35rem .7rem .65rem;display:flex}.symptom input[type=checkbox]{appearance:none;border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;flex:none;place-content:center;block-size:1.5rem;inline-size:1.5rem;margin:0;display:grid}.symptom input[type=checkbox]:after{content:"";border-inline-start:3px solid var(--paper);border-block-end:3px solid var(--paper);block-size:.5rem;inline-size:.85rem;transition:scale .14s ease-out;translate:0 -2px;rotate:-45deg;scale:0}.symptom input[type=checkbox]:checked{background:var(--blue);border-color:var(--blue-light)}.symptom input[type=checkbox]:checked:after{scale:1}.symptom .label{letter-spacing:-.015em;font-size:clamp(.88rem,.55rem + 1.4vw,.95rem);font-weight:700;line-height:1.2}.info{border:1.5px solid var(--line-strong);block-size:1.35rem;inline-size:1.35rem;color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border-radius:50%;flex:none;place-content:center;margin-inline-end:.5rem;padding:0;font-size:.72rem;font-style:italic;font-weight:700;line-height:1;display:grid;position:relative}.info:before{content:"";position:absolute;inset:-.5rem}.info:hover,.info:focus-visible{color:var(--ink);border-color:var(--blue-light)}.help-pop{background:var(--raised-high);inline-size:max-content;max-inline-size:min(18rem,100vw - 2rem);color:var(--ink-dim);border:2px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--lift);text-wrap:pretty;gap:.15rem;margin:0;padding:.6rem .75rem;font-size:.82rem}.help-pop:popover-open{display:grid}.help-pop{position-area:block-end span-inline-start;position-try-fallbacks:block-start span-inline-start, block-end span-inline-end;margin-block:.35rem}.help-pop strong{color:var(--ink)}.workouts{gap:var(--gap);display:grid}.workouts h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0;font-size:.75rem;font-weight:700}.workouts-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.workout:has(:checked){border-color:var(--wk);background:color-mix(in oklab, var(--wk) 12%, var(--raised))}.workout input[type=checkbox]:checked{background:var(--wk);border-color:color-mix(in oklab, var(--wk) 70%, white)}.workout-text{gap:.1rem;min-inline-size:0;display:grid}.workout-count{color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.week-marks{flex:none;gap:.25rem;margin:0;margin-inline-end:.5rem;padding:0;list-style:none;display:flex}.week-mark{color:var(--ink-faint);justify-items:center;gap:.2rem;font-size:.55rem;line-height:1;display:grid}.week-mark:before{content:"";background:var(--heat-empty);border-radius:2px;block-size:12px;inline-size:10px}.week-mark[data-state=done]:before{background:var(--wk)}.week-mark[data-state=missed]:before{background:var(--line-strong)}.week-mark[data-state=outside]:before{visibility:hidden}.week-mark[data-current=true]{color:var(--ink)}.week-mark[data-current=true]:before{outline:1.5px solid var(--ink);outline-offset:1px}.workout-pop .workout-description{white-space:pre-line}.workout-pop button{justify-self:start;margin-block-start:.35rem}.workout-dialog{inline-size:100%;max-inline-size:min(92vw,26rem)}.workout-field{gap:.3rem;display:grid}.workout-field>span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:.75rem;font-weight:700}.workout-field input,.workout-field textarea{font:inherit;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:var(--radius-sm);min-inline-size:0;padding:.5rem .7rem}:is(.workout-field input,.workout-field textarea):focus-visible{outline:2px solid var(--blue-light);outline-offset:1px}.workout-field textarea{resize:none;field-sizing:content;min-block-size:5rem;max-block-size:40vh}.note{gap:.4rem;display:grid}.note>span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:.75rem;font-weight:700}.note textarea{font:inherit;color:var(--ink);background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);resize:none;field-sizing:content;min-block-size:4.5rem;max-block-size:40vh;padding:.7rem .85rem}.note textarea::placeholder{color:var(--ink-faint)}.note textarea:focus-visible{outline:2px solid var(--blue-light);outline-offset:2px;border-color:var(--blue-mid)}.status{min-block-size:1rem;color:var(--ink-faint);align-items:center;gap:.4rem;margin-block-start:-.5rem;font-size:.78rem;display:flex}.status[data-state=saving]{color:var(--ink-dim)}.status[data-state=saved]{color:var(--blue-light)}.status[data-state=error]{color:var(--danger)}@view-transition{navigation:none}@media (prefers-reduced-motion:reduce){*,:after{transition-duration:.01ms!important}}:root{--heat-empty:#1b2027}.trends{border-block-start:2px solid var(--line);padding-block-start:1rem}.trends-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.trends{gap:.6rem;display:grid}.trends h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0;font-size:.75rem;font-weight:700}.trends h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:.5rem 0 0;font-size:.75rem;font-weight:700}.muted{color:var(--ink-dim);margin:0;font-size:.8rem}.heat{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);grid-template-columns:auto auto;align-items:center;gap:.15rem .5rem;padding:.75rem .85rem;display:grid}.heat-name{font-size:.8rem;font-weight:650}.heat-count{color:var(--ink-dim);font-variant-numeric:tabular-nums;text-align:end;font-size:.75rem}.heat-strip{shape-rendering:crispedges;grid-column:1/-1;block-size:13px;inline-size:100%;margin-block-end:.5rem}.heat>:last-child{margin-block-end:0}.week-bars{shape-rendering:crispedges;grid-column:1/-1;block-size:2.75rem;inline-size:100%}.sparks{gap:var(--gap);grid-template-columns:repeat(2,1fr);display:grid}.spark{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);margin:0;padding:.6rem .7rem}.spark figcaption{color:var(--ink-dim);justify-content:space-between;align-items:baseline;gap:.4rem;margin-block-end:.35rem;font-size:.75rem;display:flex}.spark figcaption strong{color:var(--blue-light);font-variant-numeric:tabular-nums}.spark-svg{block-size:34px;inline-size:100%;overflow:visible}.spark-base{stroke:var(--line-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.spark-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.window-toggle{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);gap:.25rem;inline-size:fit-content;padding:.25rem;display:flex}.window-toggle label{color:var(--ink-dim);border-radius:var(--radius-sm);cursor:pointer;padding:.3rem .75rem;font-size:.78rem;font-weight:650;position:relative}.window-toggle input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.window-toggle label:has(:checked){background:color-mix(in oklab, var(--blue) 22%, var(--raised));color:var(--ink)}.window-toggle label:has(:focus-visible){outline:2px solid var(--blue-light);outline-offset:1px}.login{text-align:center;justify-items:center;gap:.35rem;max-width:22rem;margin-inline:auto;padding:3rem 1rem;display:grid}.login img{block-size:auto;inline-size:min(100%,20rem);margin-block-end:.5rem}.login h1{letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800}.login form{gap:.75rem;inline-size:100%;margin-block-start:1.5rem;display:grid}.login label{text-align:start;gap:.35rem;display:grid}.login label span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:.75rem;font-weight:700}.login input{font:inherit;color:var(--ink);background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);padding:.65rem .8rem}.login input:focus-visible{outline:2px solid var(--blue-light);outline-offset:2px;border-color:var(--blue-mid)}.login button{font:inherit;color:var(--paper);background:var(--blue);border:2px solid var(--blue-light);border-radius:var(--radius);box-shadow:var(--lift);cursor:pointer;padding:.65rem .8rem;font-weight:700}.login button:disabled{opacity:.6;cursor:progress}.login button:active:not(:disabled){box-shadow:var(--lift-sm);translate:1px 1px}.login-error{color:var(--danger);margin:0;font-size:.85rem}.failure{text-align:center;background:var(--raised);border:2px solid var(--danger);border-radius:var(--radius);max-width:24rem;box-shadow:var(--lift);justify-items:center;gap:.6rem;margin:2rem auto;padding:1.25rem;display:grid}.failure h2{margin:0;font-size:1rem}.failure button{font:inherit;color:var(--paper);background:var(--blue);border:2px solid var(--blue-light);border-radius:var(--radius);cursor:pointer;padding:.5rem 1rem;font-weight:700}.summaries{border-block-start:2px solid var(--line);gap:.6rem;padding-block-start:1rem;display:grid}.summaries h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0;font-size:.75rem;font-weight:700}.summary-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.generate{font:inherit;color:var(--paper);background:var(--blue);border:2px solid var(--blue-light);border-radius:var(--radius);box-shadow:var(--lift);cursor:pointer;margin-inline-start:auto;padding:.45rem .9rem;font-size:.8rem;font-weight:700}.generate:disabled{opacity:.6;cursor:progress}.generate:active:not(:disabled){box-shadow:var(--lift-sm);translate:1px 1px}.summary-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.summary{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);overflow:hidden}.summary.open{border-color:var(--blue-mid)}.summary-head{inline-size:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:start;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.7rem .85rem;font-weight:650;display:flex}.summary-head small{color:var(--ink-dim);font-size:.75rem;font-weight:400}.summary-head:hover{background:var(--raised-high)}.summary-body{gap:.5rem;padding:0 .85rem .85rem;display:grid}.summary-body h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:.3rem 0 0;font-size:.72rem;font-weight:700}.recap{color:var(--blue-light);text-wrap:pretty;margin:0;font-size:.9rem}.brief{font:inherit;color:var(--ink-dim);background:var(--paper);border:2px solid var(--line);border-radius:var(--radius-sm);white-space:pre-wrap;margin:0;padding:.7rem .8rem;font-size:.85rem;overflow-x:auto}.copy{font:inherit;color:var(--ink);background:var(--raised-high);border:2px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;justify-self:start;padding:.35rem .7rem;font-size:.75rem;font-weight:700}.photos{gap:.6rem;display:grid}.photos h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0;font-size:.75rem;font-weight:700}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.photo-grid:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.photo-grid:has(>:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.photo-grid:has(>:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.photo-grid{gap:var(--gap)}.thumb{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius-sm);inline-size:100%;box-shadow:var(--lift-sm);cursor:pointer;aspect-ratio:1;padding:0;display:block;overflow:hidden}.thumb img{object-fit:cover;block-size:100%;inline-size:100%;display:block}.thumb:focus-visible{outline:2px solid var(--blue-light);outline-offset:2px}.photo-actions{align-items:center;display:flex}.add-photo{font:inherit;color:var(--ink);background:var(--raised-high);border:2px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;padding:.35rem .7rem;font-size:.75rem;font-weight:700}.add-photo:disabled{opacity:.6;cursor:progress}.viewer{border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--raised);color:var(--ink);max-block-size:92dvh;max-inline-size:min(96vw,40rem);margin:auto;padding:0;overflow:hidden}.viewer[open]{grid-template-rows:1fr auto;display:grid}.viewer::backdrop{background:#000000bf}.viewer-image{object-fit:contain;background:var(--paper);block-size:100%;min-block-size:0;inline-size:100%;display:block}.viewer-actions{gap:var(--gap);border-block-start:2px solid var(--line);padding:.7rem;display:flex}.viewer-actions button{font:inherit;border-radius:var(--radius-sm);cursor:pointer;min-block-size:44px;padding:.5rem .9rem;font-size:.8rem;font-weight:700}.viewer-actions .close{color:var(--ink);background:var(--raised-high);border:2px solid var(--line-strong)}.viewer-actions .delete{color:var(--danger);border:2px solid var(--danger);background:0 0;margin-inline-start:auto}.weight{gap:.35rem;margin-block-start:.5rem;display:grid}.weight h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0;font-size:.75rem;font-weight:700}.weight-read{color:var(--ink);text-wrap:pretty;margin:0;font-size:.85rem}.weight-read strong{color:var(--blue-light);font-size:1.1rem}.weight-chart{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);padding:.5rem .6rem}.weight-plot{padding-inline-end:2.6rem;display:grid;position:relative}.weight-svg{block-size:5.5rem;inline-size:100%;display:block;overflow:visible}.weight-baseline{stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.weight-ref{color:var(--ink-dim);pointer-events:none;white-space:nowrap;font-size:.65rem;font-weight:700;line-height:1;position:absolute;inset-block-start:calc(var(--pos,.5) * 100%);inset-inline-end:0;translate:0 -50%}.weight-line{fill:none;stroke:var(--blue-mid);stroke-width:1.5px;stroke-dasharray:4 3;stroke-linecap:round;vector-effect:non-scaling-stroke}.weight-dot{fill:none;stroke:var(--blue-light);stroke-width:6px;stroke-linecap:round;vector-effect:non-scaling-stroke}.weight-button{font:inherit;color:var(--ink);background:var(--raised);border:2px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--lift-sm);cursor:pointer;white-space:nowrap;flex:none;padding:.4rem .7rem;font-size:.8rem;font-weight:700}.weight-button[data-set=yes]{color:var(--blue-light);border-color:var(--blue-deep)}.weight-button:focus-visible{outline:2px solid var(--blue-light);outline-offset:2px}.weight-dialog{border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--raised);color:var(--ink);max-inline-size:min(92vw,22rem);margin:auto;padding:1rem}.weight-dialog[open]{gap:.7rem;display:grid}.weight-dialog::backdrop{background:#000000bf}.weight-dialog h2{text-wrap:balance;margin:0;font-size:.95rem}.weight-field{align-items:center;gap:.5rem;min-inline-size:0;display:flex}.weight-field input{inline-size:0;min-inline-size:0;font:inherit;text-align:end;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:var(--radius-sm);flex:1;padding:.5rem .7rem;font-size:1.5rem;font-weight:700}.weight-field input:focus-visible{outline:2px solid var(--blue-light);outline-offset:1px}.weight-field span{color:var(--ink-dim);font-size:1rem;font-weight:700}.weight-actions{gap:.5rem;display:flex}.weight-actions button{font:inherit;border-radius:var(--radius-sm);cursor:pointer;min-block-size:44px;padding:.5rem .9rem;font-size:.8rem;font-weight:700}.weight-actions .close{color:var(--ink);background:var(--raised-high);border:2px solid var(--line-strong)}.weight-actions .delete{color:var(--danger);border:2px solid var(--danger);background:0 0}.weight-actions .save{color:var(--paper);background:var(--blue);border:2px solid var(--blue-light);margin-inline-start:auto}.nav-toggle{block-size:2.15rem;inline-size:2rem;color:var(--ink);background:var(--raised);border:2px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--lift-sm);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:1.05rem;inline-size:1.05rem}.nav-toggle:active{box-shadow:none;translate:2px 2px}.nav-toggle:focus-visible{outline:2px solid var(--blue-light);outline-offset:2px}.journal{gap:.6rem;display:grid}.journal-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0;font-size:.75rem;font-weight:700}.journal-list{gap:var(--gap);margin:0;padding:0;list-style:none;display:grid}.entry{background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);gap:.35rem;padding:.7rem .8rem;display:grid}.entry-head{align-items:center;gap:.5rem;display:flex}.entry-day{font:inherit;color:var(--ink);border-radius:var(--radius-sm);text-align:start;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:650}.entry-day:hover{color:var(--blue-light)}.entry-day:focus-visible{outline:2px solid var(--blue-light);outline-offset:3px}.entry-workout{color:var(--wk);display:inline-flex}.entry-workout svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;block-size:.95rem;inline-size:.95rem}.entry-photos{color:var(--ink-faint);display:inline-flex}.entry-photos svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:.95rem;inline-size:.95rem}.entry-marks{flex:none;gap:1.5px;margin-inline-start:auto;display:flex}.entry-mark{border-radius:1.5px;block-size:11px;inline-size:8px}.entry-note{color:var(--ink-dim);text-wrap:pretty;white-space:pre-wrap;margin:0;font-size:.85rem;line-height:1.5}.journal-end{justify-items:start;gap:.5rem;min-block-size:1.5rem;padding-block:.5rem;display:grid}.footer{border-block-start:2px solid var(--line);color:var(--ink-faint);gap:.3rem;padding-block-start:.7rem;font-size:.7rem;display:grid}.footer p{margin:0}.footer a{color:var(--ink-dim);text-decoration:none}.footer a:hover{color:var(--blue-light)}.footer a:focus-visible{outline:2px solid var(--blue-light);outline-offset:2px;border-radius:2px}.footer-build{font-variant-numeric:tabular-nums}
