@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}:root{--background:#f5f4ef;--surface:#fbfaf7;--surface-strong:#fff;--ink:#191a17;--ink-muted:#6f706a;--ink-faint:#9c9d96;--line:#deddd6;--line-strong:#c9c8bf;--brand:#187f7d;--brand-soft:#dceceb;--progress:#285f9e;--progress-soft:#e1eaf4;--pain:#bd4d43;--pain-soft:#f5e4e1;--recovery:#55794e;--recovery-soft:#e4ece1;--fatigue:#69558b;--fatigue-soft:#ebe6f1;--warning:#9a6a24;--warning-soft:#f3eadb;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow:0 1px 2px #1416120a,0 12px 36px #1416120d;--sidebar-width:236px}*{box-sizing:border-box}html{background:var(--background);min-height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent}body{background:var(--background);min-height:100vh;color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit}button,a{-webkit-touch-callout:none}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:#b8dad8}.auth-shell{background:radial-gradient(circle at 15% 15%,var(--brand-soft),transparent 32rem),var(--background);align-content:center;place-items:center;gap:28px;min-height:100dvh;padding:32px 20px;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-shell{background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--brand-soft)72%,transparent),transparent 32rem),var(--background)}}.auth-brand .brand-lockup{font-size:18px}.auth-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-strong);width:min(100%,440px);box-shadow:var(--shadow);padding:clamp(26px,5vw,42px)}.auth-form{gap:24px;display:grid}.auth-form h1,.auth-success h1,.auth-config-missing h1{letter-spacing:-.035em;margin:4px 0 8px;font-size:clamp(28px,6vw,38px);line-height:1.08}.auth-kicker{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:750}.auth-copy,.auth-success p,.auth-config-missing p{color:var(--ink-muted);margin:0}.auth-email{min-height:52px}.auth-code-field{width:100%}.auth-code{text-align:center;letter-spacing:.32em;font-variant-numeric:tabular-nums;min-height:58px;font-size:24px;font-weight:720}.auth-submit{width:100%;min-height:50px}.auth-error{color:var(--pain);margin:-10px 0 0;font-size:13px}.auth-fine-print,.auth-hint{color:var(--ink-faint);margin:-8px 0 0;font-size:12px}.auth-success{justify-items:start;gap:16px;display:grid}.auth-success-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand);border-radius:14px;place-items:center;display:grid}.auth-success .btn{margin-top:6px}.account-settings-card{justify-content:space-between;align-items:center;gap:20px;display:flex}.account-identity{align-items:center;gap:13px;min-width:0;display:flex}.account-identity .list-title{text-overflow:ellipsis;overflow:hidden}.sidebar-logout{cursor:pointer;text-align:left;background:0 0;border:0;width:100%}.sidebar-logout:disabled{cursor:wait;opacity:.6}.sync-chip{color:var(--ink-faint);align-items:center;gap:8px;padding:0 12px;font-size:11px;display:flex}.sync-chip svg{color:var(--brand)}.app-loading{min-height:100dvh;color:var(--ink-muted);align-content:center;place-items:center;gap:16px;display:grid}.sync-error{border:1px solid var(--pain);margin-bottom:18px}@supports (color:color-mix(in lab, red, red)){.sync-error{border:1px solid color-mix(in srgb,var(--pain)35%,var(--line))}}.sync-error{background:var(--pain-soft);color:var(--pain);border-radius:12px;padding:12px 14px;font-size:13px}:focus-visible{outline:3px solid var(--brand)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:3px solid color-mix(in srgb,var(--brand)35%,transparent)}}:focus-visible{outline-offset:2px}.app-shell{min-height:100vh}.app-sidebar{z-index:40;width:var(--sidebar-width);border-right:1px solid var(--line);background:var(--background);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.app-sidebar{background:color-mix(in srgb,var(--background)94%,white)}}.app-sidebar{padding:24px 18px}.app-content{min-height:100vh;margin-left:var(--sidebar-width);padding:34px clamp(28px,5vw,76px) 72px}.page-wrap{width:min(100%,1120px);margin:0 auto}.narrow-wrap{width:min(100%,760px);margin:0 auto}.session-detail-wrap{width:min(100%,920px)}.brand-lockup{letter-spacing:-.04em;align-items:center;gap:10px;font-size:20px;font-weight:730;display:inline-flex}.brand-mark{background:var(--ink);border-radius:11px;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.sidebar-section{margin-top:36px}.sidebar-label{color:var(--ink-faint);letter-spacing:.09em;text-transform:uppercase;margin:0 10px 8px;font-size:11px;font-weight:700}.sidebar-nav{gap:3px;display:grid}.sidebar-link{min-height:42px;color:var(--ink-muted);border-radius:11px;align-items:center;gap:11px;padding:0 11px;font-weight:570;transition:all .14s;display:flex}.sidebar-link:hover{color:var(--ink);background:#ffffff85}.sidebar-link[data-active=true]{background:var(--surface-strong);color:var(--ink);box-shadow:0 1px 2px #1416120f}.sidebar-link[data-active=true] svg{color:var(--brand)}.sidebar-footer{margin-top:auto}.privacy-chip{border:1px solid var(--line);color:var(--ink-muted);border-radius:12px;align-items:center;gap:8px;padding:10px 11px;font-size:12px;display:flex}.privacy-dot{background:var(--recovery);width:7px;height:7px;box-shadow:0 0 0 3px var(--recovery-soft);border-radius:999px}.mobile-nav{display:none}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:30px;display:flex}.page-kicker{color:var(--ink-muted);margin:0 0 6px;font-size:13px;font-weight:620}.page-title{letter-spacing:-.055em;margin:0;font-size:clamp(30px,4vw,46px);font-weight:720;line-height:1.04}.page-description{max-width:620px;color:var(--ink-muted);margin:10px 0 0;font-size:15px}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dashboard-period{align-items:center;display:flex;position:relative}.dashboard-header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-period>svg{z-index:1;color:var(--ink-muted);pointer-events:none;position:absolute;left:13px}.dashboard-period .select{width:clamp(236px,20vw,264px);min-height:42px;padding-left:40px}@media (max-width:1080px){.page-header:has(.dashboard-header-actions){flex-direction:column;align-items:stretch}.page-header:has(.dashboard-header-actions) .header-actions{width:100%}}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin:34px 0 14px;display:flex}.section-title{letter-spacing:-.025em;margin:0;font-size:17px;font-weight:680}.section-note{color:var(--ink-muted);font-size:13px}.card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 1px #ffffffb3}.card-interactive{transition:border-color .14s,background .14s,transform .14s}.card-interactive:hover{border-color:var(--line-strong);background:var(--surface-strong)}.card-interactive:active{transform:translateY(1px)}.card-pad{padding:22px}.summary-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;display:grid}.summary-card{grid-column:span 4;min-height:184px;padding:22px}.summary-card-wide{grid-column:span 8}.summary-label{color:var(--ink-muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:620;display:flex}.summary-value{letter-spacing:-.055em;margin-top:30px;font-size:clamp(28px,4vw,40px);font-weight:690;line-height:1}.summary-context{color:var(--ink-muted);margin-top:9px;font-size:13px}.summary-empty{color:var(--ink-faint);font-size:20px}.dashboard-now{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:14px;display:grid}.dashboard-day-column{grid-template-rows:minmax(0,2fr) minmax(0,1fr);gap:14px;min-height:510px;display:grid}.dashboard-today-card,.dashboard-body-card{flex-direction:column;padding:20px;display:flex}.today-session-list{align-content:start;gap:8px;max-height:132px;margin:12px 0;display:grid;overflow-y:auto}.today-session{border-bottom:1px solid var(--line);color:var(--ink);align-items:flex-start;gap:12px;padding:0 0 10px;display:flex}.today-session-copy{gap:3px;min-width:0;display:grid}.today-session-copy strong{font-size:14px;font-weight:660}.today-session-copy small{color:var(--ink-muted);font-size:12px;font-weight:500}.today-empty{color:var(--ink-muted);margin:0;font-size:14px}.dashboard-today-card>.btn{margin-top:auto}.session-picker{gap:20px;display:grid}.session-picker-free,.session-picker-template{border:1px solid var(--line);color:var(--ink);border-radius:13px;align-items:center;gap:13px;transition:border-color .14s,background .14s;display:flex}.session-picker-free{background:var(--surface-strong);padding:16px}.session-picker-free>svg{color:var(--brand)}.session-picker-free span,.session-picker-template span{gap:3px;min-width:0;display:grid}.session-picker-free strong,.session-picker-template strong{font-size:14px;font-weight:660}.session-picker-free small,.session-picker-template small{color:var(--ink-muted);font-size:12px}.session-picker-free:hover,.session-picker-template:hover{border-color:var(--line-strong);background:var(--surface-strong)}.session-picker-list{gap:8px;display:grid}.session-picker-list>.section-note{margin:0 0 2px}.session-picker-template{justify-content:space-between;padding:13px 15px}.session-picker-template>svg{color:var(--ink-faint);flex:none}.dashboard-body-card{min-height:510px;padding-bottom:14px;overflow:hidden}.dashboard-body-card .summary-label a{color:var(--brand-deep);font-size:12px}.dashboard-body-card .body-map-wrap{width:min(100%,300px);margin:8px auto -22px}.dashboard-card-help{color:var(--ink-muted);text-align:center;margin:auto 0 0;font-size:12px}.dashboard-quick-actions{grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-recovery-action,.dashboard-note-action{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:14px;min-width:0;padding:18px;display:flex}.dashboard-recovery-action{color:var(--ink)}.dashboard-recovery-action>svg{color:var(--recovery);flex:none}.dashboard-recovery-action.is-complete{border-color:var(--recovery)}@supports (color:color-mix(in lab, red, red)){.dashboard-recovery-action.is-complete{border-color:color-mix(in srgb,var(--recovery)32%,var(--line))}}.dashboard-recovery-action.is-complete{background:var(--recovery-soft)}@supports (color:color-mix(in lab, red, red)){.dashboard-recovery-action.is-complete{background:color-mix(in srgb,var(--recovery-soft)42%,var(--surface))}}.dashboard-recovery-action span,.dashboard-note-action>span{gap:4px;min-width:0;display:grid}.dashboard-recovery-action strong,.dashboard-note-action strong{font-size:14px;font-weight:660}.dashboard-recovery-action small{color:var(--ink-muted);font-size:12px}.dashboard-note-action>svg{color:var(--ink-muted);flex:none}.dashboard-note-action{width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left}.dashboard-note-action>span{flex:1}.dashboard-note-action>svg:last-child{margin-left:auto}.dashboard-note-action:hover{border-color:var(--line-strong);background:var(--surface-strong)}.dashboard-curves{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:var(--line-strong)transparent;scrollbar-width:thin;gap:14px;padding:1px 1px 14px;display:flex;overflow-x:auto}.dashboard-curve{min-height:250px;color:var(--ink);scroll-snap-align:start;flex:0 0 min(420px,100vw - 48px);padding:20px;transition:border-color .14s,background .14s}.dashboard-curve:hover{border-color:var(--line-strong);background:var(--surface-strong)}.dashboard-curve .chart,.dashboard-curve .chart-frame{margin-top:16px}.dashboard-curve-caption{color:var(--ink-muted);margin:4px 0 0;font-size:12px}.dashboard-curves-empty{color:var(--ink-muted);padding:20px;font-size:14px}.dashboard-curves-empty p{margin:0}.evolution-section{margin-top:34px}.evolution-comparison-card{overflow:hidden}.curve-add{gap:6px;max-width:320px;display:grid}.curve-selection{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.curve-picker-option{border:1px solid var(--border);background:var(--surface-strong);min-height:34px;color:var(--ink-muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:620;transition:border-color .14s,background .14s,color .14s;display:inline-flex}.curve-picker-option:hover{border-color:var(--line-strong);color:var(--ink)}.curve-picker-option>span{border-radius:50%;width:7px;height:7px}.curve-picker-option b{margin-left:2px;font-size:15px;font-weight:500;line-height:1}.curve-card-heading{min-width:0;color:inherit;text-decoration:none}.curve-card-heading:hover .chart-title{text-decoration:underline;-webkit-text-decoration-color:var(--ink-faint);-webkit-text-decoration-color:var(--ink-faint);-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint);text-underline-offset:3px}.curve-visibility-control{flex:none;position:relative}.curve-visibility-control>summary{border:1px solid var(--border);background:var(--surface-strong);min-height:34px;color:var(--ink-muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:620;list-style:none;transition:border-color .14s,color .14s;display:inline-flex}.curve-visibility-control>summary::-webkit-details-marker{display:none}.curve-visibility-control>summary:hover{border-color:var(--line-strong);color:var(--ink)}.curve-visibility-control>summary span{color:var(--ink-faint);font-variant-numeric:tabular-nums}.curve-visibility-control[open]>summary{border-color:var(--line-strong);color:var(--ink)}.curve-visibility-control .curve-selection{z-index:4;border:1px solid var(--border);background:var(--surface-strong);width:max-content;max-width:min(340px,100vw - 48px);box-shadow:var(--shadow-md);border-radius:14px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.curve-picker-option[aria-pressed=false]{color:var(--ink-faint);background:var(--surface-subtle)}.curve-picker-option[aria-pressed=false] svg{opacity:.68}.evolution-comparison-meta{color:var(--ink-muted);justify-content:space-between;gap:12px;margin-top:16px;font-size:12px;display:flex}.evolution-comparison-meta span:last-child{color:var(--ink-faint);text-align:right}.comparison-chart{margin-top:18px}.comparison-chart-legend{color:var(--ink-muted);flex-wrap:wrap;gap:7px 14px;margin-bottom:6px;font-size:11px;display:flex}.comparison-chart-legend-item{align-items:center;gap:6px;min-width:0;display:inline-flex}.comparison-chart-legend-item i{border-radius:999px;flex:none;width:18px;height:2px}.comparison-chart-legend-item i.difficulty{background:0 0;border-top:1.5px dashed;height:0;margin-left:2px}.exercise-protocol-toggles{margin-top:16px}.evolution-chart-motion{animation:.28s cubic-bezier(.2,.8,.2,1) both evolution-chart-enter}@keyframes evolution-chart-enter{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.evolution-curve-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.evolution-curve-card{min-height:0;color:var(--ink);transition:border-color .14s,background .14s}.evolution-curve-card:hover{border-color:var(--line-strong);background:var(--surface-strong)}.evolution-curve-card .chart,.evolution-curve-card .chart-frame{margin-top:18px}.curve-header-visual{color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:9px;display:flex}.curve-header-visual .trend{white-space:nowrap}@media (prefers-reduced-motion:reduce){.evolution-chart-motion{animation:none}}@media (max-width:760px){.evolution-section{margin-top:26px}.evolution-comparison-card{padding:18px}.evolution-comparison-meta{flex-direction:column;align-items:flex-start;gap:4px}.evolution-comparison-meta span:last-child{text-align:left}}.btn{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-weight:640;transition:all .13s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:#30312d}.btn-secondary{border-color:var(--line);background:var(--surface-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){border-color:var(--line-strong)}.btn-ghost{color:var(--ink-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-strong);color:var(--ink)}.btn-danger{border-color:var(--pain)}@supports (color:color-mix(in lab, red, red)){.btn-danger{border-color:color-mix(in srgb,var(--pain)25%,var(--line))}}.btn-danger{background:var(--pain-soft);color:#8a352f}.btn-sm{border-radius:9px;min-height:34px;padding:0 11px;font-size:13px}.icon-btn{border:1px solid var(--line);background:var(--surface-strong);cursor:pointer;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;transition:all .13s;display:inline-grid}.icon-btn:hover{border-color:var(--line-strong);background:#fff}.icon-btn:disabled{cursor:not-allowed;opacity:.38}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.template-rail{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:var(--line-strong)transparent;scrollbar-width:thin;gap:12px;padding:1px 1px 14px;scroll-padding-inline:1px;display:flex;overflow-x:auto}.template-rail>a{scroll-snap-align:start;flex:0 0 min(440px,50% - 7px)}.template-card{min-height:138px;padding:20px;position:relative;overflow:hidden}.template-card:before{background:var(--sport-color,var(--brand));content:"";height:3px;position:absolute;inset:0 0 auto}.template-card:hover{border-color:var(--sport-color,var(--brand))}@supports (color:color-mix(in lab, red, red)){.template-card:hover{border-color:color-mix(in srgb,var(--sport-color,var(--brand))38%,var(--line))}}.template-card-name{letter-spacing:-.02em;margin:18px 0 0;font-size:17px;font-weight:670}.template-card-meta{color:var(--ink-muted);margin-top:5px;font-size:13px}.template-card-arrow{color:var(--sport-color,var(--ink-faint));position:absolute;bottom:18px;right:18px}.pill{min-height:25px;color:var(--ink-muted);background:#ecebe5;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:660;display:inline-flex}.pill-pain{background:var(--pain-soft);color:#8f3933}.pill-progress{background:var(--progress-soft);color:#244f80}.pill-recovery{background:var(--recovery-soft);color:#3e6339}.pill-brand{background:var(--brand-soft);color:#185544}.pill-fatigue{background:var(--fatigue-soft);color:#5b4879}.sport-pill{background:var(--sport-color)}@supports (color:color-mix(in lab, red, red)){.sport-pill{background:color-mix(in srgb,var(--sport-color)13%,var(--surface-strong))}}.sport-pill{color:var(--sport-color)}@supports (color:color-mix(in lab, red, red)){.sport-pill{color:color-mix(in srgb,var(--sport-color)82%,var(--ink))}}.sport-pill-symbol{font-size:10px;line-height:1}.form-stack{gap:24px;display:grid}.field{gap:9px;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-label{color:var(--ink);font-size:13px;font-weight:650}.field-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-link{color:var(--brand);font-size:12px;font-weight:650}.field-link:hover{text-underline-offset:3px;text-decoration:underline}.field-help{color:var(--ink-muted);font-size:12px}.field-help-error{color:var(--pain)}.input-short{max-width:120px}.tag-input{border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:10px;min-height:42px;padding:6px 8px}.tag-input-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-input-control{min-width:140px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:5px 2px;font-size:13px}.tag-pill,.tag-suggestion{font:inherit;cursor:pointer;border:0;border-radius:999px;font-size:12px}.tag-pill{background:var(--brand-soft);color:var(--brand);padding:5px 8px}.tag-suggestions{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.tag-suggestion{border:1px dashed var(--line-strong);color:var(--ink-muted);background:0 0;padding:4px 8px}.field-row-compact{align-items:stretch}.input,.select,.textarea{border:1px solid var(--line-strong);background:var(--surface-strong);width:100%;color:var(--ink);border-radius:11px;outline:none;transition:all .13s}.input,.select{min-height:48px;padding:0 14px}.input[type=datetime-local]{text-overflow:clip;appearance:none;width:100%;min-width:0;max-width:100%;overflow:hidden}@media (max-width:760px){.input[type=datetime-local]{min-width:0;padding-inline:10px;font-size:16px}}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%236f706a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:42px}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-strong)}@supports (color:color-mix(in lab, red, red)){.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb,var(--line-strong)72%,var(--ink-muted))}}.sport-select{display:block;position:relative}.sport-select-symbol{z-index:1;background:var(--sport-color);border-radius:7px;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:50%;left:15px;translate:0 -50%}@supports (color:color-mix(in lab, red, red)){.sport-select-symbol{background:color-mix(in srgb,var(--sport-color)14%,var(--surface-strong))}}.sport-select-symbol{color:var(--sport-color);pointer-events:none;font-size:11px;font-weight:760}.sport-select-input{padding-left:46px}.sport-select[data-searching=true] .sport-select-symbol{background:var(--surface);color:var(--ink-muted)}.sport-select-results{z-index:5;border:1px solid var(--line-strong);background:var(--surface-strong);box-shadow:0 12px 28px var(--ink);border-radius:11px;gap:4px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}@supports (color:color-mix(in lab, red, red)){.sport-select-results{box-shadow:0 12px 28px color-mix(in srgb,var(--ink)14%,transparent)}}.sport-select-results .field-help{padding:5px 6px}.sport-select-result,.sport-select-create{width:100%;min-height:38px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:7px 8px;font-size:13px;font-weight:600;display:flex}.sport-select-result:hover,.sport-select-result:focus-visible,.sport-select-create:hover,.sport-select-create:focus-visible{background:var(--brand-soft);outline:none}.sport-select-result>span{background:var(--sport-color);border-radius:6px;place-items:center;width:20px;height:20px;display:grid}@supports (color:color-mix(in lab, red, red)){.sport-select-result>span{background:color-mix(in srgb,var(--sport-color)14%,var(--surface-strong))}}.sport-select-result>span{color:var(--sport-color);font-size:11px}.sport-select-create{color:var(--brand)}.sport-create-form{border-top:1px solid var(--line);gap:10px;padding:8px 4px 3px;display:grid}.sport-create-preview{background:var(--sport-color);border-radius:9px;align-items:center;gap:9px;min-height:40px;padding:8px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.sport-create-preview{background:color-mix(in srgb,var(--sport-color)12%,var(--surface))}}.sport-create-preview{color:var(--sport-color)}@supports (color:color-mix(in lab, red, red)){.sport-create-preview{color:color-mix(in srgb,var(--sport-color)82%,var(--ink))}}.sport-create-preview{font-size:13px}.sport-create-preview>span{background:var(--sport-color);color:#fff;border-radius:7px;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.sport-create-fields,.sport-create-actions{align-items:end;gap:8px;display:flex}.sport-create-fields>label,.sport-create-fields>div{flex:0 0 42px}.sport-create-fields span{color:var(--ink-muted);margin-bottom:4px;font-size:11px;font-weight:620;display:block}.sport-create-actions{justify-content:flex-end}.sport-color-wheel{border:1px solid var(--line-strong);background:var(--surface-strong);cursor:pointer;border-radius:9px;width:42px;height:40px;min-height:0;padding:3px;display:block}.sport-icon-picker{position:relative}.sport-icon-trigger{border:1px solid var(--line-strong);background:var(--surface-strong);width:42px;height:40px;color:var(--ink);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.sport-icon-catalogue{z-index:10;border:1px solid var(--line-strong);background:var(--surface-strong);width:min(430px,100vw - 64px);box-shadow:0 15px 36px var(--ink);border-radius:12px;padding:12px;position:absolute;top:calc(100% + 7px);left:0}@supports (color:color-mix(in lab, red, red)){.sport-icon-catalogue{box-shadow:0 15px 36px color-mix(in srgb,var(--ink)17%,transparent)}}.sport-icon-catalogue-head{justify-content:flex-end;margin-bottom:6px;display:flex}.sport-icon-catalogue-head button{width:27px;height:27px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;font-size:20px;display:grid}.sport-icon-catalogue-head button:hover{background:var(--background)}.sport-icon-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-height:284px;padding-right:2px;display:grid;overflow-y:auto}.sport-icon-option{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink-muted);cursor:pointer;font:inherit;border-radius:9px;place-items:center;padding:5px;display:grid}.sport-icon-option:hover,.sport-icon-option:focus-visible,.sport-icon-option[data-active=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);outline:none}.textarea{resize:vertical;min-height:100px;padding:11px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand)12%,transparent)}}.range-wrap{align-items:center;gap:14px;display:flex}.range{width:100%;accent-color:var(--ink)}.range-value{border:1px solid var(--line);background:var(--surface-strong);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.segmented{flex-wrap:wrap;gap:7px;display:flex}.segment{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:36px;color:var(--ink-muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:620;line-height:1;display:inline-flex}.segment[data-active=true]{border-color:var(--ink);background:var(--ink);color:#fff}.form-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;margin-top:28px;padding-top:20px;display:flex}.exercise-editor{gap:10px;display:grid}.exercise-row{border:1px solid var(--line);background:var(--surface-strong);border-radius:13px;padding:15px}.exercise-row-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.exercise-row-title{font-weight:650}.exercise-fields{--template-control-width:120px;grid-template-columns:repeat(3,var(--template-control-width));justify-content:start;gap:9px;margin-top:12px;display:grid}.exercise-fields:is([data-metric=duration],[data-metric=hold]){grid-template-columns:var(--template-control-width)auto}.set-editor{gap:8px;margin-top:12px;display:grid}.set-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:54px repeat(3,minmax(0,1fr)) 34px;align-items:end;gap:8px;padding:9px;display:grid}.set-number{min-height:38px;color:var(--ink);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.set-remove{width:34px;height:38px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.set-remove:hover:not(:disabled){background:var(--pain-soft);color:var(--pain)}.set-remove:disabled{cursor:default;opacity:.3}.set-add{justify-self:start}.mini-field>span{color:var(--ink-muted);margin-bottom:5px;font-size:11px;font-weight:620;display:block}.field.form-stack{gap:14px}.inline-empty{border:1px dashed var(--line-strong);background:var(--background);color:var(--ink-muted);border-radius:12px;padding:14px;font-size:12px}.add-exercise-row{grid-template-columns:minmax(0,1fr) auto}.template-exercise-picker{gap:10px;max-width:560px;display:grid}.exercise-match-list{gap:6px;display:grid}.exercise-match{border:1px solid var(--line);background:var(--surface-strong);width:100%;min-height:42px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.exercise-match:hover,.exercise-match:focus-visible{border-color:var(--brand);background:var(--brand-soft);outline:none}.exercise-match span:last-child{color:var(--brand);font-size:12px;font-weight:650}.template-exercise-actions{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.template-exercise-actions .field-help{align-self:center;margin:0}.template-exercise-actions .exercise-tag-picker,.inline-exercise-definition .exercise-tag-picker{grid-column:1/-1}.session-draft-row{position:relative}.session-draft-link{color:inherit;text-decoration:none}.session-draft-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.session-draft-link:focus-visible{outline:none}.session-draft-link:focus-visible:after{outline:2px solid var(--brand);outline-offset:-2px}.session-draft-row:hover .list-title{color:var(--brand)}.session-draft-delete{z-index:1;position:relative}.session-template-row{position:relative}.session-template-edit{border-radius:inherit;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.session-template-edit:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.session-template-row:hover .list-title{color:var(--brand)}.session-template-delete{z-index:1;position:relative}.duration-input-row{grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);align-items:end;gap:10px;display:grid}.duration-composite{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.duration-unit .select{min-width:150px}.duration-input-compact{min-width:0}.exercise-fields>.duration-input-compact,.set-row>.set-field-duration{grid-column:span 2}.exercise-fields:is([data-metric=duration],[data-metric=hold])>.duration-input-compact{grid-column:2;width:max-content;max-width:100%}.exercise-fields:is([data-metric=duration],[data-metric=hold]) .duration-input-row{grid-template-columns:repeat(2,var(--template-control-width))}.exercise-fields:is([data-metric=duration],[data-metric=hold]) .duration-input-compact[data-unit=hours] .duration-input-row{grid-template-columns:248px var(--template-control-width)}.exercise-fields .duration-unit .select{min-width:0}.exercise-fields :is(.mini-input,.input,.select){height:38px;min-height:38px}.inline-exercise-definition{border:1px solid var(--brand-soft);background:var(--brand-soft);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;padding:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.inline-exercise-definition{background:color-mix(in srgb,var(--brand-soft)45%,var(--surface))}}.inline-exercise-definition .field-help{margin:0}.inline-exercise-definition .header-actions{justify-content:flex-end}.mini-input{border:1px solid var(--line);background:var(--surface);border-radius:9px;width:100%;min-height:38px;padding:0 9px}.event-icon.event-icon-sport{background:var(--sport-color)}@supports (color:color-mix(in lab, red, red)){.event-icon.event-icon-sport{background:color-mix(in srgb,var(--sport-color)13%,var(--surface-strong))}}.event-icon.event-icon-sport{color:var(--sport-color)}.timeline{gap:24px;display:grid;position:relative}.timeline-day{grid-template-columns:112px minmax(0,1fr);gap:18px;display:grid}.timeline-date{color:var(--ink-muted);text-transform:capitalize;padding-top:16px;font-size:12px;font-weight:650}.timeline-day-events{gap:8px;display:grid}.event-card{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px;display:grid}.event-icon{width:38px;height:38px;color:var(--ink-muted);background:#ecebe5;border-radius:11px;place-items:center;display:grid}.event-icon-pain{background:var(--pain-soft);color:var(--pain)}.event-icon-checkup{background:var(--progress-soft);color:var(--progress)}.event-icon-recovery{background:var(--recovery-soft);color:var(--recovery)}.event-icon-note{background:var(--fatigue-soft);color:var(--fatigue)}.event-title{letter-spacing:-.01em;font-weight:650}.event-meta{color:var(--ink-muted);margin-top:2px;font-size:12px}.event-time{color:var(--ink-faint);font-size:12px}.timeline-rail{overscroll-behavior-inline:contain;scrollbar-color:var(--line-strong)transparent;scrollbar-width:thin;gap:0;padding:5px 1px 16px;scroll-padding-inline:1px;display:flex;overflow-x:auto}.timeline-rail-day{flex:0 0 76px;grid-template-rows:auto 18px minmax(32px,auto) 14px;justify-items:center;min-width:0;display:grid;position:relative}.timeline-rail-date{color:var(--ink-muted);text-align:center;text-transform:capitalize;font-size:11px;font-weight:650}.timeline-rail-spine{width:100%;position:relative}.timeline-rail-spine:before{border-top:1px solid var(--line-strong);content:"";position:absolute;top:8px;left:0;right:0}.timeline-rail-spine span{z-index:1;border:2px solid var(--surface-strong);background:var(--ink-faint);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:50%;translate:-50%}.timeline-rail-events{flex-wrap:wrap;place-content:flex-start center;gap:4px;width:100%;padding:3px 6px 0;display:flex}.timeline-rail-sport,.timeline-rail-dot{width:26px;height:26px;color:var(--sport-color,var(--ink-muted));border-radius:8px;place-items:center;display:grid}.timeline-rail-sport{background:var(--sport-color)}@supports (color:color-mix(in lab, red, red)){.timeline-rail-sport{background:color-mix(in srgb,var(--sport-color)14%,var(--surface-strong))}}.timeline-rail-sport{font-size:12px;font-weight:760}.timeline-rail-sport:hover{background:var(--sport-color)}@supports (color:color-mix(in lab, red, red)){.timeline-rail-sport:hover{background:color-mix(in srgb,var(--sport-color)22%,var(--surface-strong))}}.timeline-rail-recovery-action{border:1px solid var(--recovery);place-items:center;width:26px;height:26px;display:grid}@supports (color:color-mix(in lab, red, red)){.timeline-rail-recovery-action{border:1px solid color-mix(in srgb,var(--recovery)58%,var(--line))}}.timeline-rail-recovery-action{color:var(--recovery);background:var(--surface-strong);border-radius:8px}.timeline-rail-recovery-action:hover,.timeline-rail-recovery-action.is-complete{border-color:var(--recovery);background:var(--recovery-soft)}.timeline-rail-dot{border-radius:50%;width:8px;height:8px}.timeline-rail-pain{background:var(--pain);box-shadow:0 0 0 3px var(--pain-soft)}.timeline-rail-status{justify-content:center;align-items:center;gap:6px;min-height:14px;display:flex}.timeline-rail-rehabilitation{background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.list{overflow:hidden}.list-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:12px 16px;display:flex}.list-row:first-child{border-top:0}.checkup-history-row+.checkup-history-row{border-top:1px solid var(--line)}.checkup-history-row .list-row{cursor:pointer;border-top:0}.checkup-history-details{margin:0 16px 18px;padding-top:2px}.list-main{min-width:0}.list-title{text-overflow:ellipsis;white-space:nowrap;font-weight:640;overflow:hidden}.list-meta{color:var(--ink-muted);margin-top:2px;font-size:12px}.session-exercise-detail{justify-content:stretch;align-items:stretch;gap:13px;width:100%;padding:17px 18px;display:grid}.session-exercise-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.session-exercise-body{grid-template-columns:minmax(0,1.7fr) minmax(170px,.7fr);justify-content:stretch;align-items:stretch;gap:14px;width:100%;display:grid}.session-set-list{border:1px solid var(--line);background:var(--surface);border-radius:11px;display:grid;overflow:hidden}.session-set-header{border-bottom:1px solid var(--line);background:var(--surface-subtle);min-height:34px;color:var(--ink-muted);letter-spacing:.03em;text-transform:uppercase;grid-template-columns:48px minmax(0,1fr);align-items:center;font-size:10px;font-weight:680;display:grid}.session-set-header>span{text-align:center}.session-set-column-labels,.session-set-values{grid-template-columns:repeat(2,minmax(62px,1fr));align-items:center;column-gap:12px;min-width:0;padding-inline:13px;display:grid}.session-set-column-labels>span{text-align:right}.session-set-list[data-metric=load_reps] :is(.session-set-column-labels,.session-set-values),.session-set-list[data-metric=distance] :is(.session-set-column-labels,.session-set-values){grid-template-columns:repeat(3,minmax(62px,1fr))}.session-set-row{border-top:1px solid var(--line);grid-template-columns:48px minmax(0,1fr);align-items:center;min-height:48px;display:grid}.session-set-header+.session-set-row{border-top:0}.session-set-row[data-completed=false]{color:var(--ink-faint);background:var(--surface-subtle)}.session-set-index{border-right:1px solid var(--line);min-height:48px;color:var(--ink-muted);text-align:center;align-self:stretch;align-items:center;font-size:12px;display:grid}.session-set-stat{text-align:right;white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:5px;width:100%;min-width:0;display:inline-flex}.session-set-stat strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px}.session-set-stat small{color:var(--ink-muted);font-size:11px;font-weight:620}.session-set-difficulty strong{color:var(--brand)}.session-set-empty{color:var(--ink-faint);padding:8px 13px;font-size:12px}.session-set-note{color:var(--ink-muted);grid-column:1/-1;padding-bottom:8px;font-size:12px}.session-set-legacy{border:1px solid var(--line);border-radius:11px;margin-top:0}.session-set-legacy .session-set-values{flex-wrap:wrap;gap:8px 18px;padding-block:8px;display:flex}.session-set-legacy .session-set-stat{width:auto}.session-exercise-summary{border:1px solid var(--line);background:var(--surface-subtle);border-radius:11px;align-content:start;padding:14px 15px;display:grid}.session-exercise-summary>span{color:var(--ink-muted);font-size:11px;font-weight:640}.session-exercise-summary>strong{color:var(--brand);font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin-top:3px;font-size:24px}.session-exercise-summary dl{border-top:1px solid var(--line);gap:7px;margin:13px 0 0;padding-top:11px;display:grid}.session-exercise-summary dl>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.session-exercise-summary dt{color:var(--ink-muted);font-size:11px}.session-exercise-summary dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:680}@media (max-width:760px){.session-exercise-detail{padding:15px 13px}.session-exercise-head{flex-direction:column;align-items:flex-start;gap:8px}.session-exercise-body{grid-template-columns:minmax(0,1fr)}.session-set-header,.session-set-row{grid-template-columns:42px minmax(0,1fr)}.session-set-column-labels,.session-set-values{column-gap:8px;padding-inline:10px}.session-set-list[data-metric=load_reps] :is(.session-set-column-labels,.session-set-values),.session-set-list[data-metric=distance] :is(.session-set-column-labels,.session-set-values){grid-template-columns:repeat(3,minmax(52px,1fr))}.session-exercise-summary{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.session-exercise-summary>strong{text-align:right}.session-exercise-summary dl{grid-column:1/-1}}.trend{color:var(--ink-muted);align-items:center;gap:6px;font-size:12px;font-weight:620;display:inline-flex}.trend-up{color:var(--progress)}.trend-down{color:var(--pain)}.chart-card{padding:22px}.chart-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.chart-title{margin:0;font-size:14px;font-weight:650}.chart-value{letter-spacing:-.04em;margin-top:6px;font-size:28px;font-weight:690}.chart{width:100%;height:auto;margin-top:22px;overflow:visible}.chart-frame{width:100%;margin-top:22px}.chart-frame .recharts-wrapper,.chart-frame .recharts-surface{overflow:visible}.chart-frame .recharts-text,.chart-frame .recharts-cartesian-axis-tick-value{fill:var(--ink-muted);font-size:12px;font-weight:520}.chart-axis-tick{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:520}.chart-frame .recharts-tooltip-wrapper{pointer-events:none;max-width:min(300px,100% - 16px)!important}.chart-frame .recharts-default-tooltip{max-width:100%;box-shadow:var(--shadow-sm);overflow-wrap:anywhere;border-radius:10px;font-size:12px;border:1px solid var(--line-strong)!important;background:var(--surface-strong)!important;color:var(--ink)!important;white-space:normal!important}.chart-frame .recharts-tooltip-item{overflow-wrap:anywhere;line-height:1.35;white-space:normal!important}.chart-secondary-key{min-height:18px;color:var(--ink-muted);justify-content:flex-end;align-items:center;gap:6px;padding-inline:64px 12px;font-size:11px;display:flex}.chart-secondary-key span{border-top:1.5px dashed;width:18px;height:0}@media (max-width:760px){.chart-frame .recharts-tooltip-wrapper{max-width:min(280px,100vw - 64px)!important}}.chart-grid{stroke:var(--line);stroke-width:1px;opacity:.72}.chart-line{fill:none;stroke:var(--progress);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25px}.chart-dot{fill:var(--surface-strong);stroke:var(--progress);stroke-width:2px}.chart-label,.chart-axis-label{fill:var(--ink-muted);font-size:12px;font-weight:520}.chart-subtitle{color:var(--ink-muted);margin-top:5px;font-size:13px}.pain-trend-chart-wrap{position:relative}.pain-trend-chart{touch-action:manipulation;-webkit-tap-highlight-color:transparent;height:360px}.pain-chart-enter{transform-origin:top;animation:.22s both pain-chart-enter}@keyframes pain-chart-enter{0%{opacity:.35;transform:scaleY(.92)}to{opacity:1;transform:scaleY(1)}}.pain-recharts-tooltip{border:1px solid var(--line-strong);background:var(--surface-strong);max-width:240px;box-shadow:var(--shadow-sm);color:var(--ink);border-radius:10px;gap:8px;padding:8px 10px;font-size:11px;display:grid}.pain-recharts-tooltip-item{gap:3px;display:grid}.pain-recharts-tooltip-item+.pain-recharts-tooltip-item{border-top:1px solid var(--border);padding-top:8px}.pain-recharts-tooltip-item span{color:var(--ink-muted)}.pain-recharts-tooltip-item p{max-width:220px;margin:2px 0 0;line-height:1.35}.pain-chart-legend{flex-wrap:wrap;gap:8px 14px;margin-top:4px;display:flex}.pain-chart-legend-item{color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:3px 0;font-size:12px;display:inline-flex}.pain-chart-legend-item[data-active=false]{opacity:.42}.pain-chart-legend-swatch{border-radius:50%;width:8px;height:8px}.pain-chart-legend-remove{color:var(--ink-faint);font-size:14px;line-height:1}.pain-chart-empty{min-height:220px;color:var(--ink-muted);text-align:center;place-items:center;font-size:13px;display:grid}.notes-index-row{gap:16px}.notes-index-context{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:7px;font-size:12px;display:flex}.notes-index-context .pill{padding-block:3px}.notes-index-body{white-space:pre-wrap;margin-top:5px;line-height:1.5}.settings-profile-form{max-width:560px}@media (max-width:760px){.pain-trend-chart{height:280px}}.body-map-wrap{width:100%;margin:0 auto;position:relative}.body-map-orientation-tabs{justify-content:center;gap:5px;margin-bottom:8px;display:flex}.body-map-orientation-tab{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 8px;font-size:11px}.body-map-orientation-tab[data-active=true]{background:var(--brand-soft);color:var(--brand);font-weight:650}.body-map-views{touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:hidden}.body-map-figure{-webkit-user-drag:none}.body-map-view{min-width:0;animation:.22s cubic-bezier(.2,.8,.2,1) body-map-enter-next;position:relative}.body-map-view[data-direction=previous]{animation-name:body-map-enter-previous}@keyframes body-map-enter-next{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes body-map-enter-previous{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.body-map-view{animation:none}}.body-map-figure{width:100%;height:auto;display:block}.body-map-wrap[data-interactive=true]{cursor:crosshair}.body-map-wrap[data-interactive=true] .body-map-figure{pointer-events:none}.avatar-choice-grid{grid-template-columns:repeat(2,minmax(120px,180px));justify-content:center;gap:12px;display:grid}.avatar-choice{aspect-ratio:3/4;border:1px solid var(--line);background:var(--surface);min-height:220px;color:var(--ink);cursor:pointer;text-align:left;border-radius:16px;align-items:stretch;transition:border-color .16s,box-shadow .16s,background .16s;display:grid;overflow:hidden}.avatar-choice:hover{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.avatar-choice:hover{border-color:color-mix(in srgb,var(--ink)30%,var(--line))}}.avatar-choice[data-selected=true]{border-color:var(--brand);background:var(--brand-soft)}@supports (color:color-mix(in lab, red, red)){.avatar-choice[data-selected=true]{background:color-mix(in srgb,var(--brand-soft)44%,var(--surface-strong))}}.avatar-choice[data-selected=true]{box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.avatar-choice[data-selected=true]{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand)13%,transparent)}}.avatar-choice-figure{background:radial-gradient(circle at 50% 28%,#f5f3ed,#e8e7e1 68%);place-items:end center;min-width:0;display:grid;overflow:hidden}.avatar-choice-figure img{object-fit:contain;object-position:center bottom;width:100%;height:100%}.body-map-point{border:2px solid var(--surface-strong);background:var(--pain);cursor:pointer;border-radius:50%;place-items:center;width:14px;height:14px;transition:opacity .16s,background .16s,box-shadow .16s,scale .16s;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 2px 8px #4d241e33}.body-map-point[data-muted=true]{border-color:var(--surface-strong);background:var(--ink-faint);box-shadow:none;opacity:.48}.body-map-point-pending{z-index:3;border:3px solid var(--brand);background:var(--surface-strong);width:20px;height:20px;box-shadow:0 0 0 5px var(--brand-soft),0 3px 12px #10141238;cursor:default;pointer-events:none}.body-map-point[data-selected=true]{width:19px;height:19px;box-shadow:0 0 0 4px var(--pain-soft),0 3px 10px #4d241e38}.pain-layout{grid-template-columns:360px minmax(0,1fr);gap:16px;display:grid}.empty-state{text-align:center;place-items:center;min-height:220px;padding:32px;display:grid}.empty-icon{width:46px;height:46px;color:var(--ink-muted);background:#ecebe5;border-radius:14px;place-items:center;margin:0 auto 14px;display:grid}.empty-title{margin:0;font-size:17px;font-weight:660}.empty-copy{max-width:420px;color:var(--ink-muted);margin:7px auto 0;font-size:13px}.empty-actions{justify-content:center;gap:8px;margin-top:18px;display:flex}.notice{border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);border-radius:13px;align-items:flex-start;gap:11px;padding:13px 14px;font-size:13px;display:flex}.notice-warning{background:var(--warning-soft);color:#76501c;border-color:#e5d4b9}.modal-backdrop{z-index:100;background:#13141161;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface-strong);border-radius:20px;width:min(100%,560px);max-height:min(86vh,760px);overflow:auto;box-shadow:0 24px 80px #0e0f0d38}.template-modal{width:min(100%,680px)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 24px 20px;display:flex}.modal-title{letter-spacing:-.025em;margin:0;font-size:19px;font-weight:690}.modal-copy{color:var(--ink-muted);margin:5px 0 0;font-size:13px}.modal-body{padding:24px}.sport-settings-row{min-height:76px}.sport-settings-main{align-items:center;gap:13px;min-width:0;display:flex}.sport-swatch{border:1px solid var(--sport-color);flex:none;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.sport-swatch{border:1px solid color-mix(in srgb,var(--sport-color)24%,var(--line))}}.sport-swatch{background:var(--sport-color);border-radius:13px}@supports (color:color-mix(in lab, red, red)){.sport-swatch{background:color-mix(in srgb,var(--sport-color)13%,var(--surface-strong))}}.sport-swatch{color:var(--sport-color);font-size:15px;font-weight:760}.sport-preview{border:1px solid var(--sport-color);align-items:center;gap:14px;min-height:72px;display:flex}@supports (color:color-mix(in lab, red, red)){.sport-preview{border:1px solid color-mix(in srgb,var(--sport-color)28%,var(--line))}}.sport-preview{background:var(--sport-color);border-radius:15px}@supports (color:color-mix(in lab, red, red)){.sport-preview{background:color-mix(in srgb,var(--sport-color)9%,var(--surface-strong))}}.sport-preview{padding:16px}.sport-preview span{background:var(--sport-color);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:15px;display:grid}.sport-preview strong{letter-spacing:-.02em;font-size:17px}.color-options{flex-wrap:wrap;gap:10px;display:flex}.color-option{border:3px solid var(--surface-strong);width:32px;height:32px;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;border-radius:50%}.color-option[data-active=true]{box-shadow:0 0 0 2px var(--surface-strong),0 0 0 4px var(--ink)}.color-custom-row{grid-template-columns:76px minmax(0,1fr);align-items:end}.color-picker-label{border:1px solid var(--line-strong);background:var(--surface-strong);cursor:pointer;border-radius:11px;place-items:center;height:48px;display:grid}.color-picker-label input{opacity:0;width:1px;height:1px;position:absolute}.share-url{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--background);color:var(--ink-muted);border-radius:10px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.shared-shell{min-height:100vh;padding:28px}.shared-wrap{width:min(100%,880px);margin:0 auto}.shared-banner{justify-content:space-between;align-items:center;gap:20px;margin-bottom:44px;display:flex}.skeleton{background:#e9e8e2;border-radius:8px;overflow:hidden}.skeleton:after{content:"";background:#ffffff8c;width:100%;height:100%;animation:1.5s ease-in-out infinite alternate skeleton-pulse;display:block}@keyframes skeleton-pulse{to{opacity:.2}}@media (max-width:980px){.summary-card{grid-column:span 6}.summary-card-wide{grid-column:span 12}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-now{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.dashboard-quick-actions{display:grid}.pain-layout{grid-template-columns:300px minmax(0,1fr)}}@media (max-width:760px){body{font-size:14px}.modal-backdrop{align-items:end;padding:10px}.modal{width:100%;max-height:calc(100dvh - 20px)}.modal-head{z-index:2;background:var(--surface-strong);position:sticky;top:0}.modal .form-footer{z-index:2;background:var(--surface-strong);padding:16px 24px calc(16px + env(safe-area-inset-bottom));margin-bottom:-24px;margin-left:-24px;margin-right:-24px;position:sticky;bottom:-24px}.app-sidebar{display:none}.app-content{padding:22px 16px calc(104px + env(safe-area-inset-bottom));margin-left:0}.mobile-nav{z-index:50;border-top:1px solid var(--line);background:var(--surface-strong);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.mobile-nav{background:color-mix(in srgb,var(--surface-strong)94%,transparent)}}.mobile-nav{padding:8px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -8px 24px #1416120d}.mobile-link{min-height:52px;color:var(--ink-muted);border-radius:10px;align-content:center;place-items:center;gap:3px;font-size:10px;font-weight:650;display:grid}.mobile-link[data-active=true]{color:var(--ink)}.mobile-link[data-active=true] svg{color:var(--brand)}.page-header{align-items:center;margin-bottom:24px}.page-header:has(.dashboard-header-actions){flex-direction:column;align-items:stretch}.dashboard-header-actions{width:100%}.page-header:has(.dashboard-header-actions) .header-actions{width:100%}.dashboard-period{flex:1}.dashboard-period .select{width:100%}.page-title{font-size:32px}.page-description{font-size:13px}.summary-grid{gap:10px}.summary-card{grid-column:span 12;min-height:144px;padding:18px}.summary-card-wide{grid-column:span 12}.summary-value{margin-top:22px;font-size:32px}.dashboard-now{grid-template-columns:1fr;gap:10px}.dashboard-day-column{grid-template-rows:minmax(210px,2fr) minmax(184px,1fr);gap:10px;min-height:0}.dashboard-today-card{min-height:176px}.dashboard-body-card{min-height:410px}.dashboard-quick-actions{gap:10px;display:grid}.dashboard-recovery-action,.dashboard-note-action{min-height:88px;padding:14px}.dashboard-body-card .body-map-wrap{width:min(100%,244px)}.dashboard-curve{flex-basis:calc(100vw - 32px);min-height:224px;padding:18px}.avatar-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-grid{grid-template-columns:1fr}.template-rail>a{flex-basis:calc(100vw - 32px)}.template-card{min-height:116px}.timeline-day{grid-template-columns:1fr;gap:7px}.timeline-date{padding:0}.event-card{grid-template-columns:38px minmax(0,1fr)}.event-time{display:none}.field-row,.template-exercise-picker,.template-exercise-actions,.duration-input-row,.inline-exercise-definition{grid-template-columns:1fr}.template-exercise-actions .btn{width:100%}.color-custom-row{grid-template-columns:64px minmax(0,1fr)}.exercise-fields,.exercise-fields:is([data-metric=duration],[data-metric=hold]){grid-template-columns:repeat(2,var(--template-control-width))}.exercise-fields:is([data-metric=duration],[data-metric=hold])>.duration-input-compact{width:auto}.exercise-fields:is([data-metric=duration],[data-metric=hold]) .duration-input-row,.exercise-fields:is([data-metric=duration],[data-metric=hold]) .duration-input-compact[data-unit=hours] .duration-input-row{grid-template-columns:minmax(0,1fr)}.set-row{grid-template-columns:40px repeat(2,minmax(0,1fr)) 38px;align-items:end;gap:9px;padding:11px}.set-row>.set-number{grid-area:1/1}.set-row>.set-remove{grid-area:1/4;align-self:end}.set-row>.set-field-difficulty{grid-area:2/2/auto/4}.set-row[data-metric=load_reps]>.set-field-reps{grid-area:1/2}.set-row[data-metric=load_reps]>.set-field-load{grid-area:1/3}.set-row[data-metric=reps]>.set-field-reps,.set-row[data-metric=quality]>.set-field-reps,.set-row>.set-field-distance,.set-row>.set-field-duration{grid-area:1/2/auto/4}.set-row>.set-field-duration>.duration-input-compact{grid-column:auto}.set-row .duration-input-row{grid-template-columns:minmax(0,1fr) minmax(96px,.65fr)}.set-row:is([data-metric=duration],[data-metric=hold]){grid-template-columns:40px minmax(0,1fr) 38px}.set-row:is([data-metric=duration],[data-metric=hold])>.set-field-duration{grid-area:1/2}.set-row:is([data-metric=duration],[data-metric=hold])>.set-field-difficulty{grid-area:2/2}.set-row:is([data-metric=duration],[data-metric=hold])>.set-remove{grid-area:1/3}.set-row:is([data-metric=duration],[data-metric=hold]) .duration-input-row{grid-template-columns:minmax(0,1fr)}.set-row .mini-input,.set-row .input,.set-row .select{min-height:44px}.pain-layout{grid-template-columns:1fr}.body-map-wrap{width:100%}.shared-shell{padding:20px 16px}.shared-banner{margin-bottom:30px}.account-settings-card{flex-direction:column;align-items:stretch}.account-settings-card .btn{width:100%}}@media (display-mode:standalone) and (max-width:760px){.app-content{padding-top:calc(22px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
