﻿:root{color-scheme:dark;--bg:#080d0c;--panel:#111918;--ink:#eef6f3;--muted:#8b9e98;--line:#24342e;--accent:#47e1bc;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1:focus{outline:none}button{cursor:pointer;background:var(--accent);color:#08271f;border:0;border-radius:12px;padding:13px 17px;font-size:13px;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.08)}main{max-width:480px;margin:auto;min-height:calc(100svh - 90px);padding:30px 20px 20px}h1{font-size:34px;line-height:1.15;letter-spacing:-1.2px;margin:0;font-weight:750}h2{font-size:19px;letter-spacing:-.5px;margin:0}h3{font-size:18px;margin:0 0 14px}.eyebrow{color:var(--accent);font-size:9px;font-weight:750;letter-spacing:1.6px;margin:0 0 12px}.muted{font-size:13px;line-height:1.7;color:var(--muted)}.screen-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 28px;gap:16px}.icon-action{width:43px;height:43px;padding:0;border-radius:15px;font-size:25px;background:#19332c;color:var(--accent)}.panel,.workout{background:var(--panel);border-radius:19px;padding:22px;margin:0 0 16px;box-shadow:0 7px 22px #0002}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 18px}.section-toolbar h2{font-size:17px}.text-action{background:transparent;color:var(--accent);padding:10px 0;font-size:12px}.workouts{display:grid;gap:14px}.workout{margin:0}.workout p,.workout ul{color:var(--muted);font-size:12px;line-height:1.8}.workout ul{padding-left:18px}.workout button{background:transparent;color:var(--muted);font-size:11px;padding:10px 12px}.workout button.start-workout{background:var(--accent);color:#08271f;margin-right:10px}.inactive-workouts,.future-section{margin-top:24px;color:var(--muted);font-size:13px}.inactive-workouts summary,.future-section summary{cursor:pointer;padding:12px 0}.inactive-workouts .workouts{margin-top:12px}.empty{color:var(--muted);padding:24px 20px;font-size:13px;line-height:1.7;background:var(--panel);border-radius:18px;margin:0}.record-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.record-list li{background:var(--panel);padding:20px;border-radius:17px;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.record-list small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.weight-value{font-size:30px;font-weight:750;letter-spacing:-1px}.wide-action{width:100%;margin:4px 0 0}.subheading{margin:0 0 16px}.future-caption{font-size:11px;margin:18px 0}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}label{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:12px;color:var(--muted)}input,select,textarea{width:100%;min-width:0;padding:13px 12px;border:1px solid #2a3a33;border-radius:11px;background:#0c1411;color:var(--ink);font-size:14px}textarea{resize:vertical}form{display:grid;gap:19px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog{width:calc(100% - 28px);max-width:450px;max-height:calc(100dvh - 48px);overflow:auto;background:#141d1b;color:var(--ink);border:1px solid #2a4037;border-radius:22px;padding:24px;box-shadow:0 24px 80px #0009}dialog::backdrop{background:#020807c9;backdrop-filter:blur(6px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.dialog-heading h2{font-size:21px}.close-dialog{width:36px;height:36px;background:#24342e;color:#b5c8c0;padding:0;font-size:24px;border-radius:12px}dialog .panel{padding:0;margin:0;background:none;box-shadow:none}body:has(dialog[open]){overflow:hidden}#nutrition-summary{white-space:pre-wrap;overflow-wrap:anywhere}#feedback{position:fixed;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:448px;padding:12px 16px;border-radius:14px;background:#203c31;color:#a9f0d7;box-shadow:0 4px 22px #0005;font-size:12px;line-height:1.6;margin:0}#feedback:empty{display:none}
/* Mobile application shell and the Início summary cards. */
.stats{display:grid}.stat{display:flex;flex-direction:column;min-width:0}progress{width:100%}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
body{padding-bottom:calc(92px + env(safe-area-inset-bottom));background:#090c10}
[hidden]{display:none!important}
body[data-view="inicio"]{--bg:#0d1117;--panel:#181e27;--ink:#f3f6fb;--muted:#8c98aa;--line:#252e3a;--accent:#47e1bc;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#090c10}
body[data-view="inicio"] main{max-width:480px;padding:30px 20px 10px;min-height:calc(100svh - 90px);background:radial-gradient(ellipse at 100% 0%,#12232b66,transparent 42%),#0d1117}
body[data-view="inicio"] footer{display:none}
#inicio{margin:0}
.home-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 28px}
.app-name{font-size:9px;font-weight:800;letter-spacing:2.8px;color:#8c98aa;margin:0 0 12px}.app-name span{color:#47e1bc;font-size:7px;margin-left:4px}
.home-header h1{font-size:34px;line-height:1.15;letter-spacing:-1.2px;margin:0 0 7px;font-weight:750}
#today{font-size:12px;color:#8c98aa;margin:0;line-height:1.5}#today::first-letter{text-transform:uppercase}
.avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#254446,#192730);border:1px solid #395a59;color:#8af0d7;box-shadow:0 4px 18px #0003;padding:0;align-self:center}
#home-preferences{display:none;margin-bottom:20px;background:#181e27}#home-preferences[open]{display:block}#home-preferences summary{cursor:pointer;color:#b7c4d4;font-size:13px}#home-preferences form{margin-top:20px;grid-template-columns:1fr}
#inicio .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}
#inicio .stat{position:relative;padding:17px 15px 16px;border-radius:20px;gap:0;border:1px solid #ffffff08;background:linear-gradient(145deg,#1d2530,#171d26);box-shadow:0 6px 20px #0000001c;min-height:163px}
.stat-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stat-icon{display:grid;place-items:center;border-radius:11px;width:32px;height:32px;color:#47e1bc;background:#47e1bc13}.stat-icon .icon{width:18px;height:18px}.stat-marker{font-size:15px;color:#425062;letter-spacing:2px}
#inicio .stat:nth-child(2) .stat-icon,#inicio .stat:nth-child(3) .stat-icon{color:#75a8ff;background:#6399ff16}
#inicio .stat>span{font-size:11px;font-weight:500;color:#9ba7b9;line-height:1.4;margin-bottom:7px}
#inicio .stat strong{font-size:26px;line-height:1.2;font-weight:750;letter-spacing:-.7px;color:#f3f6fb}#inicio .stat strong.empty-value{font-size:19px;letter-spacing:-.4px}
#inicio .stat strong em{font-style:normal;font-size:13px;font-weight:500;color:#8391a5;letter-spacing:0}
#inicio .stat small{font-size:9px;line-height:1.5;margin-top:7px;color:#7e8c9f}
#inicio .stat progress{height:4px;margin-top:12px;border:0;border-radius:4px;background:#2a3640;overflow:hidden;accent-color:#47e1bc}#inicio progress::-webkit-progress-bar{background:#2a3640}#inicio progress::-webkit-progress-value{background:#47e1bc;border-radius:4px}#inicio progress::-moz-progress-bar{background:#47e1bc}
.training-hero{position:relative;overflow:hidden;isolation:isolate;min-height:227px;border-radius:23px;background:radial-gradient(ellipse at 100% 30%,#234d5c,transparent 70%),linear-gradient(120deg,#183535,#13282e);border:1px solid #36595799;box-shadow:0 12px 28px #0003;padding:25px 22px;margin-bottom:29px}.hero-copy{position:relative;z-index:2;width:75%}.hero-label{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.3px;font-weight:750;color:#7de5ce;margin:0 0 14px}.hero-label>span{width:5px;height:5px;border-radius:50%;background:#47e1bc}.training-hero h2{font-size:26px;line-height:1.15;letter-spacing:-.8px;margin:0 0 10px;overflow-wrap:anywhere;max-width:230px}.training-hero #suggestion-description{font-size:11px;line-height:1.7;color:#a2bebf;margin:0 0 21px;max-width:210px}.primary-action{display:inline-flex;align-items:center;gap:20px;background:#47e1bc;color:#0b2925;padding:12px 16px;border-radius:12px;font-size:12px;font-weight:750;box-shadow:0 4px 14px #13c99b16}.primary-action .icon{width:17px;height:17px}.primary-action:hover{background:#70efce}.hero-art{position:absolute;right:-35px;top:20px;width:190px;height:210px;z-index:0;pointer-events:none;opacity:.8}.orbit{position:absolute;width:180px;height:180px;top:10px;right:-8px;border:1px solid #78dbca26;border-radius:50%;transform:rotate(-25deg)}.orbit-two{inset:32px auto auto 28px;width:130px;height:130px;border-color:#78dbca1c}.hero-emblem{position:absolute;top:58px;right:35px;display:grid;place-items:center;width:85px;height:85px;border-radius:25px;background:linear-gradient(145deg,#62cfbd26,#1d454e);border:1px solid #81ddce39;transform:rotate(-22deg);box-shadow:0 15px 25px #0003,inset 0 1px 0 #c0fff21a;color:#88edda}.hero-emblem .icon{height:53px;width:53px;stroke-width:1.4}.art-dot{position:absolute;width:8px;height:8px;background:#6fc7ed;top:30px;right:46px;border-radius:3px;transform:rotate(25deg)}
.quick-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.quick-heading h2{font-size:18px;font-weight:700;letter-spacing:-.4px}.quick-heading>span{font-size:10px;color:#6f8095}.quick-summary{background:#171e27;border:1px solid #ffffff07;border-radius:19px;overflow:hidden}.quick-row{padding:18px 16px;display:flex;gap:13px;align-items:center;min-width:0}.quick-row+.quick-row{border-top:1px solid #29323e}.quick-icon{width:38px;height:38px;border-radius:12px;background:#73a7ff12;color:#80adfa;display:grid;place-items:center;flex-shrink:0}.quick-row:nth-child(2) .quick-icon{color:#47e1bc;background:#47e1bc0d}.quick-copy{flex:1;min-width:0}.quick-copy>span{font-size:10px;color:#94a1b4;display:block;margin-bottom:6px}.quick-copy strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.quick-copy small{display:block;color:#78879b;font-size:10px;margin-top:5px;line-height:1.5}.quick-chevron{color:#637187;font-size:20px}.local-caption{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#5e6f82;margin:24px 0 12px}.local-caption span{height:4px;width:4px;border-radius:50%;background:#458572}
.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;max-width:480px;margin:0;padding:10px 10px calc(12px + env(safe-area-inset-bottom));background:#131a23f5;border-top:1px solid #2a3440;box-shadow:0 -8px 30px #0003;backdrop-filter:blur(18px)}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:7px 0 3px;min-height:48px;font-size:9px;font-weight:500;color:#77869a;border-radius:12px}.bottom-nav .icon{width:21px;height:21px}.bottom-nav a[aria-current="page"]{color:#47e1bc;background:linear-gradient(#47e1bc0d,transparent)}.bottom-nav a[aria-current="page"]::before{content:"";position:absolute;top:-11px;width:21px;height:2px;border-radius:5px;background:#47e1bc;box-shadow:0 0 10px #47e1bc66}#feedback{bottom:calc(90px + env(safe-area-inset-bottom));z-index:11}
@media(min-width:650px){body[data-view="inicio"] main{padding:35px 24px 18px;border-left:1px solid #ffffff05;border-right:1px solid #ffffff05}#inicio .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){body[data-view="inicio"] main{padding-left:14px;padding-right:14px}#inicio .stat{padding:14px 12px}.hero-copy{width:80%}.hero-art{opacity:.4;right:-55px}}


/* Shared mobile palette and shell across all five screens. */
body,body[data-view="inicio"]{--bg:#080d0c;--panel:#111918;--ink:#eef6f3;--muted:#8b9e98;--line:#24342e;--accent:#47e1bc;background:#080d0c}
body[data-view="inicio"] main{background:radial-gradient(ellipse at 100% 0%,#18362b26,transparent 45%),#080d0c}
#inicio .stat{background:linear-gradient(145deg,#17231f,#111918);border:0;border-radius:19px;min-height:170px;padding:18px 16px;box-shadow:0 6px 20px #0002}
#inicio .stat>span{color:#9badA5}#inicio .stat small{color:#81968c}#inicio .stat strong{color:#eff7f3}.stat-marker{color:#496155}
.training-hero{background:radial-gradient(ellipse at 100% 30%,#23554c,transparent 70%),linear-gradient(120deg,#14352b,#10231e);border:1px solid #30564680;min-height:235px;padding:26px 22px}
.quick-summary{background:#111918;border:0}.quick-row{padding:20px 17px}.quick-row+.quick-row{border-color:#24362d}.quick-copy>span{color:#91a79c}.quick-copy small{color:#789286}.quick-heading>span{color:#789286}
.bottom-nav{background:#101916f5;border-color:#24382e;border-radius:19px 19px 0 0;box-shadow:0 -10px 32px #0004;padding-top:12px}.bottom-nav a{color:#7c9387;font-size:10px;min-height:52px}.bottom-nav a[aria-current="page"]{color:#47e1bc;background:linear-gradient(#47e1bc15,transparent)}.bottom-nav a[aria-current="page"]::before{top:-13px}
.avatar{background:linear-gradient(145deg,#1f3c30,#16291f);border-color:#33513e;color:#85e7bf}.home-header{margin-bottom:30px}.home-header h1{margin-bottom:9px}#today{color:#8cA297}.home-header .avatar{align-self:center}
@media(min-width:650px){main,body[data-view="inicio"] main{padding:35px 24px 22px;border-left:1px solid #ffffff04;border-right:1px solid #ffffff04}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Home refinements: stronger values, quieter supporting information. */
#inicio .stat strong{font-size:31px;font-weight:800;line-height:1.15;letter-spacing:-1px;font-variant-numeric:tabular-nums}
#inicio .stat strong.empty-value{font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.4px}
#inicio .stat strong em{font-size:13px;font-weight:450;color:#84988e;letter-spacing:0}
#inicio .stat>span{font-weight:450;color:#95a89e}
#inicio .stat small{font-size:10px;font-weight:400;color:#81968c;line-height:1.6;margin-top:9px}
#inicio .quick-copy small{font-weight:400;color:#81968c}
.suggestion-last{display:block;font-size:11px;color:#a5bdb3;line-height:1.6}
.suggestion-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:10px;color:#a5cabb;font-size:11px;font-weight:500}
.suggestion-meta>span{white-space:nowrap}
.suggestion-meta>span+span{display:inline-flex;align-items:center;gap:8px}
.suggestion-meta>span+span::before{content:"";width:3px;height:3px;flex-shrink:0;background:#638e7c;border-radius:50%}
.bottom-nav .icon{width:24px;height:24px}

/* Treinar and its in-memory session flow; home styles remain unchanged. */
#treinos .screen-heading .muted{margin:10px 0 0;font-size:12px}
#treinos .training-suggestion-card{min-height:0;padding:25px 23px;margin-bottom:30px;border-radius:20px}
#treinos .training-suggestion-card h2{max-width:none;font-size:25px;line-height:1.25;letter-spacing:-.7px}
#treinos .training-suggestion-card .muted{color:#a5bdb3;font-size:12px;margin:12px 0}
.training-metadata{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 20px}.training-metadata span{font-size:11px;color:#a7cabb;background:#a1f4cf0b;border-radius:8px;padding:7px 10px}
#treinos .wide-action{min-height:49px;margin:0;border-radius:13px;font-size:14px}
#treinos .training-plan-card{padding:0;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,#17241e,#111918);box-shadow:0 6px 22px #0002}
#treinos .workout-open{display:flex;align-items:center;gap:14px;width:100%;padding:21px 18px;text-align:left;background:transparent;color:var(--ink);border-radius:0}
.workout-number{display:grid;place-items:center;width:37px;height:43px;flex-shrink:0;font-size:12px;font-weight:700;color:#6bc7a5;background:#47e1bc0c;border-radius:12px}
.workout-card-copy{flex:1;min-width:0}.workout-card-copy strong{display:block;font-size:16px;font-weight:650;line-height:1.45;letter-spacing:-.3px}.workout-card-copy small{display:block;font-size:10px;color:#8ca397;line-height:1.6;margin-top:6px}.workout-chevron{font-size:25px;color:#709585}
.workout-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px 15px}.frequency-pill{font-size:10px;color:#8dbba8;background:#47e1bc08;padding:6px 9px;border-radius:7px}#treinos .workout-card-bottom button{font-size:10px;padding:7px;color:#799487}
.detail-exercise{padding:15px 0;border-bottom:1px solid #253a2e}.detail-exercise strong{font-size:15px}.detail-exercise p{font-size:12px;margin:7px 0 0}#workout-detail-content>.text-action{margin:12px 0;display:block}
body[data-view="sessao"],body[data-view="concluido"]{padding-bottom:30px}
.session-heading{align-items:flex-start;gap:14px;margin-bottom:20px}.session-heading h1{font-size:27px;line-height:1.3;overflow-wrap:anywhere}.session-heading .muted{font-size:11px;margin:12px 0 0}.session-heading>div{min-width:0}.session-heading>button{padding:4px 0;flex-shrink:0;color:#9eb5a9}
.session-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#98b3a4;margin:0 0 12px}#session-elapsed{font-variant-numeric:tabular-nums;color:#5ddbb2;font-size:13px}#session-progress{height:5px;width:100%;border:0;border-radius:5px;background:#1c3227;accent-color:#47e1bc;margin-bottom:25px;overflow:hidden}#session-progress::-webkit-progress-bar{background:#1c3227}#session-progress::-webkit-progress-value{background:#47e1bc}#session-progress::-moz-progress-bar{background:#47e1bc}
.exercise-session-card{padding:21px 18px 16px;border-radius:20px;background:#111918;box-shadow:0 7px 22px #0002;margin-bottom:22px}.exercise-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px}.exercise-number{font-size:11px;color:#65d8b0;background:#47e1bc0b;border-radius:9px;padding:9px}.exercise-heading h2{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.exercise-plan{font-size:11px;line-height:1.9;color:#829f8f;margin:10px 0}.exercise-last{font-size:13px;line-height:1.7;font-weight:650;color:#a5e8c9;background:#47e1bc08;padding:11px 12px;border-radius:10px;margin:14px 0 0}.exercise-last-date{font-size:10px;color:#7c9a89;margin:7px 0 14px}.tutorial-link,.tutorial-unavailable{display:inline-flex;font-size:11px;color:#88b8a2;margin:3px 0 19px;padding:6px 0}.tutorial-link{text-decoration:underline;text-underline-offset:3px;color:#70d2af}.tutorial-unavailable{color:#769382}
.series-rows{display:grid;gap:13px}.series-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px}.series-label{font-size:11px;color:#8ba494;padding-bottom:19px}.series-row label{font-size:10px;color:#839e8d;gap:7px}.series-row input{font-size:21px;line-height:1.4;text-align:center;font-weight:650;padding:15px 6px;min-height:59px;background:#0b120f;border:1px solid #273c30;border-radius:12px;font-variant-numeric:tabular-nums}.series-row input::placeholder{color:#4e6859;font-weight:400;font-size:17px}.series-row input:focus{border-color:#47e1bc;outline-offset:2px}.add-series{width:100%;padding:12px;margin-top:17px;color:#81c9a8;background:#47e1bc09;border-radius:11px;font-size:12px}.finish-session{width:100%;padding:18px;border-radius:15px;font-size:15px;margin:0 0 20px}.session-error{color:#ffb8a9;font-size:12px;line-height:1.7;margin:0}.session-error:empty{display:none}
#concluido{text-align:center;padding-top:45px}.completion-mark{display:grid;place-items:center;margin:0 auto 30px;background:#47e1bc12;color:#47e1bc;font-size:40px;width:90px;height:90px;border-radius:29px;box-shadow:0 0 60px #47e1bc0c}.completed-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px 0}.completed-summary>div{padding:22px 8px;border-radius:16px;background:#111918}.completed-summary strong{display:block;font-size:25px;color:#c9f4df;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.completed-summary span{font-size:11px;color:#88a493;display:block;margin-top:9px}.return-home{justify-content:center;width:100%;padding:17px}
@media(max-width:350px){.series-row{grid-template-columns:41px minmax(0,1fr) minmax(0,1fr);gap:7px}.exercise-session-card{padding:19px 13px}.workout-number{display:none}}

/* Session controls use the existing secondary-action treatment. */
.session-topbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px;gap:16px}
.session-topbar .text-action{font-size:14px;min-height:44px;padding:10px 0;color:#a9c6b7}
.session-menu-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:13px;background:#47e1bc09;color:#9bc8b3;font-size:26px;line-height:1}
.session-dialog-actions{display:grid;gap:12px;margin-top:22px}
.session-dialog-actions button{min-height:48px;text-align:left;background:#47e1bc09;color:#a9c6b7;font-weight:550}
#session-continue{background:var(--accent);color:#08271f}
#session-discard,#session-cancel{color:#b9c7bf;background:transparent}
#session-exit-error:not(:empty){margin-top:16px}
.exercise-session-card .tutorial-link{display:inline-flex;align-items:center;padding:9px 12px;background:#47e1bc08;border-radius:9px;font-size:11px;font-weight:500;text-decoration:none;color:#88b8a2;margin:3px 0 19px;min-height:36px}
.exercise-session-card .tutorial-link:hover{background:#47e1bc12;color:#a5d8c0}

/* Existing controls adapted for mobility, resume and optional cardio. */
.resume-card{background:linear-gradient(135deg,#17372b,#111e18);box-shadow:0 7px 22px #0002;border:1px solid #47e1bc22}
.resume-card h2{font-size:22px;line-height:1.35}.resume-card .muted{font-size:12px;margin:10px 0}.resume-card .wide-action{margin-top:17px!important}
.mobility-check{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:46px;font-size:13px;color:#a9c6b7;margin-top:13px;cursor:pointer}
.mobility-check input{width:21px;height:21px;min-height:0;padding:0;accent-color:var(--accent);flex-shrink:0}
.cardio-card h2{font-size:18px;line-height:1.5}.cardio-card>label:not(.mobility-check){margin-top:16px}
.detail-exercise summary{cursor:pointer;font-size:15px;font-weight:600;line-height:1.6;padding:4px 0}.detail-exercise .exercise-plan{font-size:12px;line-height:1.8}
.detail-exercise .tutorial-link{display:inline-flex;padding:9px 12px;background:#47e1bc08;border-radius:9px;font-size:11px;color:#88b8a2;text-decoration:none;margin:12px 0 0;min-height:36px;align-items:center}
.starting-rule{margin:20px 0 10px;font-size:12px;color:#88b8a2}.starting-rule summary{cursor:pointer;padding:8px 0}.starting-rule .muted{font-size:12px}

/* Authentication is separate from the approved application screens. */
.auth-screen{max-width:480px;min-height:100svh;margin:auto;padding:42px 24px 30px;background:radial-gradient(ellipse at 100% 0%,#18362b26,transparent 45%),#080d0c}
body[data-auth="anonymous"]{padding-bottom:0}
.auth-brand{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-.7px;margin-bottom:42px}
.auth-brand>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#47e1bc12;color:var(--accent);font-size:24px}
.auth-card{background:linear-gradient(145deg,#15221c,#111918);border-radius:20px;padding:28px 22px;box-shadow:0 10px 32px #0003}
.auth-card h1{font-size:32px;letter-spacing:-1px;margin:0}.auth-card>.muted{margin:11px 0 28px;font-size:13px}
.auth-card form{gap:20px}.auth-card label{font-size:12px;color:#9bb1a5}.auth-card input{min-height:50px;padding:14px;background:#0b130f;border-color:#294033}
.auth-primary{min-height:50px;font-size:14px;border-radius:13px;margin-top:5px}
.auth-card .text-action{font-size:12px;min-height:40px;padding:8px;color:#8db6a2}
.auth-switch{display:block;width:100%;min-height:45px;background:#47e1bc08;color:#a0d6bd;font-size:12px;margin-top:15px}
.auth-feedback{font-size:12px;line-height:1.7;color:#b3c9bb;margin:17px 0 0;overflow-wrap:anywhere}.auth-feedback:empty{display:none}
.profile-identity strong{font-size:20px;overflow-wrap:anywhere}.profile-identity .muted{overflow-wrap:anywhere;margin:10px 0 24px}
@media(max-width:350px){.auth-screen{padding:32px 16px}.auth-card{padding:25px 18px}}

/* Social and email authentication share the existing dark/teal controls. */
.google-login{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;background:#1a2b22;color:#e4f3eb;border:1px solid #345544;border-radius:13px;font-size:14px;font-weight:650}
.google-icon{display:grid;place-items:center;font-size:20px;font-weight:800;color:#8de3be;width:24px;height:24px;flex-shrink:0}
.auth-divider{display:flex;align-items:center;gap:15px;margin:24px 0;color:#819b8b;font-size:12px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:#2a3c31;flex:1}
#signup-password-hint{font-size:11px;font-weight:400;line-height:1.5;color:#87a593}

/* Initial auth gate: only the splash is visible before session resolution. */
body[data-auth="checking"]{padding-bottom:0}
body[data-auth="checking"] #auth-screen,body[data-auth="checking"] #app-shell{display:none!important}
.auth-loading{min-height:100svh;max-width:480px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:32px 24px;background:radial-gradient(ellipse at 100% 0%,#18362b26,transparent 45%),#080d0c}
.auth-loading-brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:750;letter-spacing:-.7px}
.auth-loading-brand>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#47e1bc12;color:var(--accent);font-size:26px}
.auth-loading-indicator{width:23px;height:23px;border:2px solid #294033;border-top-color:var(--accent);border-radius:50%;animation:auth-loading-spin 1s linear infinite}
.auth-loading p{margin:0;color:#8b9e98;font-size:12px;line-height:1.7;text-align:center}
@keyframes auth-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.auth-loading-indicator{animation:none}}
