.fp-button,.fp-icon-button,.fp-input,.fp-select,.fp-textarea,.fp-tab{font:inherit;letter-spacing:0}.fp-button,.fp-icon-button,.fp-tab{-webkit-tap-highlight-color:transparent}.fp-button{min-height:var(--size-control);justify-content:center;align-items:center;gap:var(--space-2);border:var(--border-hairline) solid transparent;border-radius:var(--radius-control);padding-inline:var(--space-5);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);cursor:pointer;transition:background var(--motion-standard) var(--motion-easing), border-color var(--motion-standard) var(--motion-easing), color var(--motion-standard) var(--motion-easing), opacity var(--motion-standard) var(--motion-easing);display:inline-flex}.fp-button-primary{color:var(--color-bg);background:var(--color-primary)}.fp-button-primary:hover:not(:disabled){color:var(--color-text-on-primary-hover);background:var(--color-primary-hover)}.fp-button-secondary{border-color:var(--color-border);background:var(--color-card-elevated)}.fp-button-secondary:hover:not(:disabled),.fp-button-ghost:hover:not(:disabled){border-color:var(--color-text-muted);background:var(--color-card)}.fp-button-danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.fp-button-danger:hover:not(:disabled){color:var(--color-bg);background:var(--color-danger)}.fp-button-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.fp-button-compact{min-height:var(--size-touch-target);padding-inline:var(--space-4)}.fp-button:disabled,.fp-icon-button:disabled,.fp-tab:disabled,.fp-button[aria-disabled=true]{cursor:not-allowed;opacity:var(--opacity-disabled)}.fp-icon-button{width:var(--size-touch-target);min-width:var(--size-touch-target);height:var(--size-touch-target);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);color:var(--fp-tone-color,var(--color-text-secondary));cursor:pointer;transition:color var(--motion-fast) var(--motion-easing), background var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing);background:0 0;place-items:center;display:inline-grid}.fp-icon-button:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted);background:var(--color-card-elevated)}.fp-card{border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);background:linear-gradient(180deg, var(--color-card-elevated), var(--color-card));box-shadow:var(--shadow-card)}.fp-card-elevated{background:var(--color-card-elevated)}.fp-field{gap:var(--space-2);min-width:0;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:grid}.fp-field-label{line-height:var(--line-height-tight)}.fp-field-label[data-required=true]:after{content:" *";color:var(--color-danger)}.fp-field-description{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.fp-field-error{color:var(--color-danger)}.fp-input,.fp-select,.fp-textarea{width:100%;min-width:0;height:var(--size-control);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);padding-inline:var(--space-4);color:var(--color-text);background:var(--color-card);transition:border-color var(--motion-fast) var(--motion-easing), background var(--motion-fast) var(--motion-easing)}.fp-textarea{min-height:var(--component-textarea-min-height);resize:vertical;height:auto;padding-block:var(--space-3)}.fp-input::placeholder{color:var(--color-text-muted)}.fp-input-invalid{border-color:var(--color-danger)}.fp-switch{min-width:0;min-height:var(--size-touch-target);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-text);cursor:pointer;display:flex}.fp-switch-copy{gap:var(--space-1);min-width:0;display:grid}.fp-switch-copy strong{font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.fp-switch-copy small{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-body)}.fp-switch-control{width:var(--component-switch-track-width);height:var(--size-touch-target);flex:0 0 var(--component-switch-track-width);place-items:center;display:grid;position:relative}.fp-switch-control input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.fp-switch-track{width:var(--component-switch-track-width);height:var(--component-switch-track-height);padding-inline:var(--border-accent);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);background:var(--color-card-elevated);transition:border-color var(--motion-fast) var(--motion-easing), background var(--motion-fast) var(--motion-easing);align-items:center;display:flex}.fp-switch-knob{width:var(--component-switch-knob-size);height:var(--component-switch-knob-size);border-radius:var(--radius-pill);background:var(--color-text-secondary);transition:transform var(--motion-fast) var(--motion-easing), background var(--motion-fast) var(--motion-easing)}.fp-switch-control input:checked+.fp-switch-track{border-color:var(--color-primary);background:var(--color-primary)}.fp-switch-control input:checked+.fp-switch-track .fp-switch-knob{transform:translateX(calc(var(--component-switch-track-width) - var(--component-switch-knob-size) - var(--space-2)));background:var(--color-text)}[dir=rtl] .fp-switch-control input:checked+.fp-switch-track .fp-switch-knob{transform:translateX(calc((var(--component-switch-track-width) - var(--component-switch-knob-size) - var(--space-2)) * -1))}.fp-switch-control input:focus-visible+.fp-switch-track{outline:var(--border-focus) solid var(--color-warning);outline-offset:var(--space-1)}.fp-switch:has(input:disabled){cursor:not-allowed;opacity:var(--opacity-disabled)}.fp-badge{align-items:center;gap:var(--space-1);width:fit-content;min-height:var(--space-6);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);padding-inline:var(--space-2);color:var(--fp-tone-color,var(--color-text-secondary));background:var(--color-bg-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);display:inline-flex}.fp-badge-primary{--fp-tone-color:var(--color-primary)}.fp-badge-success{--fp-tone-color:var(--color-success)}.fp-badge-warning{--fp-tone-color:var(--color-warning)}.fp-badge-danger{--fp-tone-color:var(--color-danger)}.fp-avatar{width:var(--space-10);height:var(--space-10);border:var(--border-hairline) solid var(--color-border);color:var(--color-text);background:var(--color-card-elevated);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.fp-avatar-small{width:var(--space-8);height:var(--space-8);font-size:var(--font-size-xs)}.fp-avatar-large{width:var(--space-12);height:var(--space-12);font-size:var(--font-size-md)}.fp-avatar img{object-fit:cover;width:100%;height:100%}.fp-progress-ring{color:var(--fp-tone-color,var(--color-primary));place-items:center;display:grid;position:relative}.fp-progress-ring-compact{width:var(--component-ring-compact);height:var(--component-ring-compact)}.fp-progress-ring-default{width:var(--component-ring-default);height:var(--component-ring-default)}.fp-progress-ring-large{width:var(--component-ring-large);height:var(--component-ring-large)}.fp-progress-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.fp-progress-ring circle{fill:none;stroke-width:var(--component-ring-stroke)}.fp-progress-ring-track{stroke:var(--color-border)}.fp-progress-ring-value{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset var(--motion-slow) var(--motion-easing)}.fp-progress-ring strong{color:var(--color-text);font-size:var(--font-size-md)}.fp-skeleton-stack{gap:var(--space-2);display:grid}.fp-skeleton{min-height:var(--space-4);border-radius:var(--radius-control);background:var(--color-card-elevated);animation:fp-pulse 1.4s var(--motion-easing) infinite;display:block;overflow:hidden}.fp-skeleton:nth-child(2n){width:82%}.fp-card-skeleton{min-height:var(--component-stat-card-min-height);padding:var(--space-5)}.fp-card-skeleton>div,.fp-list-skeleton-copy{gap:var(--space-2);display:grid}.fp-card-skeleton-kicker{width:var(--space-16);min-height:var(--space-3)}.fp-card-skeleton-value{width:var(--space-12);min-height:var(--space-8)}.fp-card-skeleton-detail{width:72%}.fp-list-skeleton,.fp-list-skeleton>div{gap:var(--space-2);display:grid}.fp-list-skeleton-row{min-height:var(--space-16);grid-template-columns:var(--space-10) minmax(0, 1fr);align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-secondary);display:grid}.fp-list-skeleton-avatar{width:var(--space-10);min-height:var(--space-10);border-radius:var(--radius-pill)}.fp-list-skeleton-copy .fp-skeleton:last-child{width:64%}.fp-state-panel{min-height:var(--component-state-min-height);justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);border:var(--border-hairline) dashed var(--color-border);border-radius:var(--radius-card);color:var(--fp-tone-color,var(--color-text-secondary));text-align:center;background:var(--color-bg-secondary);flex-direction:column;display:flex}.fp-state-panel strong{color:var(--color-text)}.fp-state-panel p{max-width:48ch;margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.fp-state-action{margin-block-start:var(--space-2)}.fp-status-message{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid var(--fp-tone-color,var(--color-border));border-radius:var(--radius-control);color:var(--fp-tone-color,var(--color-text-secondary));background:var(--color-card);font-size:var(--font-size-sm);line-height:var(--line-height-body);display:flex}.fp-status-message svg{flex:none;margin-block-start:var(--border-hairline)}.fp-tone-primary{--fp-tone-color:var(--color-primary)}.fp-tone-success{--fp-tone-color:var(--color-success)}.fp-tone-warning{--fp-tone-color:var(--color-warning)}.fp-tone-danger{--fp-tone-color:var(--color-danger)}.fp-tabs{min-width:0}.fp-tab-list{gap:var(--space-1);padding:var(--space-1);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-secondary);scrollbar-width:none;display:flex;overflow-x:auto}.fp-tab-list::-webkit-scrollbar{display:none}.fp-tab{min-width:var(--size-touch-target);min-height:var(--size-touch-target);border-radius:var(--radius-control);padding-inline:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:0;flex:1 0 auto}.fp-tab[aria-selected=true]{color:var(--color-bg);background:var(--color-primary);font-weight:var(--font-weight-bold)}.fp-tab-panel{padding-block-start:var(--space-4)}.fp-dialog{width:min(var(--component-dialog-max-width), calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));color:var(--color-text);background:0 0;border:0;margin:auto;padding:0;overflow:visible}.fp-dialog::backdrop{background:var(--color-overlay)}.fp-dialog-surface{max-height:inherit;border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.fp-dialog-header,.fp-dialog-footer{align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.fp-dialog-header{border-block-end:var(--border-hairline) solid var(--color-border);justify-content:space-between}.fp-dialog-header h2,.fp-dialog-header p{margin:0}.fp-dialog-header h2{font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.fp-dialog-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-body);margin-block-start:var(--space-1)}.fp-dialog-content{min-height:0;padding:var(--space-5);overflow-y:auto}.fp-dialog-footer{border-block-start:var(--border-hairline) solid var(--color-border);justify-content:flex-end}.fp-sheet{width:min(var(--component-sheet-max-width), 100%);height:100dvh;max-height:100dvh;margin-block:0}.fp-sheet-inline-end{margin-inline:auto 0}.fp-sheet-inline-start{margin-inline:0 auto}.fp-sheet .fp-dialog-surface{border-radius:0;height:100%}.fp-confirm-icon{width:var(--space-16);height:var(--space-16);border:var(--border-hairline) solid var(--fp-tone-color,var(--color-warning));color:var(--fp-tone-color,var(--color-warning));background:var(--color-bg-secondary);border-radius:50%;place-items:center;margin-inline:auto;display:grid}.fp-toast-viewport{z-index:var(--z-toast);width:min(var(--component-toast-max-width), calc(100% - var(--space-8)));gap:var(--space-3);pointer-events:none;display:grid;position:fixed;inset-block-start:var(--space-4);inset-inline-end:var(--space-4)}.fp-toast{grid-template-columns:var(--size-icon-md) minmax(0, 1fr) var(--size-touch-target);align-items:start;gap:var(--space-3);padding:var(--space-4);border:var(--border-hairline) solid var(--fp-tone-color,var(--color-border));border-radius:var(--radius-card);color:var(--fp-tone-color,var(--color-text-secondary));background:var(--color-card-elevated);box-shadow:var(--shadow-overlay);pointer-events:auto;display:grid}.fp-toast strong{color:var(--color-text)}.fp-toast p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.fp-spin{animation:.8s linear infinite fp-spin}@keyframes fp-spin{to{transform:rotate(360deg)}}@keyframes fp-pulse{50%{opacity:var(--opacity-skeleton)}}@media (max-width:767px){.fp-dialog:not(.fp-sheet){width:calc(100% - var(--space-4))}.fp-sheet{width:min(92%, var(--component-sheet-mobile-max-width))}.fp-dialog-footer{flex-direction:column-reverse;align-items:stretch}.fp-dialog-footer .fp-button{width:100%}.fp-toast-viewport{inset-block-start:var(--space-2);inset-inline:var(--space-2);width:auto}}@media (prefers-reduced-motion:reduce){.fp-button,.fp-icon-button,.fp-input,.fp-select,.fp-textarea,.fp-progress-ring-value{transition:none}.fp-spin,.fp-skeleton{animation:none}}
*{box-sizing:border-box}html,body{background:var(--color-bg);min-height:100%;color:var(--color-text);font-family:var(--font-family);letter-spacing:0;margin:0}.body-overview-screen,.muscle-detail-screen{gap:var(--space-6);display:grid}.body-overview-header{align-items:start}.body-overview-mode-tabs{min-width:0}.body-overview-symbolic{min-width:0;position:relative}.body-view-controls{justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-3);display:flex}.body-mannequin-layout,.body-anatomical-layout{grid-template-columns:var(--component-mannequin-marker-width) minmax(0, 1fr) var(--component-mannequin-marker-width);gap:var(--space-4);align-items:stretch;min-width:0;display:grid}.body-map-stage{min-width:0;min-height:var(--component-mannequin-height);border-radius:var(--radius-control);background:#000;place-items:center;display:grid}.body-map-wrapper{aspect-ratio:682/1024;background:#000;width:min(100%,500px);margin-inline:auto;position:relative}.body-map-image{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.body-map-overlay{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.body-map-region{fill:#0000;stroke:#0000;cursor:pointer;pointer-events:all;outline:none;transition:fill-opacity .18s,stroke .18s,filter .18s}.body-map-region[data-debug=true]{stroke:#ffffff47;stroke-width:1px}.body-map-region:focus-visible{stroke:var(--color-primary);stroke-width:3px;fill:color-mix(in srgb, var(--color-primary) 28%, transparent)}.body-map-tooltip{z-index:var(--z-sticky);min-width:7rem;max-width:min(12rem,70%);padding:var(--space-2) var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-card-elevated) 92%, transparent);color:var(--color-text);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:2px;display:grid;position:absolute;translate:-50% -120%}.body-map-tooltip strong,.body-map-tooltip span{font-size:var(--font-size-sm);line-height:1.2}.body-map-tooltip span{color:var(--color-text-secondary)}.body-map-debug{border-radius:var(--radius-control);color:#9ae6b4;pointer-events:none;background:#000000b3;padding:2px 6px;font-family:ui-monospace,monospace;font-size:11px;position:absolute;inset-block-end:var(--space-2);inset-inline-start:var(--space-2)}.body-mannequin-markers{justify-content:space-around;gap:var(--space-2);flex-direction:column;display:flex}.body-muscle-marker{align-items:center;gap:var(--space-2);width:100%;min-height:var(--size-touch-target);padding:var(--space-2);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-card);color:var(--color-text);text-align:start;cursor:pointer;transition:border-color .18s,background .18s,transform .18s;display:flex}.body-muscle-marker[aria-pressed=true],.body-muscle-marker[data-active=true]{border-color:var(--color-primary);background:var(--color-card-elevated);transform:translateY(-1px)}.body-muscle-marker[data-status=excellent][data-active=true]{border-color:var(--color-success)}.body-muscle-marker[data-status=good][data-active=true]{border-color:var(--color-warning)}.body-muscle-marker[data-status=needs_work][data-active=true]{border-color:var(--color-danger)}.body-muscle-marker>span:last-child{min-width:0;display:grid}.body-muscle-marker strong,.body-muscle-marker small{overflow-wrap:anywhere}.body-muscle-marker small{color:var(--color-text-secondary)}.body-muscle-marker-dot{flex:0 0 var(--space-3);width:var(--space-3);height:var(--space-3);border-radius:var(--radius-pill);background:var(--color-text-muted)}.body-muscle-marker[data-status=excellent] .body-muscle-marker-dot{background:var(--color-success)}.body-muscle-marker[data-status=good] .body-muscle-marker-dot{background:var(--color-warning)}.body-muscle-marker[data-status=needs_work] .body-muscle-marker-dot{background:var(--color-danger)}.body-status-legend{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.body-score-summary,.muscle-component-grid{grid-template-columns:repeat(auto-fit, minmax(var(--component-photo-preview-max-width), 1fr));gap:var(--space-3);display:grid}.body-score-card,.muscle-component-card{gap:var(--space-2);align-content:start;display:grid}.body-real-photo{justify-items:center;gap:var(--space-3);max-width:var(--component-dialog-max-width);margin-inline:auto;display:grid}.body-real-photo img{width:100%;max-width:var(--component-photo-preview-max-width);aspect-ratio:3/4;object-fit:contain;display:block}.muscle-detail-score{align-items:center;gap:var(--space-5);display:flex}.muscle-evidence-list{grid-template-columns:repeat(auto-fit, minmax(var(--component-photo-preview-max-width), 1fr));gap:var(--space-3);display:grid}.muscle-evidence-list>div,.muscle-top-exercises li{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-2);border-block-end:var(--border-hairline) solid var(--color-border);display:flex}.muscle-evidence-list dt,.muscle-top-exercises span,.chart-empty-label{color:var(--color-text-secondary)}.muscle-evidence-list dd{font-weight:var(--font-weight-bold);margin:0}.muscle-top-exercises{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.muscle-top-exercises li{justify-content:start}.muscle-top-exercises span{margin-inline-start:auto}@media (max-width:767px){.body-mannequin-layout,.body-anatomical-layout{grid-template-columns:1fr 1fr}.body-map-stage{min-height:auto;padding-block:var(--space-2);grid-area:1/1/auto/-1}.body-map-wrapper{width:min(82vw,390px)}.body-mannequin-markers{justify-content:start}.muscle-detail-score{flex-direction:column;align-items:flex-start}}@media (min-width:768px) and (max-width:1100px){.body-map-wrapper{width:min(100%,400px)}}@media (prefers-reduced-motion:reduce){.body-mannequin-canvas canvas,.body-map-region,.body-muscle-marker{transition:none}}body{min-height:100vh}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-text)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:var(--border-focus) solid var(--color-warning);outline-offset:var(--border-focus)}.auth-page{background:var(--color-bg);grid-template-columns:minmax(320px,.9fr) minmax(480px,1.1fr);min-height:100vh;display:grid}.auth-brand-panel{min-height:100vh;padding:var(--space-12);background:var(--color-bg-secondary);border-inline-end:var(--border-hairline) solid var(--color-border);flex-direction:column;justify-content:space-between;display:flex}.brand-mark{align-items:center;gap:var(--space-2);width:fit-content;font-size:var(--size-icon-md);font-weight:var(--font-weight-bold);display:inline-flex}.brand-mark strong{color:var(--color-primary)}.brand-mark-compact{font-size:var(--font-size-md)}.brand-icon{background:var(--color-primary);border-radius:var(--radius-control);width:42px;height:42px;color:var(--color-bg);place-items:center;display:inline-grid}.brand-mark-compact .brand-icon{width:34px;height:34px}.auth-brand-copy{max-width:440px;padding-block-end:8vh}.performance-visual{align-items:flex-end;gap:var(--space-5);height:180px;padding:var(--space-6);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);color:var(--color-primary);background:var(--color-card);margin-block-end:var(--space-8);display:flex}.performance-bars{align-items:flex-end;gap:var(--space-3);flex:1;height:100%;display:flex}.performance-bars span{background:var(--color-primary);border-radius:var(--radius-small) var(--radius-small) 0 0;flex:1;min-width:14px}.performance-bars span:first-child{height:30%}.performance-bars span:nth-child(2){background:var(--color-warning);height:48%}.performance-bars span:nth-child(3){height:43%}.performance-bars span:nth-child(4){background:var(--color-success);height:68%}.performance-bars span:nth-child(5){height:84%}.brand-kicker{align-items:center;gap:var(--space-2);color:var(--color-success);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex}.auth-brand-copy h2{margin:var(--space-4) 0 var(--space-3);max-width:390px;font-size:var(--font-size-hero);line-height:var(--line-height-display)}.auth-brand-copy>p:last-child{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.auth-form-panel{min-height:100vh;padding:calc(var(--space-16) + var(--space-2)) var(--space-8);place-items:center;display:grid;position:relative}.auth-form-frame{width:min(100%,430px)}.auth-language-desktop{position:absolute;inset-block-start:var(--space-6);inset-inline-end:var(--space-6)}.auth-mobile-header{display:none}.field-icon-button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0}.language-toggle span{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.auth-form h1,.settings-content h1{font-size:var(--font-size-display);line-height:var(--line-height-tight);margin:0}.form-subtitle{margin:var(--space-3) 0 var(--space-8);color:var(--color-text-secondary);line-height:var(--line-height-body)}.form-stack{gap:var(--space-5);display:grid}.input-with-action{display:block;position:relative}.input-with-action input{padding-inline-end:var(--space-12)}.field-icon-button{width:var(--size-control);place-items:center;display:grid;position:absolute;inset-block:0;inset-inline-end:0}.form-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.checkbox-field{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);display:inline-flex}.checkbox-field input{width:var(--size-icon-sm);height:var(--size-icon-sm);accent-color:var(--color-primary)}.text-link{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:var(--space-1)}.auth-footer{margin:var(--space-6) 0 0;text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-footer a{font-weight:var(--font-weight-bold);margin-inline-start:var(--space-2)}.password-policy{margin:calc(var(--space-3) * -1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-body)}.form-divider{height:var(--border-hairline);margin-block:var(--space-2);background:var(--color-border)}.form-section-title{font-size:var(--font-size-lg);margin:0}.settings-content{width:100%;padding:var(--space-6) 0 var(--space-8)}.settings-title-row{align-items:center;gap:var(--space-4);margin-block-end:var(--space-8);display:flex}.settings-title-row p{margin:var(--space-2) 0 0;color:var(--color-text-secondary)}.settings-title-icon,.session-device-icon{border-radius:var(--radius-control);background:var(--color-card-elevated);color:var(--color-success);flex:none;place-items:center;display:grid}.settings-title-icon{width:var(--size-control);height:var(--size-control)}.settings-grid{gap:var(--space-6);grid-template-columns:minmax(320px,.8fr) minmax(430px,1.2fr);align-items:start;margin-block-start:var(--space-6);display:grid}.settings-section{padding:var(--space-6);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card)}.section-heading{align-items:center;gap:var(--space-3);color:var(--color-primary);margin-block-end:var(--space-5);display:flex}.section-heading h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.account-email{margin:calc(var(--space-2) * -1) 0 var(--space-6);color:var(--color-text-secondary);overflow-wrap:anywhere}.session-list{gap:var(--space-3);margin-block-end:var(--space-5);display:grid}.session-item{gap:var(--space-3);min-height:118px;padding:var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-secondary);grid-template-columns:40px minmax(0,1fr) 40px;align-items:start;display:grid}.session-device-icon{width:40px;height:40px}.session-details{gap:var(--space-1);min-width:0;color:var(--color-text-muted);font-size:var(--font-size-xs);display:grid}.session-name-row{align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.session-name-row strong{overflow-wrap:anywhere}.current-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--color-success);background:var(--color-card-elevated);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.empty-state{color:var(--color-text-secondary)}.profile-settings-page,.settings-form-grid,.settings-form-grid>fieldset{gap:var(--space-6);display:grid}.profile-settings-header{align-items:center;gap:var(--space-4);display:flex}.profile-settings-header h1,.profile-settings-header p,.settings-section-description{margin:0}.profile-settings-header h1{font-size:var(--font-size-xl)}.profile-settings-header p,.settings-section-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-body);margin-block-start:var(--space-1)}.profile-settings-page fieldset{gap:var(--space-5);border:0;min-width:0;margin:0;padding:0;display:grid}.profile-identity-section{display:grid}.profile-avatar-row{align-items:center;gap:var(--space-5);display:flex}.profile-avatar-row .fp-avatar-large{width:var(--component-ring-default);height:var(--component-ring-default);font-size:var(--font-size-lg)}.profile-avatar-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.profile-avatar-actions small{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-basis:100%}.settings-file-input{width:var(--border-hairline);height:var(--border-hairline);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}.settings-fields-grid,.partner-access-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-16) * 4)), 1fr));gap:var(--space-4);display:grid}.settings-switch-list{display:grid}.settings-switch-list .fp-switch{padding-block:var(--space-3);border-block-end:var(--border-hairline) solid var(--color-border)}.settings-switch-list .fp-switch:last-child{border-block-end:0}.partner-access-list{gap:var(--space-4);display:grid}.partner-access-item{padding:var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-secondary)}.partner-access-heading{align-items:center;gap:var(--space-3);min-width:0;display:flex}.partner-access-heading>div{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.partner-access-heading strong{overflow-wrap:anywhere}.settings-security-link .fp-button{width:fit-content;text-decoration:none}@media (max-width:820px){.auth-page{display:block}.auth-brand-panel,.auth-language-desktop{display:none}.auth-form-panel{min-height:100vh;padding:0 var(--space-5) var(--space-12);display:block}.auth-mobile-header{min-height:var(--layout-bottom-nav);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border);margin-block-end:var(--size-touch-target);display:flex}.auth-form-frame{margin:0 auto}.settings-grid{grid-template-columns:1fr}}.admin-screen,.admin-panel-stack,.admin-list,.admin-permission-groups,.admin-permission-list{gap:var(--space-4);display:grid}.admin-screen{gap:var(--space-6)}.admin-screen .feature-header,.admin-actions,.admin-readiness-grid>.fp-card{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.admin-screen .feature-header h1,.admin-screen .feature-header p,.admin-panel-stack h2,.admin-panel-stack h3,.admin-panel-stack p{margin:0}.admin-screen .feature-header h1{font-size:var(--font-size-display);line-height:var(--line-height-tight)}.admin-screen .feature-header p,.admin-list-row span,.admin-permission-row span{color:var(--color-text-secondary)}.admin-summary-grid,.admin-readiness-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-summary-grid>.fp-card,.admin-readiness-grid>.fp-card{min-width:0}.admin-summary-grid>.fp-card{gap:var(--space-2);display:grid}.admin-summary-grid strong{font-size:var(--font-size-xl)}.admin-form-grid,.admin-audit-filters{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.admin-form-grid>.admin-actions,.admin-form-grid>.fp-button,.admin-form-grid>p,.admin-audit-filters>.admin-actions{grid-column:1/-1}.admin-list-row{grid-template-columns:minmax(0, 2fr) auto minmax(var(--space-16), 1fr) auto;gap:var(--space-3);align-items:center;display:grid}.admin-list-row>div:first-child,.admin-permission-row>div{gap:var(--space-1);min-width:0;display:grid}.admin-list-row strong,.admin-list-row span,.admin-detail-list dd{overflow-wrap:anywhere}.admin-permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-permission-groups>.fp-card{align-content:start;gap:var(--space-3);display:grid}.admin-permission-row{grid-template-columns:minmax(0, 1fr) minmax(var(--space-16), auto);align-items:center;gap:var(--space-3);padding-block:var(--space-2);border-block-end:var(--border-hairline) solid var(--color-border);display:grid}.admin-permission-row:last-child{border-block-end:0}.admin-detail-list,.admin-detail-list>div{grid-template-columns:minmax(var(--space-16), auto) minmax(0, 1fr);gap:var(--space-2) var(--space-4);display:grid}.admin-detail-list>div{grid-column:1/-1}.admin-detail-list dt{color:var(--color-text-secondary)}.admin-detail-list dd{margin:0}@media (max-width:767px){.admin-screen .feature-header{flex-direction:column;align-items:stretch}.admin-summary-grid,.admin-readiness-grid,.admin-form-grid,.admin-audit-filters,.admin-permission-groups,.admin-list-row{grid-template-columns:1fr}.admin-form-grid>.admin-actions,.admin-form-grid>.fp-button,.admin-form-grid>p,.admin-audit-filters>.admin-actions{grid-column:auto}.admin-actions{flex-direction:column;align-items:stretch}.admin-actions>.fp-button,.admin-list-row>.fp-button,.admin-list-row>.fp-select{width:100%}}@media (max-width:420px){.auth-form h1,.settings-content h1{font-size:var(--font-size-xl)}.form-row{flex-direction:column;align-items:flex-start}.settings-content{padding-block-start:var(--space-4)}.settings-section{padding:var(--space-4)}.profile-avatar-row{flex-direction:column;align-items:flex-start}.profile-avatar-actions,.profile-avatar-actions .fp-button,.settings-security-link .fp-button{width:100%}.session-item{grid-template-columns:var(--space-10) minmax(0, 1fr) var(--size-touch-target);padding:var(--space-3)}}.app-utility-actions,.coach-chat-header,.notifications-screen .feature-header,.notification-filter-tabs,.chat-reference-types,.chat-plan-actions{align-items:center;gap:var(--space-2);display:flex}.notification-bell{display:inline-flex;position:relative}.notification-bell-count{min-width:var(--space-5);height:var(--space-5);padding-inline:var(--space-1);border:var(--border-hairline) solid var(--color-bg-secondary);border-radius:var(--radius-pill);color:var(--color-text);background:var(--color-primary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);pointer-events:none;place-items:center;display:grid;position:absolute;inset-block-start:calc(var(--space-1) * -1);inset-inline-end:calc(var(--space-1) * -1)}.notifications-screen,.coach-chat-screen,.chat-reference-picker,.chat-contact-list,.chat-reference-list{gap:var(--space-5);display:grid}.notifications-screen .feature-header,.coach-chat-header{justify-content:space-between}.notifications-screen .feature-header h1,.coach-chat-header h1,.coach-thread-pane h2,.chat-conversation-header h2{margin:0}.notifications-screen .feature-header p,.coach-chat-header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary)}.notification-filter-tabs,.chat-reference-types,.chat-plan-actions{flex-wrap:wrap}.notification-list,.chat-thread-list{display:grid}.notification-row,.chat-thread-row,.chat-contact-row,.chat-reference-picker-row{align-items:center;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-4);border:0;border-block-end:var(--border-hairline) solid var(--color-border);color:var(--color-text);text-align:start;cursor:pointer;background:0 0;text-decoration:none;display:flex}.notification-row:hover,.chat-thread-row:hover,.chat-thread-row[data-active=true],.chat-contact-row:hover:not(:disabled),.chat-reference-picker-row:hover:not(:disabled){background:var(--color-card-elevated)}.notification-row:focus-visible,.chat-thread-row:focus-visible,.chat-contact-row:focus-visible,.chat-reference-picker-row:focus-visible,.chat-reference-link:focus-visible,.chat-mobile-back:focus-visible{outline:var(--border-focus) solid var(--color-warning);outline-offset:calc(var(--space-1) * -1)}.notification-row[data-unread=true]{border-inline-start:var(--border-accent) solid var(--color-primary);background:var(--color-card)}.notification-row-icon,.feature-header-icon{flex:0 0 var(--size-touch-target);width:var(--size-touch-target);height:var(--size-touch-target);border-radius:var(--radius-pill);color:var(--color-primary);background:var(--color-card-elevated);place-items:center;display:grid}.notification-row-copy,.chat-thread-copy,.chat-contact-row>span,.chat-reference-picker-row{min-width:0}.notification-row-copy,.chat-thread-copy,.chat-contact-row>span{gap:var(--space-1);display:grid}.notification-row-copy span,.chat-thread-copy span,.notification-row-copy small,.chat-thread-copy small,.chat-contact-row small,.chat-reference-picker-row span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.notification-row-copy strong,.notification-row-copy span,.chat-thread-copy strong,.chat-thread-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification-row-copy,.chat-thread-copy{flex:auto}.notification-row-chevron{color:var(--color-text-muted)}[dir=rtl] .notification-row-chevron,[dir=rtl] .chat-mobile-back svg{transform:scaleX(-1)}.coach-chat-layout{min-width:0;min-height:calc(var(--component-mannequin-mobile-height) + var(--space-16));grid-template-columns:calc(var(--space-16) * 5) minmax(0, 1fr);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-secondary);display:grid;overflow:hidden}.coach-thread-pane,.coach-conversation-pane{min-width:0;min-height:0}.coach-thread-pane{border-inline-end:var(--border-hairline) solid var(--color-border);background:var(--color-card);overflow-y:auto}.coach-thread-pane h2{z-index:var(--z-base);padding:var(--space-4);border-block-end:var(--border-hairline) solid var(--color-border);background:var(--color-card);font-size:var(--font-size-lg);position:sticky;inset-block-start:0}.chat-thread-row .fp-avatar,.chat-contact-row .fp-avatar{flex:0 0 var(--space-10)}.coach-conversation-pane{background:var(--color-bg-secondary);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid}.chat-conversation-header{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);border-block-end:var(--border-hairline) solid var(--color-border);background:var(--color-card);display:flex}.chat-conversation-header>div{min-width:0}.chat-conversation-header h2,.chat-conversation-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-conversation-header h2{font-size:var(--font-size-lg)}.chat-conversation-header span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.chat-mobile-back{width:var(--size-touch-target);height:var(--size-touch-target);border-radius:var(--radius-pill);color:var(--color-text);place-items:center;display:none}.chat-search{align-items:end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-block-end:var(--border-hairline) solid var(--color-border);display:flex}.chat-search-field,.chat-composer-field{flex:auto;min-width:0}.chat-search-field .fp-field-label,.chat-composer-field .fp-field-label{width:var(--border-hairline);height:var(--border-hairline);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}.chat-message-region{min-height:0;padding:var(--space-4);overflow-y:auto}.chat-message-list,.chat-message-entry{gap:var(--space-3);display:grid}.chat-message-list{align-content:end}.chat-date-separator{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-muted);background:var(--color-card);font-size:var(--font-size-xs);justify-self:center}.chat-message{justify-self:start;gap:var(--space-2);width:fit-content;max-width:78%;padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);overflow-wrap:anywhere;display:grid}.chat-message[data-outgoing=true]{border-color:var(--color-primary);background:var(--color-card-elevated);justify-self:end}.chat-message-sender{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.chat-message p{white-space:pre-wrap;margin:0}.chat-system-notice{color:var(--color-warning)}.chat-message footer{justify-content:flex-end;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-2xs);display:flex}.chat-message footer span{align-items:center;gap:var(--space-1);display:inline-flex}.chat-reference-card{gap:var(--space-2) var(--space-3);min-width:0;padding:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-secondary);grid-template-columns:auto minmax(0,1fr);display:grid}.chat-reference-card>svg{color:var(--color-primary)}.chat-reference-card>div:not(.chat-plan-actions){gap:var(--space-1);display:grid}.chat-reference-card span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chat-reference-link,.chat-plan-actions{grid-column:1/-1}.chat-reference-link{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.chat-reference-card[data-state=restricted]{border-color:var(--color-warning)}.chat-composer{z-index:var(--z-base);align-items:end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-block-start:var(--border-hairline) solid var(--color-border);background:var(--color-card);display:flex;position:sticky;inset-block-end:0}.chat-composer .fp-textarea{min-height:var(--size-control);max-height:calc(var(--space-16) * 2);resize:vertical}.chat-contact-row:disabled,.chat-reference-picker-row:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.chat-contact-row>.fp-badge{margin-inline-start:auto}.chat-reference-picker-row{align-items:start;gap:var(--space-1);flex-direction:column}@media (max-width:767px){.coach-chat-header,.notifications-screen .feature-header{flex-direction:column;align-items:stretch}.coach-chat-layout{min-height:calc(100dvh - var(--layout-topbar) - var(--layout-bottom-nav) - var(--space-16));grid-template-columns:1fr}.coach-thread-pane{border-inline-end:0}.coach-chat-screen:not([data-has-thread=true]) .coach-conversation-pane,.coach-chat-screen[data-has-thread=true] .coach-thread-pane{display:none}.chat-mobile-back{display:grid}.chat-message{max-width:90%}.chat-search,.chat-composer{padding-inline:var(--space-3)}.chat-search .fp-button-ghost{width:var(--size-touch-target);min-width:var(--size-touch-target);padding-inline:0;overflow:hidden}}.dashboard-screen,.shared-board-screen,.dashboard-overview,.dashboard-analytics,.shared-leaderboard,.leaderboard-list{gap:var(--space-6);display:grid}.dashboard-screen .feature-header,.shared-board-screen .feature-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.dashboard-screen .feature-header h1,.shared-board-screen .feature-header h1,.dashboard-section h2,.shared-member-card h2{margin:0}.dashboard-screen .feature-header p,.shared-board-screen .feature-header p,.dashboard-today-card p,.dashboard-section p{margin:var(--space-1) 0 0;color:var(--color-text-secondary)}.feature-header-icon,.shared-member-initials{width:var(--size-touch-target);height:var(--size-touch-target);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card-elevated);font-weight:var(--font-weight-semibold);flex:none;place-items:center;display:inline-grid}.feature-header-icon{color:var(--color-primary)}.shared-member-initials{color:var(--color-text)}.dashboard-stat-grid,.dashboard-detail-grid,.dashboard-analytics-grid,.shared-member-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-section{align-content:start;gap:var(--space-4);display:grid}.dashboard-detail-grid .dashboard-section,.dashboard-analytics-grid .dashboard-section,.shared-member-card,.leaderboard-row{padding:var(--space-5)}.dashboard-detail-grid .dashboard-section:last-child{grid-column:1/-1}.dashboard-today-list,.dashboard-status-grid,.dashboard-metric-list,.dashboard-lift-list,.shared-member-summary{gap:var(--space-3);display:grid}.dashboard-today-card,.dashboard-filter-row,.shared-member-heading,.leaderboard-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.dashboard-today-card h3{margin:var(--space-2) 0 0;font-size:var(--font-size-lg)}.dashboard-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-status-grid>div{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.dashboard-filter-row .fp-field{flex:1 1 0}.dashboard-lift-list>div{gap:var(--space-1);padding-block:var(--space-3);border-block-end:var(--border-hairline) solid var(--color-border);display:grid}.dashboard-lift-list>div:last-child{border-block-end:0}.dashboard-lift-list span,.dashboard-lift-list small,.leaderboard-row small{color:var(--color-text-secondary)}.shared-member-card{gap:var(--space-5);display:grid}.shared-member-heading{justify-content:flex-start}.shared-member-heading>div{gap:var(--space-2);display:grid}.shared-member-summary{grid-template-columns:auto minmax(0,1fr);align-items:center}.shared-member-summary .fp-progress-ring{grid-row:1/3}.shared-board-load-more{grid-column:1/-1;justify-self:center}.leaderboard-row{grid-template-columns:auto auto minmax(0,1fr) auto;justify-content:stretch;display:grid}.leaderboard-row small{grid-column:3/-1}.dashboard-overview[data-offline=true]:before{content:"";border-block-start:var(--border-accent) solid var(--color-warning);display:block}@media (max-width:767px){.dashboard-stat-grid,.dashboard-detail-grid,.dashboard-analytics-grid,.shared-member-grid{grid-template-columns:1fr}.dashboard-detail-grid .dashboard-section:last-child{grid-column:auto}.dashboard-today-card,.dashboard-filter-row{flex-direction:column;align-items:stretch}.dashboard-filter-row .fp-field,.dashboard-today-card .fp-button{width:100%}.leaderboard-row{grid-template-columns:auto minmax(0,1fr)}.leaderboard-row>strong,.leaderboard-row>span:not(.shared-member-initials),.leaderboard-row small{grid-column:2}}.progress-hub-tabs,.progress-photos-screen,.progress-photo-detail-screen,.progress-photo-comparison-screen,.photo-comparison-result{gap:var(--space-6);display:grid}.progress-hub-tabs>.fp-tab-list{z-index:var(--z-sticky);background:var(--color-bg);padding-block:var(--space-2);position:sticky;inset-block-start:var(--layout-topbar)}.progress-photos-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}.progress-photos-header h1{margin:var(--space-2) 0;font-size:var(--font-size-display);line-height:var(--line-height-tight)}.progress-photos-header p,.progress-photo-measurements>p,.photo-comparison-measurements>p{color:var(--color-text-secondary);margin:0}.progress-photo-actions,.recently-deleted-item>div,.progress-photo-detail-meta>span,.progress-photo-detail-meta,.photo-file-status{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.progress-photo-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--component-photo-preview-max-width)), 1fr));gap:var(--space-4);display:grid}.progress-photo-grid .photo-grid-item{width:100%}.progress-photo-media-state,.progress-photo-media-skeleton{width:100%;height:100%;min-height:calc(var(--space-16) * 3)}.progress-photo-media-state{align-content:center;place-items:center;gap:var(--space-3);padding:var(--space-4);color:var(--color-text-secondary);text-align:center;background:var(--color-bg-secondary);display:grid}.photo-grid-media img,.progress-photo-detail-media img,.photo-comparison-side-by-side img,.photo-comparison-slider img{object-fit:cover;width:100%;height:100%;display:block}.photo-upload-form,.photo-angle-files,.recently-deleted-list,.progress-photo-detail-meta,.progress-photo-metric-list,.photo-comparison-controls,.photo-comparison-measurements>div{gap:var(--space-4);display:grid}.photo-angle-files{padding:var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);margin:0}.photo-angle-files legend{padding-inline:var(--space-2);font-weight:var(--font-weight-semibold)}.photo-face-editor{width:min(100%, var(--component-photo-preview-max-width));aspect-ratio:3/4;border:var(--border-focus) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-secondary);justify-self:center;position:relative;overflow:hidden}.photo-face-editor img{object-fit:contain;width:100%;height:100%}.photo-face-region{border:var(--border-accent) solid var(--color-warning);background:var(--color-overlay);position:absolute}.recently-deleted-item{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.recently-deleted-item>span{gap:var(--space-1) var(--space-2);grid-template-columns:auto minmax(0,1fr);display:grid}.recently-deleted-item small{color:var(--color-text-secondary);grid-column:2}.progress-photo-detail-grid,.photo-comparison-side-by-side{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.progress-photo-detail-card{padding:0;overflow:hidden}.progress-photo-detail-media,.photo-comparison-side-by-side figure,.photo-comparison-slider{aspect-ratio:3/4;background:var(--color-bg-secondary)}.progress-photo-detail-meta{padding:var(--space-4)}.progress-photo-detail-meta>span{justify-content:space-between}.progress-photo-measurements h2,.photo-comparison-measurements h2{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);margin-block-start:0;display:flex}.photo-comparison-controls{grid-template-columns:repeat(auto-fit, minmax(calc(var(--space-16) * 3), 1fr));align-items:end}.photo-comparison-side-by-side figure{border-radius:var(--radius-card);margin:0;position:relative;overflow:hidden}.photo-comparison-side-by-side figcaption{padding:var(--space-3);background:var(--color-overlay);color:var(--color-text);position:absolute;inset-block-end:0;inset-inline:0}.photo-comparison-slider-wrap{gap:var(--space-4);max-width:calc(var(--component-photo-preview-max-width) * 2);margin-inline:auto;display:grid}.photo-comparison-slider{border-radius:var(--radius-card);position:relative;overflow:hidden}.photo-comparison-slider>.progress-photo-media-state,.photo-comparison-slider>span{position:absolute;inset:0}.photo-comparison-slider-top{border-inline-end:var(--border-focus) solid var(--color-warning);position:absolute;inset:0;overflow:hidden}[dir=rtl] .photo-comparison-slider-top{border-inline-end:0;border-inline-start:var(--border-focus) solid var(--color-warning)}.photo-comparison-measurements>div{grid-template-columns:repeat(auto-fit, minmax(calc(var(--space-16) * 2), 1fr))}.photo-comparison-measurements span{gap:var(--space-1);padding:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);display:grid}.photo-comparison-measurements small{color:var(--color-text-secondary)}@media (max-width:768px){.progress-photos-header,.recently-deleted-item{flex-direction:column;align-items:stretch}.progress-photo-actions .fp-button{flex:auto}.progress-photo-detail-grid,.photo-comparison-side-by-side{grid-template-columns:1fr}}.measurements-page{gap:var(--space-8);width:min(100%, var(--layout-content-max));margin-inline:auto;display:grid}.measurements-header,.measurement-section-heading,.measurement-history-heading,.measurement-history-meta,.measurement-history-actions{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.measurements-header h1,.measurement-section-heading h2,.measurement-history-heading h3{margin:0}.measurements-header p,.measurement-section-heading p,.measurement-history-heading small,.measurement-metric-block>small{margin:var(--space-1) 0 0;color:var(--color-text-secondary)}.measurement-section-heading p,.measurement-history-meta span,.measurement-history-meta .actor-attribution{align-items:center;gap:var(--space-2);display:inline-flex}.measurement-alert{padding:var(--space-4);border:var(--border-hairline) solid var(--color-warning);border-radius:var(--radius-control);color:var(--color-warning);background:var(--color-card)}.measurement-latest,.measurement-trend-section,.measurement-history{gap:var(--space-5);padding-block:var(--space-6);border-block-start:var(--border-hairline) solid var(--color-border);display:grid}.measurement-comparison-controls,.measurement-trend-controls,.measurement-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.measurement-comparison-controls .fp-field{max-width:var(--component-dialog-max-width)}.measurement-metric-list,.measurement-history-list,.measurement-form,.measurement-values-fieldset{gap:var(--space-4);display:grid}.measurement-metric-block{gap:var(--space-1);border-block-end:var(--border-hairline) solid var(--color-border);padding-block-end:var(--space-3);display:grid}.measurement-metric-block:last-child{border-block-end:0}.measurement-chart-wrap{min-width:0;overflow:hidden}.measurement-chart{aspect-ratio:8/3;width:100%;color:var(--color-primary);display:block}.measurement-chart-axis{stroke:var(--color-border);stroke-width:var(--border-hairline)}.measurement-chart-line{stroke:currentColor;stroke-width:var(--border-accent);stroke-linecap:round;stroke-linejoin:round}.measurement-chart-point{fill:var(--color-card);stroke:currentColor;stroke-width:var(--border-accent)}.measurement-chart-data{gap:var(--space-3);padding:var(--space-3) 0 0;margin:0;list-style:none;display:flex;overflow-x:auto}.measurement-chart-data li{min-width:var(--component-stat-card-min-height);gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-xs);display:grid}.measurement-chart-data strong{color:var(--color-text);font-size:var(--font-size-sm)}.measurement-history-item{gap:var(--space-4);padding:var(--space-5);display:grid}.measurement-history-values{grid-template-columns:repeat(auto-fit, minmax(var(--component-stat-card-min-height), 1fr));gap:var(--space-3);display:grid}.measurement-history-values span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.measurement-history-values strong{color:var(--color-text)}.measurement-history-meta{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-wrap:wrap;justify-content:flex-start}.measurement-load-more{justify-content:center;display:flex}.measurement-values-fieldset{min-width:0;padding:var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);margin:0}.measurement-values-fieldset legend{padding-inline:var(--space-2);font-weight:var(--font-weight-bold)}@media (max-width:767px){.measurements-header,.measurement-history-heading{flex-direction:column;align-items:stretch}.measurements-header .fp-button,.measurement-history-actions .fp-button{flex:1 1 0}.measurement-comparison-controls,.measurement-trend-controls,.measurement-form-grid{grid-template-columns:1fr}.measurement-history-actions{width:100%}.measurement-history-values{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell{grid-template-columns:var(--layout-sidebar) minmax(0, 1fr);background:var(--color-bg);min-height:100dvh;display:grid}.app-skip-link{z-index:var(--z-toast);transform:translateY(calc(-100% - var(--space-4)));padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid var(--color-warning);border-radius:var(--radius-control);color:var(--color-bg);background:var(--color-warning);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transition:transform var(--motion-fast) var(--motion-easing);text-decoration:none;position:fixed;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}.app-skip-link:focus-visible{transform:none}.app-sidebar{z-index:var(--z-sticky);border-inline-end:var(--border-hairline) solid var(--color-border);background:var(--color-bg-secondary);flex-direction:column;min-width:0;height:100dvh;display:flex;position:sticky;inset-block-start:0}.app-sidebar-brand{min-height:var(--layout-topbar);padding-inline:var(--space-4);border-block-end:var(--border-hairline) solid var(--color-border);align-items:center;display:flex}.app-sidebar-nav{align-content:start;gap:var(--space-1);min-height:0;padding:var(--space-4) var(--space-3);display:grid;overflow-y:auto}.app-navigation-link{min-width:0;min-height:var(--size-touch-target);align-items:center;gap:var(--space-3);border:var(--border-hairline) solid transparent;border-radius:var(--radius-control);padding-inline:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--motion-fast) var(--motion-easing), background var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing);text-decoration:none;display:flex}.app-navigation-link svg{flex:none}.app-navigation-link span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-navigation-link:hover{color:var(--color-text);background:var(--color-card)}.app-navigation-link[aria-current=page]{border-color:var(--color-primary);color:var(--color-text);background:var(--color-card-elevated)}.app-navigation-link[aria-current=page] svg{color:var(--color-primary)}.app-sidebar-account{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4);border-block-start:var(--border-hairline) solid var(--color-border);margin-block-start:auto;display:flex}.app-sidebar-account>span{gap:var(--space-1);min-width:0;display:grid}.app-sidebar-account strong,.app-sidebar-account small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-sidebar-account strong{font-size:var(--font-size-sm)}.app-sidebar-account small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-shell-main{min-width:0}.app-topbar{z-index:var(--z-sticky);min-height:var(--layout-topbar);justify-content:space-between;align-items:center;gap:var(--space-4);padding-inline:var(--space-6);border-block-end:var(--border-hairline) solid var(--color-border);background:var(--color-bg-secondary);display:flex;position:sticky;inset-block-start:0}.app-mobile-brand{display:none}.app-page-heading{gap:var(--space-1);min-width:0;display:grid}.app-page-heading span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-page-heading strong{font-size:var(--font-size-lg);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-topbar-actions{align-items:center;gap:var(--space-2);display:flex}.app-contextual-action{text-decoration:none}.app-shell-banner,.app-shell-request-error{padding:var(--space-3) var(--space-6);border-block-end:var(--border-hairline) solid var(--color-warning);color:var(--color-warning);background:var(--color-card);font-size:var(--font-size-sm)}.app-shell-banner{z-index:calc(var(--z-sticky) - 1);position:sticky;inset-block-start:var(--layout-topbar)}.app-shell-banner:has(.app-shell-banner-stack:empty){display:none}.app-shell-banner-stack,.pwa-sync-center,.pwa-sync-list{gap:var(--space-3);display:grid}.pwa-status-banner,.pwa-sync-summary,.pwa-sync-item,.pwa-settings-actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.pwa-status-banner>span,.pwa-sync-item>span{gap:var(--space-1) var(--space-2);grid-template-columns:auto minmax(0,1fr);align-items:center;min-width:0;display:grid}.pwa-status-banner small,.pwa-sync-item small{color:var(--color-text-secondary);overflow-wrap:anywhere;grid-column:2}.pwa-sync-summary{border-block-end:var(--border-hairline) solid var(--color-border);color:var(--color-text-secondary);padding-block-end:var(--space-3)}.pwa-sync-item{padding:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-secondary)}.pwa-sync-item>div,.pwa-banner-actions,.pwa-settings-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.pwa-settings-actions{justify-content:flex-start;margin-block-start:var(--space-4)}.act-as-banner{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.act-as-banner>div{gap:var(--space-1);min-width:0;display:grid}.act-as-banner strong,.act-as-banner span{overflow-wrap:anywhere}.act-as-banner span{color:var(--color-text-secondary)}.app-shell-request-error{margin:var(--space-4) var(--space-4) 0;border:var(--border-hairline) solid var(--color-danger);border-radius:var(--radius-control);color:var(--color-danger)}.app-content{min-width:0;width:min(100%, var(--layout-content-max));padding:var(--space-8) var(--space-6) var(--space-16);margin-inline:auto}.app-boundary-state{min-height:100dvh;padding:var(--space-5);background:var(--color-bg);place-items:center;display:grid}.app-boundary-state .fp-state-panel{width:min(100%,520px)}.app-bottom-navigation{display:none}.metric-row{min-height:var(--size-control);grid-template-columns:var(--space-8) minmax(0, 1fr) auto auto;align-items:center;gap:var(--space-3);padding-block:var(--space-2);border-block-end:var(--border-hairline) solid var(--color-border);display:grid}.metric-row:last-child{border-block-end:0}.metric-row-icon,.stat-card-icon{color:var(--fp-tone-color,var(--color-text-secondary));place-items:center;display:grid}.metric-row-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.metric-row strong{font-size:var(--font-size-sm)}.stat-card{min-height:var(--component-stat-card-min-height);grid-template-columns:var(--space-10) minmax(0, 1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-5);display:grid}.stat-card-icon{width:var(--space-10);height:var(--space-10);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-secondary)}.stat-card-copy{gap:var(--space-1);min-width:0;display:grid}.stat-card-copy span,.stat-card-copy small{color:var(--color-text-secondary)}.stat-card-copy span{font-size:var(--font-size-sm)}.stat-card-copy strong{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.stat-card-copy small{font-size:var(--font-size-xs)}.workout-set-row{min-height:var(--size-control);grid-template-columns:minmax(0, 1fr) minmax(calc(var(--space-16) * 2), auto) var(--size-touch-target);align-items:center;gap:var(--space-3);padding-inline:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-secondary);background:var(--color-card);font-size:var(--font-size-sm);display:grid}.workout-set-primary{gap:var(--space-1);min-width:0;display:grid}.workout-set-primary strong{color:var(--color-text)}.workout-set-primary small{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:var(--font-size-2xs)}.workout-set-attribution{color:var(--color-warning)!important}.workout-set-row .workout-set-value{width:auto;height:var(--size-touch-target);justify-content:flex-end;gap:var(--space-4);padding-inline:var(--space-2);color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;display:flex}.workout-set-row .workout-set-toggle{width:var(--size-touch-target);height:var(--size-touch-target);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.workout-set-row button:disabled{cursor:not-allowed}.workout-set-completed .workout-set-toggle{color:var(--color-success)}.workout-set-active .workout-set-toggle,.workout-set-syncing .workout-set-toggle,.workout-set-pending .workout-set-toggle{color:var(--color-warning)}.workout-set-error{border-color:var(--color-danger)}.workout-set-error .workout-set-toggle{color:var(--color-danger)}.photo-grid-item{border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);min-width:0;color:var(--color-text);background:var(--color-card);text-align:start;cursor:pointer;padding:0;display:grid;position:relative;overflow:hidden}.photo-grid-item[aria-pressed=true]{border-color:var(--color-primary)}.photo-grid-item:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.photo-grid-media{aspect-ratio:4/5;color:var(--color-text-muted);background:var(--color-bg-secondary);place-items:center;display:grid}.photo-grid-media-state{place-content:center;justify-items:center;gap:var(--space-3);width:100%;height:100%;padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;display:grid}.photo-grid-media-skeleton{width:min(72%, var(--space-16))}.photo-grid-privacy{align-items:center;gap:var(--space-1);border-radius:var(--radius-control);padding:var(--space-1) var(--space-2);color:var(--color-text);background:var(--color-overlay);font-size:var(--font-size-xs);display:inline-flex;position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}.photo-grid-meta{gap:var(--space-1);padding:var(--space-3);display:grid}.photo-grid-meta small{color:var(--color-text-secondary)}.member-switcher-list{gap:var(--space-2);display:grid}.member-switcher-item{min-width:0;min-height:var(--space-16);grid-template-columns:var(--space-10) minmax(0, 1fr) auto;align-items:center;gap:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-3);color:var(--color-text);background:var(--color-bg-secondary);text-align:start;cursor:pointer;display:grid}.member-switcher-item[aria-pressed=true]{border-color:var(--color-success);background:var(--color-card-elevated)}.member-switcher-item:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.member-switcher-item>span:nth-child(2){gap:var(--space-1);min-width:0;display:grid}.member-switcher-item strong,.member-switcher-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-switcher-item small{color:var(--color-text-secondary)}.act-as-start-form,.act-as-activity-list{gap:var(--space-4);display:grid}.act-as-scope-fieldset{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.act-as-scope-fieldset legend{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-block-end:var(--space-3)}.act-as-persistent-warning{gap:var(--space-3);border-inline-start:var(--border-accent) solid var(--color-warning);padding:var(--space-3);color:var(--color-warning);background:var(--color-card);display:grid}.act-as-persistent-warning p{margin:0}.act-as-activity-item{grid-template-columns:var(--space-8) minmax(0, 1fr);gap:var(--space-3);border-block-end:var(--border-hairline) solid var(--color-border);min-width:0;padding-block-end:var(--space-3);display:grid}.act-as-activity-icon{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-control);color:var(--color-primary);background:var(--color-card-elevated);place-items:center;display:grid}.act-as-activity-item>span:last-child{gap:var(--space-1);min-width:0;display:grid}.act-as-activity-item strong,.act-as-activity-item small{overflow-wrap:anywhere}.act-as-activity-item small,.actor-attribution{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.actor-attribution{align-items:center;gap:var(--space-1);display:inline-flex}.exercise-library-page,.exercise-detail-page{gap:var(--space-6);min-width:0;display:grid}.exercise-library-header,.exercise-library-title,.exercise-detail-header,.exercise-detail-title-row,.exercise-card-heading,.exercise-card-actions,.exercise-card-tags,.exercise-secondary-heading,.exercise-editor-actions,.exercise-back-link{align-items:center;display:flex}.exercise-library-header,.exercise-card-heading,.exercise-secondary-heading{justify-content:space-between}.exercise-library-header,.exercise-library-title,.exercise-detail-header,.exercise-detail-title-row,.exercise-card-heading,.exercise-card-actions,.exercise-card-tags,.exercise-secondary-heading,.exercise-editor-actions,.exercise-back-link{gap:var(--space-3)}.exercise-library-title,.exercise-detail-header,.exercise-library-title>div,.exercise-detail-header>div,.exercise-card-heading>div{min-width:0}.exercise-library-title h1,.exercise-library-title p,.exercise-detail-header h1,.exercise-detail-header p,.exercise-detail-section h2,.exercise-detail-section p{margin:0}.exercise-library-title h1,.exercise-detail-header h1{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.exercise-library-title p,.exercise-detail-header p,.exercise-detail-header small,.exercise-library-card>small{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-block-start:var(--space-1)}.exercise-library-icon{width:var(--size-control);height:var(--size-control);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);color:var(--color-primary);background:var(--color-card-elevated);flex:none;place-items:center;display:grid}.exercise-editor-warning,.exercise-inline-error{border-inline-start:var(--border-accent) solid var(--color-warning);padding:var(--space-3) var(--space-4);color:var(--color-warning);background:var(--color-card);font-size:var(--font-size-sm)}.exercise-inline-error{border-color:var(--color-danger);color:var(--color-danger)}.exercise-filter-panel{gap:var(--space-5);padding:var(--space-5);display:grid}.exercise-search-form{grid-template-columns:minmax(0, 1fr) var(--size-control);align-items:end;gap:var(--space-3);display:grid}.exercise-search-form .fp-icon-button{width:var(--size-control);height:var(--size-control)}.exercise-filter-grid,.exercise-form-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-16) * 3)), 1fr));gap:var(--space-4);display:grid}.exercise-library-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-16) * 5)), 1fr));gap:var(--space-4);display:grid}.exercise-library-card{min-width:0;min-height:var(--component-stat-card-min-height);align-content:start;gap:var(--space-4);padding:var(--space-5);display:grid}.exercise-card-heading{align-items:flex-start}.exercise-card-heading>div{gap:var(--space-1);display:grid}.exercise-card-heading a{overflow-wrap:anywhere;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:var(--space-1)}.exercise-card-heading span,.exercise-card-tags>span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.exercise-card-tags{flex-wrap:wrap}.exercise-card-actions{border-block-start:var(--border-hairline) solid var(--color-border);justify-content:flex-end;margin-block-start:auto;padding-block-start:var(--space-2)}.exercise-load-more{justify-content:center;padding-block-start:var(--space-5);display:flex}.exercise-editor-form,.exercise-secondary-section{gap:var(--space-5);display:grid}.exercise-secondary-row{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) var(--size-touch-target);align-items:end;gap:var(--space-3);display:grid}.exercise-remove-target{width:var(--size-touch-target);height:var(--size-touch-target);margin-block-end:calc((var(--size-control) - var(--size-touch-target)) / 2)}.exercise-total-valid,.exercise-total-invalid{gap:var(--space-1);border-inline-start:var(--border-accent) solid var(--color-success);padding:var(--space-3);color:var(--color-success);background:var(--color-bg-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:grid}.exercise-total-invalid{border-color:var(--color-danger);color:var(--color-danger)}.exercise-total-valid small,.exercise-total-invalid small{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.exercise-editor-actions{border-block-start:var(--border-hairline) solid var(--color-border);background:var(--color-card);justify-content:flex-end;padding-block-start:var(--space-4);position:sticky;inset-block-end:0}.exercise-back-link{width:fit-content;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none}[dir=rtl] .exercise-back-link svg{transform:scaleX(-1)}.exercise-detail-title-row{flex-wrap:wrap}.exercise-detail-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.exercise-detail-section{align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-5);display:grid}.exercise-detail-section:first-child{grid-column:1/-1}.exercise-detail-section h2{font-size:var(--font-size-lg)}.exercise-detail-section p,.exercise-detail-section li{color:var(--color-text-secondary);line-height:var(--line-height-body)}.exercise-detail-section ul{gap:var(--space-2);margin:0;padding-inline-start:var(--space-6);display:grid}.exercise-muscle-list{display:grid}.exercise-muscle-list>div{min-height:var(--size-control);justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-2);border-block-end:var(--border-hairline) solid var(--color-border);display:flex}.exercise-muscle-list>div:last-child{border-block-end:0}.exercise-muscle-list span{gap:var(--space-1);min-width:0;display:grid}.exercise-muscle-list small{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.preview-page{gap:var(--space-10);display:grid}.preview-header{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.preview-header h1,.preview-header p,.preview-section h2{margin:0}.preview-header h1{font-size:var(--font-size-display);line-height:var(--line-height-tight)}.preview-header p{color:var(--color-text-secondary);line-height:var(--line-height-body);margin-block-start:var(--space-2)}.preview-section{gap:var(--space-5);display:grid}.preview-section h2{font-size:var(--font-size-lg)}.preview-button-row,.preview-badges{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.preview-grid{align-items:start;gap:var(--space-4);display:grid}.preview-grid-three{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-10) * 8)), 1fr))}.preview-state-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.preview-card-stack,.preview-stack{align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-5);display:grid}.preview-stack{padding:0}.preview-photo-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workout-plans-page,.workout-plan-editor-page,.workout-plan-editor-form,.workout-plan-band,.workout-plan-readonly,.workout-plan-history,.workout-template-editor-list,.workout-exercise-editor-list,.workout-schedule-entry-list{gap:var(--space-5);min-width:0;display:grid}.workout-section-tabs{align-items:center;gap:var(--space-1);width:fit-content;padding:var(--space-1);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-secondary);display:inline-flex}.workout-section-tabs a{min-height:var(--size-touch-target);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-small);padding-inline:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;display:inline-flex}.workout-section-tabs a[aria-current=page]{color:var(--color-bg);background:var(--color-primary)}.workout-plans-header,.workout-plan-editor-header,.workout-plan-header-actions,.workout-plan-section-heading,.workout-plan-card-heading,.workout-plan-card-actions,.workout-template-editor-toolbar,.workout-exercise-editor-heading,.workout-plan-editor-actions,.workout-plan-editor-submit,.workout-plan-pending-banner,.workout-plan-history-item,.workout-member-filter{align-items:center;gap:var(--space-3);display:flex}.workout-plans-header,.workout-plan-editor-header,.workout-plan-card-heading,.workout-template-editor-toolbar,.workout-exercise-editor-heading,.workout-plan-history-item{justify-content:space-between}.workout-plans-header h1,.workout-plans-header p,.workout-plan-editor-header h1,.workout-plan-editor-header span,.workout-plan-section-heading h2,.workout-plan-card h3,.workout-template-summary h2,.workout-plan-history h2{margin:0}.workout-plans-header h1,.workout-plan-editor-header h1{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.workout-plans-header p,.workout-plan-editor-header span,.workout-plan-card small,.today-workout-card small,.today-workout-card span,.workout-plan-history-item span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.workout-plans-header p{margin-block-start:var(--space-1)}.workout-plan-header-actions,.workout-plan-card-actions,.workout-plan-editor-actions,.workout-plan-editor-submit{flex-wrap:wrap}.workout-plan-notice,.workout-plan-error,.workout-plan-pending-banner{border-inline-start:var(--border-accent) solid var(--color-warning);padding:var(--space-3) var(--space-4);color:var(--color-warning);background:var(--color-card);font-size:var(--font-size-sm)}.workout-plan-error{border-color:var(--color-danger);color:var(--color-danger)}.workout-plan-pending-banner{color:var(--color-warning)}.workout-member-filter{grid-template-columns:var(--size-control) minmax(0, var(--component-dialog-max-width));padding:var(--space-4)}.workout-plan-section-heading{min-height:var(--size-control)}.workout-plan-section-heading h2,.workout-plan-history h2{font-size:var(--font-size-lg)}.today-workout-grid,.workout-plan-grid,.workout-plan-history-list{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-16) * 5)), 1fr));gap:var(--space-4);display:grid}.today-workout-card,.workout-plan-card,.workout-template-summary,.workout-template-editor,.workout-plan-editor-section,.workout-plan-history-item{min-width:0;padding:var(--space-5)}.today-workout-card,.workout-plan-card{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.today-workout-card>div,.workout-plan-card,.workout-plan-card-heading>div{min-width:0}.today-workout-card h3,.workout-plan-card h3{margin:var(--space-1) 0;overflow-wrap:anywhere;font-size:var(--font-size-md)}.today-workout-session-action{justify-items:end;gap:var(--space-2);flex:none;display:grid}.workout-plan-card{flex-direction:column;align-items:stretch}.workout-plan-card-actions{border-block-start:var(--border-hairline) solid var(--color-border);margin-block-start:auto;padding-block-start:var(--space-3)}.workout-plan-load-more{justify-content:center;display:flex}.workout-plan-create-form,.workout-plan-editor-section,.workout-template-editor,.workout-template-summary{gap:var(--space-4);display:grid}.workout-plan-field-grid,.workout-exercise-target-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workout-plan-editor-header{align-items:flex-end}.workout-plan-editor-heading .fp-button{margin-inline-start:auto}.workout-template-editor-toolbar>div,.workout-exercise-editor-heading>div{gap:var(--space-1);display:flex}.workout-exercise-editor{gap:var(--space-4);min-width:0;padding-block:var(--space-4);border-block-start:var(--border-hairline) solid var(--color-border);display:grid}.workout-exercise-target-grid{grid-template-columns:repeat(auto-fit, minmax(calc(var(--space-16) * 2), 1fr))}.workout-schedule-entry{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) var(--size-touch-target);align-items:end;gap:var(--space-3);display:grid}.workout-template-summary>div,.workout-template-summary li{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workout-template-summary ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.workout-template-summary li{min-height:var(--size-touch-target);border-block-start:var(--border-hairline) solid var(--color-border)}.workout-template-summary li small{color:var(--color-text-secondary);white-space:nowrap}.workout-plan-history-item>div{gap:var(--space-1);min-width:0;display:grid}.workout-sessions-page,.workout-session-page,.workout-session-create-form,.workout-session-exercise-list,.workout-add-exercise-form,.quick-log-form{gap:var(--space-5);min-width:0;display:grid}.workout-sessions-header,.workout-session-detail-header,.workout-session-toolbar,.workout-session-card-heading,.workout-session-exercise-toolbar,.workout-session-exercise header,.workout-rest-timer,.workout-session-conflict,.quick-log-actions{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;display:flex}.workout-sessions-header h1,.workout-sessions-header p,.workout-session-detail-header h1,.workout-session-detail-header p,.workout-session-card h2,.workout-session-exercise h2,.workout-session-exercise-toolbar h2,.workout-session-summary h2,.workout-session-conflict h2,.workout-session-conflict p,.workout-session-no-sets{margin:0}.workout-sessions-header h1,.workout-session-detail-header h1{font-size:var(--font-size-xl);line-height:var(--line-height-tight);margin-block-start:var(--space-2)}.workout-sessions-header p,.workout-session-detail-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-block-start:var(--space-1)}.workout-session-toolbar{padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-secondary);justify-content:flex-start}.workout-session-toolbar .fp-field{width:min(100%, calc(var(--space-16) * 4))}.workout-session-alert,.workout-session-offline-banner{align-items:center;gap:var(--space-2);border-inline-start:var(--border-accent) solid var(--color-danger);padding:var(--space-3) var(--space-4);color:var(--color-danger);background:var(--color-card);font-size:var(--font-size-sm);display:flex}.workout-session-offline-banner{border-color:var(--color-warning);color:var(--color-warning)}.workout-session-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-16) * 5)), 1fr));gap:var(--space-4);display:grid}.workout-session-card{gap:var(--space-4);min-width:0;padding:var(--space-5);display:grid}.workout-session-card-heading{grid-template-columns:var(--size-control) minmax(0, 1fr) auto;justify-content:initial;display:grid}.workout-session-card-heading>div{min-width:0}.workout-session-card-heading h2{overflow-wrap:anywhere;font-size:var(--font-size-md)}.workout-session-card-heading small{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);margin-block-start:var(--space-1);display:flex}.workout-session-card-icon{width:var(--size-control);height:var(--size-control);border-radius:var(--radius-control);color:var(--color-primary);background:var(--color-bg-secondary);place-items:center;display:grid}.workout-session-card-metrics,.workout-session-summary dl{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.workout-session-card-metrics div,.workout-session-summary dl div{gap:var(--space-1);min-width:0;padding:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg-secondary);display:grid}.workout-session-card-metrics dt,.workout-session-summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.workout-session-card-metrics dd,.workout-session-summary dd{overflow-wrap:anywhere;color:var(--color-text);font-weight:var(--font-weight-semibold);margin:0}.workout-session-attribution{color:var(--color-warning)}.workout-session-load-more{justify-content:center;display:flex}.workout-session-detail-header{align-items:flex-end}.workout-session-live-duration{min-height:var(--size-control);align-items:center;gap:var(--space-2);padding-inline:var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-control);color:var(--color-warning);background:var(--color-card);font-variant-numeric:tabular-nums;display:flex}.workout-session-conflict{border-color:var(--color-danger);padding:var(--space-5)}.workout-session-conflict>div:last-child{gap:var(--space-2);flex-wrap:wrap;display:flex}.workout-session-conflict p{color:var(--color-text-secondary);margin-block-start:var(--space-1)}.workout-session-metrics{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.workout-session-metrics .fp-card{gap:var(--space-2);min-width:0;padding:var(--space-4);display:grid}.workout-session-metrics span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.workout-session-metrics strong{overflow-wrap:anywhere;font-size:var(--font-size-lg)}.workout-rest-timer{top:calc(var(--layout-topbar) + var(--space-2));z-index:calc(var(--z-sticky) - 1);border-color:var(--color-warning);padding:var(--space-4);position:sticky}.workout-rest-timer>div{align-items:center;gap:var(--space-2);display:flex}.workout-rest-timer>div:first-child{gap:var(--space-1);display:grid}.workout-rest-timer span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.workout-rest-timer strong{color:var(--color-warning);font-size:var(--font-size-lg);font-variant-numeric:tabular-nums}.workout-rest-timer-finished{border-color:var(--color-success)}.workout-rest-timer-finished strong{color:var(--color-success)}.workout-session-exercise-toolbar{margin-block-start:var(--space-2)}.workout-session-exercise-toolbar h2,.workout-session-exercise h2,.workout-session-summary h2{font-size:var(--font-size-lg)}.workout-session-exercise{gap:var(--space-4);min-width:0;padding:var(--space-5);display:grid}.workout-session-exercise header>div{align-items:center;gap:var(--space-3);min-width:0;display:flex}.workout-session-exercise header span{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.workout-session-exercise header h2{overflow-wrap:anywhere}.workout-session-exercise header>strong{color:var(--color-success);font-size:var(--font-size-sm);flex:none}.workout-exercise-target,.workout-session-no-sets{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.workout-session-set-list{gap:var(--space-2);display:grid}.workout-session-no-sets{padding:var(--space-4);border:var(--border-hairline) dashed var(--color-border);border-radius:var(--radius-control);text-align:center}.workout-session-summary{gap:var(--space-4);padding:var(--space-5);display:grid}.workout-session-action-bar{bottom:var(--space-2);z-index:var(--z-sticky);gap:var(--space-3);padding:var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:var(--color-bg-secondary);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid;position:sticky}.quick-log-form{gap:var(--space-4)}.quick-log-number-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-log-stepper{grid-template-columns:var(--size-touch-target) minmax(0, 1fr) var(--size-touch-target);gap:var(--space-1);display:grid}.quick-log-stepper .fp-input{text-align:center;font-variant-numeric:tabular-nums}.quick-log-actions{align-items:stretch;margin-block-start:var(--space-2)}.quick-log-actions .fp-button{flex:1 1 0}@media (max-width:767px){.workout-section-tabs{width:100%}.workout-section-tabs a{flex:1 1 0}.workout-plans-header,.workout-plan-editor-header,.today-workout-card{flex-direction:column;align-items:stretch}.workout-plan-header-actions .fp-button,.workout-plan-editor-actions .fp-button,.workout-plan-editor-submit .fp-button{flex:1 1 calc(50% - var(--space-2))}.workout-plan-field-grid,.workout-schedule-entry{grid-template-columns:1fr}.workout-schedule-entry .fp-icon-button{justify-self:end}.today-workout-card .fp-button{width:100%}.today-workout-session-action{justify-items:stretch;width:100%}.workout-member-filter{grid-template-columns:var(--size-control) minmax(0, 1fr)}.workout-template-editor,.workout-plan-editor-section,.workout-plan-card,.today-workout-card{padding:var(--space-4)}}@media (min-width:768px) and (max-width:1023px){.app-shell{grid-template-columns:var(--layout-sidebar-compact) minmax(0, 1fr)}.app-sidebar-brand{justify-content:center;padding-inline:0}.app-sidebar-brand .brand-mark>span:not(.brand-icon),.app-sidebar-brand .brand-mark>strong,.app-sidebar .app-navigation-link span,.app-sidebar-account>span{display:none}.app-sidebar-nav{padding-inline:var(--space-3)}.app-navigation-link,.app-sidebar-account{justify-content:center;padding-inline:0}}@media (max-width:767px){.app-shell{display:block}.app-sidebar{display:none}.app-topbar{min-height:var(--layout-topbar);padding-inline:var(--space-4)}.app-mobile-brand{display:block}.app-page-heading span{display:none}.app-page-heading strong{font-size:var(--font-size-sm)}.app-contextual-action{width:var(--size-touch-target);min-width:var(--size-touch-target);padding-inline:0}.app-contextual-action>span{display:none}.act-as-banner{flex-direction:column;align-items:flex-start}.act-as-banner .fp-button{width:100%}.app-content{padding:var(--space-6) var(--space-4) var(--space-10)}.app-shell[data-mobile-navigation=visible] .app-content{padding-block-end:calc(var(--layout-bottom-nav) + var(--space-8) + env(safe-area-inset-bottom))}.app-bottom-navigation{z-index:var(--z-sticky);min-height:calc(var(--layout-bottom-nav) + env(safe-area-inset-bottom));border-block-start:var(--border-hairline) solid var(--color-border);background:var(--color-bg-secondary);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:stretch;padding-block-end:env(safe-area-inset-bottom);display:grid;position:fixed;inset-block-end:0;inset-inline:0}.app-bottom-navigation .app-navigation-link{min-width:0;min-height:var(--layout-bottom-nav);justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);text-align:center;border:0;border-radius:0;flex-direction:column}.app-bottom-navigation .app-navigation-link span{max-width:100%;font-size:var(--font-size-xs);line-height:var(--line-height-tight);text-overflow:clip;white-space:normal;overflow:visible}.app-bottom-navigation .app-navigation-link[aria-current=page]{color:var(--color-primary);background:0 0}.preview-page{gap:var(--space-8)}.preview-header{align-items:flex-start}.preview-header h1{font-size:var(--font-size-xl)}.preview-grid-three,.preview-state-grid{grid-template-columns:1fr}.preview-button-row .fp-button{flex:160px}.stat-card{grid-template-columns:var(--space-10) minmax(0, 1fr) auto;padding:var(--space-4)}.exercise-library-header{align-items:flex-start}.exercise-library-header>.fp-button{width:var(--size-touch-target);min-width:var(--size-touch-target);padding-inline:0}.exercise-library-header>.fp-button svg{width:var(--size-icon-md);height:var(--size-icon-md)}.exercise-library-header>.fp-button>span{display:none}.exercise-filter-panel,.exercise-library-card,.exercise-detail-section{padding:var(--space-4)}.exercise-filter-grid,.exercise-form-grid,.exercise-detail-grid{grid-template-columns:1fr}.exercise-detail-section:first-child{grid-column:auto}.exercise-editor-actions .fp-button{flex:1 1 0}}@media (max-width:420px){.app-mobile-brand .brand-mark>span:not(.brand-icon),.app-mobile-brand .brand-mark>strong{display:none}.app-topbar{gap:var(--space-2)}.metric-row{grid-template-columns:var(--space-8) minmax(0, 1fr) auto}.metric-row .fp-badge{grid-column:2/-1}.workout-set-row{grid-template-columns:minmax(0, 1fr) minmax(calc(var(--space-16) * 2), auto) var(--size-touch-target);gap:var(--space-2);padding-inline:var(--space-2)}.workout-sessions-header,.workout-session-detail-header,.workout-session-conflict{flex-direction:column;align-items:stretch}.workout-sessions-header .fp-button,.workout-session-conflict .fp-button{width:100%}.workout-session-toolbar{flex-direction:column;align-items:stretch}.workout-session-toolbar .fp-field{width:100%}.workout-session-metrics{grid-template-columns:1fr}.workout-session-action-bar{bottom:calc(var(--layout-bottom-nav) + var(--space-2) + env(safe-area-inset-bottom))}.quick-log-number-grid{grid-template-columns:1fr}.exercise-library-title .exercise-library-icon,.exercise-detail-header .exercise-library-icon{display:none}.exercise-secondary-row{grid-template-columns:minmax(0, 1fr) var(--size-touch-target)}.exercise-secondary-row .fp-field:nth-child(2){grid-column:1/2}.exercise-remove-target{grid-area:1/2/3;align-self:center;margin-block-end:0}}
