*{box-sizing:border-box} :root{--bg:#09090a;--panel:#151517;--panel2:#1d1d20;--text:#f7f7f7;--muted:#9a9aa0;--orange:#ff7a00;--line:#2b2b2f}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100%}
body{background:radial-gradient(circle at 50% -20%,#35200d 0,#0a0a0b 35%,#09090a 70%)}
button,input,textarea{font:inherit}.hidden{display:none!important}
.splash{position:fixed;inset:0;display:grid;place-items:center;background:#080809;z-index:99;overflow:hidden}.splash-logo{width:min(52vw,230px);position:relative;z-index:2;animation:logoIn .9s ease both}.pulse{position:absolute;width:180px;height:180px;border:2px solid #ff7a00;border-radius:50%;animation:pulse 1.7s ease-out infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(2.2);opacity:0}}@keyframes logoIn{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
.screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);background:rgba(21,21,23,.96);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 24px 80px #0008}.brand-logo{display:block;width:130px;margin:0 auto 22px}.eyebrow{font-size:.72rem;letter-spacing:.16em;color:var(--orange);font-weight:800;margin:0 0 6px}.muted{color:var(--muted)}label{display:flex;justify-content:space-between;margin:18px 0 8px;font-size:.9rem;font-weight:700}input,textarea{width:100%;border:1px solid var(--line);background:#0e0e10;color:#fff;border-radius:14px;padding:14px;outline:none}input:focus,textarea:focus{border-color:var(--orange)}textarea{min-height:100px;resize:vertical}
.primary,.secondary,.text-btn,.link-btn{border:0;cursor:pointer}.primary{width:100%;background:var(--orange);color:#111;border-radius:14px;padding:14px 18px;font-weight:900;margin-top:18px}.secondary{width:100%;background:#252528;color:#fff;border:1px solid #343438;border-radius:14px;padding:13px 18px;font-weight:800}.text-btn,.link-btn{background:none;color:var(--orange);padding:12px 0;font-weight:800}.demo-note{font-size:.75rem;color:#777;text-align:center;margin-top:18px}.compact{width:auto;margin-top:8px;padding:11px 15px}
.app{max-width:1100px;margin:auto;min-height:100vh;padding-bottom:92px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 18px 10px;position:sticky;top:0;background:linear-gradient(#09090af2,#09090ad9,transparent);backdrop-filter:blur(10px);z-index:10}.topbar h2{margin:0}.avatar{width:42px;height:42px;border-radius:50%;border:1px solid #4a3423;background:#21170f;color:#ff9a3d;font-weight:900}.content{padding:8px 16px 32px}.page{display:none;animation:fade .2s ease}.page.active{display:block}@keyframes fade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.page>h1{font-size:2rem;margin:0 0 18px}.card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:14px;box-shadow:0 12px 30px #0002}.hero{padding:22px;background:linear-gradient(135deg,#24211e,#151517 58%);border-color:#51341d}.hero h1{font-size:2rem;margin:12px 0 4px}.hero p{color:#bbb}.pill,.status{display:inline-block;font-size:.67rem;letter-spacing:.08em;font-weight:900;color:#ff9a3d;background:#4b2a10;border-radius:999px;padding:7px 9px}.status{background:#242427;color:#bbb}.status.ok{color:#7fe5a7;background:#12301f}.section-head{display:flex;justify-content:space-between;align-items:center;margin:16px 2px 10px}.section-head h3{margin:0}.section-head span{color:#aaa;font-size:.85rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{margin:0}.mini h4{margin:10px 0 6px}.mini p{font-size:.82rem;color:#aaa}.icon{color:var(--orange);font-size:1.4rem}.bar{height:6px;background:#333;border-radius:999px;overflow:hidden;margin:10px 0}.bar i{display:block;height:100%;background:var(--orange);border-radius:999px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week span{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#232326;color:#999;font-weight:800}.week .done{background:#193521;color:#8de4a7}.week .today{background:var(--orange);color:#111}.coach p{margin-bottom:0;color:#c7c7ca;line-height:1.55}.session{display:flex;align-items:center;justify-content:space-between;gap:12px}.session h3{margin:10px 0 5px}.session p{margin:0;color:#999}.calendar{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:10px 0 16px}.calendar span{background:#18181b;border:1px solid #29292d;border-radius:14px;padding:10px 5px;text-align:center;color:#999;font-size:.75rem;line-height:1.6}.calendar .selected{background:var(--orange);color:#111;border-color:var(--orange);font-weight:900}.macros small{color:#888;font-weight:500}.macro-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;color:#999;font-size:.75rem;margin-top:16px}.macro-row b{color:#fff;font-size:.9rem}.meal h3{margin-top:0}.meal p{padding:8px 0;margin:0;border-bottom:1px solid #29292d;color:#c6c6c8}.range{padding:0;accent-color:var(--orange);border:0}.saved{text-align:center;color:#7fe5a7;font-weight:800}.segmented{display:flex;background:#161618;border:1px solid var(--line);border-radius:14px;padding:4px;margin-bottom:16px}.segmented button{flex:1;border:0;background:none;color:#888;padding:10px;border-radius:10px;font-weight:700}.segmented .active{background:#2a2119;color:#ff9a3d}.positive{color:#7fe5a7!important}.spark{font-size:1.7rem;color:#ff8a22;letter-spacing:-.15em;margin-top:8px}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);display:grid;grid-template-columns:repeat(5,1fr);background:#111113ee;border-top:1px solid #2a2a2e;backdrop-filter:blur(14px);padding:8px 5px calc(8px + env(safe-area-inset-bottom));z-index:20}.bottom-nav button{border:0;background:none;color:#777;font-size:.63rem;padding:4px 1px;cursor:pointer}.bottom-nav button span{display:block;font-size:1.25rem;margin-bottom:2px}.bottom-nav button.active{color:var(--orange)}
@media(min-width:760px){.content{padding:20px 30px 40px}.topbar{padding:24px 30px 12px}.hero{display:grid;grid-template-columns:1fr auto;column-gap:12px}.hero .secondary{grid-column:2}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{border:1px solid #2a2a2e;border-radius:20px 20px 0 0}.page#training,.page#nutrition,.page#daily,.page#progress{max-width:820px;margin:auto}}
@media(max-width:430px){.hero h1{font-size:1.65rem}.card{border-radius:19px}.grid2{gap:9px}.mini{padding:14px}.bottom-nav button{font-size:.57rem}}

.back-btn{border:0;background:none;color:#aaa;padding:8px 0 14px;font-weight:800;cursor:pointer}.exercise-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #29292d}.exercise-row:last-child{border-bottom:0}.exercise-row span{color:#999;font-size:.85rem}.exercise-top{display:flex;align-items:center;justify-content:space-between;color:#999}.prescription-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.prescription-grid span{background:#0f0f11;border:1px solid #29292d;border-radius:14px;padding:12px;text-align:center}.prescription-grid small{display:block;color:#888;margin-bottom:5px}.prescription-grid b{font-size:1.05rem}.coach-tip{border-left:3px solid var(--orange);padding:10px 12px;background:#20170f;color:#ddd;border-radius:0 10px 10px 0}.set-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.set-inputs label{display:block}.set-inputs input{margin-top:8px;font-size:1.35rem;font-weight:800;text-align:center}.rest-screen{text-align:center;padding-top:30px}.timer-ring{width:220px;height:220px;margin:35px auto;display:flex;flex-direction:column;justify-content:center;border-radius:50%;border:8px solid #382719;box-shadow:inset 0 0 0 3px #ff7a00}.timer-ring strong{font-size:3.2rem}.timer-ring span{font-size:.75rem;color:#999}.success-mark{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:35px auto 20px;background:#183621;color:#7fe5a7;font-size:2.5rem;font-weight:900}.set-result{display:grid;grid-template-columns:50px 1fr 1fr 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #29292d;color:#aaa}.set-result b{color:#fff}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:24px;z-index:80}.modal-card{width:min(100%,400px);background:#18181b;border:1px solid #343438;border-radius:24px;padding:24px}.modal-card .secondary{margin-top:10px}

.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 0 16px}.day-strip button{border:0;background:#18181b;color:#aaa;border-radius:13px;padding:9px 2px}.day-strip small,.day-strip b{display:block}.day-strip b{font-size:1rem;margin-top:4px}.day-strip .active{background:var(--orange);color:#fff}.macro-card h2{margin:3px 0}.macro-card h2 small{font-size:.8rem;color:#777;font-weight:600}.progress-track{height:7px;background:#29292d;border-radius:99px;overflow:hidden;margin:13px 0 18px}.progress-track i{display:block;height:100%;background:var(--orange);border-radius:99px}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.macro-grid span{text-align:center}.macro-grid small,.macro-grid em{display:block;color:#777;font-size:.72rem;font-style:normal}.macro-grid b{display:block;margin:5px 0;font-size:.95rem}.meal-card p{margin:7px 0;color:#bbb}.meal-add{width:38px;height:38px;border:0;border-radius:50%;background:#2a2119;color:var(--orange);font-size:1.35rem;font-weight:900;cursor:pointer}.food-panel{position:fixed;inset:0;background:#0b0b0d;z-index:25;padding:18px;min-height:100%}.food-head{display:flex;gap:18px;align-items:center}.food-head h2{margin:0}.search-box{display:flex;align-items:center;gap:8px;background:#18181b;border:1px solid #303035;border-radius:15px;padding:0 14px;margin:18px 0 5px}.search-box input{border:0;background:transparent;margin:0;padding:15px 4px}.search-hint{font-size:.75rem}.food-result{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:#151518;border:1px solid #29292d;border-radius:15px;padding:14px;margin:9px 0;color:#fff}.food-result small{display:block;color:#888;margin-top:4px}.food-result strong{color:var(--orange)}.food-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:18px}.food-macros span{text-align:center;background:#101012;border-radius:12px;padding:10px 4px}.food-macros small{display:block;color:#777}.food-macros b{display:block;margin-top:4px;font-size:.9rem}.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:#202023;border:1px solid #38383d;border-radius:14px;padding:12px 16px;z-index:100;box-shadow:0 10px 35px #0008;white-space:nowrap}

.meal-add,.food-result,#confirmFood,#closeFood,#backToSearch{pointer-events:auto;touch-action:manipulation}
#foodSearch,#foodDetail{overflow-y:auto;padding-bottom:110px}

.add-food-native summary{list-style:none;cursor:pointer;background:var(--orange);color:#111;border-radius:14px;padding:15px;text-align:center;font-weight:900}
.add-food-native summary::-webkit-details-marker{display:none}.native-food-body{padding-top:16px}.native-food-list{display:grid;gap:8px;margin:12px 0}.native-food{display:flex;justify-content:space-between;gap:12px;text-align:left;border:1px solid #303035;background:#141416;color:#fff;border-radius:13px;padding:13px}.native-food span{color:#ff8a22;font-size:.78rem}.native-editor{border-top:1px solid #303035;margin-top:15px;padding-top:15px}

.dinner-food-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #303035}.dinner-food-row:last-child{border-bottom:0}.dinner-food-row small{display:block;color:#888;margin-top:5px}.dinner-food-row strong{color:var(--orange);white-space:nowrap}

.meal-picker{width:40px;height:40px;border:0;border-radius:50%;background:#2a2119;color:var(--orange);font-size:1.4rem;font-weight:900;cursor:pointer}.meal-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 14px}.meal-choice button{border:1px solid #343438;background:#151518;color:#ddd;border-radius:12px;padding:11px;font-weight:700}.meal-choice button.active{background:var(--orange);color:#111;border-color:var(--orange)}

#mealFoodAdder[open]{scroll-margin-top:18px;box-shadow:0 0 0 1px rgba(255,122,0,.35),0 14px 40px rgba(0,0,0,.35)}

.meal-config-head{margin-top:18px}.meal-manager-card{max-height:85vh;overflow:auto}.icon-close{border:0;background:#29292d;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.4rem}.manage-meal-row{display:flex;gap:8px;align-items:center;margin:9px 0}.manage-meal-row input{margin:0;flex:1}.manage-meal-row div{display:flex;gap:5px}.manage-meal-row button,.meal-presets button{border:1px solid #38383d;background:#19191c;color:#ddd;border-radius:10px;padding:9px}.manage-meal-row .danger{color:#ff8b8b}.add-meal-row{display:flex;gap:8px;margin:18px 0 10px}.add-meal-row input{margin:0}.meal-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}

/* Déplacement des repas : poignée tactile, flèches conservées. */
.manage-meal-row input{min-width:0;width:0}
.manage-meal-row .meal-drag-handle{flex:0 0 30px;padding:12px 3px;color:var(--orange);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.meal-drag-hint{font-size:.8rem;line-height:1.4}
.manage-meal-row.meal-drag-placeholder{opacity:.35;border:1px dashed var(--orange);border-radius:14px}
.manage-meal-row.meal-drag-ghost{position:fixed;z-index:110;margin:0;background:#25201c;border:1px solid var(--orange);border-radius:14px;padding:5px;box-shadow:0 12px 30px #0008;pointer-events:none;opacity:.96}
.meal-drag-active,.meal-drag-active *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:420px){.manage-meal-row{gap:5px;flex-wrap:wrap}.manage-meal-row input{flex:1}.manage-meal-row>div{width:100%;justify-content:flex-end}.manage-meal-row>div button{padding:7px 10px}}

.food-entry.dinner-food-row{display:block}.food-entry-summary{display:flex;justify-content:space-between;align-items:center;gap:12px}.food-entry-summary span{min-width:0}.food-entry-summary strong{white-space:nowrap}.food-entry-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.food-entry-actions button{border:1px solid #38383d;background:#19191c;color:#ddd;border-radius:10px;padding:9px 12px}.food-entry-actions [data-remove-food]{color:#ff8b8b}#foodEditModal .modal-card{max-height:85vh;overflow:auto}

.nutrition-date-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.nutrition-date-nav strong{font-size:.85rem;text-align:center}.date-nav-btn{background:#19191c;border:1px solid #38383d;color:#ddd;border-radius:12px;padding:10px 14px;cursor:pointer}.nutrition-date-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.nutrition-date-tools label{font-size:.75rem;color:#aaa}.nutrition-date-tools input{margin:4px 0 0;padding:8px;width:auto;color-scheme:dark}.day-strip .is-today{box-shadow:inset 0 0 0 1px var(--orange)}.day-record-dot{display:block;width:5px;height:5px;border-radius:50%;margin:5px auto 0;background:transparent}.day-record-dot.recorded{background:var(--orange)}.day-strip .active .day-record-dot.recorded{background:#fff}.meal-macro-summary{font-size:.76rem!important;color:#aaa!important;margin:0!important}.copy-meal-button{width:100%;border:1px solid #38383d;background:#19191c;color:#ff9a3d;border-radius:12px;padding:10px;margin-top:12px}.nutrition-storage-note,.migration-note{font-size:.75rem;line-height:1.5}.migration-note{background:#2a2119;border-radius:12px;padding:12px;color:#ddb58c}#copyMealMode{width:100%;padding:12px;margin-top:8px;border-radius:12px;background:#111;color:#eee;border:1px solid #38383d}.copy-error{color:#ff8b8b;font-size:.85rem}.copy-toast{white-space:normal;max-width:90vw;text-align:center;width:max-content}#copyMealModal .modal-card{max-height:85vh;overflow:auto}

.week-help{font-size:.8rem}.week .week-day-button{min-width:0;border:1px solid #303034;background:#232326;color:#aaa;border-radius:14px;padding:10px 1px;cursor:pointer}.week-day-button small,.week-day-button b{display:block}.week-day-button small{font-size:.6rem}.week-day-button b{font-size:1rem;margin-top:4px}.week .week-day-button.today{background:var(--orange);color:#111;border-color:var(--orange)}.week .week-day-button.done{box-shadow:inset 0 -3px #7fe5a7}.day-detail-nav{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.day-macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;font-size:.75rem;color:#aaa}.day-macro-grid b{display:block;color:#fff;margin-top:6px;font-size:1rem}.day-summary-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #303034;font-size:.85rem}.day-summary-row strong{white-space:nowrap}.day-meal-summary{border-bottom:1px solid #38383d;padding:10px 0 16px}.day-meal-summary h3{display:flex;justify-content:space-between;gap:10px}.day-meal-summary h3 small{color:#aaa;font-size:.85rem;white-space:nowrap}.day-comment{white-space:pre-wrap;overflow-wrap:anywhere}.daily-date-picker{display:flex;align-items:center;gap:15px}.daily-date-picker label{flex:1;font-size:.8rem;color:#aaa}.daily-date-picker input{color-scheme:dark}.daily-score{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-bottom:16px}.daily-score label{grid-column:1/-1}.daily-score .range{margin:0}.daily-score button{background:#222;color:#aaa;border:1px solid #38383d;border-radius:9px;padding:6px 10px;font-size:.75rem}.score-help{font-size:.75rem}#dayDetail h1{font-size:1.5rem}#daily .grid2 label{min-width:0}

.daily-day-check{display:block;height:14px;margin-top:3px;font-size:.7rem;color:#7fe5a7}.day-strip .active .daily-day-check{color:#fff}#dailyDirty{font-size:.8rem;text-align:center}#profile .grid2 label{min-width:0}#profileBirthDate{color-scheme:dark}#profile .muted{line-height:1.55}#daily .saved{padding:12px;border:1px solid #28583a;border-radius:12px;background:#12301f}

.progress-help{font-size:.8rem}.progress-sample{display:block;color:#777;margin-top:3px}.day-meal-summary .muted{font-size:.8rem}#progress .mini strong{font-size:1.1rem}

#homeWeekCard{margin-top:24px}#home>.grid2{align-items:stretch}#home .mini{min-width:0}

.week-calendar-toggle{border:1px solid transparent;background:transparent;color:#f7f7f7;font-weight:800;font-size:.85rem;padding:10px 12px;border-radius:12px;cursor:pointer}.week-calendar-toggle::after{content:" ▾";color:var(--orange)}.week-calendar-toggle:hover,.week-calendar-toggle:focus-visible{background:#25201b;border-color:#614121}.month-calendar-card{max-height:90vh;overflow:auto;width:min(100%,440px)}.month-calendar-card h2{font-size:1.25rem}.month-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0}.month-calendar-nav strong{text-transform:capitalize;font-size:.95rem}.month-calendar-weekdays,.month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.month-calendar-weekdays{text-align:center;color:#888;font-size:.75rem;margin-bottom:9px}.month-calendar-day{border:1px solid #303034;border-radius:10px;background:#202023;color:#eee;padding:9px 1px 5px;cursor:pointer;min-height:48px}.month-calendar-day b{display:block;font-size:.85rem}.month-calendar-mark{display:block;height:12px;font-size:.7rem;line-height:12px;color:#7fe5a7}.month-calendar-day.outside-month{color:#777;background:#151517}.month-calendar-day.is-today{border-color:var(--orange)}.month-calendar-day.selected{background:var(--orange);border-color:var(--orange);color:#111}.month-calendar-day.selected .month-calendar-mark{color:#111}.month-calendar-legend{font-size:.75rem;margin-bottom:0}.month-calendar-day:focus-visible{outline:2px solid #fff;outline-offset:1px}

#dailyCycle{width:100%;background:#101012;border:1px solid #343438;border-radius:14px;color:#eee;padding:13px;margin:8px 0 16px;font:inherit;color-scheme:dark}
/* Formulaires aérés : libellés au-dessus des réponses. */
#profileForm label,#dailyForm>label,#dailyForm .grid2 label{display:block;line-height:1.5;margin:0}
#profileForm>label,#dailyForm>label{margin-top:24px}
#profileForm label input,#profileForm label textarea,#dailyForm label input:not(.range),#dailyForm label textarea,#dailyForm label select{display:block;width:100%;margin:10px 0 0}
#profileForm .grid2,#dailyForm .grid2{gap:24px;margin-top:24px}
#profileForm h2{margin-bottom:24px}
#dailyForm .daily-score{margin-bottom:24px;gap:12px}
#dailyForm .daily-score label{display:flex;justify-content:space-between;margin:0}
#dailyForm .score-help{margin-bottom:24px}
.daily-date-picker label{display:block;line-height:1.5}
.daily-date-picker label input{display:block;margin-top:10px}
@media(max-width:520px){#profileForm .grid2,#dailyForm .grid2{grid-template-columns:1fr;gap:22px}.daily-date-picker{align-items:flex-end}}

#dailyForm input:disabled,#dailyForm textarea:disabled,#dailyForm select:disabled{opacity:.75}#dailyForm button:disabled{opacity:.45;cursor:default}

#trainingSessionCards .session{flex-wrap:wrap}#trainingOverviewExercises .exercise-row b{min-width:0}#trainingOverviewExercises .exercise-row span{white-space:nowrap}#sessionSummary h3{margin-top:24px}

.back-swipe-edge{position:fixed;left:0;top:0;bottom:calc(86px + env(safe-area-inset-bottom,0px));width:22px;z-index:90;touch-action:pan-y;pointer-events:none}.back-swipe-cue{position:fixed;left:-8px;top:45%;width:44px;height:54px;display:grid;place-items:center;border-radius:0 27px 27px 0;background:#242427;color:var(--orange);font-size:2rem;z-index:95;pointer-events:none;opacity:0;border:1px solid #634122;box-shadow:0 6px 22px #0006}.back-swipe-cue.visible{opacity:1}

.training-stop-bar{text-align:right;margin:0 0 12px}.training-stop-bar button{border:1px solid #503436;background:#22191a;color:#ffb0b0;border-radius:10px;padding:8px 11px;font-size:.78rem;cursor:pointer}

.status.stopped{color:#ffc4cb;background:#4b202b;border:1px solid #b35b6e}

.day-workout-card{padding:20px 0 24px}.day-workout-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.day-workout-heading h3{margin:0;color:#fff;font-size:1.1rem}.status.ongoing{color:#b9deff;background:#19334b;border:1px solid #46799d}.training-series-count{color:#ddd;font-size:.85rem;margin:12px 0 16px}.day-workout-set{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:15px 0;border-bottom:1px solid #37373d}.day-workout-exercise{flex:1;min-width:150px}.day-workout-exercise strong{display:block;font-size:.95rem;color:#fff}.day-workout-exercise small{display:block;margin-top:6px;color:#bbb;font-size:.78rem}.day-workout-values{display:grid;grid-template-columns:repeat(3,minmax(75px,1fr));gap:9px}.day-workout-values>span{background:#252529;border:1px solid #39393f;padding:10px 12px;border-radius:12px;text-align:center}.day-workout-values small{display:block;font-size:.68rem;color:#bdbdc5}.day-workout-values b{display:block;font-size:1rem;margin-top:5px;font-variant-numeric:tabular-nums;color:#fff}.day-workout-values .workout-load{background:#30251a;border-color:#614327}.day-workout-values .workout-load b{color:#ffb763}.day-workout-values .workout-rpe{background:#292336;border-color:#4a3f63}.day-workout-values .workout-rpe b{color:#d6c2ff}.workout-demo-note{font-size:.72rem;color:#aaa;margin-top:16px}@media(max-width:520px){.day-workout-values{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.day-workout-heading{align-items:flex-start}.day-workout-values>span{padding:10px 5px}}

.training-validation{background:#143d2a;border-color:#54cf8c;color:#ecfff3;font-weight:700;pointer-events:none;animation:validation-pop 1.4s ease both}
@keyframes validation-pop{0%{opacity:0;transform:translate(-50%,12px) scale(.92)}18%,80%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px)}}
@media(prefers-reduced-motion:reduce){.training-validation{animation:none}}

/* Chrono circuit layout */
.chrono-card{padding:24px!important}.chrono-heading{margin:24px 0}.chrono-heading h1{font-size:clamp(2rem,7vw,3.2rem);line-height:1.08;letter-spacing:-.04em;margin:8px 0 12px;color:#ff9a3d}.chrono-heading #chronoMode{font-weight:700;font-size:1rem;margin:0 0 12px}.chrono-heading #chronoGuide{line-height:1.6;margin:0;max-width:65ch;color:#bcbcc4}.chrono-exercises{display:grid;gap:12px;margin:24px 0}.chrono-movement{display:flex;gap:15px;background:#111114;border:1px solid #333339;border-radius:16px;padding:18px;transition:border-color .2s,background .2s}.chrono-movement>div{min-width:0;flex:1}.chrono-movement h3{margin:0 0 13px;font-size:1rem;line-height:1.4}.chrono-number{display:grid;place-items:center;background:#2c2117;color:#ffac61;border-radius:11px;width:34px;height:34px;flex-shrink:0;font-weight:800}.chrono-prescription{display:flex;flex-wrap:wrap;gap:14px 26px}.chrono-prescription small,.chrono-prescription b{display:block}.chrono-prescription small{color:#aaaab5;font-size:.75rem;margin-bottom:6px}.chrono-prescription b{font-size:.9rem;color:#f5f5f7;line-height:1.4}.chrono-current{border-color:#ff9300;background:#251c12}.chrono-dashboard{text-align:center;background:#101012;border:1px solid #303036;border-radius:20px;padding:24px 16px;margin:26px 0 20px}.chrono-dashboard .timer-value{font-size:clamp(3.5rem,13vw,5rem);line-height:1.2;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:10px 0}.chrono-dashboard #chronoInfo{color:#c8c8d0;line-height:1.6;margin:12px 0 0;min-height:1.6em}.chrono-actions{display:grid;gap:12px}.chrono-actions button{margin:0!important;width:100%;min-height:50px}.chrono-video-section{margin-top:30px;padding-top:25px;border-top:1px solid #35353c}.chrono-video-section h3{margin:0 0 8px}.chrono-video-section>p{margin:0 0 18px;line-height:1.5}#chronoVideos{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.chrono-video-tab{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;background:#232327;border:1px solid #404047;border-radius:16px;padding:18px;min-height:78px;transition:background .2s,border-color .2s}.chrono-video-tab:hover{background:#2d251d;border-color:#ff9300}.chrono-video-tab:focus-visible{outline:3px solid #ff9300;outline-offset:3px}.chrono-play{display:grid;place-items:center;background:#ff9300;color:#141414;border-radius:50%;width:38px;height:38px;flex-shrink:0;font-size:14px}.chrono-video-tab>span:nth-child(2){flex:1;min-width:0}.chrono-video-tab small,.chrono-video-tab strong{display:block}.chrono-video-tab small{color:#b9b9c3;margin-bottom:6px;font-size:.75rem}.chrono-video-tab strong{font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.chrono-video-arrow{color:#ffac61;font-size:1.35rem}#chronoConfig{margin:18px 0}#chronoConfig label{display:block;margin-bottom:10px}@media(max-width:420px){.chrono-card{padding:18px!important}.chrono-movement{padding:15px;gap:11px}.chrono-prescription{gap:12px 18px}}

/* Logo-led opening, matching the circular orange/gold identity. */
.topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.topbar-brand>div{min-width:0}.header-brand{width:46px;height:46px;object-fit:contain;flex-shrink:0;border-radius:50%}.splash{background:radial-gradient(circle at center,#211a10 0,#080809 60%);transition:background .7s ease}.splash-logo{width:min(52vw,210px);border-radius:50%;animation:brand-arrive .65s cubic-bezier(.22,.8,.25,1) both;will-change:transform}.splash-orbit{position:absolute;width:min(64vw,258px);aspect-ratio:1;border-radius:50%;border:1px solid #ffc62c30;border-top:2px solid #ffb321;border-right:2px solid #ff7a00;animation:brand-orbit 1.8s linear infinite;box-shadow:0 0 38px #ff7a0014}.splash-line{position:absolute;top:calc(50% + min(34vw,145px));width:110px;height:3px;border-radius:4px;background:linear-gradient(90deg,transparent,#ff7a00,#ffd538,transparent);transform-origin:center;animation:brand-line 1.4s ease-in-out infinite}.splash-exit{background:transparent;pointer-events:none}.splash-exit .splash-orbit,.splash-exit .splash-line{opacity:0;transition:opacity .25s}.startup-reveal{animation:brand-interface .75s ease both}.splash-exit .splash-logo{animation:none}
@keyframes brand-arrive{0%{opacity:0;transform:scale(.78)}70%{opacity:1;transform:scale(1.035)}100%{opacity:1;transform:scale(1)}}
@keyframes brand-orbit{to{transform:rotate(360deg)}}
@keyframes brand-line{0%,100%{transform:scaleX(.35);opacity:.45}50%{transform:scaleX(1);opacity:1}}
@keyframes brand-interface{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.splash-logo,.splash-orbit,.splash-line,.startup-reveal{animation:none!important}.splash,.splash-exit .splash-orbit,.splash-exit .splash-line{transition:none!important}}

/* Approved effect: diagonal halves assemble, then the whole logo joins the header. */
.splash-split .splash-logo{animation:brand-assembled .8s step-end both;visibility:hidden}.splash-half{position:absolute;left:50%;top:50%;width:min(52vw,210px);border-radius:50%;z-index:3;will-change:transform;pointer-events:none}.splash-half-left{clip-path:polygon(0 0,100% 0,0 100%);animation:brand-half-left .8s cubic-bezier(.18,.85,.22,1) both}.splash-half-right{clip-path:polygon(100% 0,100% 100%,0 100%);animation:brand-half-right .8s cubic-bezier(.18,.85,.22,1) both}.splash-cut{position:absolute;left:calc(50% - 1px);top:50%;width:3px;height:min(64vw,260px);z-index:4;background:linear-gradient(transparent,#ffe87d,#ff8a00,transparent);box-shadow:0 0 18px #ffa50080;animation:brand-cut .65s ease both;pointer-events:none}.splash-split .splash-orbit{opacity:0;animation:brand-impact .5s .75s ease-out both}.splash-split.splash-exit{transition:background 1.1s ease}.startup-reveal{animation-duration:1.1s}
@keyframes brand-half-left{0%{transform:translate(-50%,-50%) translate(-120px,-120px) rotate(-25deg);opacity:0}78%{transform:translate(-50%,-50%) translate(4px,4px) rotate(0);opacity:1}99%{transform:translate(-50%,-50%);opacity:1}100%{transform:translate(-50%,-50%);opacity:0}}
@keyframes brand-half-right{0%{transform:translate(-50%,-50%) translate(120px,120px) rotate(25deg);opacity:0}78%{transform:translate(-50%,-50%) translate(-4px,-4px) rotate(0);opacity:1}99%{transform:translate(-50%,-50%);opacity:1}100%{transform:translate(-50%,-50%);opacity:0}}
@keyframes brand-assembled{0%{visibility:hidden}100%{visibility:visible}}
@keyframes brand-cut{0%{opacity:0;transform:translateY(-50%) rotate(45deg) scaleY(.1)}35%{opacity:1;transform:translateY(-50%) rotate(45deg) scaleY(1.1)}100%{opacity:0;transform:translateY(-50%) rotate(45deg) scaleY(1.3)}}
@keyframes brand-impact{0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.5)}}
@media(prefers-reduced-motion:reduce){.splash-split .splash-logo{visibility:visible;animation:none!important}.splash-half,.splash-cut,.splash-split .splash-orbit{display:none!important;animation:none!important}}

.sequence-guide{padding:16px;background:#241b12;border:1px solid #614021;border-radius:14px;color:#ffb66d;line-height:1.7;margin:18px 0}

.hold-panel{margin-top:16px;padding-top:12px;border-top:1px solid #35353c}.hold-panel p{line-height:1.5;color:#c6c6d0;font-size:.85rem}.hold-panel .compact{width:100%;margin-top:8px}.death-panel{background:#211a12;border:1px solid #6a492a;border-radius:18px;padding:18px;margin:18px 0}.death-panel h3{color:#ffac61;font-size:1.4rem;margin:0 0 12px}.death-panel p{line-height:1.6}.death-panel button:disabled{opacity:.5}

.chrono-movement-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.chrono-movement-heading h3{margin:9px 0 0;min-width:0;overflow-wrap:anywhere}.chrono-video-link{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:0 12px;border-radius:12px;background:#2c2117;border:1px solid #654329;color:#ffb76f;font-size:.85rem;font-weight:700;text-decoration:none}.chrono-inline-play{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ff9300;color:#18120b;font-size:11px}.chrono-video-link:hover{background:#42301b;border-color:#ff9300}.chrono-video-link:focus-visible{outline:3px solid #ff9300;outline-offset:3px}
@media(max-width:420px){.chrono-movement-heading{gap:10px}.chrono-video-link{padding:0 8px;gap:6px}.chrono-movement-heading h3{font-size:.9rem}}
.splash-loading{position:absolute;left:16px;right:16px;top:calc(50% + min(30vw,132px));display:none;text-align:center;color:#c8c8d0;font:14px system-ui,sans-serif}.splash-loading p{margin:18px 0 0}.splash-progress{width:130px;height:4px;border-radius:6px;background:#302419;margin:auto;overflow:hidden}.splash-progress span{display:block;width:45px;height:100%;background:#ff9300;border-radius:6px;animation:loading-sweep 1.4s ease-in-out infinite}
.splash-wait .splash-loading{display:block}.splash-wait .splash-logo{visibility:hidden!important}.splash-wait .splash-half{opacity:1}.splash-wait .splash-half-left{animation:loading-half-left 2s ease-in-out infinite}.splash-wait .splash-half-right{animation:loading-half-right 2s ease-in-out infinite}.splash-wait .splash-cut{animation:loading-cut 2s ease-in-out infinite}.splash-wait .splash-orbit{display:none}.splash-exit .splash-loading{display:none}
@keyframes loading-sweep{from{transform:translateX(-45px)}to{transform:translateX(130px)}}
@keyframes loading-half-left{0%,65%,100%{transform:translate(-50%,-50%)}30%{transform:translate(-50%,-50%) translate(-11px,-5px)}}
@keyframes loading-half-right{0%,65%,100%{transform:translate(-50%,-50%)}30%{transform:translate(-50%,-50%) translate(11px,5px)}}
@keyframes loading-cut{0%,40%,80%,100%{opacity:0;transform:translateY(-50%) rotate(45deg)}62%{opacity:.8;transform:translateY(-50%) rotate(45deg)}}
@media(prefers-reduced-motion:reduce){.splash-wait .splash-logo{visibility:visible!important}.splash-wait .splash-half,.splash-wait .splash-cut{display:none!important}.splash-progress span{animation:none;width:100%;opacity:.7}}

.hold-panel{margin-top:20px;padding:20px 16px;background:#1b1b20;border:1px solid #48484f;border-radius:16px;text-align:center}.hold-title{display:block;font-size:.8rem;letter-spacing:.1em;font-weight:800;color:#ffb76f}.hold-countdown{display:flex;justify-content:center;align-items:baseline;gap:10px;margin:10px 0 16px}.hold-countdown strong{font-size:clamp(3.5rem,14vw,5rem);line-height:1.05;letter-spacing:-.04em;font-weight:800;font-variant-numeric:tabular-nums;color:#f8f8fa}.hold-countdown>span{font-size:1rem;font-weight:700;color:#bfbfc8}.hold-track{height:7px;background:#3c3c43;border-radius:6px;overflow:hidden}.hold-track>span{display:block;height:100%;width:100%;background:#ff9300;border-radius:6px;transition:width .2s linear}.hold-panel p{margin:16px 0;line-height:1.5;font-size:.85rem}.hold-panel .hold-start,.hold-panel .hold-stop{width:100%;min-height:52px;margin:0;font-weight:800}.hold-active{background:#2b2116;border-color:#ff9300}.hold-active .hold-countdown strong{color:#ffb76f}.hold-stop{border:1px solid #9e713d!important}
@media(prefers-reduced-motion:reduce){.hold-track>span{transition:none}}

.death-clocks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:20px 0}.death-clock{min-width:0;padding:20px 8px;background:#111114;border:1px solid #45454c;border-radius:15px;text-align:center}.death-hold-clock{background:#332515;border-color:#99612c}.death-clock-label{display:block;color:#ffb76f;font-size:.78rem;letter-spacing:.06em;font-weight:800}.death-clock-value{display:flex;align-items:baseline;justify-content:center;gap:6px;font-size:clamp(2.25rem,9vw,4.5rem);line-height:1.1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#f8f8fa;margin:16px 0}.death-clock-value strong{font-size:inherit;color:#ffb76f}.death-clock-value small{font-size:.75rem;letter-spacing:0;color:#c8c8d0}.death-clock-detail{display:block;font-size:.8rem;line-height:1.5;color:#d0d0d8}.death-panel #deathSuccess{width:100%;min-height:52px}.death-panel[hidden],#chronoDashboard[hidden]{display:none!important}
@media(max-width:420px){.death-panel{padding:14px}.death-clocks{gap:8px}.death-clock{padding:18px 5px}.death-clock-label{font-size:.7rem}.death-clock-detail{font-size:.75rem}}

.training-validation.validation-center{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:#08090beb;border:0;border-radius:0;color:#f3fff7;pointer-events:auto;animation:validation-center-fade .9s ease both}.validation-confirmation{width:min(100%,420px);text-align:center}.validation-check{display:grid;place-items:center;width:100px;height:100px;margin:0 auto 24px;background:#173e29;border-radius:50%;color:#83e9ad;font-size:4.4rem;font-weight:800;line-height:1;box-shadow:0 0 0 0 #75e6a333;animation:validation-check-pop .65s cubic-bezier(.2,.9,.3,1) both}.validation-confirmation>strong{display:block;font-size:clamp(1.2rem,5vw,1.7rem);line-height:1.4;overflow-wrap:anywhere}.validation-confirmation p{font-size:1.1rem;margin:12px 0 20px;color:#83e9ad;font-weight:700}.validation-confirmation>span{display:block;color:#d4d4dd;font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
@keyframes validation-center-fade{0%{opacity:0}15%,80%{opacity:1}100%{opacity:0}}
@keyframes validation-check-pop{0%{opacity:0;transform:scale(.55)}55%{opacity:1;transform:scale(1.13);box-shadow:0 0 0 14px #75e6a310}100%{opacity:1;transform:scale(1);box-shadow:0 0 0 24px #75e6a300}}
@media(prefers-reduced-motion:reduce){.training-validation.validation-center,.validation-check{animation:none!important}}

.portion-controls{display:grid;gap:10px;margin:18px 0}.portion-controls label{display:block;margin:0 0 8px}.portion-controls select,.portion-controls input{width:100%;box-sizing:border-box;min-height:46px}.portion-controls [hidden]{display:none!important}.portion-controls #nativePortionFields,.portion-controls #editFoodPortionFields{padding-top:10px}.portion-controls #nativeSizeLabel,.portion-controls #editFoodSizeLabel{margin-top:20px}.portion-hint{font-size:.85rem;line-height:1.6;color:#c8c8d0;margin:14px 0 0}

.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav button{min-height:48px;overflow-wrap:anywhere}.page#videos{max-width:820px;margin:auto}.support-video-list{display:grid;gap:16px;margin:24px 0}.support-video-card h3{font-size:1.1rem;line-height:1.5;margin:0 0 14px;overflow-wrap:anywhere}.support-video-card p{line-height:1.7;color:#c8c8d0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 22px}.support-video-open{display:flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:10px 16px;border-radius:12px;text-decoration:none;background:#ff9300;color:#16110a;font-weight:800;box-sizing:border-box}.support-video-open:focus-visible{outline:3px solid #ffd49e;outline-offset:3px}

#homeSessionCard{position:relative;isolation:isolate;overflow:hidden}.home-session-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center;z-index:-2}.home-session-image[hidden]{display:none!important}.has-session-image{min-height:250px}.has-session-image:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#09090bf2 0%,#09090b80 46%,#09090b30 65%,#09090bd9 100%)}.has-session-image h1,.has-session-image p{text-shadow:0 2px 12px #000}.has-session-image>div{max-width:55%}.has-session-image .secondary{background:#202023eb}
@media(max-width:759px){.has-session-image{min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}.has-session-image>div{max-width:100%}.home-session-image{object-position:60% center}.has-session-image:before{background:linear-gradient(0deg,#09090bfa 0%,#09090bbd 40%,#09090b15 85%)}.has-session-image button{width:100%;margin:0}.has-session-image h1{margin-top:12px}.has-session-image p{margin-bottom:8px}}

#trainingSessionCards .session{display:grid;grid-template-columns:minmax(0,1fr) 120px 155px;align-items:center;gap:18px}#trainingSessionCards .session>div{min-width:0}#trainingSessionCards .session h3{overflow-wrap:anywhere;line-height:1.5}#trainingSessionCards .session-open{grid-column:2;width:100%;min-height:46px;margin:0}#trainingSessionCards .session-summary{grid-column:3;width:100%;min-height:46px;margin:0;text-align:right;padding:8px 0}
@media(max-width:600px){#trainingSessionCards .session{grid-template-columns:minmax(0,1fr) 105px;gap:12px}#trainingSessionCards .session-open{grid-column:2;grid-row:1}#trainingSessionCards .session-summary{grid-column:1 / -1;grid-row:2;justify-self:end;width:auto;text-align:right}#trainingSessionCards .session h3{font-size:1rem}}
/* V4.29 — approved diagonal split and rounded library cards. */
.splash-lightning{background:#080809;transition:none}.splash-lightning .splash-logo{visibility:visible;z-index:3;animation:lightning-arrive .5s ease-out both}.splash-lightning .splash-half{display:none;animation:none;opacity:1;transform:translate(-50%,-50%)}.splash-lightning .splash-half-left{clip-path:polygon(0 0,77% 0,23% 100%,0 100%)}.splash-lightning .splash-half-right{clip-path:polygon(77% 0,100% 0,100% 100%,23% 100%)}.splash-lightning .splash-cut{left:50%;top:50%;height:200vmax;width:4px;opacity:0;animation:none;transform:translate(-50%,-50%) rotate(28deg);z-index:5;background:linear-gradient(transparent,#fff8c0 35%,#fff 50%,#ff9900 65%,transparent);box-shadow:0 0 18px #ffae00,0 0 40px #ff930080}.splash-door{position:absolute;inset:0;display:none;background:#080809;z-index:1;will-change:transform}.splash-door-left{clip-path:polygon(0 0,calc(50% + 26.6vh) 0,calc(50% - 26.6vh) 100%,0 100%)}.splash-door-right{clip-path:polygon(calc(50% + 26.6vh) 0,100% 0,100% 100%,calc(50% - 26.6vh) 100%)}.splash-lightning.splash-wait .splash-logo{visibility:visible!important;animation:none}.splash-lightning.splash-wait .splash-half{display:none;animation:none}.splash-lightning.splash-wait .splash-cut{animation:none;opacity:0}
@keyframes lightning-arrive{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.splash-lightning .splash-logo{animation:none}.splash-lightning .splash-half,.splash-lightning .splash-cut,.splash-door{display:none!important}}
.support-video-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-video-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:14px;min-height:170px;padding:18px;border:1px solid #38383f;border-radius:22px;background:#1c1c21;color:#f4f4f7;cursor:pointer}.library-video-card strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.library-video-card small{font-size:12px;line-height:1.5;color:#a9a9b4;margin-top:auto}.library-video-symbol{width:42px;height:42px;display:grid;place-items:center;background:#ff930015;color:#ffab32;border-radius:14px}.library-video-symbol svg{width:24px;height:24px}.library-video-arrow{position:absolute;right:18px;top:20px;color:#ffab32;font-size:20px}.library-video-card[aria-expanded=true]{border-color:#ffab32;background:#242019}.library-video-card:focus-visible{outline:3px solid #ffab32;outline-offset:3px}.library-video-detail{grid-column:1/-1;background:#1c1c21;border:1px solid #ffab3260;border-radius:22px;padding:18px}.library-video-detail[hidden]{display:none!important}.library-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.library-detail-heading h3{font-size:1rem;line-height:1.5;margin:0}.library-detail-close{min-width:42px;min-height:42px;border:1px solid #45454e;border-radius:12px;background:transparent;color:white}.library-video-detail p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:#d0d0d8;margin:16px 0 22px}

/* V4.33: approved imagery fills the card, text stays on the left. */
#homeSessionCard.session-image-integrated{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;min-height:350px;background:#09090b}
#homeSessionCard.session-image-integrated .home-session-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;border-radius:0}
#homeSessionCard.session-image-integrated:before{display:block;background:linear-gradient(90deg,#09090bea,#09090b7a 40%,#09090b10 70%,#09090b65)}
#homeSessionCard.session-image-integrated>div{max-width:50%}
#homeSessionCard.session-image-integrated button{width:calc(50% - 12px);margin:0}
#homeSessionCard.session-image-integrated.session-image-run .home-session-image{object-position:78% center}
@media(max-width:759px){
 #homeSessionCard.session-image-integrated{min-height:350px;justify-content:center;gap:16px}
 #homeSessionCard.session-image-integrated .home-session-image{object-position:58% center}
 #homeSessionCard.session-image-integrated:before{background:linear-gradient(90deg,#09090be8,#09090b8c 40%,#09090b10)}
 #homeSessionCard.session-image-integrated>div{max-width:100%}
 #homeSessionCard.session-image-integrated h1{font-size:27px;max-width:78%;margin-top:12px;overflow-wrap:anywhere}
 #homeSessionCard.session-image-integrated button{width:78%;margin:0;white-space:normal}
 #homeSessionCard.session-image-integrated.session-image-run .home-session-image{object-position:78% center}
}
/* Selected smoked-glass buttons, shared by every home session category. */
#homeSessionCard.has-session-image{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;min-height:350px}
#homeSessionCard.has-session-image>div{max-width:55%}
#homeSessionCard.has-session-image button{width:min(100%,330px);min-height:48px;height:auto;align-self:flex-start;margin:0;padding:12px 18px;border-radius:16px;font-size:13px;line-height:1.5;white-space:normal;background:#ffaa242e;color:#fff1d5;border:1px solid #ffb43da0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#homeSessionCard.has-session-image button.secondary{background:#232327ad;border-color:#a0a0ab60;color:#fafafa}
@media(max-width:759px){#homeSessionCard.has-session-image>div{max-width:100%}#homeSessionCard.has-session-image button{width:100%;min-height:48px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#homeSessionCard.has-session-image button{background:#463016}#homeSessionCard.has-session-image button.secondary{background:#232327}}

/* Halo doré: whole logo, one ring, soft release. */
.splash-halo{background:#09090c;transition:none}
.splash-halo .splash-logo{visibility:visible;animation:lightning-arrive .5s ease-out both;z-index:3}
.splash-halo-ring{position:absolute;left:50%;top:50%;width:min(65vw,258px);aspect-ratio:1;border-radius:50%;opacity:0;transform:translate(-50%,-50%);background:conic-gradient(transparent 10%,#ff9b16 35%,#ffe293 50%,transparent 70%);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));z-index:2}
.splash-halo.splash-wait .splash-logo{visibility:visible!important;animation:none}
@media(prefers-reduced-motion:reduce){.splash-halo .splash-logo{animation:none}.splash-halo-ring{display:none}}
/* Coach overview and read-only client results. */
.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-actions #openCoach{font-size:11px;min-height:38px;padding:8px 12px}
.coach-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.coach-heading h1,.coach-heading h2{margin:4px 0 12px}
.coach-pilot-note{padding:16px 20px;border:1px solid #b7894766;background:#b7894714;border-radius:16px;line-height:1.6;margin:20px 0}
.coach-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.coach-metrics article{display:flex;flex-direction:column;gap:10px}.coach-metrics strong{font-size:32px;color:#e9c47c}.coach-metrics span{font-size:13px;line-height:1.5}
.coach-client{display:flex;width:100%;justify-content:space-between;gap:20px;text-align:left;cursor:pointer;color:inherit;background:#202026}.coach-client>div:last-child{text-align:right}.coach-client h3{margin:0 0 8px}.coach-client p{line-height:1.6;margin:8px 0;overflow-wrap:anywhere}
.coach-search{max-width:280px;flex:1}.coach-search input{margin-top:8px}.coach-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.coach-tabs button{padding:12px 20px;border-radius:14px;background:#232327ad;border:1px solid #a0a0ab60;color:#fff;cursor:pointer}.coach-tabs button.active{background:#ffaa242e;border-color:#ffb43da0;color:#fff1d5}
.coach-sheet-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.coach-workout summary{display:flex;justify-content:space-between;gap:14px;align-items:center;cursor:pointer;list-style:none}.coach-workout summary strong{display:block;font-size:20px}.coach-workout summary div>span{display:block;color:#a7a7b4;margin-top:10px;font-size:13px;line-height:1.5}.coach-status{padding:8px 12px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}.coach-completed{background:#163b2f;color:#b8edd2}.coach-stopped{background:#663b16;color:#ffe0aa}.coach-in_progress{background:#193854;color:#c1e5ff}
.coach-exercise{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff18}.coach-table-wrap{overflow-x:auto}.coach-table-wrap table{border-collapse:collapse;width:100%;min-width:310px;font-size:14px}.coach-table-wrap th,.coach-table-wrap td{padding:13px 10px;text-align:left;border-bottom:1px solid #ffffff18}.coach-table-wrap th{color:#a7a7b4;font-weight:500}.coach-clock{padding:14px;background:#ffffff08;border-radius:12px;line-height:1.6}
.coach-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:24px 0}.coach-data-grid dt{color:#a7a7b4;font-size:13px;margin-bottom:8px}.coach-data-grid dd{margin:0;line-height:1.5;overflow-wrap:anywhere}.coach-comment{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
@media(max-width:600px){.topbar-actions{gap:8px}.topbar-actions #openCoach{font-size:9px;padding:7px 9px}.coach-metrics{gap:8px}.coach-metrics .card{padding:14px 10px}.coach-metrics strong{font-size:26px}.coach-metrics span{font-size:11px}.coach-client{flex-direction:column}.coach-client>div:last-child{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.coach-data-grid{gap:18px 16px}.coach-workout summary strong{font-size:17px}.coach-workout summary{align-items:flex-start}.coach-tabs{gap:8px}.coach-tabs button{padding:11px 14px;font-size:13px}}
