:root{color-scheme:light;--bg:#edf2f7;--panel:rgba(255,255,255,0.9);--panel-strong:rgba(255,255,255,0.98);--line:rgba(23,39,58,0.1);--line-strong:rgba(23,39,58,0.18);--text:#142033;--muted:#617089;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:rgba(15,118,110,0.1);--alert:#c2410c;--success:#15803d;--shadow:0 24px 60px rgba(15,23,42,0.08);--radius-xl:28px;--radius-lg:22px;--radius-md:18px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(15,118,110,.16),transparent 28%),radial-gradient(circle at top right,rgba(59,130,246,.12),transparent 26%),linear-gradient(180deg,#f6f9fc,#edf2f7 52%,#e8eef5);color:var(--text)}body{letter-spacing:-.01em;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}a{color:inherit;text-decoration:none}canvas,img,svg,video{max-width:100%}h1,h2,h3,h4{margin:0;letter-spacing:-.03em}.shell{grid-template-columns:300px minmax(0,1fr);align-items:start}.shell,.sidebar{display:grid;min-height:100vh}.sidebar{padding:28px 22px;border-right:1px solid var(--line);background:rgba(248,251,255,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-content:start;grid-gap:22px;gap:22px;position:-webkit-sticky;position:sticky;top:0}.brand{padding:8px 4px 4px}.brand h1,.card h3,.hero h2,.page-header h2{font-family:var(--font-display)}.brand h1{font-size:2rem}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:800;color:var(--muted)}.nav{display:grid;grid-gap:10px;gap:10px;margin-top:20px}.nav a{padding:13px 15px;border-radius:16px;color:var(--muted);transition:background-color .14s ease,color .14s ease,transform .14s ease}.nav a:hover{background:rgba(255,255,255,.82);color:var(--text);transform:translateX(2px)}.content{padding:32px 32px 96px;width:min(100%,1180px);margin:0 auto;min-width:0}.page{grid-gap:24px;gap:24px;min-width:0}.grid,.page{display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.stack{display:grid;grid-gap:16px;gap:16px}.stack.compact{gap:10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow)}.card>*{min-width:0}.card p{margin:0}.user-panel{border-radius:var(--radius-lg)}.hero{padding:30px;background:linear-gradient(135deg,rgba(15,118,110,.96),rgba(14,116,144,.92));color:white}.hero .eyebrow,.hero .muted{color:rgba(255,255,255,.78)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(194,65,12,.12);color:var(--alert);font-size:.84rem;font-weight:700}.badge.neutral{background:var(--accent-soft);color:var(--accent-strong)}.badge.good{background:rgba(21,128,61,.12);color:var(--success)}.feedback-indicator{margin:0;font-size:.92rem;font-weight:700;color:var(--success)}.timeline-item{padding-top:14px;border-top:1px solid var(--line)}.timeline-item.compact{padding-top:12px}.timeline-item:first-child{padding-top:0;border-top:0}.radio-group,.slider-group{display:grid;grid-gap:10px;gap:10px}.radio-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.76);cursor:pointer}.radio-card input[type=radio]{margin-top:3px;accent-color:var(--accent)}.radio-card span{display:grid;grid-gap:4px;gap:4px}.radio-card small{color:var(--muted);font-size:.9rem;line-height:1.35}.slider-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.feedback-form{gap:14px}.feedback-text-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-field input,.feedback-field textarea{width:100%}input[type=range]{width:100%;accent-color:var(--accent)}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.92);color:var(--text)}.login-form button,.primary-button,.secondary-button{border:0;border-radius:16px;padding:14px 18px;font-weight:700;cursor:pointer}.login-form button,.primary-button{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:white}.secondary-button{background:rgba(255,255,255,.7);color:var(--accent-strong);text-align:center;border:1px solid var(--line)}.inline-code-block{display:block;overflow-x:auto;padding:.85rem 1rem;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.72);color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.text-link{color:var(--accent-strong);font-weight:700}.text-link:hover{color:var(--accent)}.overview-surface{display:grid;grid-gap:20px;gap:20px;min-width:0}.overview-surface .grid,.overview-surface .section-grid-two{align-items:start}.overview-hero{display:grid;grid-gap:18px;gap:18px;background:radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 35%),linear-gradient(135deg,rgba(15,118,110,.96),rgba(14,116,144,.92))}.overview-hero-copy{display:grid;grid-gap:10px;gap:10px;color:white}.overview-hero-copy .eyebrow,.overview-hero-copy .muted{color:rgba(255,255,255,.8)}.quick-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.quick-stat{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.quick-stat strong{font-size:1.08rem;letter-spacing:-.03em}.section-grid-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:20px;gap:20px}.overview-top-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.overview-metric-grid{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr)}.overview-bottom-grid{grid-template-columns:1fr}.overview-notifications-card,.overview-status-card{gap:12px}.notification-message,.overview-status-text{line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.overview-notifications-card .stack.compact{max-height:440px;overflow-y:auto;padding-right:4px}.overview-notification-item h3{font-size:1.08rem;line-height:1.25}.list-card{display:grid;grid-gap:14px;gap:14px}.list-card-item{display:grid;grid-gap:10px;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.list-card-item:first-child{padding-top:0;border-top:0}.list-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.list-card-meta{display:flex;flex-wrap:wrap;gap:8px}.metric-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(15,118,110,.08);color:var(--accent-strong);font-size:.82rem;font-weight:700}.activity-card{display:grid;grid-gap:14px;gap:14px}.activity-card-header{display:grid;grid-gap:8px;gap:8px}.activity-card-title{display:grid;grid-gap:4px;gap:4px}.activity-card-summary{color:var(--muted);line-height:1.5}.activity-card-metrics{display:flex;flex-wrap:wrap;gap:8px}.card-action-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.feature-list{margin:0;padding-left:20px;display:grid;grid-gap:10px;gap:10px}.push-actions{flex-wrap:wrap;gap:12px;margin-top:16px}.push-actions,.session{display:flex;align-items:center}.session{justify-content:space-between;gap:16px}.session-date{margin:0 0 8px;color:var(--muted)}.exercise-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.day-section{display:grid;grid-gap:14px;gap:14px}.day-section-header{display:grid;grid-gap:6px;gap:6px}.day-subsection{display:grid;grid-gap:12px;gap:12px}.day-subsection-header{display:grid;grid-gap:4px;gap:4px}.day-session-card{gap:10px}.strength-log-form{gap:12px}.strength-log-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.strength-log-header h4{font-size:1rem}.strength-exercise-card{overflow:hidden}.strength-exercise-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);grid-gap:22px;gap:22px;align-items:start}.strength-exercise-copy{display:grid;grid-gap:16px;gap:16px}.strength-exercise-header{display:grid;grid-gap:12px;gap:12px}.strength-meta-row{display:flex;flex-wrap:wrap;gap:10px}.strength-exercise-description{margin:0;color:var(--muted)}.strength-log-shell{display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:20px;background:rgba(15,118,110,.05);border:1px solid rgba(15,118,110,.09)}.strength-exercise-visual{display:grid;grid-gap:12px;gap:12px;align-self:stretch}.strength-exercise-image,.strength-exercise-placeholder{width:100%;min-height:240px;border-radius:22px;border:1px solid var(--line);background:rgba(248,251,255,.88)}.strength-exercise-image{display:block;object-fit:cover;box-shadow:0 16px 34px rgba(15,23,42,.08)}.strength-exercise-placeholder{display:grid;align-content:center;grid-gap:10px;gap:10px;padding:20px;text-align:center}.strength-set-row{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72)}.strength-set-title{align-self:stretch;align-content:start}.strength-set-field,.strength-set-title{display:grid;grid-gap:6px;gap:6px}.strength-set-field input,.strength-set-field select{width:100%;border-radius:14px;border:1px solid var(--line);background:white;padding:11px 12px}.strength-set-toggle{display:grid;grid-gap:8px;gap:8px;justify-items:start}.strength-set-toggle input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.checkbox-field input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.activity-summary-grid{align-items:start}.login-shell{min-height:100vh;display:grid;place-items:center}.login-card{width:min(440px,calc(100vw - 32px));padding:28px;border-radius:var(--radius-xl);background:var(--panel-strong);border:1px solid var(--line);box-shadow:var(--shadow)}.login-form{display:grid;grid-gap:16px;gap:16px}.memory-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.memory-overview-card{display:grid;grid-gap:20px;gap:20px}.memory-overview-header{display:grid;grid-gap:18px;gap:18px}.memory-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.memory-guidance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.memory-guidance-card{display:grid;grid-gap:8px;gap:8px;padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:rgba(248,251,255,.84)}.memory-card-grid,.memory-item-card{display:grid;grid-gap:18px;gap:18px}.memory-item-header{display:grid;grid-gap:12px;gap:12px}.memory-chip-row{display:flex;flex-wrap:wrap;gap:10px}.memory-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.memory-form label{display:grid;grid-gap:6px;gap:6px;font-weight:600}.memory-form .full-width{grid-column:1/-1}.memory-form input,.memory-form select,.memory-form textarea{width:100%}.checkbox-row{display:flex!important;align-items:center;gap:10px;font-weight:600}.login-form label,.upload-dropzone{display:grid;grid-gap:8px;gap:8px}.upload-dropzone{padding:18px;border:1px dashed var(--line-strong);border-radius:20px;background:rgba(255,255,255,.62)}.upload-dropzone input[type=file]{padding:12px 0 0;border:0;background:transparent}.progress-card{display:grid;grid-gap:10px;gap:10px}.import-status-grid,.method-explainer-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.method-explainer-grid{display:grid;grid-gap:14px;gap:14px}.method-explainer-card{display:grid;grid-gap:8px;gap:8px;padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:rgba(248,251,255,.84)}.method-explainer-card h4{font-size:1rem}.progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-track{width:100%;height:12px;border-radius:999px;background:rgba(15,23,42,.08);overflow:hidden}.progress-track.large{height:16px}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(135deg,var(--accent),#38bdf8);transition:width .26s ease}.legacy-status-card{display:grid;grid-gap:8px;gap:8px;padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:rgba(248,251,255,.84)}.legacy-status-card.good{background:rgba(21,128,61,.08);border-color:rgba(21,128,61,.18)}.legacy-status-card.danger{background:rgba(194,65,12,.08);border-color:rgba(194,65,12,.18)}.legacy-status-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.legacy-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(15,118,110,.2);border-top:2px solid var(--accent);animation:legacy-spin .8s linear infinite}@keyframes legacy-spin{to{transform:rotate(1turn)}}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);grid-gap:20px;gap:20px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:20px;gap:20px}.overview-feature-card{display:grid;grid-gap:18px;gap:18px}.overview-session{display:grid;grid-gap:8px;gap:8px;padding:14px 0 0;border-top:1px solid var(--line)}.overview-session:first-child{padding-top:0;border-top:0}.overview-session-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.overview-session h4{font-size:1rem;line-height:1.25}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.stat-pill{padding:18px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid var(--line)}.stat-pill strong{display:block;margin-top:8px;font-size:1.15rem;line-height:1.2}.goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px}.goal-card{display:grid;grid-gap:18px;gap:18px;min-width:0}.goal-card-footer,.goal-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap}.goal-card h3{font-size:1.18rem;line-height:1.2}.goal-card h3,.goal-card strong.metric{overflow-wrap:anywhere;word-break:break-word}.goal-card strong.metric{display:block;font-size:1.35rem;line-height:1.15}.goal-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;min-width:0}.goal-meta .meta-box{padding:14px;border-radius:18px;background:rgba(15,118,110,.07);min-width:0;overflow:hidden}.goal-card .muted,.goal-card p,.goal-card-footer>p,.goal-card-header>div,.stat-pill,.stat-pill strong{min-width:0;overflow-wrap:anywhere;word-break:break-word}.goal-card .eyebrow,.stat-pill .eyebrow{font-size:.68rem}.goal-card .muted,.goal-card-footer .muted,.stat-pill .muted{font-size:.92rem;line-height:1.35}.sparkline{width:100%;height:168px;display:block}.sparkline-shell{padding:14px;border-radius:22px;background:linear-gradient(180deg,rgba(15,118,110,.08),rgba(255,255,255,.6));border:1px solid var(--line)}.sparkline-legend{margin-top:10px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.85rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.metric-tile{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:18px;background:rgba(15,118,110,.07);border:1px solid rgba(15,118,110,.08);min-width:0}.metric-tile strong{font-size:1rem;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.table-shell{overflow-x:auto;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.72)}.data-table{width:100%;min-width:880px;border-collapse:collapse}.data-table td,.data-table th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}.data-table th{position:-webkit-sticky;position:sticky;top:0;background:rgba(248,251,255,.96);color:var(--muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.data-table tbody tr:last-child td{border-bottom:0}.split-table td:first-child,.split-table th:first-child{font-weight:700}.split-table tr.interval-row td{background:rgba(192,255,52,.18)}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.calendar-toolbar-copy{display:grid;grid-gap:4px;gap:4px}.calendar-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.inline-actions{display:inline-flex;gap:14px;align-items:center}.log-card pre{margin:0;padding:14px 16px;border-radius:14px;background:rgba(10,20,40,.92);color:#e6f0ff;overflow-x:auto;font-size:.84rem;line-height:1.5}.log-details{display:grid;grid-gap:10px;gap:10px}.log-details summary{cursor:pointer;color:var(--accent-strong);font-weight:700}.view-switch{display:inline-flex;gap:8px;padding:6px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid var(--line)}.view-switch a{padding:10px 14px;border-radius:14px;color:var(--muted);font-weight:700}.view-switch a.active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:white}.calendar-nav{display:inline-flex;gap:10px;align-items:center}.calendar-nav a{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid var(--line)}.calendar-frame{display:grid;grid-gap:10px;gap:10px}.calendar-shell{display:grid;grid-gap:18px;gap:18px}.calendar-scroll{overflow-x:auto;padding-bottom:6px;min-width:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;min-width:840px}.calendar-weekdays span{padding:0 6px;color:var(--muted);font-size:.85rem;font-weight:700}.calendar-grid-month,.calendar-grid-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;min-width:840px;align-items:start}.calendar-day{min-height:170px;padding:14px;border-radius:22px;background:rgba(255,255,255,.78);border:1px solid var(--line);display:grid;align-content:start;grid-gap:10px;gap:10px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;min-width:0;overflow:hidden;grid-template-rows:auto auto 1fr auto}.calendar-day:hover{transform:translateY(-2px);border-color:rgba(15,118,110,.26);box-shadow:0 14px 36px rgba(15,23,42,.08)}.calendar-day.today{background:linear-gradient(180deg,rgba(15,118,110,.12),rgba(255,255,255,.84));border-color:rgba(15,118,110,.28)}.calendar-day.outside{opacity:.55}.calendar-day-header{display:flex;justify-content:space-between;gap:10px;align-items:center;min-width:0}.calendar-day-title{display:grid;grid-gap:2px;gap:2px;min-width:0}.calendar-day-badges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.calendar-day-weekday{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.calendar-day-number{font-size:1.1rem;font-weight:800}.calendar-session-chip{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border-radius:16px;border:1px solid rgba(148,163,184,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 18px rgba(15,23,42,.05);color:var(--text);font-size:.88rem;min-width:0;overflow:hidden;width:100%}.calendar-session-chip strong{font-size:.9rem;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.calendar-session-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;min-width:0}.calendar-session-list{display:grid;grid-gap:8px;gap:8px;min-width:0;align-content:start}.calendar-sport-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.sport-running{background:linear-gradient(180deg,rgba(249,115,22,.3),rgba(255,247,237,.98));border-color:rgba(249,115,22,.42)}.sport-running .calendar-sport-dot{background:#f97316}.sport-cycling{background:linear-gradient(180deg,rgba(14,165,233,.3),rgba(240,249,255,.98));border-color:rgba(14,165,233,.42)}.sport-cycling .calendar-sport-dot{background:#0ea5e9}.sport-swimming{background:linear-gradient(180deg,rgba(59,130,246,.28),rgba(239,246,255,.98));border-color:rgba(59,130,246,.42)}.sport-swimming .calendar-sport-dot{background:#3b82f6}.sport-strength{background:linear-gradient(180deg,rgba(139,92,246,.28),rgba(245,243,255,.98));border-color:rgba(139,92,246,.4)}.sport-strength .calendar-sport-dot{background:#8b5cf6}.sport-generic{background:linear-gradient(180deg,rgba(148,163,184,.2),rgba(248,250,252,.98));border-color:rgba(148,163,184,.34)}.sport-generic .calendar-sport-dot{background:#94a3b8}.calendar-day-footer{margin-top:auto;min-width:0}.calendar-empty{padding:24px;border-radius:22px;border:1px dashed var(--line-strong);color:var(--muted);text-align:center}.user-create-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;align-items:end}.user-create-form label{display:grid;grid-gap:8px;gap:8px}.user-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px}.user-card{display:grid;grid-gap:18px;gap:18px}.user-card-actions{display:grid;grid-gap:12px;gap:12px}.inline-actions{display:flex;flex-wrap:wrap;gap:10px}.secondary-button.danger{color:var(--alert)}.mobile-appbar,.mobile-menu-button,.mobile-nav,.mobile-nav-backdrop,.mobile-nav-drawer{display:none}@media (max-width:1100px){.dashboard-hero,.overview-grid,.overview-metric-grid,.stat-strip{grid-template-columns:1fr}}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:104px 16px calc(28px + env(safe-area-inset-bottom));width:100%}.page{gap:18px}.card{padding:18px;border-radius:20px}.hero{padding:22px}.hero h2,.page-header h2{font-size:1.6rem;line-height:1.12}.page-header{gap:10px}.compact-mobile-header{padding-right:64px}.grid,.overview-bottom-grid,.overview-metric-grid,.overview-top-grid,.section-grid-two{grid-template-columns:1fr}.overview-hero{gap:16px}.quick-stat-row{grid-template-columns:1fr}.quick-stat{padding:12px 14px}.list-card-item{gap:8px}.list-card-header{display:grid}.card-action-row{gap:12px;align-items:flex-start}.activity-card{gap:12px}.goal-card h3{font-size:1.06rem}.goal-card strong.metric,.stat-pill strong{font-size:1.15rem}.calendar-shell{gap:14px}.calendar-toolbar{display:grid;grid-gap:12px;gap:12px}.calendar-toolbar-copy h3{font-size:1.2rem}.calendar-toolbar-actions{display:grid;grid-gap:10px;gap:10px;justify-content:stretch}.calendar-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-nav a,.view-switch a{text-align:center;padding:10px 12px;font-size:.92rem}.view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.calendar-scroll{overflow:visible;margin-inline:0;padding-inline:0}.calendar-weekdays{display:none}.calendar-grid-month,.calendar-grid-week{grid-template-columns:1fr;gap:10px;min-width:0}.calendar-day{min-height:auto;padding:12px;border-radius:18px;gap:8px}.calendar-day-number{font-size:1rem}.calendar-day-weekday{font-size:.7rem}.calendar-session-chip{padding:9px 10px;border-radius:14px;font-size:.8rem}.calendar-session-chip strong{font-size:.82rem;line-height:1.2}.calendar-session-meta{font-size:.7rem;gap:5px}.calendar-sport-dot{width:8px;height:8px}.calendar-day-footer{font-size:.82rem}.import-status-grid,.method-explainer-grid{grid-template-columns:1fr}.slider-header{display:grid;grid-gap:6px;gap:6px}.radio-card{padding:12px 14px;gap:10px}.radio-card small{font-size:.84rem}.feedback-text-grid{grid-template-columns:1fr;gap:10px}.feedback-field textarea{min-height:92px}.day-section{gap:12px}.strength-exercise-layout{grid-template-columns:1fr;gap:16px}.strength-exercise-copy{gap:14px}.strength-exercise-header{gap:10px}.strength-meta-row{gap:8px}.strength-log-shell{padding:14px;border-radius:18px}.strength-exercise-image,.strength-exercise-placeholder{min-height:180px}.strength-log-header{display:grid;grid-gap:8px;gap:8px}.strength-set-row{grid-template-columns:1fr 1fr;gap:10px;align-items:start}.strength-set-title{grid-column:1/-1}.strength-set-row .badge{width:-moz-fit-content;width:fit-content}.strength-set-toggle{grid-column:1/-1;justify-items:start}.memory-guidance-grid,.memory-stat-row{grid-template-columns:1fr}.overview-session,.timeline-item{gap:6px}.mobile-appbar{position:fixed;top:0;left:0;right:0;z-index:78;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;background:rgba(246,249,252,.92);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-appbar-copy{min-width:0}.mobile-appbar-copy strong{display:block;font-family:var(--font-display);font-size:1.02rem;line-height:1.1}.mobile-menu-button{position:static;display:grid;grid-gap:5px;gap:5px;width:52px;height:52px;padding:14px 12px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 40px rgba(29,26,23,.14);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-menu-button span{display:block;width:100%;height:2px;border-radius:999px;background:var(--text)}.mobile-nav-backdrop{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.24);opacity:0;pointer-events:none;transition:opacity .16s ease}.mobile-nav-backdrop.open{display:block;opacity:1;pointer-events:auto}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:75;width:min(82vw,320px);padding:22px 18px 24px;background:rgba(255,255,255,.98);border-left:1px solid var(--line);box-shadow:-24px 0 60px rgba(15,23,42,.12);transform:translateX(100%);transition:transform .18s ease}.mobile-nav-drawer.open{display:block;transform:translateX(0)}.mobile-nav-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.mobile-menu-close{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--muted);font-weight:700}.mobile-nav-links{display:grid;grid-gap:10px;gap:10px}.mobile-nav-links a{padding:14px 15px;border-radius:16px;color:var(--muted);background:rgba(248,251,255,.82)}.mobile-nav-links a.active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:white}}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-sans:"Manrope","Manrope Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}