.coach-beta{--beta-yellow: var(--coach-beta-yellow);--beta-yellow-rgb: var(--coach-beta-yellow-rgb);--accent: var(--beta-yellow);--accent-ink: #111;--accent-soft: rgba(var(--beta-yellow-rgb),.11);--accent-border: rgba(var(--beta-yellow-rgb),.38);--focus-ring: rgba(var(--beta-yellow-rgb),.14)}.coach-beta .beta-home-grid .admin-card{border-color:rgba(var(--beta-yellow-rgb),.3);background:linear-gradient(145deg,rgba(var(--beta-yellow-rgb),.08),rgba(var(--beta-yellow-rgb),.02) 58%),var(--panel)}.coach-beta .beta-home-grid .admin-card:hover,.coach-beta .beta-home-grid .admin-card:focus-visible{border-color:var(--beta-yellow)}.coach-beta .hero .eyebrow{display:flex;align-items:center;gap:10px}.coach-beta .beta-home-grid,.coach-beta .beta-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.coach-beta .beta-registration,.coach-beta .beta-fields,.coach-beta .beta-dashboard{display:grid;gap:18px}.coach-beta .beta-registration{max-width:900px;margin-inline:auto}.coach-beta fieldset.beta-fields{margin:0;padding:0;border:0;min-width:0}.coach-beta .beta-registration>.record-card{min-width:0;padding:24px;margin-bottom:0}.coach-beta .beta-fields legend{max-width:100%;padding:0 0 18px;color:var(--text);font-size:20px;font-weight:750;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.coach-beta .beta-fields label,.coach-beta .beta-form-grid>*{min-width:0}.coach-beta .beta-fields input,.coach-beta .beta-fields select,.coach-beta .beta-fields textarea{min-width:0;max-width:100%}.coach-beta .beta-fields,.coach-beta .beta-form-grid{min-width:0}.coach-beta .beta-fields input[type=date]{display:block;width:100%;min-width:0;max-width:100%;min-inline-size:0;min-height:52px;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.coach-beta .beta-fields input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left;min-height:1.5em}.coach-beta .beta-fields>.muted,.coach-beta .beta-goal-fields>.muted{margin:0;line-height:1.6}.coach-beta .beta-field-label{margin:0;color:var(--label);font-weight:650;line-height:1.5}.coach-beta .beta-field-help{margin:6px 0 12px;font-size:13px;line-height:1.6}.coach-beta .beta-fields .ghost-button,.coach-beta .beta-fields .primary-button{min-width:0;white-space:normal;line-height:1.45}.coach-beta .beta-tabs{display:flex;flex-wrap:wrap;gap:8px}.coach-beta .beta-athlete-sections{margin:22px 0}.coach-beta .beta-personal-exercises{display:grid;gap:18px}.coach-beta .beta-personal-exercises-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.coach-beta .beta-personal-exercises-heading h2{margin:0 0 8px}.coach-beta .beta-personal-exercises-heading p{margin:0}.coach-beta .beta-personal-exercises-heading>button{flex:0 0 auto;width:auto}.coach-beta .beta-personal-exercise-form{padding:20px;margin:0;border-color:var(--accent-border);background:linear-gradient(145deg,rgba(var(--beta-yellow-rgb),.06),transparent 65%),var(--panel)}.coach-beta .beta-personal-exercise-form input[type=checkbox]{accent-color:var(--beta-yellow)}.coach-beta .beta-exercise-card{min-height:190px;gap:20px;border-color:rgba(var(--beta-yellow-rgb),.3);background:linear-gradient(145deg,rgba(var(--beta-yellow-rgb),.085),rgba(var(--beta-yellow-rgb),.015) 65%),var(--panel)}.coach-beta .beta-exercise-card:hover,.coach-beta .beta-exercise-card:focus-visible{border-color:var(--beta-yellow);transform:translateY(-2px)}.coach-beta .beta-exercise-card:focus-visible{outline:2px solid var(--beta-yellow);outline-offset:4px}.coach-beta .beta-exercise-card-top{display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--beta-yellow)}.coach-beta .beta-exercise-card-top .eyebrow{margin:0;color:var(--beta-yellow);font-size:10px;line-height:1.5}.coach-beta .beta-exercise-card-top svg{flex-shrink:0}.coach-beta .beta-exercise-card h2{margin:12px 0 0;font-size:20px;line-height:1.3;overflow-wrap:anywhere}.coach-beta .beta-exercise-card-note{margin:8px 0 0;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.coach-beta .beta-exercise-card .latest-weight{gap:12px;align-items:center;padding-top:16px;border-top:1px solid rgba(var(--beta-yellow-rgb),.15)}.coach-beta .beta-exercise-card .latest-weight strong{color:var(--beta-yellow)}.coach-beta .beta-personal-exercises .ghost-button:hover:not(:disabled),.coach-beta .beta-personal-exercises .ghost-button:focus-visible{border-color:var(--beta-yellow);color:var(--beta-yellow)}.coach-beta .beta-personal-exercises .primary-button:hover:not(:disabled){filter:brightness(1.08)}.coach-beta.beta-exercise-detail .exercise-context{padding:22px;border:1px solid var(--accent-border);border-radius:20px;background:linear-gradient(145deg,rgba(var(--beta-yellow-rgb),.09),transparent 65%),var(--panel)}.coach-beta.beta-exercise-detail .exercise-context h1{font-size:clamp(1.7rem,4.2vw,3.1rem)}.coach-beta.beta-exercise-detail .exercise-context .muted{margin-bottom:0}.coach-beta.beta-exercise-detail .record-card,.coach-beta.beta-exercise-detail .max-weight-card,.coach-beta.beta-exercise-detail .percentage-card,.coach-beta.beta-exercise-detail .exercise-goal-card,.coach-beta.beta-exercise-detail .exercise-totals-card{border-color:var(--accent-border);background:linear-gradient(145deg,rgba(var(--beta-yellow-rgb),.055),transparent 70%),var(--panel)}.app-shell-athlete .coach-beta.beta-exercise-detail .exercise-history-section{border-color:var(--accent-border);background:linear-gradient(145deg,rgba(var(--beta-yellow-rgb),.035),transparent 70%),var(--panel)}.coach-beta.beta-exercise-detail .max-weight-heading,.coach-beta.beta-exercise-detail .percentage-card .eyebrow{color:var(--beta-yellow)}.coach-beta.beta-exercise-detail .exercise-summary-tabs button:not(.active):hover,.coach-beta.beta-exercise-detail .history-view-tabs button:not(.active):hover,.coach-beta.beta-exercise-detail .history-range-tabs button:not(.active):hover{color:var(--beta-yellow);border-color:var(--accent-border)}.coach-beta.beta-exercise-detail .primary-button:hover:not(:disabled){filter:brightness(1.08)}.coach-beta.beta-exercise-detail .ghost-button:not(.beta-exercise-delete-button):hover:not(:disabled),.coach-beta.beta-exercise-detail .history-icon-button:not(.delete):hover:not(:disabled){border-color:var(--beta-yellow);color:var(--beta-yellow)}.coach-beta .beta-exercise-delete-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}.coach-beta .beta-exercise-delete-footer p{flex:1;margin:0;font-size:12px;line-height:1.6}.coach-beta .beta-exercise-delete-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;color:#ffd0d0;border-color:#ff6b6b47;background:#ff6b6b0f}.coach-beta .beta-exercise-delete-button:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.coach-beta .beta-exercise-delete-button:focus-visible{outline:2px solid var(--danger);outline-offset:3px}@media (max-width: 720px){.coach-beta .beta-personal-exercises-heading{flex-direction:column;align-items:stretch}.coach-beta .beta-personal-exercises-heading>button{width:100%}.coach-beta.beta-exercise-detail .exercise-context{padding:18px}.coach-beta .beta-exercise-delete-footer{align-items:stretch;flex-direction:column}.coach-beta .beta-exercise-delete-button{width:100%}}@media (prefers-reduced-motion: reduce){.coach-beta .beta-exercise-card{transition:none}.coach-beta .beta-exercise-card:hover,.coach-beta .beta-exercise-card:focus-visible{transform:none}}.coach-beta .beta-tabs button,.coach-beta .beta-day-picker button{padding:12px 14px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--muted);cursor:pointer}.coach-beta .beta-tabs button.active,.coach-beta .beta-day-picker button.active{border-color:var(--beta-yellow);background:var(--accent-soft);color:var(--beta-yellow)}.coach-beta .beta-day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.coach-beta .beta-day-picker button{padding-inline:4px}.coach-beta .beta-search-results{display:grid;gap:8px}.coach-beta .beta-search-results button{text-align:left;display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--text);cursor:pointer;overflow-wrap:anywhere}.coach-beta .beta-search-results button.active{border-color:var(--beta-yellow);background:var(--accent-soft)}.coach-beta .beta-search-results button span,.coach-beta .beta-search-results button small,.coach-beta input[readonly]{color:var(--muted)}.coach-beta .beta-goal-editor{padding:18px;border:1px solid var(--line);border-radius:14px}.coach-beta .beta-goal-editor h3{margin:0;min-width:0;overflow-wrap:anywhere}.coach-beta .beta-goal-fields{display:grid;gap:14px}.coach-beta .beta-week-select{max-width:440px;margin:22px 0}.coach-beta .beta-progress-hero{display:grid;justify-items:center;text-align:center;padding:28px 14px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(ellipse at top,rgba(var(--beta-yellow-rgb),.045),transparent 75%),var(--panel)}.coach-beta .beta-progress-hero>.muted{max-width:400px;font-size:13px}.coach-beta .beta-ring{position:relative;width:min(100%,300px);aspect-ratio:1;flex-shrink:0}.coach-beta .beta-ring svg{width:100%;height:100%;overflow:visible}.coach-beta .beta-ring-track,.coach-beta .beta-ring-fill{fill:none;stroke-width:9}.coach-beta .beta-ring-track{stroke:#252925}.coach-beta .beta-ring-fill{stroke:var(--beta-yellow);stroke-linecap:butt;transition:stroke-dashoffset .5s ease}.coach-beta .beta-ring-light-mask{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round}.coach-beta .beta-ring-light{fill:none;stroke:#fffbc2;stroke-width:8;stroke-linecap:round;filter:blur(.8px);opacity:0;animation:exercise-goal-light-sweep 3.4s ease-in-out infinite}.coach-beta .beta-ring-light-core{stroke:#fff;stroke-width:3;filter:none}@media (prefers-reduced-motion: reduce){.coach-beta .beta-ring-fill{transition:none}.coach-beta .beta-ring-light{animation:none;opacity:0}}.coach-beta .beta-ring-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:15%}.coach-beta .beta-ring-value>strong{font-size:clamp(44px,8vw,76px);line-height:1;letter-spacing:-3px}.coach-beta .beta-ring-value strong small{font-size:.48em;letter-spacing:0;margin-left:3px}.coach-beta .beta-ring-value>span{font-size:11px;line-height:1.45;font-weight:750;text-transform:uppercase;letter-spacing:1px}.coach-beta .beta-ring-value>small{color:var(--muted);font-size:10px}.coach-beta .beta-ring.small{width:116px}.coach-beta .beta-ring.small .beta-ring-value{gap:4px;transform:translateY(-2px)}.coach-beta .beta-ring.small .beta-ring-value>strong{font-size:28px;letter-spacing:-1px}.coach-beta .beta-ring.small .beta-ring-value>span{font-size:8px;letter-spacing:.5px}.coach-beta .beta-goals-grid,.coach-beta .beta-days-grid{display:grid;gap:16px}.coach-beta .beta-goal-card{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.coach-beta .beta-goal-detail{min-width:0;flex:1}.coach-beta .beta-goal-detail h3{margin:0;overflow-wrap:anywhere}.coach-beta .beta-goal-detail .muted{font-size:12px}.coach-beta .beta-goal-update{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:16px}.coach-beta .beta-goal-update label{flex:1;min-width:100px}.coach-beta .beta-day-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--panel)}.coach-beta .beta-day-card.completed{border-color:rgba(var(--beta-yellow-rgb),.42)}.coach-beta .beta-day-heading{display:flex;justify-content:space-between;gap:14px;align-items:center}.coach-beta .beta-day-heading h3{margin:5px 0 0}.coach-beta .beta-day-heading .eyebrow{margin:0;font-size:10px}.coach-beta .beta-day-status{border-radius:20px;padding:8px 10px;font-size:11px;background:var(--panel-2);color:var(--muted);white-space:nowrap}.coach-beta .beta-day-status.done{color:var(--beta-yellow);background:rgba(var(--beta-yellow-rgb),.09)}.coach-beta .beta-preserve-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.coach-beta .beta-feedback-summary{border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:13px}.coach-beta .beta-feedback-summary p{margin-bottom:0}.coach-beta .beta-editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.coach-beta .beta-preview-notice{padding:14px;border:1px solid rgba(var(--beta-yellow-rgb),.3);border-radius:12px;color:var(--muted);font-size:13px}.coach-beta details>summary{cursor:pointer;min-height:44px;padding-block:12px;font-weight:650}.coach-beta .beta-detail-tabs{margin:20px 0 22px}.coach-beta .beta-directory{max-width:1000px;margin-inline:auto}.coach-beta .beta-directory-search{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px}.coach-beta .beta-directory-list{display:grid;gap:14px}.coach-beta .beta-directory-row{display:flex;align-items:center;gap:18px;margin:0}.coach-beta .beta-avatar{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border:1px solid var(--accent-border);border-radius:14px;color:var(--beta-yellow);background:var(--accent-soft);font-size:20px;font-weight:750}.coach-beta .beta-directory-info{min-width:0;flex:1}.coach-beta .beta-directory-name,.coach-beta .beta-profile-intro{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.coach-beta .beta-directory-name h2{margin:0;font-size:18px;overflow-wrap:anywhere}.coach-beta .beta-directory-info p{margin:7px 0 0;font-size:13px;overflow-wrap:anywhere}.coach-beta .beta-open-profile{flex:0 0 auto}.coach-beta .beta-access-status{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:650;line-height:1.4}.coach-beta .beta-access-status.enabled{border-color:var(--accent-border);color:var(--beta-yellow);background:var(--accent-soft)}.coach-beta .beta-profile-intro p{margin:0}.coach-beta .beta-profile-sections{margin-top:22px}.coach-beta .beta-profile-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0}.coach-beta .beta-profile-section>summary::-webkit-details-marker{display:none}.coach-beta .beta-profile-section>summary>span:first-child{display:grid;gap:7px;min-width:0}.coach-beta .beta-profile-section summary strong{font-size:20px}.coach-beta .beta-profile-section summary small{color:var(--muted);font-size:12px;font-weight:400;overflow-wrap:anywhere}.coach-beta .beta-section-chevron{color:var(--beta-yellow);font-size:24px;transition:transform .18s}.coach-beta .beta-profile-section[open] .beta-section-chevron{transform:rotate(180deg)}.coach-beta .beta-section-body{display:grid;gap:20px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.coach-beta .beta-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}.coach-beta .beta-readonly-grid dt{color:var(--muted);font-size:12px;margin-bottom:6px}.coach-beta .beta-readonly-grid dd{margin:0;font-size:14px;overflow-wrap:anywhere}.coach-beta .beta-readonly-copy h3,.coach-beta .beta-program-day h3{margin:0;font-size:14px}.coach-beta .beta-readonly-copy p{margin:8px 0 20px}.coach-beta .beta-readonly-copy p:last-child{margin-bottom:0}.coach-beta .beta-program-day{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.coach-beta .beta-program-day h3{color:var(--beta-yellow)}.coach-beta .beta-program-day p{margin:10px 0 0;font-size:13px}.coach-beta .beta-managed-goal{display:flex;align-items:center;gap:18px}.coach-beta .beta-managed-goal>button{flex:0 0 auto}.coach-beta .beta-managed-goal strong{font-size:13px}.coach-beta .beta-edit-modal{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow-y:auto;color:var(--text);border:1px solid var(--accent-border);border-radius:22px;background:var(--panel);box-shadow:0 28px 90px #000000ad}.coach-beta .beta-edit-modal::backdrop{background:#000000c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coach-beta .beta-edit-modal .eyebrow{margin:0;color:var(--beta-yellow)}.coach-beta .beta-edit-modal .modal-header h2{overflow-wrap:anywhere}.coach-beta .beta-delete-confirm{display:flex;align-items:flex-start;gap:12px;line-height:1.5}.coach-beta .beta-delete-confirm input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;padding:0;accent-color:var(--danger)}.coach-beta .beta-access-editor{padding:18px;border:1px solid var(--line);border-radius:14px;display:grid;gap:14px}.coach-beta .beta-access-editor h3,.coach-beta .beta-access-editor p{margin:0}.coach-beta .empty-state .primary-button,.coach-beta .error-box .ghost-button{display:block;margin-top:12px}@media (max-width:600px){.coach-beta .beta-home-grid,.coach-beta .beta-form-grid{grid-template-columns:1fr}.coach-beta .beta-registration>.record-card,.coach-beta .beta-day-card{padding:18px}.coach-beta .beta-fields legend{font-size:18px}.coach-beta .beta-tabs button{flex:1}.coach-beta .beta-day-picker{gap:4px}.coach-beta .beta-day-picker button{font-size:11px;min-height:42px}.coach-beta .beta-goal-card{align-items:flex-start;gap:12px;padding:16px}.coach-beta .beta-ring.small{width:88px}.coach-beta .beta-ring.small .beta-ring-value>strong{font-size:24px}.coach-beta .beta-day-heading{flex-wrap:wrap}.coach-beta .beta-directory-search,.coach-beta .beta-readonly-grid{grid-template-columns:1fr}.coach-beta .beta-directory-row{flex-wrap:wrap;gap:12px}.coach-beta .beta-directory-info{flex-basis:calc(100% - 60px)}.coach-beta .beta-open-profile{width:100%}.coach-beta .beta-managed-goal{flex-wrap:wrap;gap:12px}.coach-beta .beta-managed-goal .beta-goal-detail{flex-basis:calc(100% - 100px)}.coach-beta .beta-managed-goal>button{width:100%}.coach-beta .beta-edit-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:18px}.coach-beta .beta-profile-section summary strong{font-size:18px}}.coach-beta .beta-goal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.coach-beta .beta-managed-goal .beta-goal-actions{flex:0 0 auto}@media (max-width: 600px){.coach-beta .beta-managed-goal .beta-goal-actions{width:100%}.coach-beta .beta-goal-actions>button{flex:1 1 auto}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--danger: #ff6b6b;--success: #83f28f;--bg: #050505;--panel: #0d0d0d;--panel-2: #151515;--input-bg: #090909;--line: #2a2a2a;--hover-line: #575757;--text: #ffffff;--muted: #9a9a9a;--label: #d7d7d7;--subtle: #c7c7c7;--accent: #ffffff;--accent-ink: #050505;--accent-soft: rgba(255,255,255,.09);--accent-border: rgba(255,255,255,.38);--focus-ring: rgba(255,255,255,.11);--ambient: rgba(255,255,255,.055);--coach-beta-yellow: #ffed00;--coach-beta-yellow-rgb: 255,237,0;--topbar-bg: rgba(5,5,5,.9);--card-glass: rgba(13,13,13,.96)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}body{margin:0;min-width:0;min-height:100vh;overscroll-behavior-y:contain;background:radial-gradient(circle at 90% -10%,var(--ambient),transparent 35rem),var(--bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--input-bg);color:var(--text);outline:none}textarea{resize:vertical}@media (hover: none) and (pointer: coarse){input,select,textarea{font-size:max(16px,1em)}}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}label{display:grid;gap:8px;color:var(--label);font-size:.9rem;font-weight:700}button{border:0;cursor:pointer}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2rem,7vw,4.3rem);line-height:.96;letter-spacing:-.05em}h2{letter-spacing:-.025em}.app-shell{min-height:100vh}.topbar{position:sticky;z-index:10;top:0;display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:max(18px,env(safe-area-inset-top));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:18px;padding-left:max(20px,env(safe-area-inset-left));background:var(--topbar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:950;letter-spacing:.13em}.topbar-brand{position:relative;display:flex;align-items:center;min-width:0}.topbar-brand>.eyebrow{position:absolute;top:100%;left:0;line-height:1.15;white-space:nowrap}.eyebrow{margin:3px 0 0;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.topbar-actions{display:flex;gap:8px;align-items:center}.page{width:min(1072px,100%);margin:0 auto;padding-top:34px;padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(64px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left))}.hero{padding:32px 0 26px;max-width:760px}.athlete-hero{max-width:100%}.athlete-hero h1{margin-bottom:26px}.athlete-hero .muted{margin-bottom:0}.search-motto{margin:0 0 10px;text-align:center;font-size:.9rem}.muted{color:var(--muted);line-height:1.55}.search-input{margin-bottom:18px}.athlete-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.athlete-nav-card{display:flex;flex-direction:column;min-height:200px;padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel);transition:transform .16s ease,border-color .16s ease}.athlete-nav-card:not(.athlete-nav-card-disabled):hover,.athlete-nav-card:not(.athlete-nav-card-disabled):focus-visible{transform:translateY(-2px);border-color:var(--hover-line)}.athlete-nav-card-disabled{border-color:var(--line);opacity:.68;cursor:default}.athlete-nav-card h2{margin:auto 0 8px;font-size:clamp(1.5rem,4vw,2rem)}.athlete-nav-card p{margin:0;color:var(--muted);line-height:1.5}@media (min-width: 721px){.athlete-nav-card>p:last-child{min-height:3em}}.analysis-exercises-link{max-width:520px}@media (max-width: 720px){.athlete-nav-grid{grid-template-columns:1fr}.athlete-nav-card{min-height:150px;padding:20px}}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}.exercise-card,.admin-card,.record-card,.table-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel);border-radius:20px}.exercise-card{min-height:160px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .16s ease,border-color .16s ease}.exercise-card:hover{transform:translateY(-2px);border-color:var(--hover-line)}.exercise-card h2{margin-bottom:18px}.latest-weight{display:flex;justify-content:space-between;align-items:end;color:var(--muted)}.latest-weight strong{color:var(--text);font-size:1.75rem}.latest-weight-value{display:grid;gap:2px;text-align:right}.weight-repetitions{display:inline-flex;gap:.28em;margin-left:.55em;color:var(--muted);font-size:.75em;font-weight:700;letter-spacing:normal;white-space:nowrap}.max-weight-card .weight-repetitions{font-size:.55em}.latest-weight .weight-repetitions{font-size:.64em}.primary-button,.ghost-button,.flag{border-radius:12px;padding:12px 16px;font-weight:850}.primary-button{width:100%;background:var(--accent);color:var(--accent-ink)}.primary-button:disabled{opacity:.55;cursor:wait}.ghost-button{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.ghost-button.wide{width:100%}.back-link{display:inline-block;margin:4px 0 28px;color:var(--subtle);font-weight:750}.app-shell-admin .back-link{display:block;width:fit-content;margin-bottom:16px}.app-shell-admin .back-link+*{margin-top:0}.app-shell-admin .back-link+.hero{padding-top:0}.app-shell-admin .back-link+:is(.hero,.admin-exercise-heading) .eyebrow{margin-top:0}.weight-focus{padding:16px 0 26px}.weight-focus strong{display:block;font-size:clamp(3.2rem,15vw,7rem);line-height:.9;letter-spacing:-.07em}.record-card{display:grid;gap:18px;padding:20px;margin-bottom:34px}.weight-input-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.weight-input-row input{font-size:2rem;font-weight:900}.weight-input-row span{color:var(--muted);font-size:1.2rem;font-weight:800}.section{margin-top:34px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}.section-heading h2{margin-bottom:0}.section-heading span{color:var(--muted);font-size:.85rem}.admin-user-tools{display:grid;gap:12px;margin-bottom:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#ffffff05}.admin-user-filters{display:flex;flex-wrap:wrap;gap:8px}.admin-user-filter{display:inline-flex;min-height:38px;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:.78rem;font-weight:850}.admin-user-filter small{display:inline-grid;min-width:22px;height:22px;place-items:center;padding:0 6px;border-radius:999px;background:#ffffff0f;color:var(--subtle);font-size:.68rem;font-weight:900}.admin-user-filter:hover,.admin-user-filter:focus-visible{border-color:var(--hover-line);color:var(--text)}.admin-user-filter.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.admin-user-filter.active small{background:#d7ff4326;color:var(--accent)}.admin-user-search{max-width:430px}.admin-user-search>span{color:var(--muted);font-size:.76rem;font-weight:800}.history-list,.table-card{overflow:hidden}.history-view-tabs{display:flex;gap:8px;margin-bottom:18px}.history-view-tabs button{flex:1 1 0;min-width:0;min-height:48px;overflow-wrap:anywhere;padding:10px 8px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--subtle);font-size:.85rem;font-weight:800;line-height:1.2}.history-view-tabs button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.history-view-tabs button:focus-visible,.history-range-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-totals-chart{min-width:0;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.history-totals-value{display:block;margin-top:10px;font-size:clamp(2.2rem,7vw,3.3rem);letter-spacing:-.05em}.history-totals-dates{margin:4px 0 18px;color:var(--muted);font-size:.85rem}.history-totals-svg{display:block;width:100%;height:230px}.history-totals-gridline{stroke:#747474;stroke-width:1;opacity:.65}.history-totals-axis{fill:var(--subtle);font-size:11px}.history-totals-line{fill:none;stroke:#e9f451;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.history-totals-point{fill:var(--panel);stroke:#e9f451;stroke-width:3}.history-totals-loading{display:grid;place-items:center;height:230px;color:var(--muted)}.history-range-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-top:12px;padding:4px;border-radius:999px;background:var(--panel-2)}.history-range-tabs button{min-width:0;padding:9px 2px;border-radius:999px;background:transparent;color:var(--subtle);font-size:.8rem;font-weight:850}.history-range-tabs button.active{background:var(--accent);color:var(--accent-ink)}.history-totals-help{margin:14px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}@media (max-width: 720px){.history-view-tabs button{padding:9px 4px;font-size:.75rem}.history-totals-chart{padding:18px 12px}.history-totals-svg{height:230px}}.history-row,.user-row,.exercise-admin-row,.record-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.history-row:last-child,.user-row:last-child,.exercise-admin-row:last-child,.record-row:last-child{border-bottom:0}.history-row span,.user-meta span,.record-row span{color:var(--muted);font-size:.86rem}.user-meta,.record-row>div{display:grid;gap:4px}.flag-group{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}.flag{padding:8px 11px;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.flag.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-card{min-height:220px;padding:22px}.admin-card>span{color:var(--accent);font-weight:950}.admin-card h2{margin:58px 0 8px}.admin-card p{color:var(--muted);line-height:1.5}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px}.inline-form .primary-button{width:auto}.exercise-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:18px}.exercise-create-fields{display:grid;gap:10px;min-width:0}.exercise-create-form .primary-button{width:auto}.admin-record-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}.admin-progress-context{margin:0 0 10px;color:var(--subtle);font-weight:800;overflow-wrap:anywhere}.record-row .history-metrics{color:var(--subtle);line-height:1.4}.record-value{text-align:right}@media (max-width: 720px){.admin-record-filters{grid-template-columns:1fr}}.empty-state{padding:28px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:18px}.error-box,.success-box{padding:13px 14px;border-radius:12px;line-height:1.45}.error-box{color:#ffd0d0;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.25)}.success-box{display:grid;gap:5px;color:#dfffe3;background:#83f28f14;border:1px solid rgba(131,242,143,.25)}.success-box code{font-size:1.3rem;color:var(--success);font-weight:900}.auth-page{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(100%,430px);padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--card-glass);box-shadow:0 24px 80px #00000059}.auth-card h1{font-size:2.4rem}.logo-mark{width:54px;height:54px;display:grid;place-items:center;margin-bottom:18px;background:var(--accent);color:#11150d;border-radius:15px;font-size:1.7rem;font-weight:1000}.stack{display:grid;gap:16px;margin-top:24px}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;display:grid;place-items:center;background:#000}.loading-screen .brand-mark{width:120px;height:120px;margin-bottom:0}@media (max-width: 720px){.page{width:min(100%,1064px);padding-top:18px;padding-right:max(12px,env(safe-area-inset-right));padding-bottom:calc(64px + env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}.athlete-hero>.eyebrow{margin-bottom:12px}.athlete-hero h1{margin-bottom:22px}.topbar{padding-top:max(14px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:14px;padding-left:max(12px,env(safe-area-inset-left))}.topbar .eyebrow{display:none}.ghost-button{padding:9px 10px;font-size:.78rem}.admin-grid{grid-template-columns:1fr}.admin-card{min-height:150px}.admin-card h2{margin-top:32px}.user-row{align-items:flex-start;flex-direction:column}.flag-group{justify-content:flex-start}.inline-form{grid-template-columns:1fr}.inline-form .primary-button{width:100%}.exercise-create-form{grid-template-columns:1fr}.exercise-create-form .primary-button{width:100%}}.user-controls{display:grid;gap:10px;justify-items:end}.user-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.compact-button{padding:8px 11px;font-size:.84rem}.danger-button{border-radius:12px;padding:12px 16px;font-weight:850;background:#ff6b6b1a;color:#ffd0d0;border:1px solid rgba(255,107,107,.28)}.danger-button:disabled,.flag:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.flag.active.admin-inherited-flag:disabled{opacity:1;cursor:not-allowed}.edit-user-form{display:grid;gap:14px;padding:18px;background:#ffffff05;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.edit-actions{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:10px}@media (max-width: 720px){.admin-user-tools{padding:12px}.admin-user-filters{flex-wrap:nowrap;margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px;overflow-x:auto;scrollbar-width:none}.admin-user-filters::-webkit-scrollbar{display:none}.admin-user-filter{flex:0 0 auto}.admin-user-search{max-width:none}.user-controls{width:100%;justify-items:start}.user-actions{justify-content:flex-start}.edit-actions{grid-template-columns:1fr}}.brand-mark{width:62px;height:62px;display:inline-grid;place-items:center;margin-bottom:18px}.brand-mark.compact{width:30px;height:30px;margin-bottom:0;flex:0 0 auto}.sinsclub-brand-mark{width:100%;height:100%;display:block;object-fit:contain;border-radius:16px}.brand-mark.compact .sinsclub-brand-mark{border-radius:8px}.auth-card{box-shadow:0 24px 80px #000000ad}.exercise-card,.admin-card,.record-card,.table-card{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent),var(--panel)}@media (max-width: 720px){.topbar{align-items:flex-start}.topbar-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.brand-mark.compact{width:27px;height:27px}}.history-entry{border-bottom:1px solid var(--line)}.history-entry:last-child{border-bottom:0}.history-entry .history-row{display:block;padding-block:12px;border-bottom:0}.exercise-history-section .progress-chart{margin-bottom:0}.exercise-history-section .history-entry .history-row{padding-block:18px}.history-main{display:grid;gap:4px;min-width:0}.history-top-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.history-top-line>strong{min-width:0}.history-top-line .history-actions{flex:none}.history-icon-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text)}.history-icon-button.delete{color:#ffd0d0;border-color:#ff6b6b47;background:#ff6b6b1a}.history-icon-button svg{width:19px;height:19px}.history-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-icon-button:disabled{opacity:.5;cursor:not-allowed}.history-main span{color:var(--muted);font-size:.86rem}.history-main .history-metrics{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.28em;color:var(--subtle);line-height:1.4}.history-main .history-metrics>span{color:inherit;font-size:inherit}.progress-chart{margin-bottom:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.progress-chart-heading,.progress-chart-detail{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}.progress-chart-heading{justify-content:space-between;margin-bottom:10px}.progress-chart-heading span,.progress-chart-caption{color:var(--muted);font-size:.85rem}.progress-chart-svg{display:block;width:100%;height:210px;overflow:visible}.progress-pr-line{stroke:var(--muted);stroke-width:1;stroke-dasharray:5 4}.progress-axis-line{stroke:var(--line);stroke-width:1}.progress-axis-label{fill:var(--muted);font-size:11px}.progress-line{fill:none;stroke:#e9f451;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.progress-selected-point{fill:var(--bg);stroke:#e9f451;stroke-width:3}.progress-chart-slider{height:28px;padding:0;margin:2px 0 8px;border:0;border-radius:0;background:transparent;box-shadow:none;accent-color:#e9f451;cursor:pointer}.progress-chart-detail{margin:4px 0;color:var(--subtle);font-size:.85rem}.progress-chart-detail strong{color:var(--text);font-size:1rem}.progress-chart-caption{margin:10px 0 0;line-height:1.45}.history-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.history-edit-form{display:grid;gap:14px;padding:0 18px 18px}.compact-weight-input input{font-size:1.4rem}.exercise-context{margin-bottom:20px;padding:6px 0 4px}.exercise-context h1{margin:0 0 10px;font-size:clamp(2rem,4.2vw,3.4rem);text-transform:uppercase}.exercise-summary-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.exercise-summary-tabs button{min-height:46px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--subtle);font-weight:850}.exercise-summary-tabs button.active{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.exercise-summary-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exercise-error{margin-bottom:14px}.max-weight-card{margin-bottom:20px;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel)}.max-weight-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .45em;margin:3px 0 8px;line-height:1.45}.exercise-note{flex:0 1 auto;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.max-weight-card strong{margin-top:8px;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1;letter-spacing:-.045em}.max-weight-card strong.max-weight-empty{font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.04em}.max-weight-note{display:block;margin-top:12px;color:var(--muted);font-size:.9rem;line-height:1.45}.percentage-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,180px) minmax(160px,210px);align-items:end;gap:18px;margin-bottom:20px;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel)}.percentage-card-copy h2{margin:10px 0 8px}.percentage-card-copy .muted{margin:0;font-size:.9rem}.percentage-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.percentage-input-row span{color:var(--muted);font-size:1.2rem;font-weight:800}.percentage-input-row input:disabled{opacity:.55}.percentage-result{display:grid;gap:5px}.percentage-result>span{color:var(--label);font-size:.9rem;font-weight:700}.percentage-result strong{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.04em}.percentage-result small{color:var(--muted);line-height:1.4}.exercise-totals-card{display:grid;gap:20px;margin-bottom:20px;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel)}.exercise-totals-card h2{margin:10px 0 0}.exercise-totals-card .history-view-tabs{margin-bottom:0}.exercise-totals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.exercise-totals-grid>div{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.exercise-totals-grid span{color:var(--muted);font-size:.85rem}.exercise-totals-grid strong{font-size:clamp(1.4rem,3vw,2rem);overflow-wrap:anywhere}.exercise-totals-card>.muted{margin:0;font-size:.85rem}@media (max-width: 720px){.percentage-card{grid-template-columns:1fr;padding:18px}.exercise-summary-tabs button{padding:8px 3px;font-size:.78rem}.exercise-totals-card{padding:18px}.exercise-totals-grid{grid-template-columns:1fr}}.record-context{display:grid;gap:4px;padding-bottom:2px}.record-context strong{font-size:1.05rem}.record-context span{color:var(--muted);font-size:.88rem;line-height:1.45}@media (max-width: 720px){.exercise-context h1{font-size:clamp(1.9rem,9vw,2.8rem)}.max-weight-card{padding:18px}.max-weight-card strong{font-size:clamp(2rem,10vw,2.8rem)}}.pull-refresh-indicator{position:fixed;z-index:100;top:max(10px,env(safe-area-inset-top));left:50%;display:none;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--text);box-shadow:0 10px 30px #0000004d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;font-size:.78rem;font-weight:800;white-space:nowrap}.pull-refresh-indicator.visible{opacity:1}.pull-refresh-spinner{width:18px;height:18px;flex:0 0 auto;border:2px solid color-mix(in srgb,var(--text) 28%,transparent);border-top-color:var(--text);border-radius:50%;transform:rotate(0)}.pull-refresh-indicator.refreshing .pull-refresh-spinner{animation:pull-refresh-spin .7s linear infinite}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}@media (pointer: coarse){.pull-refresh-indicator{display:inline-flex}}@media (orientation: landscape) and (max-height: 520px) and (pointer: coarse){.topbar{padding-top:max(10px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:10px;padding-left:max(12px,env(safe-area-inset-left));align-items:center}.topbar .eyebrow{display:none}.brand-mark.compact{width:25px;height:25px}.ghost-button{padding:8px 10px;font-size:.78rem}.page{width:min(988px,100%);padding-top:16px;padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(34px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left))}.hero{padding:16px 0 18px;max-width:680px}h1{font-size:clamp(1.9rem,5.5vw,2.7rem)}.exercise-context{margin-bottom:14px;padding-top:2px}.exercise-context h1{font-size:clamp(1.8rem,4vw,2.35rem)}.exercise-context .muted{margin-bottom:0}.max-weight-card{padding:16px 18px;margin-bottom:14px}.max-weight-card strong,.max-weight-card strong.max-weight-empty{font-size:clamp(1.9rem,4.6vw,2.5rem)}.max-weight-note{margin-top:8px}.record-card{gap:12px;padding:16px 18px;margin-bottom:22px}.weight-input-row input{font-size:1.45rem;padding:11px 14px}.weight-input-row span{font-size:1rem}.section{margin-top:22px}.exercise-card{min-height:130px;padding:16px}.exercise-card h2{margin-bottom:12px}.latest-weight strong{font-size:1.45rem}.history-row,.user-row,.exercise-admin-row,.record-row{padding:12px 15px}.admin-card{min-height:150px;padding:18px}.admin-card h2{margin-top:30px}.auth-page{padding:14px}.auth-card{padding:22px}.auth-card h1{font-size:2rem}}.password-input-wrap{position:relative}.password-input-wrap input{width:100%;padding-right:50px}.password-visibility-button{position:absolute;top:50%;right:9px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);transform:translateY(-50%)}.password-visibility-button:hover,.password-visibility-button:focus-visible{background:#ffffff0f;color:var(--text)}.password-visibility-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.password-visibility-button svg{width:21px;height:21px}.auth-link-button{width:fit-content;justify-self:center;padding:2px 0;background:transparent;color:var(--subtle);font-size:.9rem;font-weight:750;text-decoration:underline;text-underline-offset:4px}.auth-link-button:hover{color:var(--text)}.account-password-card{width:min(100%,560px)}.account-password-card h1{margin:8px 0 10px;font-size:clamp(2rem,5vw,3.2rem)}.account-password-form{margin-top:0}.modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-edit-modal,.user-objectives-modal,.exercise-edit-modal{width:min(100%,560px);max-height:min(760px,calc(100vh - 40px));overflow-y:auto;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 28px 90px #000000ad}.modal-header{position:sticky;z-index:1;top:0;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 22px 16px;background:color-mix(in srgb,var(--panel) 96%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.modal-header h2{margin:5px 0 0;font-size:clamp(1.45rem,4vw,2rem)}.modal-close{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--text);font-size:1.55rem;line-height:1}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-user-form{display:grid;gap:16px;padding:22px}.modal-recovery-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#ffffff06}.modal-recovery-panel>div{display:grid;gap:5px;min-width:0}.modal-recovery-panel span{color:var(--muted);font-size:.86rem;line-height:1.45;overflow-wrap:anywhere}.modal-recovery-panel .modal-help{color:var(--subtle);font-size:.78rem}.modal-recovery-panel .ghost-button{white-space:nowrap}.modal-actions{margin-top:2px}@media (max-width: 720px){.modal-backdrop{place-items:end center;padding:12px}.user-edit-modal{max-height:calc(100vh - 24px);border-radius:20px}.modal-header{padding:18px 18px 14px}.modal-user-form{padding:18px}.modal-recovery-panel{grid-template-columns:1fr}.modal-recovery-panel .ghost-button{width:100%}}.exercise-admin-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.exercise-admin-title{display:grid;gap:4px}.exercise-admin-title span{color:var(--muted);font-size:.82rem}@media (max-width: 720px){.exercise-admin-row{align-items:flex-start;flex-direction:column}.exercise-admin-controls{width:100%;justify-content:flex-start}}.athlete-nav-card{position:relative}.analysis-notification{position:absolute;top:21px;right:21px;width:13px;height:13px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px var(--panel)}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-list{display:grid;gap:16px;margin:0 0 36px}.analysis-entry{min-width:0;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.analysis-entry .eyebrow{margin:0 0 12px}.analysis-text{margin:0;color:var(--text);line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.analysis-inbox-entry{padding:0;overflow:hidden}.analysis-card-heading{margin:0;font-size:1rem}.analysis-card-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px;background:transparent;color:var(--text);text-align:left}.analysis-card-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.analysis-card-title{display:flex;align-items:center;gap:14px}.analysis-card-title .eyebrow{margin:0;line-height:1.6}.analysis-card-title .analysis-notification{position:static;flex:0 0 13px}.analysis-card-action{color:var(--muted);font-size:.85rem;white-space:nowrap}.analysis-card-content{padding:0 22px 22px}.analysis-read-error{margin-top:16px;color:#ffd0d0;font-size:.9rem}.analysis-push-actions{display:grid;gap:10px}.analysis-push-help{grid-column:1 / -1;display:grid;gap:10px}@media (max-width: 720px){.analysis-entry.analysis-inbox-entry{padding:0}.analysis-card-toggle{padding:18px;flex-wrap:wrap;gap:10px}.analysis-card-content{padding:0 18px 18px}}.analysis-entry-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.analysis-entry-heading h2{margin:0}.analysis-read-status{flex:0 0 auto;color:var(--subtle);font-size:.82rem}.analysis-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.analysis-actions .primary-button{width:auto}.analysis-edit-form{display:grid;gap:16px}.analysis-edit-form textarea{line-height:1.6}.admin-analysis-week-picker{display:grid;gap:10px;margin-bottom:22px}.admin-analysis-week-picker label{width:100%;max-width:440px}.admin-analysis-week-picker .muted{margin:0;font-size:.85rem}.analysis-entry.admin-analysis-entry{padding:0}.admin-analysis-summary{display:flex;align-items:center;gap:16px;padding:20px 22px;list-style:none;cursor:pointer}.admin-analysis-summary::-webkit-details-marker{display:none}.admin-analysis-summary h2{flex:1;min-width:0;margin:0;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.admin-analysis-summary:hover{background:#ffffff06}.admin-analysis-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:20px}.admin-analysis-chevron{flex:0 0 20px;color:var(--muted);transition:transform .18s ease}.admin-analysis-entry[open] .admin-analysis-chevron{transform:rotate(180deg)}.admin-analysis-content{margin:0 22px;padding:20px 0 22px;border-top:1px solid var(--line)}@media (max-width: 600px){.admin-analysis-summary{gap:10px;padding:16px;flex-wrap:wrap}.admin-analysis-summary h2{flex-basis:calc(100% - 30px);order:0}.admin-analysis-chevron{order:1}.admin-analysis-summary .analysis-read-status{order:2;width:100%}.admin-analysis-content{margin-inline:16px;padding:16px 0}}@media (prefers-reduced-motion: reduce){.admin-analysis-chevron{transition:none}}@media (max-width: 720px){.admin-grid{grid-template-columns:1fr}.analysis-entry{padding:18px}}@media (max-width: 720px) and (orientation: portrait){.athlete-home-hero,.admin-home-hero{padding-top:6px}}.analysis-push-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 22px;align-items:center;margin:0 0 24px;padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel)}.analysis-push-card h2{margin:5px 0 6px}.analysis-push-card .muted{margin:0}.analysis-push-card .ghost-button{white-space:nowrap}.analysis-push-error{grid-column:1 / -1;margin:0;color:#ffd0d0;line-height:1.45}@media (max-width: 720px){.analysis-push-card{grid-template-columns:1fr;padding:18px}.analysis-push-card .ghost-button{width:100%}}.exercise-progress{min-width:0;border-top:1px solid var(--border, #303030);padding-top:24px}.exercise-progress h3{margin:8px 0 12px;font-size:1.35rem}.exercise-progress p{line-height:1.6;overflow-wrap:anywhere}.exercise-progress-context,.exercise-progress-method{color:#aaa;font-size:.9rem}.exercise-progress-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;margin:20px 0}.exercise-progress-facts div{min-width:0}.exercise-progress-facts dt{color:#aaa;font-size:.85rem}.exercise-progress-facts dd{margin:5px 0 0;font-weight:700;overflow-wrap:anywhere}.exercise-progress-comparison{border-top:1px solid #303030;padding-top:12px;margin-top:18px}.exercise-progress-method{margin-top:20px}.exercise-progress-method summary{cursor:pointer;color:#ddd;padding:8px 0}.class-date-row{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-bottom:20px}.class-date-row label{font-weight:800}.class-date-row input{width:auto;min-width:170px;color-scheme:dark}.class-date-row span{color:var(--muted)}.class-hour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.class-hour-tabs button{display:grid;gap:6px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);text-align:left}.class-hour-tabs button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.class-hour-tabs button span{font-size:.84rem;opacity:.7}.class-hour-tabs button .class-hour-goals{display:grid;gap:5px;margin-top:5px;opacity:1}.class-hour-tabs button .class-goal-count{display:flex;align-items:baseline;gap:4px;min-width:0;font-size:.72rem;line-height:1.25;overflow-wrap:anywhere;opacity:1}.class-goal-count i{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--goal-color)}.class-panel{margin-bottom:36px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.class-panel-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:25px}.class-panel-heading .eyebrow{margin:0 0 7px;text-transform:none}.class-panel-heading h2{margin:0}.class-panel-heading>span{color:var(--muted);white-space:nowrap}.class-search-label{display:block;margin-bottom:9px;font-weight:750}.class-panel .search-input{width:100%;margin-bottom:0}.class-search-results{display:grid;gap:8px;margin-top:10px;padding:8px;border:1px solid var(--line);border-radius:14px}.class-search-results>.muted{margin:10px}.class-search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px}.class-search-result span{min-width:0;overflow-wrap:anywhere}.class-search-person{display:grid;gap:5px}.class-search-result .ghost-button{flex:0 0 auto}.class-roster-heading{margin:30px 0 14px}.class-roster-heading h2{font-size:1.2rem}.class-roster{display:grid;gap:9px}.class-roster-row{display:flex;align-items:stretch;gap:8px}.class-athlete-button{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--goal-color);border-radius:13px;background:color-mix(in srgb,var(--goal-color) 15%,var(--panel-2));color:var(--text);text-align:left}.class-athlete-button:hover{border-color:var(--hover-line)}.class-athlete-button strong{overflow-wrap:anywhere}.class-athlete-info{display:grid;gap:6px;min-width:0}.class-athlete-button>span:last-child{color:var(--muted);font-size:.82rem;white-space:nowrap}.class-remove-button{padding:0 14px;border:1px solid var(--line);border-radius:13px;background:transparent;color:var(--muted)}.class-remove-button:hover{color:var(--text);border-color:var(--hover-line)}.class-stats-modal{width:min(100%,680px);max-height:min(820px,calc(100dvh - 40px));overflow-y:auto;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 28px 90px #000000ad}.class-stats-content{padding:22px}.class-stats-goal{display:flex;align-items:center;gap:12px;margin-bottom:18px}.class-stats-goal>span:first-child{color:var(--muted);font-size:.84rem}.class-stats-content>h3{margin:24px 0 14px}.class-stats-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.class-stats-overview>div{display:grid;gap:6px;padding:15px;border:1px solid var(--line);border-radius:14px}.class-stats-overview span{color:var(--muted);font-size:.84rem}.class-stats-overview strong{font-size:1.45rem}.class-stats-list{display:grid;gap:10px}.class-stat-row{padding:17px;border:1px solid var(--line);border-radius:14px}.class-stat-row h4{margin:0 0 15px}.class-stat-row dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.class-stat-row dt{color:var(--muted);font-size:.8rem}.class-stat-row dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:750}.goal-badge{display:inline-flex;align-items:center;gap:7px;width:fit-content;padding:5px 9px;border:1px solid color-mix(in srgb,var(--goal-color) 55%,transparent);border-radius:999px;background:color-mix(in srgb,var(--goal-color) 18%,var(--panel));color:var(--text);font-size:.77rem;font-weight:750;line-height:1.2;white-space:normal}.goal-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--goal-color)}.user-meta .goal-badge{color:var(--text);font-size:.77rem}.goal-manage-link{width:fit-content;margin:0 0 16px;color:var(--subtle);font-size:.86rem;text-decoration:underline;text-underline-offset:4px}.goal-create-form{display:grid;gap:16px;margin-bottom:30px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.goal-create-form h2{margin:0}.goal-create-form .primary-button{width:fit-content}.goal-form-fields{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:14px}.goal-form-fields label{min-width:0}.goal-form-fields input[type=color]{height:48px;padding:5px;cursor:pointer}.goal-admin-list{display:grid;gap:10px;margin-bottom:36px}.goal-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.goal-edit-row{display:grid}.goal-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.goal-admin-actions .primary-button{width:auto}@media (max-width: 720px){.class-hour-tabs{gap:7px}.class-hour-tabs button{padding:12px 8px}.class-hour-tabs button strong{font-size:.85rem}.class-panel{padding:17px}.class-roster-heading{align-items:flex-start;flex-direction:column;gap:2px}.class-athlete-button{align-items:flex-start;flex-direction:column;gap:4px}.class-stats-modal{max-height:calc(100dvh - 24px)}.class-stats-content{padding:17px}.class-stat-row dl{grid-template-columns:1fr}.goal-create-form{padding:17px}.goal-form-fields{grid-template-columns:minmax(0,1fr) 90px}.goal-admin-row{align-items:flex-start;flex-direction:column}}.athlete-goals-hero,.athlete-goals-form{max-width:760px}.athlete-objectives-summary{display:block;max-width:760px}.athlete-objectives-summary>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;min-height:44px}.athlete-objectives-summary>summary::-webkit-details-marker{display:none}.athlete-objectives-summary>summary>span:first-child{display:grid;gap:7px;min-width:0}.athlete-objectives-summary summary strong{font-size:20px}.athlete-objectives-summary summary small{color:var(--muted)}.athlete-objectives-chevron{font-size:24px;color:var(--accent);transition:transform .18s}.athlete-objectives-summary[open] .athlete-objectives-chevron{transform:rotate(180deg)}.athlete-objectives-body{display:grid;gap:20px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.athlete-objectives-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.athlete-objectives-body h2,.athlete-objectives-body h3{margin:0;font-size:16px}.athlete-objectives-body p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.athlete-objectives-body>.goal-badge{justify-self:start}.athlete-objectives-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow-y:auto;color:var(--text);border:1px solid var(--line);border-radius:22px;background:var(--panel)}.athlete-objectives-dialog::backdrop{background:#000000c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.athlete-objectives-dialog .modal-header h2{margin:0}@media (prefers-reduced-motion: reduce){.athlete-objectives-chevron{transition:none}}.athlete-goals-form textarea{width:100%;min-height:132px;resize:vertical;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--input-bg);color:var(--text);outline:none;font:inherit;line-height:1.5}.athlete-goals-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.field-help{justify-self:end;color:var(--muted);font-size:.78rem;font-weight:650}.athlete-goal-primary{display:grid;gap:12px}.athlete-goal-preview{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffff06}.athlete-goal-preview>span:first-child{color:var(--muted);font-size:.84rem;line-height:1.4}.athlete-goals-privacy{display:grid;gap:5px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffff06}.athlete-goals-privacy span{color:var(--muted);font-size:.86rem;line-height:1.5}.athlete-goals-updated{margin:-4px 0 0;color:var(--muted);text-align:center;font-size:.8rem}.user-objectives-status{color:var(--subtle)!important;font-size:.76rem!important;font-weight:750}.admin-athlete-objectives{display:grid;gap:18px;padding:0;border:0;border-radius:0;background:transparent}.admin-athlete-objectives-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.admin-athlete-objectives-heading>div{display:grid;gap:4px}.admin-athlete-objectives-heading span,.admin-athlete-objectives-heading time,.admin-athlete-objectives .modal-help{color:var(--muted);font-size:.78rem;line-height:1.45}.admin-athlete-objectives-heading time{text-align:right;white-space:nowrap}.admin-athlete-objectives-content{display:grid;gap:12px}.admin-athlete-objectives-content>div{display:grid;gap:5px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.admin-athlete-objectives-content span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.admin-athlete-objectives-content p{margin:0;color:var(--text);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.admin-athlete-objectives-empty{margin:0}@media (max-width: 900px) and (min-width: 721px){.athlete-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.athlete-goal-preview,.admin-athlete-objectives-heading{align-items:flex-start;flex-direction:column}.admin-athlete-objectives-heading time{text-align:left}}.user-name-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:fit-content;max-width:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;color:var(--text);text-align:left;font:inherit;font-weight:800;line-height:1.3;overflow-wrap:anywhere;text-decoration:none;transition:color .15s ease,opacity .15s ease}.user-name-button:hover,.user-name-button:focus-visible{color:var(--subtle)}.user-name-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.user-objectives-modal{background:#0d0d0d;isolation:isolate}.user-objectives-modal .modal-header{background:#0d0d0d;-webkit-backdrop-filter:none;backdrop-filter:none}.user-objectives-modal-content{padding:22px;background:#0d0d0d}.admin-athlete-objectives-primary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.admin-athlete-objectives-primary>span:first-child{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}@media (max-width: 720px){.user-objectives-modal{max-height:calc(100vh - 24px);border-radius:20px}.user-objectives-modal-content{padding:18px}.admin-athlete-objectives-primary{align-items:flex-start;flex-direction:column}}.admin-card-beta{position:relative;border-style:solid}.admin-card-beta-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-card-beta-top>span:first-child{color:var(--accent);font-weight:950}.beta-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:24px;padding:4px 8px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:.68rem;font-weight:950;line-height:1;letter-spacing:.1em}.athlete-beta-hero{max-width:840px}.beta-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.beta-heading-row>div{min-width:0}.athlete-beta-picker{display:grid;gap:14px;margin-bottom:30px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.athlete-beta-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:330px;overflow-y:auto;padding-right:3px}.athlete-beta-person{display:flex;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);color:var(--text);text-align:left}.athlete-beta-person:hover,.athlete-beta-person:focus-visible{border-color:var(--hover-line)}.athlete-beta-person.active{border-color:var(--accent-border);background:var(--accent-soft)}.athlete-beta-person>span:first-child{display:grid;gap:4px;min-width:0}.athlete-beta-person strong,.athlete-beta-person small{overflow-wrap:anywhere}.athlete-beta-person small{color:var(--muted);font-size:.76rem}.athlete-beta-empty{display:grid;justify-items:start;gap:8px;min-height:240px;padding:28px;border:1px dashed var(--line);border-radius:20px;background:var(--panel)}.athlete-beta-empty h2,.athlete-beta-empty p{margin:0}.athlete-beta-profile{display:grid;gap:18px}.athlete-beta-profile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.athlete-beta-profile-header h2{margin:4px 0 12px;font-size:clamp(1.8rem,4vw,2.8rem)}.athlete-beta-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.athlete-beta-status>span:not(.goal-badge){padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.76rem;font-weight:750}.athlete-beta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.athlete-beta-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.athlete-beta-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.athlete-beta-card-heading h3{margin:4px 0 0;font-size:1.25rem}.athlete-beta-card-heading>span{color:var(--muted);font-size:.76rem;text-align:right}.athlete-beta-link{color:var(--subtle);font-size:.78rem;font-weight:750;white-space:nowrap}.athlete-beta-link:hover{color:var(--text)}.athlete-beta-objectives{display:grid;gap:12px}.athlete-beta-objectives>span{color:var(--muted);font-size:.76rem}.athlete-beta-objective-block,.athlete-beta-text-block{display:grid;gap:8px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.athlete-beta-objective-block>span:first-child,.athlete-beta-text-block>span:first-child{color:var(--muted);font-size:.75rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.athlete-beta-text-block p{margin:0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.athlete-beta-stats-list,.athlete-beta-analysis-list{display:grid;gap:9px}.athlete-beta-disclosure>summary{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;min-height:44px;margin-bottom:0;list-style:none;cursor:pointer}.athlete-beta-disclosure[open]>summary{margin-bottom:18px}.athlete-beta-disclosure>.athlete-beta-link{display:inline-block;margin-bottom:18px}.athlete-beta-disclosure>summary::-webkit-details-marker{display:none}.athlete-beta-disclosure>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.athlete-beta-disclosure>summary>div{min-width:0;overflow-wrap:anywhere}.athlete-beta-disclosure-chevron{flex:0 0 auto;color:var(--muted)}.athlete-beta-disclosure[open] .athlete-beta-disclosure-chevron{transform:rotate(180deg)}.athlete-beta-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2)}.athlete-beta-stat>div{display:grid;gap:4px;min-width:0}.athlete-beta-stat>div:last-child{text-align:right}.athlete-beta-stat span,.athlete-beta-stat small{color:var(--muted);font-size:.75rem;line-height:1.35}.athlete-beta-stat strong{overflow-wrap:anywhere}.athlete-beta-analysis{display:grid;gap:9px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.athlete-beta-analysis>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.athlete-beta-analysis span{color:var(--muted);font-size:.74rem;white-space:nowrap}.athlete-beta-analysis p{margin:0;color:var(--subtle);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.athlete-beta-footnote{display:flex;gap:12px;align-items:baseline;padding:14px 16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:.8rem;line-height:1.45}.athlete-beta-footnote strong{color:var(--text);white-space:nowrap}@media (max-width: 900px){.athlete-beta-grid{grid-template-columns:1fr}}@media (max-width: 720px){.beta-heading-row,.athlete-beta-profile-header,.athlete-beta-card-heading,.athlete-beta-analysis>div,.athlete-beta-footnote{align-items:flex-start;flex-direction:column}.athlete-beta-list{grid-template-columns:1fr}.athlete-beta-picker,.athlete-beta-card,.athlete-beta-profile-header{padding:17px}.athlete-beta-person{align-items:flex-start;flex-direction:column}.athlete-beta-card-heading>span{text-align:left}.athlete-beta-stat{grid-template-columns:1fr}.athlete-beta-stat>div:last-child{text-align:left}.athlete-beta-analysis span{white-space:normal}}.role-selector{display:grid;gap:10px;margin:0;padding:0;border:0}.role-selector legend{margin-bottom:6px;color:var(--label);font-size:.9rem;font-weight:700}.role-selector .muted{margin:0;font-size:.82rem}.role-selector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.role-selector-grid .flag{width:100%;min-height:44px}.admin-card-coach-v2,.coach-beta-nav-card{border-color:rgba(var(--coach-beta-yellow-rgb),.72);background:linear-gradient(145deg,rgba(var(--coach-beta-yellow-rgb),.2),rgba(var(--coach-beta-yellow-rgb),.035) 58%),var(--panel)}.admin-card-coach-v2:hover,.admin-card-coach-v2:focus-visible,.athlete-nav-card.coach-beta-nav-card:hover,.athlete-nav-card.coach-beta-nav-card:focus-visible{border-color:var(--coach-beta-yellow)}.admin-card-coach-v2 h2,.admin-card-coach-v2 .admin-card-beta-top>span:first-child,.coach-beta-nav-card h2{color:var(--coach-beta-yellow)}.admin-card-coach-v2 .beta-badge,.coach-beta-nav-card .beta-badge{border-color:var(--coach-beta-yellow);background:var(--coach-beta-yellow);color:#111}.admin-card-coach-v2.admin-card-coach-v2-locked,.admin-card-coach-v2.admin-card-coach-v2-locked:hover{border-color:rgba(var(--coach-beta-yellow-rgb),.3);background:linear-gradient(145deg,rgba(var(--coach-beta-yellow-rgb),.08),rgba(var(--coach-beta-yellow-rgb),.02) 58%),var(--panel)}.athlete-nav-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.athlete-nav-grid-coach-only{grid-template-columns:minmax(0,520px)}@media (max-width: 1020px){.athlete-nav-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.athlete-nav-grid-four{grid-template-columns:1fr}}.admin-exercise-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}.admin-exercise-heading h1{margin:4px 0 6px}.admin-exercise-heading .muted{margin:0}.exercise-create-form{grid-template-columns:1fr;align-items:stretch;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.exercise-create-form .primary-button{width:fit-content}.discipline-selector{display:grid;gap:10px;margin:0;padding:0;border:0}.discipline-selector legend{margin-bottom:2px;color:var(--label);font-size:.9rem;font-weight:750}.discipline-selector>.muted{margin:0;font-size:.82rem;line-height:1.45}.discipline-selector-grid{display:flex;flex-wrap:wrap;gap:8px}.discipline-option{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--muted);font:inherit;font-size:.82rem;font-weight:800}.discipline-option:hover:not(:disabled),.discipline-option:focus-visible:not(:disabled){border-color:var(--hover-line);color:var(--text)}.discipline-option.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.discipline-option:disabled{opacity:1;cursor:default}.discipline-option small{padding:2px 6px;border-radius:999px;background:#ffffff0f;color:var(--subtle);font-size:.65rem;font-weight:850;letter-spacing:.03em}.discipline-chips{display:flex;flex-wrap:wrap;gap:6px}.discipline-chips>span{display:inline-flex;align-items:center;width:fit-content;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#ffffff06;color:var(--subtle);font-size:.72rem;font-weight:750;line-height:1.2}.user-discipline-chips{margin-top:3px}.exercise-admin-title{display:grid;gap:5px;min-width:0}.admin-disciplines-hero{max-width:780px}.discipline-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.discipline-create-form .primary-button{width:auto}.discipline-admin-list{overflow:hidden}.discipline-admin-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line)}.discipline-admin-row:last-child{border-bottom:0}.discipline-admin-main{display:grid;gap:5px;min-width:0;flex:1}.discipline-admin-main>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.discipline-admin-main>span{color:var(--muted);font-size:.8rem}.discipline-admin-main input{max-width:420px}.discipline-default-badge{display:inline-flex;padding:3px 7px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent);font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.discipline-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 720px){.admin-exercise-heading{align-items:flex-start;flex-direction:column}.admin-exercise-heading .ghost-button{width:100%}.exercise-create-form,.discipline-create-form{padding:15px}.discipline-create-form{grid-template-columns:1fr}.discipline-create-form .primary-button,.exercise-create-form .primary-button{width:100%}.discipline-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.discipline-option{justify-content:center;width:100%;border-radius:12px}.discipline-admin-row{align-items:flex-start;flex-direction:column}.discipline-admin-actions{width:100%;justify-content:stretch}.discipline-admin-actions>button{flex:1}}.athlete-beta-disciplines{margin-top:10px}.admin-athlete-exercise-scope{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:-6px 0 20px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.admin-athlete-exercise-scope>div{display:grid;gap:3px;min-width:0}.admin-athlete-exercise-scope>div>span{color:var(--text);font-size:.8rem;font-weight:850}.admin-athlete-exercise-scope>div>small{color:var(--muted);font-size:.75rem;line-height:1.4}.admin-athlete-exercise-scope .ghost-button{flex:0 0 auto;white-space:nowrap}.admin-athlete-exercise-scope .ghost-button.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.admin-athlete-exercise-scope .ghost-button:disabled{opacity:.55;cursor:default}@media (max-width: 720px){.admin-athlete-exercise-scope{align-items:stretch;flex-direction:column}.admin-athlete-exercise-scope .ghost-button{width:100%}}.topbar-account-actions{display:grid;gap:5px;justify-items:end}.admin-notifications{position:relative;display:flex;justify-content:flex-end}.notification-bell{position:relative;display:grid;width:38px;height:32px;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--text)}.notification-bell:hover,.notification-bell:focus-visible{border-color:var(--hover-line)}.notification-bell svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;top:-6px;right:-6px;display:grid;min-width:18px;height:18px;place-items:center;padding:0 5px;border:2px solid var(--topbar-bg);border-radius:999px;background:#d7ff43;color:#111;font-size:.62rem;font-weight:950}.notification-panel{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#0d0d0dfc;box-shadow:0 18px 60px #0000007a}.notification-panel-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px;border-bottom:1px solid var(--line)}.notification-panel-heading .eyebrow{margin-bottom:5px}.notification-panel-close{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:10px;background:transparent;color:var(--muted);font-size:1.35rem}.notification-request-list{display:grid;max-height:min(430px,58vh);overflow-y:auto}.notification-request{display:grid;gap:4px;padding:14px 16px;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.notification-request:last-child{border-bottom:0}.notification-request:hover,.notification-request:focus-visible{background:#ffffff0a}.notification-request span,.notification-request small{color:var(--muted)}.notification-request span{font-size:.82rem}.notification-request small{font-size:.7rem}.notification-empty,.notification-error{margin:0;padding:16px}.notification-error{color:#ffd0d0;font-size:.82rem}.permission-request-modal{width:min(520px,100%);overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 24px 80px #0000008c}.permission-request-modal>label,.permission-request-person,.permission-request-help,.permission-request-actions,.permission-request-modal>.error-box{margin-right:20px;margin-left:20px}.permission-request-person{display:grid;gap:4px;margin-top:2px;margin-bottom:18px}.permission-request-person span{color:var(--muted);font-size:.82rem}.permission-request-help{margin-top:14px;margin-bottom:18px;font-size:.82rem}.permission-request-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:18px;margin-bottom:20px}.permission-request-actions .primary-button{width:100%}.coach-access-request-button{width:100%;margin-top:8px}.coach-access-message{display:block;margin-top:9px;color:#ffd0d0;font-size:.78rem;line-height:1.4}@media (max-width: 720px){.topbar-account-actions{gap:4px}.notification-bell{width:34px;height:30px}.notification-panel{position:fixed;top:calc(max(18px,env(safe-area-inset-top)) + 86px);right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));width:auto}.permission-request-modal{max-height:calc(100vh - 24px);overflow-y:auto;border-radius:20px}.permission-request-actions{grid-template-columns:1fr}}.sensitive-role-selector{padding-top:2px}.sensitive-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sensitive-role-grid .flag{width:100%;min-height:44px}.owner-flag.active{border-color:#ffffff9e;background:#ffffff21;color:var(--text)}.coach-management-flag.active{border-color:#d7ff43b8;background:#d7ff4324;color:#efff9c}@media (max-width: 720px){.sensitive-role-grid{grid-template-columns:1fr}}.admin-access-bar{display:flex;min-height:44px;justify-content:space-between;align-items:center;gap:14px;padding:7px max(20px,env(safe-area-inset-right)) 7px max(20px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.08);background:#020202}.admin-access-status,.admin-access-actions{display:flex;align-items:center;gap:9px;min-width:0}.admin-access-status strong{overflow:hidden;color:var(--subtle);font-size:.75rem;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.admin-access-owner-badge{flex:0 0 auto;padding:4px 7px;border:1px solid rgba(215,255,67,.38);border-radius:999px;background:#d7ff4314;color:#efff9c;font-size:.62rem;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.admin-access-actions{flex:0 0 auto;justify-content:flex-end}.admin-access-link,.admin-access-refresh{padding:6px 8px;border-radius:9px;background:transparent;color:var(--muted);font-size:.7rem;font-weight:800}.admin-access-link:hover,.admin-access-link:focus-visible,.admin-access-refresh:hover,.admin-access-refresh:focus-visible{background:#ffffff0d;color:var(--text)}.admin-access-link.danger-text{color:#ffb5b5}.admin-access-link:disabled,.admin-access-refresh:disabled{opacity:.48;cursor:wait}.admin-access-toast{position:fixed;z-index:1200;top:calc(max(18px,env(safe-area-inset-top)) + 86px);right:max(16px,env(safe-area-inset-right));max-width:min(380px,calc(100vw - 32px));padding:11px 14px;border:1px solid rgba(131,242,143,.32);border-radius:12px;background:#0b1f0efa;color:#c8ffd0;box-shadow:0 14px 45px #00000073;font-size:.78rem;font-weight:800;line-height:1.4}.admin-access-toast.error{border-color:#ff6b6b4d;background:#280b0bfa;color:#ffd0d0}.admin-access-modal{width:min(620px,100%);overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 24px 80px #0000008c}.admin-access-modal-content{display:grid;gap:10px;padding:4px 20px 20px}.admin-access-person{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.admin-access-person>div{display:grid;gap:3px;min-width:0}.admin-access-person strong,.admin-access-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-access-person span,.admin-access-person small{color:var(--muted)}.admin-access-person span{font-size:.78rem}.admin-access-person small{color:#efff9c;font-size:.72rem;font-weight:850}.admin-access-empty,.admin-access-owner-note{margin:0}.admin-access-empty{padding:16px 0}.admin-access-owner-note{padding-top:4px;font-size:.76rem;line-height:1.45}@media (max-width: 720px){.admin-access-bar{align-items:flex-start;flex-direction:column;gap:5px;padding-top:8px;padding-right:max(12px,env(safe-area-inset-right));padding-bottom:8px;padding-left:max(12px,env(safe-area-inset-left))}.admin-access-status{width:100%}.admin-access-status strong{white-space:normal}.admin-access-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.admin-access-link,.admin-access-refresh{padding:5px 7px}.admin-access-toast{top:calc(max(18px,env(safe-area-inset-top)) + 132px);right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));max-width:none}.admin-access-modal{max-height:calc(100vh - 24px);overflow-y:auto;border-radius:20px}.admin-access-person{align-items:flex-start;flex-direction:column}.admin-access-person .danger-button{width:100%}}.activation-fields{border:0;padding:0;margin:0;min-width:0}.athlete-activation-fields>label{min-width:0}.athlete-activation-fields input[type=date]{display:block;min-width:0;max-width:100%;min-height:50px}.athlete-activation-fields input[type=date]::-webkit-date-and-time-value{min-height:1.2em;text-align:left}.registration-status{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.registration-status .account-status-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:.72rem}.account-status-badge i{display:inline-block;width:8px;height:8px;flex:0 0 8px;border-radius:50%}.account-status-badge.complete i{background:#22c55e}.account-status-badge.pending i{background:#f59e0b}.account-status-badge.unavailable i{background:#f87171}.profile-completion-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left));padding-top:max(14px,env(safe-area-inset-top));background:var(--accent-soft);border-bottom:1px solid var(--accent-border);animation:profile-banner-enter .25s ease-out}.profile-completion-banner>div{display:grid;gap:4px;min-width:0}.profile-completion-banner strong{font-size:.9rem}.profile-completion-banner span{color:var(--muted);font-size:.8rem;line-height:1.45}.profile-completion-banner .primary-button{width:auto;max-width:100%;flex-shrink:0;display:inline-flex;justify-content:center;text-align:center}@keyframes profile-banner-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.profile-completion-banner{flex-wrap:wrap;gap:10px}.profile-completion-banner .primary-button{width:100%}}@media (prefers-reduced-motion: reduce){.profile-completion-banner{animation:none}}.app-shell-admin{--admin-card-text-increase: 3px}@media (max-width: 720px){.app-shell-admin{--admin-card-text-increase: 2px}}.admin-grid.admin-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-home-grid>.admin-card{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:110px;padding:20px 16px;border-radius:20px;gap:8px}.admin-home-grid>.admin-card h2{margin:0;font-size:calc(clamp(.85rem,2.3vw,1rem) + var(--admin-card-text-increase, 0px));line-height:1.35;letter-spacing:-.01em;overflow-wrap:break-word}.admin-home-grid>.admin-card small{font-size:calc(.72rem + var(--admin-card-text-increase, 0px))}.admin-home-grid>.admin-card .admin-card-description{margin:0;color:var(--muted);font-size:calc(.76rem + var(--admin-card-text-increase, 0px));line-height:1.4;overflow-wrap:break-word}.admin-home-grid>a.admin-card{transition:transform .16s ease,border-color .16s ease}.admin-home-grid>a.admin-card:hover,.admin-home-grid>a.admin-card:focus-visible{transform:translateY(-2px);border-color:var(--hover-line)}.admin-home-grid>a.admin-card-coach-v2:hover,.admin-home-grid>a.admin-card-coach-v2:focus-visible{border-color:var(--coach-beta-yellow)}.admin-home-grid>a.admin-card:focus-visible{outline:3px solid var(--text);outline-offset:4px}html:root .app-shell-athlete .exercise-history-section{min-width:0;padding:20px;border:1px solid var(--line);border-radius:20px}html:root .app-shell-athlete .exercise-history-section{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent),var(--panel)}@media (max-width: 600px){.admin-grid.admin-home-grid{gap:12px}.admin-home-grid>.admin-card{min-height:100px;padding:18px 14px}.admin-home-grid .coach-access-request-button{width:100%;white-space:normal;margin-top:4px}html:root .app-shell-athlete .exercise-history-section{padding:16px}}.admin-pwa-management{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.admin-pwa-management>.eyebrow{margin:0 0 16px}@media (orientation: landscape) and (max-height: 520px) and (pointer: coarse){.app-shell .topbar{position:static;flex-wrap:nowrap;gap:8px 16px;align-items:center}.app-shell .topbar .topbar-actions{width:auto;min-width:0;margin-left:auto;flex-wrap:nowrap;gap:8px}.profile-completion-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px}.profile-completion-banner .primary-button{width:auto}.legacy-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.legacy-profile-fields>label{min-width:0}.legacy-profile-fields>label:last-child{grid-column:1 / -1}}html:root .athlete-directory{display:grid;gap:14px;min-width:0;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}html:root .athlete-directory-card{min-width:0;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent),var(--panel)}html:root .athlete-directory-card .user-row{border-bottom:0}html:root .athlete-directory-card .user-meta{min-width:0;overflow-wrap:anywhere}html:root .exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}html:root .exercise-grid>.exercise-card{min-width:0;min-height:130px;padding:18px 16px;gap:12px;overflow-wrap:anywhere}html:root .exercise-grid .exercise-card h2{margin:0;font-size:clamp(.85rem,2.3vw,1rem);line-height:1.35}html:root .exercise-grid .latest-weight{flex-wrap:wrap;gap:4px 8px}html:root .exercise-grid .latest-weight-value{min-width:0;max-width:100%}html:root .exercise-grid .latest-weight strong{font-size:clamp(1.05rem,3vw,1.45rem)}@media (max-width: 600px){html:root .exercise-grid{gap:12px}html:root .exercise-grid>.exercise-card{padding:16px 12px}}html:root .exercise-grid>.exercise-card .eyebrow{display:none}html:root .exercise-grid .exercise-card h2{font-size:clamp(1rem,2.6vw,1.15rem)}html:root .athlete-home-hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(110px,24vw,240px);align-items:center;gap:clamp(12px,3vw,32px);max-width:100%}html:root .athlete-home-intro{min-width:0}html:root .hybrid-home-logo{display:block;width:100%;height:auto;justify-self:end;pointer-events:none;animation:hybrid-logo-breathe 3.8s ease-in-out infinite;transform-origin:center}@media (max-width: 600px){html:root .athlete-home-hero{grid-template-columns:minmax(0,1fr) clamp(90px,27vw,150px);gap:12px}html:root .athlete-home-hero h1{font-size:clamp(1.45rem,5.5vw,2rem);overflow-wrap:break-word}}html:root .hybrid-home-logo{animation:hybrid-logo-breathe 3s ease-in-out infinite}@keyframes hybrid-logo-breathe{0%,to{transform:scale(.9)}50%{transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){html:root .hybrid-home-logo{animation:none}}html:root .exercise-summary-tabs-with-goal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-goal-card,.exercise-goal-dialog{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text)}.exercise-goal-card{text-align:center;margin-bottom:24px}.exercise-goal-ring{width:min(220px,100%);aspect-ratio:1;margin:24px auto;position:relative}.exercise-goal-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.exercise-goal-ring circle{fill:none;stroke-width:10}.goal-ring-track{stroke:var(--line)}.goal-ring-value{stroke:#ffed00;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.exercise-goal-ring strong{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2.7rem}.exercise-goal-ring small{font-size:1.2rem}.exercise-goal-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}.exercise-goal-dialog::backdrop{background:#000000b3}.exercise-goal-dialog form{display:grid;gap:16px}.exercise-goal-dialog h2,.exercise-goal-dialog p{margin:0}@media (prefers-reduced-motion: reduce){.goal-ring-value{transition:none}}.exercise-goal-ring .goal-ring-light-mask{stroke:#fff;stroke-linecap:round}.exercise-goal-ring .goal-ring-light{stroke:#fffbc2;stroke-width:8;stroke-linecap:round;filter:blur(.8px);opacity:0;animation:exercise-goal-light-sweep 3.4s ease-in-out infinite}.exercise-goal-ring .goal-ring-light-core{stroke:#fff;stroke-width:3;filter:none}@keyframes exercise-goal-light-sweep{0%{stroke-dashoffset:var(--goal-light-start);opacity:0}15%{opacity:.9}75%{opacity:.9}90%,to{stroke-dashoffset:var(--goal-light-end);opacity:0}}@media (prefers-reduced-motion: reduce){.exercise-goal-ring .goal-ring-light{animation:none;opacity:0}}@media (max-width: 720px){.app-shell .topbar{flex-wrap:nowrap;align-items:center;gap:8px}.app-shell .topbar-brand{flex:1 1 auto;min-width:0}.app-shell .topbar .brand{gap:5px;font-size:clamp(.68rem,3.1vw,.95rem);letter-spacing:.06em;white-space:nowrap}.app-shell .topbar .topbar-actions{width:auto;flex:0 0 auto;flex-wrap:nowrap;gap:6px}.app-shell .topbar-actions>.ghost-button{padding:8px;font-size:.75rem;white-space:nowrap}.app-shell .topbar .notification-bell{flex-shrink:0}}
