:root{--bg:#071018;--panel:#101c27;--panel2:#162431;--text:#f3f7fa;--muted:#91a0ad;--line:#263846;--accent:#28a6ff;--good:#39d98a;--danger:#ff5d6c;--max:1100px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at top,#122536 0,#071018 42%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.app-shell{max-width:var(--max);margin:auto;padding:0 18px 64px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px 0}.brand{font-weight:900;letter-spacing:.16em;color:#fff;text-decoration:none}.topbar nav{display:flex;gap:18px}.topbar nav a{color:var(--muted);text-decoration:none;font-size:.93rem}h1{font-size:clamp(2rem,6vw,4.2rem);line-height:.95;margin:.25em 0}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.18)}.card h2,.card h3{margin-top:0}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:14px 18px;background:var(--accent);color:white;text-decoration:none;font-weight:800;cursor:pointer}.button.secondary{background:#1a2a37}.button.good{background:var(--good);color:#052116}.button.danger{background:var(--danger)}.button.full{width:100%}.hero{padding:36px 0 24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.exercise-card{display:block;text-decoration:none;color:inherit;transition:.16s transform,.16s border-color}.exercise-card:hover{transform:translateY(-2px);border-color:#3d6076}.tag{display:inline-block;padding:6px 9px;background:#0b273b;border:1px solid #1c4e70;border-radius:999px;color:#8ed2ff;font-size:.78rem;margin-right:5px}.set-row{display:grid;grid-template-columns:52px 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:10px}.field label{display:block;color:var(--muted);font-size:.78rem;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:#09131b;color:#fff;border:1px solid #344957;border-radius:12px;padding:12px;font:inherit}.field textarea{min-height:110px}.exercise-overview{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:14px;align-items:start}.video-card{display:flex;justify-content:center}.video{width:100%;max-width:286px;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#000}.video iframe{width:100%;height:100%;border:0}.last-set{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.last-set:last-child{border-bottom:0}.auth{max-width:440px;margin:60px auto}.flash{padding:12px 14px;border-radius:12px;background:#422028;border:1px solid #75303c;margin-bottom:14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}@media(max-width:760px){.exercise-overview{grid-template-columns:1fr}.video-card{justify-content:center}.video{max-width:360px}}@media(max-width:620px){.topbar nav{gap:10px}.topbar nav a{font-size:.82rem}.set-row{grid-template-columns:38px 1fr 1fr}.set-row .button{grid-column:2/4}.hero{padding-top:20px}}

/* Subtle gym background */
body {
    background:
        linear-gradient(rgba(4, 12, 18, var(--background-overlay-top, 0.70)), rgba(4, 12, 18, var(--background-overlay-bottom, 0.82))),
        var(--gym-background, url('themes/moderngym/6.jpg')) center center / cover fixed no-repeat;
}

@media (max-width: 768px) {
    body {
        background:
            linear-gradient(rgba(4, 12, 18, var(--background-overlay-top, 0.70)), rgba(4, 12, 18, var(--background-overlay-bottom, 0.82))),
            var(--gym-background, url('themes/moderngym/6.jpg')) center top / cover no-repeat;
    }
}


/* Core workout UX upgrade */
.workout-section{margin-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading h2{font-size:clamp(1.4rem,3vw,2rem);margin:3px 0 0}.recommendation-note{margin:0 0 3px}.current-workout-grid,.recommendation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.current-exercise-card,.recommendation-card,.exercise-library-card{color:inherit;text-decoration:none}.current-exercise-card{border-color:#2c5067;background:linear-gradient(180deg,rgba(24,49,65,.96),rgba(12,27,38,.96))}.current-exercise-top,.exercise-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-pill{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#a9e7cb;border:1px solid rgba(57,217,138,.35);background:rgba(57,217,138,.1);padding:5px 8px;border-radius:999px}.set-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.set-chips span{font-size:.8rem;padding:6px 9px;border-radius:9px;background:#09151e;border:1px solid #274052;color:#dbe8f0}.card-meta{font-size:.78rem;margin:11px 0 0;color:var(--muted)}.recommendation-card{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;transition:.16s transform,.16s border-color}.recommendation-card:hover{transform:translateY(-2px);border-color:#3f708d}.recommendation-card p,.exercise-library-card p{margin:5px 0 0}.recommendation-icon{width:38px;height:38px;border-radius:12px;background:rgba(40,166,255,.12);border:1px solid rgba(40,166,255,.35);display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:#8ed2ff}.last-inline{font-size:.78rem;color:#a9bac6;margin-top:11px}.exercise-tools{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.search-wrap{position:relative;max-width:520px}.search-wrap input{width:100%;border:1px solid #304756;background:rgba(8,18,26,.92);color:#fff;border-radius:16px;padding:14px 16px 14px 42px;font:inherit;outline:none}.search-wrap input:focus{border-color:#4380a3;box-shadow:0 0 0 3px rgba(40,166,255,.08)}.search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#88a1b1;font-size:1.15rem}.filter-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{border:1px solid #314957;background:rgba(11,24,33,.88);color:#9cadb9;border-radius:999px;padding:8px 12px;font:inherit;font-size:.8rem;font-weight:800;white-space:nowrap;cursor:pointer}.filter-chip.active{background:#0b3450;color:#a9dcff;border-color:#286b94}.exercise-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.exercise-library-card{padding:15px;border-radius:16px;min-height:116px;transition:.14s transform,.14s border-color,.14s opacity}.exercise-library-card:hover{transform:translateY(-2px);border-color:#41647b}.exercise-library-card.is-used{border-color:rgba(57,217,138,.32);background:linear-gradient(180deg,rgba(22,48,51,.94),rgba(13,29,34,.96))}.tiny-check{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:rgba(57,217,138,.14);color:#65e5a5;font-weight:900}.video-badge{font-size:.68rem;color:#91d5ff;background:rgba(40,166,255,.1);border:1px solid rgba(40,166,255,.25);padding:5px 7px;border-radius:8px}.used-label{color:#74dba6}.no-exercise-results{padding:22px 0}.finish-workout-form{margin-top:28px}.finish-button{min-height:56px;font-size:1rem}

.exercise-hero{padding-bottom:18px}.exercise-title-row{display:flex;align-items:end;justify-content:space-between;gap:16px}.exercise-title-row h1{margin-bottom:0}.exercise-muscles{margin:8px 0 0}.back-workout{display:inline-flex;text-decoration:none;color:#9ec6de;border:1px solid #2b485a;background:rgba(10,25,35,.7);border-radius:12px;padding:10px 12px;font-weight:800;white-space:nowrap}.exercise-info-stack{display:flex;flex-direction:column;gap:14px}.exercise-overview.no-video{grid-template-columns:1fr}.exercise-overview.no-video .exercise-info-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.last-time-card{min-height:100%}.card-heading-row{display:flex;justify-content:space-between;gap:12px;align-items:start}.card-heading-row h3{margin:4px 0 0;font-size:1.35rem}.history-date{color:#8ea2b0;font-size:.78rem;border:1px solid #304454;padding:5px 8px;border-radius:999px}.previous-sets{margin-top:8px}.instructions-card h3{margin:4px 0 10px}.instruction-text{color:#b2c0ca;line-height:1.58}.today-card{margin-top:16px;padding:20px}.today-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.today-heading h2{margin:4px 0 0;font-size:1.7rem}.today-stats{display:flex;gap:6px;align-items:center;color:#94a5b1;font-size:.82rem}.today-stats strong{color:#e6f0f6}.today-set-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px;margin-bottom:17px}.logged-set{display:flex;align-items:center;gap:10px;background:#0a1720;border:1px solid #243a49;border-radius:13px;padding:10px 12px}.set-check{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(57,217,138,.14);color:#55dd97;font-weight:900}.logged-set span{display:block;color:#8799a6;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.logged-set strong{display:block;margin-top:2px}.set-entry-form{margin-top:6px;border-top:1px solid var(--line);padding-top:18px}.next-set-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#77c8fb;margin-bottom:10px}.quick-entry-grid{display:grid;gap:12px}.quick-entry-grid.two-values{grid-template-columns:1fr 1fr}.quick-entry-grid.one-value{grid-template-columns:minmax(220px,420px)}.quick-field label{display:block;color:#9aacb8;font-size:.78rem;font-weight:800;margin:0 0 7px}.quick-field label span{font-weight:500}.stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:7px}.stepper input{width:100%;min-width:0;background:#07131c;border:1px solid #355064;color:#fff;border-radius:13px;padding:13px 8px;text-align:center;font:inherit;font-size:1.18rem;font-weight:900;-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-button{border:1px solid #355064;background:#142733;color:#dbeaf2;border-radius:13px;font-size:1.45rem;font-weight:700;cursor:pointer}.stepper-button:active{transform:scale(.97);background:#1e3747}.log-set-button{width:100%;min-height:54px;margin-top:14px;font-size:1rem}.rest-timer{margin-top:14px;border:1px solid #294150;background:rgba(8,20,29,.92);border-radius:18px;padding:16px 18px;transition:.2s border-color,.2s box-shadow}.rest-timer.timer-active{border-color:rgba(40,166,255,.5);box-shadow:0 0 0 3px rgba(40,166,255,.06)}.rest-timer.timer-finished{border-color:rgba(57,217,138,.7);box-shadow:0 0 0 3px rgba(57,217,138,.08)}.rest-main{display:flex;align-items:center;justify-content:space-between;gap:14px}.timer-display{font-size:2.4rem;line-height:1;font-weight:900;font-variant-numeric:tabular-nums;margin-top:5px}.timer-toggle{border:1px solid #37627d;background:#123046;color:#a9dcff;padding:10px 16px;border-radius:12px;font:inherit;font-weight:900;cursor:pointer}.timer-presets{display:flex;gap:7px;margin-top:13px;flex-wrap:wrap}.timer-presets button{border:1px solid #2d4657;background:#0c1b25;color:#91a5b2;border-radius:10px;padding:7px 10px;font:inherit;font-size:.77rem;font-weight:800;cursor:pointer}.timer-presets button.active{border-color:#337ba8;color:#99d7ff;background:#0e2c40}.done-exercise-button{margin-top:14px;min-height:50px}

@media(max-width:760px){.section-heading{align-items:start;flex-direction:column;gap:4px}.recommendation-note{font-size:.82rem}.exercise-title-row{align-items:start}.back-workout{margin-top:4px}.quick-entry-grid.two-values{grid-template-columns:1fr 1fr}.exercise-overview.no-video .exercise-info-stack{grid-template-columns:1fr}}
@media(max-width:560px){.workout-hero h1,.exercise-hero h1{font-size:2.45rem}.current-workout-grid,.recommendation-grid{grid-template-columns:1fr}.exercise-library-grid{grid-template-columns:1fr 1fr}.exercise-library-card{min-height:108px;padding:13px}.quick-entry-grid.two-values{grid-template-columns:1fr}.stepper{grid-template-columns:54px minmax(0,1fr) 54px}.stepper input{font-size:1.35rem;padding:14px 8px}.today-heading{align-items:start;flex-direction:column}.today-set-list{grid-template-columns:1fr 1fr}.timer-display{font-size:2.1rem}}
@media(max-width:390px){.exercise-library-grid{grid-template-columns:1fr}.today-set-list{grid-template-columns:1fr}.exercise-title-row{display:block}.back-workout{margin-top:12px}}

/* Pyanthon branding */
.brand{display:inline-flex;align-items:center;line-height:0}
.brand img{display:block;width:148px;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.28))}
.auth{max-width:500px}
.auth-brand{display:flex;justify-content:center;margin:-4px 0 18px}
.auth-brand img{display:block;width:min(310px,82%);height:auto;filter:drop-shadow(0 12px 28px rgba(0,0,0,.32))}
.auth h1{margin-top:.18em}
.auth a{color:#69c5ff}
.auth a:hover{color:#a8ddff}
@media(max-width:620px){.brand img{width:122px}.auth-brand img{width:min(270px,88%)}}

/* Workout summary + richer history */
.summary-hero{padding-bottom:18px}.summary-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.summary-stat{background:linear-gradient(180deg,rgba(22,36,49,.96),rgba(12,27,38,.96));border:1px solid var(--line);border-radius:18px;padding:16px 18px}.summary-stat span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.summary-stat strong{display:block;font-size:1.45rem;margin-top:5px}.summary-muscles{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 28px}.summary-muscle-chips{display:flex;gap:7px;flex-wrap:wrap}.summary-muscle-chips span,.history-muscle-row span{font-size:.75rem;border-radius:999px;padding:6px 9px;background:rgba(40,166,255,.09);border:1px solid rgba(40,166,255,.24);color:#9ad8ff}.summary-exercises{margin-top:18px}.summary-exercise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.summary-exercise-card{padding:20px}.summary-exercise-heading{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:12px}.summary-exercise-heading h3{font-size:1.3rem;margin:0}.summary-exercise-heading p{margin:5px 0 0;font-size:.82rem}.exercise-volume{text-align:right;white-space:nowrap}.exercise-volume span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.exercise-volume strong{display:block;margin-top:3px}.summary-set-list{border-top:1px solid var(--line)}.summary-set-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.summary-set-row span{color:var(--muted)}.comparison-row{margin-top:14px;border-radius:13px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0a1720;border:1px solid #294050}.comparison-row span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.comparison-row strong{display:block;margin-top:3px;font-size:.85rem}.comparison-row small{color:var(--muted)}.comparison-row.positive{border-color:rgba(57,217,138,.35);background:rgba(28,78,58,.2)}.comparison-row.positive strong{color:#74e2aa}.comparison-row.negative{border-color:rgba(255,132,110,.27);background:rgba(80,35,30,.18)}.comparison-row.negative strong{color:#ffb09f}.comparison-row.neutral strong{color:#c6d4dc}.summary-actions{margin-top:22px}
.history-hero{padding-bottom:18px}.history-list{display:flex;flex-direction:column;gap:12px}.history-workout-card{display:block;text-decoration:none;color:inherit;padding:0;overflow:hidden;transition:.16s transform,.16s border-color}.history-workout-card:hover{transform:translateY(-2px);border-color:#41647b}.history-card-main{display:grid;grid-template-columns:96px 1fr;min-height:150px}.history-date-block{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);background:rgba(7,20,29,.55)}.history-date-block strong{font-size:1.45rem}.history-date-block span{color:var(--muted);font-size:.78rem;margin-top:3px}.history-card-content{padding:18px 20px}.history-card-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.history-card-heading h3{font-size:1.3rem;margin:0}.history-card-heading p{margin:5px 0 0;font-size:.8rem}.history-arrow{font-size:2rem;line-height:1;color:#6f94aa}.history-exercise-preview{margin:15px 0 10px;color:#d9e4ea;line-height:1.45}.history-exercise-preview span{color:#7fcaff;font-size:.83rem;font-weight:800}.history-meta-row{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.history-meta-row strong{color:#e9f2f7}.history-muscle-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.history-empty{max-width:680px}
@media(max-width:760px){.summary-stat-grid{grid-template-columns:1fr 1fr}.summary-exercise-grid{grid-template-columns:1fr}.history-card-main{grid-template-columns:76px 1fr}.history-card-content{padding:16px}.history-date-block strong{font-size:1.2rem}.history-meta-row{gap:10px}}
@media(max-width:480px){.summary-stat-grid{grid-template-columns:1fr 1fr}.summary-stat{padding:13px}.summary-stat strong{font-size:1.15rem}.summary-exercise-heading{display:block}.exercise-volume{text-align:left;margin-top:10px}.history-card-main{grid-template-columns:1fr}.history-date-block{display:block;border-right:0;border-bottom:1px solid var(--line);padding:12px 16px}.history-date-block strong,.history-date-block span{display:inline}.history-date-block span{margin-left:5px}.history-card-content{padding:15px 16px}.history-muscle-row{display:none}}

/* Dashboard + history-aware recommendations */
.dashboard-hero{padding-bottom:20px}.dashboard-hero p{max-width:620px}.dashboard-actions{align-items:center}.dashboard-start-button{min-width:175px;min-height:54px;font-size:1rem}.active-workout-note{color:var(--muted);font-size:.85rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-bottom:14px}.dashboard-panel{background:linear-gradient(180deg,rgba(22,36,49,.95),rgba(11,26,37,.95));border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 20px 50px rgba(0,0,0,.18);margin-bottom:14px}.dashboard-grid .dashboard-panel{margin-bottom:0}.compact-heading{margin-bottom:15px}.compact-heading h2{margin:.18em 0 0}.dashboard-caption{font-size:.78rem}.focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.focus-card{position:relative;min-height:115px;border-radius:16px;padding:14px;background:#0a1720;border:1px solid #243a49;display:flex;flex-direction:column;justify-content:flex-end}.focus-card.primary-focus{border-color:rgba(40,166,255,.58);background:linear-gradient(160deg,rgba(16,55,80,.9),rgba(9,25,35,.96));box-shadow:inset 0 0 0 1px rgba(40,166,255,.08)}.focus-rank{position:absolute;top:11px;left:12px;color:#68c6ff;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.focus-card strong{font-size:1.07rem}.focus-card span{color:var(--muted);font-size:.72rem;margin-top:5px;line-height:1.3}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:4px}.week-day{position:relative;min-width:0;border-radius:13px;padding:9px 3px 8px;text-align:center;background:#091720;border:1px solid #203542}.week-day span{display:block;color:#718796;font-size:.65rem;font-weight:900}.week-day strong{display:block;font-size:1rem;margin-top:4px}.week-day i{display:block;height:13px;margin-top:3px;color:#56dda0;font-size:.68rem;font-style:normal;font-weight:900}.week-day.trained{border-color:rgba(57,217,138,.35);background:rgba(25,69,53,.28)}.week-day.today{box-shadow:inset 0 0 0 1px rgba(40,166,255,.65)}.last-workout-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.last-workout-top h2{font-size:1.65rem;margin:.18em 0 0}.last-workout-exercises{margin:7px 0 0;line-height:1.45}.text-link{color:#7acbff;text-decoration:none;font-size:.84rem;font-weight:800;white-space:nowrap}.text-link:hover{color:#b6e5ff}.last-workout-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}.last-workout-stats>div{border-radius:14px;background:#091720;border:1px solid #213644;padding:13px 14px}.last-workout-stats span{display:block;color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.last-workout-stats strong{display:block;font-size:1.1rem;margin-top:5px}.dashboard-muscle-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.dashboard-muscle-row span{font-size:.72rem;border-radius:999px;padding:5px 9px;background:rgba(40,166,255,.09);border:1px solid rgba(40,166,255,.24);color:#9ad8ff}.recent-workout-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.recent-workout-card{display:block;text-decoration:none;color:inherit;background:#091720;border:1px solid #213644;border-radius:15px;padding:14px;transition:.15s transform,.15s border-color}.recent-workout-card:hover{transform:translateY(-2px);border-color:#41647b}.recent-workout-card strong{display:block;font-size:1rem}.recent-workout-card span,.recent-workout-card small{display:block;color:var(--muted);font-size:.72rem;margin-top:5px}.recent-workout-card small{color:#7fb9d9}.dashboard-empty{display:flex;flex-direction:column;gap:4px;color:var(--muted)}.dashboard-empty strong{color:var(--text)}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-workout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dashboard-panel{padding:16px}.last-workout-top{display:block}.last-workout-top .text-link{display:inline-block;margin-top:12px}.last-workout-stats{grid-template-columns:1fr 1fr}.focus-grid{grid-template-columns:1fr 1fr}.week-strip{gap:4px}.week-day{padding:8px 2px}.recent-workout-grid{grid-template-columns:1fr 1fr}.dashboard-caption{display:none}}
@media(max-width:390px){.focus-grid,.recent-workout-grid{grid-template-columns:1fr}.week-day strong{font-size:.9rem}.week-day span{font-size:.6rem}}

/* Exercise progress */
.exercise-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.progress-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border-radius:11px;text-decoration:none;color:#9ad8ff;background:rgba(40,166,255,.09);border:1px solid rgba(40,166,255,.28);font-size:.8rem;font-weight:850}.progress-link:hover{border-color:rgba(40,166,255,.55);background:rgba(40,166,255,.14);color:#c5eaff}.progress-hero{padding-bottom:18px}.progress-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.progress-title-row h1{margin-bottom:.12em}.progress-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.progress-stat{padding:17px 18px}.progress-stat>span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.085em;font-weight:900}.progress-stat>strong{display:block;font-size:1.45rem;margin-top:6px}.progress-stat>small{display:block;color:var(--muted);font-size:.72rem;margin-top:5px;line-height:1.35}.highlight-stat{border-color:rgba(40,166,255,.42);background:linear-gradient(155deg,rgba(17,53,76,.94),rgba(10,27,39,.96))}.highlight-stat>strong{color:#a7ddff}.progress-chart-card{padding:20px;margin-bottom:18px}.progress-chart-heading{margin-bottom:8px}.progress-chart-heading h2{margin:.2em 0 0}.progress-chart-wrap{width:100%;overflow-x:auto;margin-top:6px}.progress-chart{display:block;width:100%;min-width:620px;height:auto}.chart-grid-line{stroke:#294151;stroke-width:1}.chart-grid-line.faint{stroke:#203541;stroke-dasharray:4 6}.chart-line{fill:none;stroke:#3fb8ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 5px rgba(40,166,255,.28))}.chart-point{fill:#0d2534;stroke:#69c9ff;stroke-width:3}.chart-value-label{fill:#dff4ff;font-size:12px;font-weight:800}.chart-date-label,.chart-axis-label{fill:#7791a1;font-size:10px;font-weight:700}.chart-footnote{font-size:.72rem;margin:5px 0 0}.progress-history-section{margin-top:20px}.progress-session-list{display:flex;flex-direction:column;gap:9px}.progress-session-card{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:16px;text-decoration:none;color:inherit;padding:0;overflow:hidden;min-height:92px;transition:.15s transform,.15s border-color}.progress-session-card:hover{transform:translateY(-2px);border-color:#41647b}.progress-session-date{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(7,20,29,.56);border-right:1px solid var(--line)}.progress-session-date strong{font-size:1.12rem}.progress-session-date span{color:var(--muted);font-size:.7rem;margin-top:3px}.progress-session-main{padding:13px 0}.progress-session-sets{display:flex;gap:7px;flex-wrap:wrap}.progress-session-sets span{display:inline-flex;padding:6px 9px;border-radius:10px;background:#081720;border:1px solid #213846;color:#e3edf2;font-size:.8rem;font-weight:750}.progress-session-meta{color:var(--muted);font-size:.72rem;margin-top:8px}.progress-session-card .history-arrow{padding-right:18px}.progress-empty{max-width:760px;padding:28px}.progress-empty h2{margin:.25em 0}.progress-empty p{max-width:620px}
@media(max-width:900px){.progress-stat-grid{grid-template-columns:1fr 1fr}.progress-title-row{align-items:flex-start}}@media(max-width:620px){.exercise-hero-actions{justify-content:flex-start;margin-top:12px}.progress-title-row{display:block}.progress-title-row .text-link{display:inline-block;margin-top:10px}.progress-stat-grid{grid-template-columns:1fr 1fr}.progress-stat{padding:14px}.progress-stat>strong{font-size:1.18rem}.progress-chart-card{padding:15px}.progress-session-card{grid-template-columns:70px 1fr auto;gap:11px}.progress-session-card .history-arrow{padding-right:12px}.progress-session-sets span{font-size:.74rem}}@media(max-width:420px){.progress-stat-grid{grid-template-columns:1fr}.progress-session-card{grid-template-columns:1fr auto}.progress-session-date{grid-column:1 / -1;display:block;border-right:0;border-bottom:1px solid var(--line);padding:9px 13px}.progress-session-date strong,.progress-session-date span{display:inline}.progress-session-date span{margin-left:5px}.progress-session-main{padding:11px 13px}.progress-session-card .history-arrow{grid-column:2;grid-row:2}}


/* Workout correction tools */
.logged-set{position:relative}.logged-set-main{min-width:0;flex:1}.set-edit-link{margin-left:auto;color:#7acbff;text-decoration:none;font-size:.76rem;font-weight:850;padding:6px 8px;border-radius:9px;background:rgba(40,166,255,.07);border:1px solid rgba(40,166,255,.18)}.set-edit-link:hover{background:rgba(40,166,255,.13);border-color:rgba(40,166,255,.4)}.summary-set-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px}.remove-exercise-form{text-align:center;margin-top:10px}.text-danger-button{border:0;background:transparent;color:#ff8792;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;padding:8px 10px}.text-danger-button:hover{color:#ffb1b8}.current-exercise-card{padding:0;overflow:hidden}.current-exercise-link{display:block;color:inherit;text-decoration:none;padding:18px}.card-remove-form{border-top:1px solid rgba(255,255,255,.055);padding:7px 12px;text-align:right}.card-remove-button{border:0;background:transparent;color:#c77b83;font-size:.72rem;font-weight:800;cursor:pointer}.card-remove-button:hover{color:#ff8d98}.edit-set-hero{padding-bottom:18px}.edit-set-card{max-width:650px}.edit-set-form label{display:block;color:var(--muted);font-size:.78rem;font-weight:800;margin-bottom:14px}.edit-set-form input{display:block;width:100%;margin-top:7px;background:#091720;color:var(--text);border:1px solid #294151;border-radius:12px;padding:13px 14px;font:inherit;font-size:1.05rem}.edit-set-form input:focus{outline:none;border-color:#46b7ff;box-shadow:0 0 0 3px rgba(40,166,255,.1)}.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-set-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}.delete-set-form{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.delete-set-form .text-danger-button{padding-left:0}@media(max-width:560px){.form-two-col{grid-template-columns:1fr}.summary-set-row{grid-template-columns:1fr auto}.summary-set-row .set-edit-link{grid-column:2;grid-row:1 / span 2}.current-exercise-link{padding:16px}}

/* Progress landing page */
.progress-library-hero {
    max-width: 900px;
}

.progress-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0 34px;
}

.progress-overview-card {
    padding: 20px 22px;
}

.progress-overview-card span {
    display: block;
    color: var(--muted, #91a0b3);
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.progress-overview-card strong {
    display: block;
    font-size: clamp(1.7rem, 4vw, 2.6rem);
    line-height: 1;
}

.progress-library-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.progress-library-card {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 20px;
    min-height: 150px;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.progress-library-card:hover {
    transform: translateY(-2px);
    border-color: rgba(53, 151, 255, 0.42);
    background: rgba(16, 30, 46, 0.92);
}

.progress-library-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.progress-library-card-top strong {
    font-size: 1.08rem;
}

.progress-library-card-top p {
    margin: 5px 0 0;
}

.progress-arrow {
    color: #58a9ff;
    font-size: 1.35rem;
    line-height: 1;
}

.progress-card-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 18px 0 9px;
}

.progress-card-stats span {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(72, 151, 255, 0.10);
    border: 1px solid rgba(72, 151, 255, 0.18);
    color: #c7ddf7;
    font-size: 0.77rem;
}

.progress-library-card:not(.is-tracked) {
    opacity: 0.78;
}

.recommendation-reason {
    margin-top: 7px;
    color: #73b7ff;
    font-size: 0.78rem;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .progress-library-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .progress-overview-grid {
        grid-template-columns: 1fr 1fr;
    }

    .progress-overview-card:last-child {
        grid-column: 1 / -1;
    }

    .progress-library-grid {
        grid-template-columns: 1fr;
    }
}

/* Settings */
.settings-form { display: grid; gap: 18px; max-width: 980px; }
.settings-card { background: rgba(8, 17, 25, .88); border: 1px solid rgba(128, 168, 197, .16); border-radius: 22px; padding: 24px; backdrop-filter: blur(8px); }
.settings-card-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 20px; }
.settings-card-heading h2 { margin: 4px 0 0; }
.settings-card-heading > .muted { max-width: 430px; text-align: right; }
.settings-grid { display: grid; gap: 18px; }
.settings-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-grid label { display: grid; gap: 8px; color: #dce7ef; font-weight: 700; }
.settings-grid input, .settings-grid select { width: 100%; box-sizing: border-box; background: rgba(2, 9, 15, .78); border: 1px solid rgba(148, 178, 200, .22); color: #f5f8fb; border-radius: 13px; padding: 13px 14px; font: inherit; }
.settings-grid input:focus, .settings-grid select:focus { outline: 2px solid rgba(36, 145, 255, .35); border-color: rgba(63, 164, 255, .65); }
.settings-grid input:disabled { opacity: .58; }
.settings-grid small { color: #8395a3; font-weight: 500; }
.settings-actions { display: flex; justify-content: flex-start; padding-bottom: 30px; }
.settings-notice { max-width: 980px; margin-bottom: 16px; }
@media (max-width: 720px) {
  .settings-grid.two-col { grid-template-columns: 1fr; }
  .settings-card { padding: 18px; border-radius: 18px; }
  .settings-card-heading { display: block; }
  .settings-card-heading > .muted { text-align: left; margin-top: 8px; }
}


/* History calendar */
.history-calendar-section{margin:4px 0 30px}.history-calendar-card{padding:22px}.history-calendar-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}.history-calendar-header h2{margin:4px 0 3px;font-size:clamp(1.55rem,3vw,2.25rem)}.history-calendar-header p{margin:0}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav-button,.calendar-today-link{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:12px;border:1px solid rgba(91,164,219,.24);background:rgba(7,22,32,.72);color:#dff3ff;text-decoration:none;font-weight:900}.calendar-nav-button{font-size:1.5rem}.calendar-today-link{padding:0 13px;font-size:.76rem;min-width:auto}.calendar-nav-button:hover,.calendar-today-link:hover{border-color:rgba(71,180,255,.58);background:rgba(25,75,105,.42)}.calendar-nav-button.is-disabled{opacity:.25;cursor:default}.history-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{padding:3px 7px 8px;color:#7f96a6;text-transform:uppercase;letter-spacing:.09em;font-size:.67rem;font-weight:900;text-align:center}.calendar-day{position:relative;min-height:104px;border-radius:15px;border:1px solid rgba(115,153,181,.12);background:rgba(5,15,23,.58);padding:11px;color:#dce7ee;text-decoration:none;overflow:hidden;transition:border-color .16s ease,transform .16s ease,background .16s ease}.calendar-day.is-empty{border-color:transparent;background:transparent}.calendar-day-number{position:relative;z-index:2;font-size:.84rem;font-weight:850;color:#8499a8}.calendar-day.is-future{opacity:.38}.calendar-day.has-workout{border-color:rgba(53,167,245,.46);background:linear-gradient(145deg,rgba(15,77,112,.76),rgba(7,32,48,.92));box-shadow:inset 0 0 30px rgba(26,132,199,.08)}.calendar-day.has-workout .calendar-day-number{color:#eefaff}.calendar-day.has-multiple{background:linear-gradient(145deg,rgba(18,99,139,.86),rgba(7,38,58,.94));border-color:rgba(72,193,255,.64)}a.calendar-day.has-workout:hover{transform:translateY(-2px);border-color:rgba(113,214,255,.9);background:linear-gradient(145deg,rgba(21,103,146,.9),rgba(8,44,65,.98))}.calendar-day.is-today:after{content:"";position:absolute;inset:5px;border:1px solid rgba(91,208,255,.42);border-radius:11px;pointer-events:none}.calendar-workout-mark{display:flex;gap:4px;position:absolute;right:10px;top:12px}.calendar-workout-mark i{display:block;width:7px;height:7px;border-radius:999px;background:#6dd0ff;box-shadow:0 0 11px rgba(69,184,255,.65)}.calendar-day-summary{position:absolute;left:11px;bottom:10px;color:#bce7ff;font-size:.7rem;font-weight:850;letter-spacing:.015em}.calendar-legend{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;font-size:.75rem;color:#c8d9e4}.calendar-legend>span:first-child{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#58c8ff;box-shadow:0 0 10px rgba(69,184,255,.65)}
@media(max-width:720px){.history-calendar-card{padding:15px}.history-calendar-header{align-items:flex-start}.history-calendar{gap:4px}.calendar-day{min-height:74px;padding:8px;border-radius:11px}.calendar-weekday{font-size:.58rem;padding-left:2px;padding-right:2px}.calendar-day-number{font-size:.76rem}.calendar-day-summary{display:none}.calendar-workout-mark{right:7px;top:auto;bottom:8px;gap:3px}.calendar-workout-mark i{width:5px;height:5px}.calendar-legend{display:block}.calendar-legend .muted{display:block;margin-top:6px}}
@media(max-width:480px){.history-calendar-header{display:block}.calendar-nav{margin-top:13px}.calendar-day{min-height:58px;padding:7px}.calendar-weekday{font-size:.53rem}.calendar-day.is-today:after{inset:3px}.calendar-nav-button,.calendar-today-link{height:38px;min-width:38px}.calendar-today-link{min-width:auto}}

/* Workout templates */
.templates-hero .button{margin-top:14px}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.template-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px}.template-card h2{margin:4px 0 8px}.template-exercise-list{line-height:1.6}.template-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.template-actions form{margin:0}.template-builder{display:grid;gap:18px}.template-basics{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}.template-basics label{display:grid;gap:7px;font-weight:700}.template-basics input,.template-basics textarea,.template-targets input{width:100%;box-sizing:border-box}.template-builder-list{display:grid;gap:10px}.template-builder-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.25fr);gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:rgba(8,18,27,.82)}.template-check{display:flex;gap:12px;align-items:center;min-width:0}.template-check input{width:20px;height:20px;flex:0 0 auto}.template-check span{display:grid;gap:3px}.template-check small{color:var(--muted)}.template-targets{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:8px;align-items:end}.template-targets>span{display:grid;gap:4px;color:var(--muted);font-size:.78rem}.template-targets input{min-width:0}.template-savebar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:8px 0 24px}.template-savebar .danger{margin-left:auto}.template-empty{grid-column:1/-1;text-align:center;padding:34px}
@media(max-width:760px){.template-grid{grid-template-columns:1fr}.template-basics{grid-template-columns:1fr}.template-builder-row{grid-template-columns:1fr}.template-targets{grid-template-columns:repeat(2,minmax(0,1fr))}.template-savebar .danger{margin-left:0}}


/* Template targets, PRs and consistency milestones */
.template-target-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px;padding:20px 24px;border-color:rgba(53,144,255,.35);background:linear-gradient(135deg,rgba(14,31,49,.94),rgba(9,18,29,.94))}
.template-target-card h3{margin:6px 0 0;font-size:1.15rem}.template-target-progress{text-align:right;min-width:110px}.template-target-progress strong{display:block;font-size:1.7rem;color:#69aaff}.template-target-progress span{font-size:.78rem;color:var(--muted)}.template-target-progress.complete strong{color:#70e0a0}
.pr-celebration{display:flex;align-items:center;gap:18px;padding:20px 24px;margin:0 0 22px;border:1px solid rgba(66,165,255,.35);border-radius:18px;background:linear-gradient(135deg,rgba(15,55,92,.88),rgba(11,23,37,.9))}.pr-celebration h2{margin:3px 0 0;font-size:1.35rem}.pr-burst{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;font-weight:900;font-size:1.15rem;background:#2d8cff;color:white;box-shadow:0 0 28px rgba(45,140,255,.38)}
.exercise-pr-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pr-chip{display:inline-flex;padding:7px 10px;border:1px solid rgba(82,165,255,.35);border-radius:999px;background:rgba(34,110,190,.13);color:#9bc8ff;font-size:.78rem;font-weight:700}
.streak-panel{margin-top:20px}.streak-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.streak-stat-grid>div{padding:16px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.streak-stat-grid strong{display:block;font-size:1.8rem;color:#75afff}.streak-stat-grid span{display:block;margin-top:4px;font-size:.76rem;color:var(--muted)}.milestone-track{margin-top:18px}.milestone-track-top{display:flex;justify-content:space-between;gap:12px;font-size:.82rem}.milestone-bar{height:7px;margin:8px 0;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.milestone-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#256fe0,#55a8ff)}.milestone-track small{color:var(--muted)}
@media(max-width:700px){.template-target-card{align-items:flex-start;padding:17px 18px}.template-target-progress{min-width:auto}.streak-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-celebration{padding:17px 18px}.pr-burst{width:50px;height:50px;flex:0 0 50px}}


/* Workout completion celebration */
.workout-celebration-canvas {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1000;
    opacity: 1;
    transition: opacity .55s ease;
}
.workout-celebration-canvas.celebration-finished { opacity: 0; }
.summary-hero.celebration-hero h1 {
    animation: pyanthon-finish-glow 1.45s ease-out 1;
}
.summary-hero.celebration-hero .eyebrow {
    animation: pyanthon-finish-eyebrow 1.1s ease-out 1;
}
.pr-celebration {
    position: relative;
    overflow: hidden;
}
.pr-celebration::after {
    content: '';
    position: absolute;
    inset: -70%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(45,168,255,.20) 0, rgba(45,168,255,0) 58%);
    animation: pyanthon-pr-pulse 2.2s ease-out 1;
}
@keyframes pyanthon-finish-glow {
    0% { text-shadow: 0 0 0 rgba(45,168,255,0); transform: translateY(7px); opacity: .72; }
    38% { text-shadow: 0 0 38px rgba(45,168,255,.58), 0 0 78px rgba(45,168,255,.18); transform: translateY(0); opacity: 1; }
    100% { text-shadow: 0 0 0 rgba(45,168,255,0); }
}
@keyframes pyanthon-finish-eyebrow {
    0% { letter-spacing: .14em; opacity: .45; }
    45% { letter-spacing: .28em; opacity: 1; }
    100% { letter-spacing: .18em; }
}
@keyframes pyanthon-pr-pulse {
    0% { transform: scale(.45); opacity: 0; }
    35% { opacity: 1; }
    100% { transform: scale(1.15); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .workout-celebration-canvas { display: none !important; }
    .summary-hero.celebration-hero h1,
    .summary-hero.celebration-hero .eyebrow,
    .pr-celebration::after { animation: none !important; }
}


/* Login logo ambient energy */
.auth-brand{position:relative;isolation:isolate}
.auth-logo-energy{position:relative;display:inline-block;width:min(310px,82%);filter:drop-shadow(0 12px 28px rgba(0,0,0,.32))}
.auth-logo-energy::before{content:"";position:absolute;inset:8% 9% 21%;border-radius:50%;background:radial-gradient(circle,rgba(25,157,255,.18) 0,rgba(0,135,255,.07) 38%,rgba(0,135,255,0) 70%);filter:blur(8px);opacity:.55;animation:pyanthon-logo-breathe 5.6s ease-in-out infinite;pointer-events:none;z-index:-1}
.auth-logo-energy img{display:block;width:100%;height:auto;filter:none}
.auth-logo-sparks{position:absolute;inset:-10% -12% -8%;width:124%;height:118%;pointer-events:none;z-index:2}
@keyframes pyanthon-logo-breathe{0%,100%{opacity:.28;transform:scale(.97)}50%{opacity:.68;transform:scale(1.035)}}
@media(max-width:620px){.auth-logo-energy{width:min(270px,88%)}}
@media(prefers-reduced-motion:reduce){.auth-logo-energy::before{animation:none;opacity:.32}.auth-logo-sparks{display:none}}


/* Ambient energy for the compact header logo */
.brand-energy{position:relative;isolation:isolate;overflow:visible}
.brand-energy-wrap{position:relative;display:inline-block;line-height:0}
.brand-energy-wrap::before{content:"";position:absolute;inset:10% 7% 25%;border-radius:50%;background:radial-gradient(circle,rgba(31,166,255,.15),rgba(19,120,255,.045) 42%,transparent 72%);filter:blur(5px);opacity:.42;animation:pyanthon-header-breathe 6.8s ease-in-out infinite;pointer-events:none;z-index:-1}
.brand-energy-canvas{position:absolute;inset:-16% -17% -13%;width:134%;height:129%;pointer-events:none;z-index:2}
@keyframes pyanthon-header-breathe{0%,100%{opacity:.24;transform:scale(.98)}50%{opacity:.52;transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.brand-energy-wrap::before{animation:none;opacity:.28}.brand-energy-canvas{display:none}}


/* Exercise category icon system */
.focus-icon{position:absolute;right:10px;top:10px;width:54px;height:54px;object-fit:contain;opacity:.78;filter:drop-shadow(0 5px 12px rgba(0,0,0,.30));transition:transform .18s ease,opacity .18s ease}
.focus-card:hover .focus-icon{transform:scale(1.05);opacity:.95}
.focus-card strong,.focus-card>span{position:relative;z-index:1}
.recommendation-icon{overflow:hidden;padding:3px}
.recommendation-icon img{display:block;width:100%;height:100%;object-fit:contain}
.exercise-card-title,.progress-card-title{display:flex;align-items:center;gap:10px;min-width:0}
.exercise-card-title>div,.progress-card-title>div{min-width:0}
.exercise-card-icon{width:42px;height:42px;flex:0 0 42px;object-fit:contain;filter:drop-shadow(0 4px 9px rgba(0,0,0,.28))}
.progress-card-icon{width:46px;height:46px;flex-basis:46px}
.exercise-card-title p,.progress-card-title p{margin:4px 0 0}
.exercise-title-main{display:flex;align-items:center;gap:16px;min-width:0}
.exercise-hero-icon{width:72px;height:72px;flex:0 0 72px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))}
@media(max-width:620px){.focus-icon{width:46px;height:46px}.exercise-card-icon{width:36px;height:36px;flex-basis:36px}.progress-card-icon{width:40px;height:40px;flex-basis:40px}.exercise-title-main{gap:11px}.exercise-hero-icon{width:58px;height:58px;flex-basis:58px}}
@media(max-width:390px){.exercise-hero-icon{width:50px;height:50px;flex-basis:50px}}

/* Larger category artwork: keep exercise hero sizing restrained */
.focus-icon{right:14px;top:14px;width:72px;height:72px;opacity:.92;filter:drop-shadow(0 5px 10px rgba(0,0,0,.24))}
.exercise-card-title,.progress-card-title{gap:14px}
.exercise-card-icon{width:58px;height:58px;flex:0 0 58px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.22))}
.progress-card-icon{width:62px;height:62px;flex-basis:62px}
@media(max-width:620px){.focus-icon{width:60px;height:60px}.exercise-card-icon{width:50px;height:50px;flex-basis:50px}.progress-card-icon{width:54px;height:54px;flex-basis:54px}}

/* Exercise icon layout correction: larger artwork without text collisions */
.focus-card{
    min-height:150px;
    padding:14px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 72px;
    grid-template-rows:auto 1fr auto auto;
    column-gap:10px;
    align-items:end;
    justify-content:stretch;
}
.focus-rank{
    position:static;
    grid-column:1;
    grid-row:1;
    align-self:start;
    margin:0;
}
.focus-icon{
    position:static;
    grid-column:2;
    grid-row:1 / span 2;
    justify-self:end;
    align-self:start;
    width:72px;
    height:72px;
    opacity:.94;
}
.focus-card strong{
    grid-column:1 / -1;
    grid-row:3;
    margin-top:10px;
}
.focus-card>span{
    grid-column:1 / -1;
    grid-row:4;
}

.recommendation-card{
    grid-template-columns:58px minmax(0,1fr);
    gap:16px;
}
.recommendation-icon{
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:14px;
    padding:2px;
    align-self:start;
}
.recommendation-icon img{
    width:100%;
    height:100%;
}

@media(max-width:620px){
    .focus-card{
        min-height:138px;
        grid-template-columns:minmax(0,1fr) 60px;
    }
    .focus-icon{width:60px;height:60px}
    .recommendation-card{grid-template-columns:52px minmax(0,1fr);gap:13px}
    .recommendation-icon{width:52px;height:52px;min-width:52px}
}


/* Conservative exercise-icon usage: category art is intentionally limited to
   the home-page focus cards and the current-exercise hero. */
.recommendation-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    min-width:0;
}
.recommendation-card .recommendation-icon{display:none}
.recommendation-card strong{
    display:block;
    width:100%;
    min-width:0;
    line-height:1.12;
    overflow-wrap:anywhere;
}
.recommendation-card p{
    display:block;
    width:100%;
    margin:7px 0 0;
    line-height:1.25;
}
.recommendation-card .recommendation-reason{
    margin-top:13px;
    line-height:1.25;
}
.recommendation-card .last-inline{
    margin-top:12px;
    line-height:1.25;
}
.exercise-card-title,.progress-card-title{display:block}
.exercise-library-card .exercise-card-icon,.progress-library-card .exercise-card-icon{display:none}

/* Home week panel: keep the calendar shortcut anchored toward the bottom. */
.week-panel{display:flex;flex-direction:column}
.week-panel .week-strip{margin-bottom:0}
.week-calendar-link{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    gap:7px;
    margin-top:auto;
    padding-top:20px;
    color:#8bd4ff;
    text-decoration:none;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.01em;
}
.week-calendar-link:hover{color:#c4ecff}

/* Active workout: subtle soft green pulse while a training session is open. */
.brand-training-active .brand-energy-wrap{
    isolation:isolate;
}
.brand-training-active .brand-energy-wrap img{
    animation:pyanthon-active-logo-soft-glow 3.4s ease-in-out infinite;
}
.brand-training-active .brand-energy-wrap::before{
    inset:5% 4% 18%;
    border-radius:50%;
    background:radial-gradient(circle,rgba(57,217,138,.20) 0,rgba(57,217,138,.08) 44%,transparent 72%);
    filter:blur(8px);
    opacity:.35;
    animation:pyanthon-training-soft-breathe 3.4s ease-in-out infinite;
}
/* The prior orbit/ring/status-dot treatment is intentionally suppressed. */
.brand-training-active .brand-energy-wrap::after,
.brand-training-pulse,
.brand-training-dot{
    display:none !important;
}
@keyframes pyanthon-active-logo-soft-glow{
    0%,100%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.28)) drop-shadow(0 0 2px rgba(57,217,138,.08))}
    50%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.28)) drop-shadow(0 0 9px rgba(57,217,138,.38))}
}
@keyframes pyanthon-training-soft-breathe{
    0%,100%{opacity:.24;transform:scale(.99)}
    50%{opacity:.48;transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
    .brand-training-active .brand-energy-wrap img,
    .brand-training-active .brand-energy-wrap::before{animation:none}
    .brand-training-active .brand-energy-wrap::before{opacity:.28}
}


/* Session-state and notes refinements */
.recommendation-card{
    display:block !important;
    grid-template-columns:none !important;
    min-width:0;
}
.recommendation-card>strong,.recommendation-card>p,.recommendation-card>.recommendation-reason,.recommendation-card>.last-inline{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    position:static !important;
}
.recommendation-card>strong{line-height:1.15;overflow-wrap:break-word}
.recommendation-card>p{margin:7px 0 0 !important}
.recommendation-card>.recommendation-reason{margin-top:13px !important}
.recommendation-card>.last-inline{margin-top:12px !important}

/* A visible but restrained green pulse for an active workout. */
.brand-training-active .brand-energy-wrap img{
    animation:pyanthon-active-logo-medium-glow 3.1s ease-in-out infinite !important;
}
.brand-training-active .brand-energy-wrap::before{
    background:radial-gradient(circle,rgba(57,217,138,.34) 0,rgba(57,217,138,.15) 42%,transparent 72%) !important;
    filter:blur(9px) !important;
    animation:pyanthon-training-medium-breathe 3.1s ease-in-out infinite !important;
}
@keyframes pyanthon-active-logo-medium-glow{
    0%,100%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.28)) drop-shadow(0 0 4px rgba(57,217,138,.16))}
    50%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.28)) drop-shadow(0 0 16px rgba(57,217,138,.62))}
}
@keyframes pyanthon-training-medium-breathe{
    0%,100%{opacity:.34;transform:scale(.99)}
    50%{opacity:.72;transform:scale(1.035)}
}

.brand-cluster{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.resume-workout-link{
    display:inline-flex;align-items:center;gap:7px;
    color:#9fe7c5;text-decoration:none;font-size:.72rem;font-weight:850;
    background:rgba(20,72,52,.52);border:1px solid rgba(57,217,138,.34);
    padding:6px 9px;border-radius:999px;line-height:1;
    box-shadow:0 0 14px rgba(57,217,138,.08);
}
.resume-workout-link:hover{border-color:rgba(80,235,164,.68);color:#d2f8e5;background:rgba(26,92,66,.62)}
.resume-workout-icon{font-size:.62rem;color:#55e39b}

.workout-notes-card{margin:4px 0 28px;padding:20px}
.compact-notes-card{max-width:780px}
.summary-notes-card{margin:2px 0 28px}
.session-notes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.session-notes-heading h2{margin:4px 0 0;font-size:1.45rem}
.session-notes-form textarea{
    width:100%;min-height:105px;resize:vertical;
    background:rgba(5,16,24,.82);color:#edf6fb;border:1px solid #304957;border-radius:14px;
    padding:13px 14px;font:inherit;line-height:1.5;outline:none;
}
.session-notes-form textarea:focus{border-color:#3a799d;box-shadow:0 0 0 3px rgba(40,166,255,.07)}
.session-notes-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}
.session-notes-actions .muted{font-size:.76rem}
.session-notes-save{padding:9px 14px;border-radius:11px;font-size:.8rem}

.history-filter-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;color:#d9edf8}
.history-filter-banner span{font-weight:800}
.history-filter-banner a{color:#7dd0ff;text-decoration:none;font-size:.8rem;font-weight:800}
.calendar-day.is-selected{outline:2px solid rgba(113,214,255,.9);outline-offset:2px}
.history-note-preview{
    margin:11px 0 12px;padding:10px 12px;border-radius:12px;
    border-left:3px solid rgba(57,217,138,.6);background:rgba(12,38,32,.38);
    color:#b8c9d3;font-size:.8rem;line-height:1.45;
}
.history-note-preview span{display:block;color:#73dda8;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:900;margin-bottom:3px}
#workouts{scroll-margin-top:18px}

@media(max-width:620px){
    .resume-workout-link{font-size:.67rem;padding:5px 8px}
    .session-notes-actions{align-items:flex-start;flex-direction:column}
    .session-notes-save{width:100%}
}
@media(prefers-reduced-motion:reduce){
    .brand-training-active .brand-energy-wrap img,.brand-training-active .brand-energy-wrap::before{animation:none !important}
}


/* Settings danger zone: destructive account-level training reset */
.danger-zone-card{
    margin-top:28px;
    border-color:rgba(255,111,124,.34);
    background:linear-gradient(180deg,rgba(44,17,23,.70),rgba(14,23,31,.92));
}
.danger-eyebrow{color:#ff8792 !important}
.danger-zone-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:28px;align-items:start}
.danger-zone-content p{margin:0 0 10px;line-height:1.55}
.reset-training-form{padding:17px;border:1px solid rgba(255,111,124,.22);border-radius:14px;background:rgba(8,15,22,.48)}
.reset-training-form label{display:block;font-size:.82rem;font-weight:800;margin-bottom:9px;color:#eaf1f5}
.reset-training-form small{display:block;margin-top:8px;color:#ff9ba4;font-size:.72rem;font-weight:700}
.reset-training-controls{display:flex;gap:10px;align-items:stretch}
.reset-training-controls input{min-width:0;flex:1;background:#091720;color:#f5f9fb;border:1px solid #4b3a42;border-radius:11px;padding:11px 12px;font:inherit;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.reset-training-controls input:focus{outline:none;border-color:#ff7885;box-shadow:0 0 0 3px rgba(255,111,124,.08)}
.danger-button{background:#a93643;border-color:#c84d59;color:#fff;white-space:nowrap}
.danger-button:hover:not(:disabled){background:#c44350;border-color:#e36670}
.danger-button:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.5)}
@media(max-width:800px){.danger-zone-content{grid-template-columns:1fr}.reset-training-controls{flex-direction:column}.danger-button{width:100%}}

/* Training Mode: distraction-free workout HUD */
.training-mode-launch{font:inherit;cursor:pointer}
.training-mode{display:none;position:fixed;inset:0;z-index:5000;background:rgba(3,9,14,.98);color:#f4f9fc}
.training-mode.is-active{display:block}.training-mode-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(18,65,88,.34),transparent 42%),linear-gradient(180deg,#061018,#03090e)}
.training-mode-topbar{height:76px;flex:0 0 76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 24px;border-bottom:1px solid rgba(117,166,194,.14)}
.training-mode-brand img{width:112px;height:auto;display:block;filter:drop-shadow(0 0 12px rgba(57,217,138,.18))}.training-mode-status{font-size:.72rem;font-weight:850;color:#9fd9bd;text-transform:uppercase;letter-spacing:.09em}.training-mode-status span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#39d98a;box-shadow:0 0 10px rgba(57,217,138,.75);margin-right:7px}.training-mode-exit{justify-self:end;border:1px solid #314957;background:#0b1821;color:#b7c8d2;border-radius:10px;padding:8px 12px;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.training-mode-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(260px,.8fr) minmax(360px,1.25fr) minmax(150px,.5fr);gap:18px;align-items:center;max-width:1500px;width:100%;margin:auto;padding:22px 28px}.training-mode-exercise{text-align:center}.training-mode-icon{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.3));margin-bottom:8px}.training-mode-exercise h1{font-size:clamp(2.2rem,4vw,4.8rem);margin:.12em 0;line-height:.94}.training-mode-exercise p{color:#91a7b5;margin:10px 0 0}
.training-mode-reference{border-left:1px solid #203644;padding-left:22px;min-height:180px;display:flex;flex-direction:column;justify-content:center}.training-mode-reference-head{display:flex;justify-content:space-between;gap:12px;color:#8ca2b0;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:850}.training-mode-last-sets{display:flex;flex-direction:column;gap:7px;margin-top:13px}.training-mode-last-sets span{font-size:1.05rem;font-weight:800;color:#dbe9f1}
.training-mode-entry{text-align:center}.training-mode-set-number{color:#73c8ff;font-size:.78rem;font-weight:900;letter-spacing:.14em;margin-bottom:12px}.training-mode-set-number strong{font-size:1.2rem}.training-mode-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.training-mode-input-grid.one{grid-template-columns:minmax(260px,440px);justify-content:center}.training-mode-control{border:1px solid #2d4b5e;background:rgba(8,22,31,.9);border-radius:18px;padding:13px}.training-mode-control label{display:block;color:#91a7b5;font-size:.75rem;font-weight:800;margin-bottom:8px}.training-mode-control label span{font-weight:500}.training-mode-control>div{display:grid;grid-template-columns:58px 1fr 58px;align-items:center;gap:8px}.training-mode-control button{height:54px;border:1px solid #35576b;background:#122a39;color:#e8f5fb;border-radius:13px;font-size:1.7rem;cursor:pointer}.training-mode-control strong{font-size:clamp(1.8rem,3.2vw,3rem);font-variant-numeric:tabular-nums}.training-mode-log{width:100%;margin-top:12px;min-height:58px;border:0;border-radius:15px;background:#28a6ff;color:white;font:inherit;font-size:1rem;font-weight:900;cursor:pointer;box-shadow:0 8px 28px rgba(40,166,255,.2)}.training-mode-log:disabled{opacity:.55}.training-mode-feedback{height:22px;margin-top:8px;color:#9eb0ba;font-size:.78rem;font-weight:800}.training-mode-feedback.is-success{color:#62e3a3}
.training-mode-rest{text-align:center;border-left:1px solid #203644;padding-left:18px}.training-mode-rest>span{display:block;color:#8ca2b0;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:900}.training-mode-rest>strong{display:block;font-size:clamp(2.4rem,4vw,4.2rem);font-variant-numeric:tabular-nums;margin:7px 0 10px}.training-mode-rest button{border:1px solid #31536a;background:#102737;color:#aadaf8;border-radius:11px;padding:9px 14px;font:inherit;font-weight:850;cursor:pointer}
.training-mode-bottom{height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid rgba(117,166,194,.14)}.training-mode-bottom button,.training-mode-bottom a{border:1px solid #2b4353;background:#0b1821;color:#a9bdc9;border-radius:10px;padding:9px 13px;font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}
.training-mode-drawer{position:absolute;inset:auto 24px 78px;max-width:680px;margin:auto;padding:24px;border:1px solid #34566a;border-radius:20px;background:rgba(7,20,29,.98);box-shadow:0 30px 90px rgba(0,0,0,.55);transform:translateY(30px);opacity:0;pointer-events:none;transition:.18s ease}.training-mode-drawer.is-open{transform:none;opacity:1;pointer-events:auto}.training-mode-drawer>button{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#aabcc7;font-size:1.7rem;cursor:pointer}.training-mode-drawer p{color:#c2d0d8;line-height:1.6}.training-video-drawer{max-width:390px;padding:14px}.training-video-drawer iframe{display:block;width:100%;aspect-ratio:9/16;border:0;border-radius:14px;background:#000}
body.training-mode-active{overflow:hidden}
@media(max-width:980px){.training-mode-main{grid-template-columns:1fr 1fr;align-content:center}.training-mode-reference{border-left:0;padding-left:0}.training-mode-rest{border-left:0;padding-left:0}.training-mode-exercise h1{font-size:3rem}.training-mode-icon{width:72px;height:72px}}
@media(max-width:620px){.training-mode-topbar{height:58px;flex-basis:58px;padding:8px 12px;grid-template-columns:1fr auto}.training-mode-brand img{width:82px}.training-mode-status{display:none}.training-mode-main{display:flex;flex-direction:column;justify-content:flex-start;gap:12px;padding:12px 14px 8px;overflow-y:auto}.training-mode-exercise{display:grid;grid-template-columns:auto 1fr;column-gap:10px;text-align:left;align-items:center;width:100%}.training-mode-icon{width:52px;height:52px;grid-row:1 / span 3;margin:0}.training-mode-exercise .eyebrow{font-size:.62rem}.training-mode-exercise h1{font-size:2rem;margin:0}.training-mode-exercise p{font-size:.75rem;margin:2px 0}.training-mode-reference{width:100%;min-height:0;border:1px solid #203644;border-radius:13px;padding:10px 12px}.training-mode-last-sets{flex-direction:row;flex-wrap:wrap;margin-top:7px}.training-mode-last-sets span{font-size:.78rem;padding:5px 7px;background:#091720;border-radius:8px}.training-mode-entry{width:100%}.training-mode-input-grid{gap:8px}.training-mode-control{padding:9px}.training-mode-control>div{grid-template-columns:48px 1fr 48px}.training-mode-control button{height:48px}.training-mode-control strong{font-size:1.7rem}.training-mode-log{min-height:52px}.training-mode-rest{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.training-mode-rest>span{display:none}.training-mode-rest>strong{font-size:2.1rem;margin:0}.training-mode-bottom{height:54px;flex-basis:54px;padding:0 8px;gap:6px}.training-mode-bottom button,.training-mode-bottom a{padding:8px 9px;font-size:.68rem}.training-mode-drawer{inset:auto 12px 66px;padding:18px}.training-video-drawer{max-width:300px}.training-mode-feedback{height:18px;margin-top:5px}}
@media(prefers-reduced-motion:reduce){.training-mode-drawer{transition:none}}

/* Session timeline */
.session-timeline-section{margin:10px 0 30px}.session-timeline-heading{align-items:flex-end}.session-timeline-heading h2{margin:4px 0 0}.timeline-insight{margin:0 0 3px;max-width:390px;text-align:right;font-size:.78rem}.session-timeline-card{padding:22px 24px;overflow:hidden}.timeline-boundary,.timeline-exercise-block,.timeline-gap{display:grid;grid-template-columns:105px 34px minmax(0,1fr);gap:0;position:relative}.timeline-boundary time,.timeline-time time{font-variant-numeric:tabular-nums;color:#a9bdca;font-size:.78rem;font-weight:800}.timeline-boundary{align-items:center;min-height:44px}.timeline-boundary>time{text-align:right;padding-right:16px}.timeline-boundary-dot{width:12px;height:12px;border-radius:50%;justify-self:center;background:#63c8ff;border:3px solid #0c1b25;box-shadow:0 0 0 2px rgba(99,200,255,.26),0 0 16px rgba(40,166,255,.3);z-index:2}.timeline-boundary:after,.timeline-exercise-block:after,.timeline-gap:after{content:"";position:absolute;left:121px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(65,177,240,.48),rgba(57,217,138,.24));transform:translateX(-50%)}.timeline-boundary-start:after{top:50%}.timeline-boundary-finish:after{bottom:50%}.timeline-boundary>div{padding-left:12px;display:flex;align-items:baseline;gap:9px}.timeline-boundary>div>span{color:var(--muted);font-size:.74rem}.timeline-boundary-finish .timeline-boundary-dot{background:#59df9b;box-shadow:0 0 0 2px rgba(89,223,155,.24),0 0 16px rgba(57,217,138,.3)}.timeline-exercise-block{align-items:stretch;padding:8px 0}.timeline-time{text-align:right;padding:10px 16px 0 0}.timeline-time span{display:block;color:#6f8796;font-size:.68rem;margin-top:4px}.timeline-node-column{position:relative;z-index:2}.timeline-exercise-node{display:block;width:16px;height:16px;border-radius:50%;margin:12px auto 0;background:#0c2433;border:3px solid #55bfff;box-shadow:0 0 13px rgba(40,166,255,.28)}.timeline-exercise-content{margin-left:12px;padding:14px 16px 15px;border:1px solid rgba(83,142,181,.2);border-radius:16px;background:linear-gradient(180deg,rgba(15,34,47,.88),rgba(8,23,33,.88))}.timeline-exercise-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.timeline-exercise-title h3{margin:0;font-size:1.08rem}.timeline-exercise-title p{margin:4px 0 0;font-size:.74rem}.timeline-exercise-title>span{white-space:nowrap;color:#8bd7ff;background:rgba(40,166,255,.08);border:1px solid rgba(40,166,255,.2);border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:850}.timeline-set-list{margin-top:11px;border-top:1px solid rgba(125,164,190,.12)}.timeline-set-event{display:grid;grid-template-columns:72px 58px minmax(0,1fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(125,164,190,.09)}.timeline-set-event:last-child{border-bottom:0;padding-bottom:0}.timeline-set-event time{color:#718897;font-size:.68rem;font-variant-numeric:tabular-nums}.timeline-set-event span{color:#8fa3b0;font-size:.72rem}.timeline-set-event strong{font-size:.82rem}.timeline-gap{min-height:28px;align-items:center}.timeline-gap>i{width:7px;height:7px;border-radius:50%;background:#39586a;justify-self:center;z-index:2}.timeline-gap small{margin-left:12px;color:#6e8796;font-size:.67rem;font-weight:750}.timeline-gap>span{display:block}.timeline-gap:after{background:repeating-linear-gradient(180deg,rgba(83,146,183,.26) 0,rgba(83,146,183,.26) 3px,transparent 3px,transparent 7px)}
@media(max-width:720px){.timeline-insight{text-align:left}.session-timeline-card{padding:17px 14px}.timeline-boundary,.timeline-exercise-block,.timeline-gap{grid-template-columns:68px 26px minmax(0,1fr)}.timeline-boundary:after,.timeline-exercise-block:after,.timeline-gap:after{left:81px}.timeline-boundary>time,.timeline-time{padding-right:9px}.timeline-exercise-content{margin-left:8px;padding:12px 13px}.timeline-set-event{grid-template-columns:58px 48px minmax(0,1fr);gap:7px}.timeline-set-event time{font-size:.62rem}.timeline-exercise-title{display:block}.timeline-exercise-title>span{display:inline-block;margin-top:8px}.timeline-boundary>div{padding-left:8px}}
@media(max-width:460px){.timeline-boundary,.timeline-exercise-block,.timeline-gap{grid-template-columns:0 24px minmax(0,1fr)}.timeline-boundary:after,.timeline-exercise-block:after,.timeline-gap:after{left:12px}.timeline-boundary>time,.timeline-time{position:absolute;left:38px;top:2px;text-align:left;padding:0;z-index:3}.timeline-exercise-block{padding-top:24px}.timeline-exercise-node{margin-top:8px}.timeline-exercise-content{margin-left:8px}.timeline-set-event{grid-template-columns:52px minmax(0,1fr);gap:7px}.timeline-set-event span{display:none}.timeline-boundary{padding-top:18px;min-height:56px}.timeline-boundary>div{grid-column:3}.timeline-gap small{grid-column:3}}

/* Live workout dashboard */
.live-workout-dashboard{margin:2px 0 28px}.live-dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}.live-dashboard-heading h2{margin:4px 0 0;font-size:clamp(1.45rem,3vw,2rem)}.live-eyebrow{display:flex;align-items:center;gap:7px}.live-indicator{width:8px;height:8px;border-radius:50%;background:#39d98a;box-shadow:0 0 12px rgba(57,217,138,.65);animation:pyanthon-live-dot 2.2s ease-in-out infinite}.live-last-activity{margin:0 0 4px;text-align:right;font-size:.78rem}.live-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.live-dashboard-stat{padding:17px 18px;min-height:112px}.live-dashboard-stat>span,.live-flow-label{display:block;color:#8499a8;font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.live-dashboard-stat>strong{display:block;margin-top:7px;font-size:clamp(1.55rem,3vw,2.2rem);font-variant-numeric:tabular-nums}.live-dashboard-stat>strong em{font-style:normal;font-size:.72rem;color:#8ea3b1;font-weight:800}.live-dashboard-stat>small{display:block;color:#7f919e;font-size:.7rem;margin-top:5px}.live-dashboard-elapsed{border-color:rgba(57,217,138,.28);background:linear-gradient(155deg,rgba(20,61,48,.48),rgba(10,27,39,.96))}.live-dashboard-elapsed>strong{color:#91efbd}.live-dashboard-flow{margin-top:10px;padding:17px 18px}.live-flow-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:24px;align-items:start}.live-muscle-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.live-muscle-chips span{font-size:.75rem;border-radius:999px;padding:6px 9px;background:rgba(40,166,255,.09);border:1px solid rgba(40,166,255,.24);color:#9ad8ff}.live-flow-next{padding-left:20px;border-left:1px solid rgba(122,161,187,.13)}.live-flow-next a{display:block;margin-top:7px;color:inherit;text-decoration:none}.live-flow-next a strong{display:block;color:#eaf6fc;font-size:1rem}.live-flow-next a small{display:block;color:#75bceb;margin-top:4px;font-size:.73rem;line-height:1.35}.live-flow-next a:hover strong{color:#9fdaff}.live-empty-value{display:block;margin-top:8px;color:#a9bac6;font-size:.9rem}.live-session-progress{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin-top:16px;padding-top:13px;border-top:1px solid rgba(120,159,184,.1)}.live-session-progress i{display:block;height:4px;border-radius:999px;background:rgba(111,145,165,.12)}.live-session-progress i.is-filled{background:linear-gradient(90deg,rgba(40,166,255,.75),rgba(57,217,138,.7));box-shadow:0 0 8px rgba(40,166,255,.12)}
@keyframes pyanthon-live-dot{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:820px){.live-dashboard-grid{grid-template-columns:1fr 1fr}.live-flow-main{grid-template-columns:1fr}.live-flow-next{padding-left:0;padding-top:14px;border-left:0;border-top:1px solid rgba(122,161,187,.13)}}
@media(max-width:560px){.live-dashboard-heading{display:block}.live-last-activity{text-align:left;margin-top:7px}.live-dashboard-stat{min-height:98px;padding:14px}.live-dashboard-stat>strong{font-size:1.55rem}.live-dashboard-flow{padding:15px}.live-session-progress{grid-template-columns:repeat(6,1fr)}.live-session-progress i:nth-child(n+7){display:none}}
@media(prefers-reduced-motion:reduce){.live-indicator{animation:none}}

/* Ambient gym display */
.ambient-display-page{margin:0;min-height:100vh;min-height:100dvh;overflow:hidden;background:#050b10 var(--gym-background) center/cover fixed no-repeat;color:#edf8ff}.ambient-display-page:before{content:"";position:fixed;inset:0;background:linear-gradient(110deg,rgba(2,8,13,var(--background-overlay-bottom,.82)),rgba(4,13,20,var(--background-overlay-top,.70)) 50%,rgba(3,10,15,var(--background-overlay-bottom,.82))),radial-gradient(circle at 50% 35%,rgba(30,151,225,.14),transparent 45%);pointer-events:none}.ambient-shell{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:clamp(18px,2.5vw,36px) clamp(20px,3vw,52px)}.ambient-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.ambient-brand img{display:block;width:clamp(90px,9vw,145px);filter:drop-shadow(0 0 22px rgba(36,163,236,.2))}.ambient-clock-block{text-align:center}.ambient-clock-block strong{display:block;font-size:clamp(2rem,4vw,4.3rem);line-height:.9;font-variant-numeric:tabular-nums;letter-spacing:-.045em}.ambient-clock-block span{display:block;margin-top:9px;color:#91a9b8;font-size:clamp(.72rem,1.2vw,1rem);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.ambient-controls{display:flex;justify-content:flex-end;gap:9px}.ambient-icon-button{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(133,177,204,.18);border-radius:999px;background:rgba(5,18,27,.58);color:#b9ceda;text-decoration:none;padding:9px 13px;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;backdrop-filter:blur(10px)}.ambient-icon-button:hover{border-color:rgba(70,182,244,.4);color:#fff}.ambient-idle-main,.ambient-active-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;width:min(1200px,100%);margin:0 auto}.ambient-idle-hero{text-align:center;margin-top:-2vh}.ambient-logo-halo{position:relative;width:clamp(150px,17vw,260px);height:clamp(150px,17vw,260px);margin:0 auto 18px;display:grid;place-items:center}.ambient-logo-halo:before{content:"";position:absolute;inset:8%;border-radius:50%;background:rgba(25,146,218,.12);filter:blur(26px);box-shadow:0 0 80px rgba(26,150,222,.25)}.ambient-logo-halo img{position:relative;width:100%;filter:drop-shadow(0 0 30px rgba(39,164,235,.28))}.ambient-idle-hero h1{margin:7px 0 5px;font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.05em}.ambient-idle-hero p{margin:0;color:#91a8b6;font-size:clamp(.9rem,1.5vw,1.25rem)}.ambient-idle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin-top:clamp(28px,4vh,52px)}.ambient-glass-card{min-height:145px;padding:22px 24px;border:1px solid rgba(111,164,195,.17);border-radius:20px;background:linear-gradient(160deg,rgba(12,31,43,.75),rgba(5,17,25,.62));backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,0,0,.18)}.ambient-glass-card>span,.ambient-metric-grid span,.ambient-now-card span{display:block;color:#7993a3;font-size:.69rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900}.ambient-glass-card>strong{display:block;margin-top:10px;font-size:clamp(2rem,3.6vw,3.8rem);line-height:1}.ambient-glass-card strong em,.ambient-metric-grid strong em{font-style:normal;font-size:.8rem;color:#8fa6b5}.ambient-glass-card small{display:block;margin-top:10px;color:#91a7b5}.ambient-highlight-card{border-color:rgba(48,174,239,.28);background:linear-gradient(155deg,rgba(15,53,74,.72),rgba(6,20,29,.66))}.ambient-start-button{margin-top:24px;padding:13px 24px;border-radius:999px;background:linear-gradient(135deg,#27a9f3,#197dc8);color:white;text-decoration:none;font-weight:900;box-shadow:0 12px 35px rgba(25,140,211,.22)}.ambient-refresh-note{position:absolute;right:clamp(20px,3vw,52px);bottom:16px;color:#536b79;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.ambient-active-hero{text-align:center}.ambient-live-label{display:flex;justify-content:center;align-items:center;gap:8px;color:#75e7a9;font-size:.7rem;font-weight:900;letter-spacing:.13em}.ambient-live-label i{width:8px;height:8px;border-radius:50%;background:#42dc8e;box-shadow:0 0 15px rgba(66,220,142,.8);animation:ambient-live 2s ease-in-out infinite}.ambient-active-hero h1{margin:10px 0 0;font-size:clamp(2.2rem,4.8vw,5rem);letter-spacing:-.045em}.ambient-big-time{margin-top:8px;font-size:clamp(4rem,10vw,10rem);line-height:.9;font-weight:950;letter-spacing:-.065em;font-variant-numeric:tabular-nums;color:#9bedc0;text-shadow:0 0 45px rgba(51,218,136,.12)}.ambient-active-hero p{color:#8099a8;margin:12px 0 0}.ambient-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(850px,100%);margin-top:30px}.ambient-metric-grid>div{padding:17px 20px;text-align:center;border:1px solid rgba(111,164,195,.15);border-radius:17px;background:rgba(7,22,31,.62);backdrop-filter:blur(12px)}.ambient-metric-grid strong{display:block;margin-top:5px;font-size:clamp(1.5rem,3vw,2.5rem)}.ambient-now-card{display:flex;justify-content:space-between;align-items:center;gap:30px;width:min(850px,100%);margin-top:10px;padding:20px 23px;border:1px solid rgba(50,171,235,.23);border-radius:18px;background:linear-gradient(150deg,rgba(11,42,58,.78),rgba(6,21,30,.68));backdrop-filter:blur(14px)}.ambient-now-card h2{margin:5px 0 2px;font-size:clamp(1.3rem,2.5vw,2rem)}.ambient-now-card strong{color:#a9e2ff}.ambient-now-card small{display:block;margin-top:5px;color:#7892a2}.ambient-now-card>a{white-space:nowrap;color:#8ed7ff;text-decoration:none;font-weight:850}.ambient-has-workout .ambient-brand img{filter:drop-shadow(0 0 25px rgba(52,214,135,.24))}@keyframes ambient-live{0%,100%{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}
@media(max-width:700px){.ambient-shell{padding:15px}.ambient-topbar{grid-template-columns:auto 1fr auto}.ambient-clock-block{text-align:right}.ambient-clock-block strong{font-size:1.7rem}.ambient-clock-block span{font-size:.58rem;margin-top:4px}.ambient-controls span{display:none}.ambient-icon-button{padding:8px 10px}.ambient-idle-grid{grid-template-columns:1fr;gap:8px}.ambient-glass-card{min-height:0;padding:15px 17px}.ambient-glass-card>strong{font-size:2rem}.ambient-logo-halo{width:130px;height:130px}.ambient-idle-hero h1{font-size:2.5rem}.ambient-metric-grid{gap:6px}.ambient-metric-grid>div{padding:12px 8px}.ambient-now-card{align-items:flex-start;padding:15px;display:block}.ambient-now-card>a{display:inline-block;margin-top:12px}.ambient-refresh-note{display:none}}
@media(max-height:700px) and (min-width:701px){.ambient-logo-halo{width:130px;height:130px;margin-bottom:8px}.ambient-idle-grid{margin-top:22px}.ambient-glass-card{min-height:115px;padding:16px 20px}.ambient-idle-hero h1{font-size:3rem}.ambient-big-time{font-size:5.8rem}.ambient-metric-grid{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.ambient-live-label i{animation:none}}

/* Ambient companion: near-real-time set, PR, and rest takeovers */
.ambient-takeover{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:5vw;background:radial-gradient(circle at 50% 42%,rgba(16,89,125,.36),transparent 42%),rgba(2,7,11,.94);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .35s ease,transform .35s ease,visibility .35s}
.ambient-takeover.is-visible{opacity:1;visibility:visible;transform:scale(1)}
.ambient-takeover-energy{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.ambient-takeover-energy:before,.ambient-takeover-energy:after{content:"";position:absolute;left:50%;top:48%;width:min(72vw,1050px);height:min(72vw,1050px);border-radius:50%;transform:translate(-50%,-50%);border:1px solid rgba(67,184,247,.16);box-shadow:0 0 90px rgba(32,160,232,.13),inset 0 0 90px rgba(32,160,232,.08);animation:ambient-energy-ring 3.8s ease-in-out infinite}
.ambient-takeover-energy:after{width:min(48vw,700px);height:min(48vw,700px);animation-delay:-1.4s;opacity:.65}
.ambient-takeover-inner{position:relative;text-align:center;width:min(1100px,100%)}
.ambient-takeover-kicker{color:#78cfff;font-size:clamp(.8rem,1.3vw,1.2rem);font-weight:950;letter-spacing:.22em;text-transform:uppercase}
.ambient-takeover h2{margin:18px 0 0;font-size:clamp(3rem,8vw,8.5rem);line-height:.88;letter-spacing:-.06em;text-wrap:balance}
.ambient-takeover-result{margin-top:24px;color:#b8e9ff;font-size:clamp(3rem,7vw,7rem);font-weight:950;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 45px rgba(45,170,238,.18)}
.ambient-takeover-set{margin-top:18px;color:#6f8998;font-size:clamp(.75rem,1.2vw,1rem);font-weight:900;letter-spacing:.18em}
.ambient-rest-stage{display:none;margin-top:28px}.ambient-rest-stage>span{display:block;color:#75e7a9;font-size:.8rem;font-weight:950;letter-spacing:.22em}.ambient-rest-stage>strong{display:block;margin-top:8px;color:#a1efc5;font-size:clamp(6rem,16vw,15rem);line-height:.82;letter-spacing:-.07em;font-variant-numeric:tabular-nums;text-shadow:0 0 65px rgba(57,217,138,.15)}.ambient-rest-stage>small{display:block;margin-top:28px;color:#88a0ae;font-size:clamp(.9rem,1.5vw,1.25rem)}
.ambient-takeover.is-resting .ambient-takeover-kicker,.ambient-takeover.is-resting h2,.ambient-takeover.is-resting .ambient-takeover-result,.ambient-takeover.is-resting .ambient-takeover-set{display:none}.ambient-takeover.is-resting .ambient-rest-stage{display:block}
.ambient-takeover.is-rest-final{background:radial-gradient(circle at 50% 48%,rgba(43,151,101,.24),transparent 38%),rgba(2,8,10,.95)}.ambient-takeover.is-rest-final .ambient-rest-stage>strong{animation:ambient-rest-pulse 1s ease-in-out infinite}
.ambient-takeover.is-ready .ambient-rest-stage>strong{color:#d8ffe9;text-shadow:0 0 65px rgba(57,217,138,.5);animation:ambient-ready-pulse .65s ease-in-out infinite alternate}
.ambient-takeover.is-pr{background:radial-gradient(circle at 50% 44%,rgba(26,135,207,.45),transparent 45%),rgba(2,7,12,.95)}.ambient-takeover.is-pr .ambient-takeover-kicker{color:#a7e5ff;text-shadow:0 0 24px rgba(73,190,255,.55)}.ambient-takeover.is-pr .ambient-takeover-result{color:#e2f7ff;text-shadow:0 0 60px rgba(57,183,250,.5)}.ambient-takeover.is-pr .ambient-takeover-energy:before{border-color:rgba(97,209,255,.48);box-shadow:0 0 120px rgba(44,180,249,.28),inset 0 0 100px rgba(44,180,249,.16);animation-duration:1.8s}
.ambient-metric-grid b{font:inherit;color:inherit}
@keyframes ambient-energy-ring{0%,100%{opacity:.25;transform:translate(-50%,-50%) scale(.92)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.04)}}
@keyframes ambient-rest-pulse{0%,100%{transform:scale(1);opacity:.86}50%{transform:scale(1.035);opacity:1}}
@keyframes ambient-ready-pulse{from{transform:scale(.98)}to{transform:scale(1.04)}}
@media(max-width:700px){.ambient-takeover{padding:24px}.ambient-takeover h2{font-size:clamp(2.7rem,12vw,5rem)}.ambient-takeover-result{font-size:clamp(2.5rem,11vw,4.5rem)}.ambient-rest-stage>strong{font-size:clamp(5rem,26vw,9rem)}}
@media(prefers-reduced-motion:reduce){.ambient-takeover,.ambient-takeover-energy:before,.ambient-takeover-energy:after,.ambient-takeover.is-rest-final .ambient-rest-stage>strong,.ambient-takeover.is-ready .ambient-rest-stage>strong{animation:none;transition:none}}


/* Ambient display start-workout POST form */
.ambient-start-form{margin:0;display:flex;justify-content:center}.ambient-start-form .ambient-start-button{font:inherit;cursor:pointer;border:0}


/* Ambient Display: honor the user's background-darkness preference.
   Lightning may still brighten the room temporarily while a bolt is visible. */
.ambient-display-page{
    background:#050b10 var(--gym-background) center/cover fixed no-repeat;
}
.ambient-display-page:before{
    background:
        linear-gradient(
            110deg,
            rgba(2,8,13,var(--background-overlay-bottom,.82)),
            rgba(4,13,20,var(--background-overlay-top,.70)) 50%,
            rgba(3,10,15,var(--background-overlay-bottom,.82))
        ),
        radial-gradient(circle at 50% 35%,rgba(30,151,225,.14),transparent 45%);
    transition:background 1.65s cubic-bezier(.16,.72,.24,1);
}
.ambient-display-page.ambient-fx-lightning.lightning-lit:before{
    background:
        linear-gradient(110deg,rgba(2,8,13,.38),rgba(4,13,20,.22) 50%,rgba(3,10,15,.40)),
        radial-gradient(circle at 50% 35%,rgba(84,190,255,.18),transparent 52%);
    transition:background .045s ease-in;
}
.ambient-effects-toggle{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(87,181,242,.24);border-radius:999px;background:rgba(5,18,27,.58);backdrop-filter:blur(10px);color:#a9c0ce;font-size:.72rem;font-weight:800;letter-spacing:.025em;cursor:pointer;user-select:none}
.ambient-effects-toggle:hover{border-color:rgba(87,181,242,.46);color:#eef9ff}
.ambient-effects-toggle input{width:13px;height:13px;margin:0;accent-color:#37b6ff}
.ambient-effects-toggle input:disabled{opacity:.45}
.ambient-effects-toggle.is-unavailable{display:none}
.ambient-fx-layer[hidden]{display:none!important}
.display-ambient-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:72}
.display-ambient-flash{position:fixed;inset:0;pointer-events:none;z-index:71;opacity:0;background:radial-gradient(circle at 48% 32%,rgba(92,198,255,.12),rgba(30,124,190,.05) 42%,transparent 72%)}
.ambient-fx-lightning .display-ambient-flash.is-flashing{animation:pyanthon-display-sky-flash .34s ease-out 1}
@keyframes pyanthon-display-sky-flash{0%{opacity:0}12%{opacity:.82}26%{opacity:.14}42%{opacity:.5}100%{opacity:0}}
@media(max-width:700px){.ambient-effects-toggle span{display:none}.ambient-effects-toggle{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.display-ambient-canvas,.display-ambient-flash{display:none!important}.ambient-effects-toggle{opacity:.58}}


/* Ambient Display: workout-complete Pyanthon reward */
.ambient-finish-reward{position:fixed;inset:0;z-index:140;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 48%,rgba(31,151,224,.16),transparent 38%);overflow:hidden}
.ambient-finish-reward img{position:relative;z-index:2;width:min(36vw,480px);max-height:62vh;object-fit:contain;opacity:0;transform:scale(.08);filter:drop-shadow(0 0 18px rgba(70,190,255,.2)) drop-shadow(0 0 70px rgba(38,149,218,.12))}
.ambient-finish-glow{position:absolute;left:50%;top:50%;width:min(64vw,850px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;background:radial-gradient(circle,rgba(71,190,255,.2),rgba(30,123,190,.08) 36%,transparent 68%)}
.ambient-finish-reward.is-playing{visibility:visible;animation:ambient-finish-backdrop 3.1s ease both}
.ambient-finish-reward.is-playing img{animation:ambient-python-reward 3.05s cubic-bezier(.2,.78,.2,1) both}
.ambient-finish-reward.is-playing .ambient-finish-glow{animation:ambient-finish-glow 3.05s ease both}
@keyframes ambient-python-reward{0%{opacity:0;transform:scale(.08)}18%{opacity:1;transform:scale(1.08)}30%{opacity:1;transform:scale(1)}58%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes ambient-finish-glow{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}22%{opacity:1;transform:translate(-50%,-50%) scale(1)}64%{opacity:.7;transform:translate(-50%,-50%) scale(1.08)}100%{opacity:0;transform:translate(-50%,-50%) scale(.25)}}
@keyframes ambient-finish-backdrop{0%{opacity:0}12%{opacity:1}78%{opacity:1}100%{opacity:0}}
@media(max-width:700px){.ambient-finish-reward img{width:min(62vw,420px)}}
@media(prefers-reduced-motion:reduce){.ambient-finish-reward.is-playing,.ambient-finish-reward.is-playing img,.ambient-finish-reward.is-playing .ambient-finish-glow{animation-duration:.8s}}


/* Main workout page: workout-complete Pyanthon reward */
.workout-finish-reward{position:fixed;inset:0;z-index:300;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 48%,rgba(31,151,224,.16),rgba(2,7,11,.18) 38%,rgba(2,7,11,.62) 100%);overflow:hidden;backdrop-filter:blur(3px)}
.workout-finish-reward img{position:relative;z-index:2;width:min(36vw,480px);max-height:62vh;object-fit:contain;opacity:0;transform:scale(.08);filter:drop-shadow(0 0 18px rgba(70,190,255,.24)) drop-shadow(0 0 80px rgba(38,149,218,.16))}
.workout-finish-glow{position:absolute;left:50%;top:50%;width:min(64vw,850px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;background:radial-gradient(circle,rgba(71,190,255,.22),rgba(30,123,190,.09) 36%,transparent 68%)}
.workout-finish-reward.is-playing{visibility:visible;animation:workout-finish-backdrop 3s ease both}
.workout-finish-reward.is-playing img{animation:workout-python-reward 2.95s cubic-bezier(.2,.78,.2,1) both}
.workout-finish-reward.is-playing .workout-finish-glow{animation:workout-finish-glow 2.95s ease both}
@keyframes workout-python-reward{0%{opacity:0;transform:scale(.06)}18%{opacity:1;transform:scale(1.08)}31%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes workout-finish-glow{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}22%{opacity:1;transform:translate(-50%,-50%) scale(1)}65%{opacity:.7;transform:translate(-50%,-50%) scale(1.08)}100%{opacity:0;transform:translate(-50%,-50%) scale(.25)}}
@keyframes workout-finish-backdrop{0%{opacity:0}12%{opacity:1}78%{opacity:1}100%{opacity:0}}
@media(max-width:700px){.workout-finish-reward img{width:min(62vw,420px)}}
@media(prefers-reduced-motion:reduce){.workout-finish-reward.is-playing,.workout-finish-reward.is-playing img,.workout-finish-reward.is-playing .workout-finish-glow{animation-duration:.8s}}


/* Ambient Display: looping exercise demo video */
.ambient-active-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,32vw);gap:22px;align-items:stretch}
.ambient-active-lower .ambient-now-card{min-width:0}
.ambient-exercise-video{position:relative;min-height:250px;border:1px solid rgba(87,181,242,.2);border-radius:24px;overflow:hidden;background:rgba(2,8,13,.72);box-shadow:0 20px 55px rgba(0,0,0,.24);backdrop-filter:blur(12px)}
.ambient-exercise-video.is-hidden{display:none}
.ambient-video-label{position:absolute;z-index:2;left:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(2,9,14,.72);border:1px solid rgba(108,201,255,.2);color:#a9dcf8;font-size:.65rem;font-weight:900;letter-spacing:.14em;pointer-events:none}
.ambient-video-frame{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.18)}
.ambient-video-frame iframe{width:100%;height:100%;border:0;display:block;object-fit:cover}
@media(max-width:900px){.ambient-active-lower{grid-template-columns:1fr}.ambient-exercise-video{min-height:300px}}


/* Ambient Display: large companion exercise video */
.ambient-active-lower{display:block}
.ambient-active-lower.has-video{display:grid;grid-template-columns:minmax(340px,34vw) minmax(0,1fr);gap:28px;align-items:stretch}
.ambient-active-lower.has-video .ambient-exercise-video{grid-column:1;grid-row:1}
.ambient-active-lower.has-video .ambient-now-card{grid-column:2;grid-row:1}
.ambient-active-lower.has-video .ambient-exercise-video{min-height:clamp(430px,58vh,760px);border-radius:28px}
.ambient-active-lower.has-video .ambient-video-frame iframe{width:100%;height:100%;border:0;display:block}
.ambient-active-lower:not(.has-video) .ambient-now-card{width:100%}
@media(max-width:1000px){.ambient-active-lower.has-video{grid-template-columns:minmax(300px,40vw) minmax(0,1fr);gap:20px}.ambient-active-lower.has-video .ambient-exercise-video{min-height:460px}}
@media(max-width:760px){.ambient-active-lower.has-video{grid-template-columns:1fr}.ambient-active-lower.has-video .ambient-exercise-video,.ambient-active-lower.has-video .ambient-now-card{grid-column:1}.ambient-active-lower.has-video .ambient-exercise-video{grid-row:1;min-height:58vh}.ambient-active-lower.has-video .ambient-now-card{grid-row:2}}

/* Ambient Display: fixed-height 1/3 video + 2/3 live console layout */
.ambient-has-workout .ambient-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.ambient-has-workout .ambient-active-main{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:clamp(12px,2vh,24px) 0 18px;display:flex;align-items:stretch;justify-content:center}
.ambient-workout-layout{width:100%;max-width:1500px;min-height:0;display:grid;grid-template-columns:1fr;gap:clamp(16px,1.8vw,28px);align-items:stretch}
.ambient-active-main.has-video .ambient-workout-layout{grid-template-columns:minmax(280px,1fr) minmax(0,2fr)}
.ambient-workout-console{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:clamp(8px,1.2vh,14px);align-content:stretch}
.ambient-active-main .ambient-active-hero{text-align:left;min-width:0}
.ambient-active-main .ambient-live-label{justify-content:flex-start}
.ambient-active-main .ambient-active-hero h1{margin:5px 0 0;font-size:clamp(1.65rem,3vw,3.7rem);line-height:.95}
.ambient-active-main .ambient-big-time{margin-top:4px;font-size:clamp(4rem,7.2vw,7.8rem);line-height:.82}
.ambient-active-main .ambient-active-hero p{margin:7px 0 0;font-size:clamp(.72rem,1vw,.95rem)}
.ambient-active-main .ambient-metric-grid{width:100%;margin-top:0;gap:8px}
.ambient-active-main .ambient-metric-grid>div{padding:clamp(10px,1.4vh,15px) 12px}
.ambient-active-main .ambient-metric-grid strong{font-size:clamp(1.45rem,2.5vw,2.35rem)}
.ambient-active-main .ambient-now-card{width:100%;margin-top:0;padding:clamp(13px,1.7vh,19px) clamp(15px,1.5vw,22px);min-height:0}
.ambient-active-main .ambient-now-card h2{font-size:clamp(1.45rem,2.5vw,2.5rem);line-height:1;margin:4px 0}
.ambient-active-main .ambient-now-card strong{font-size:clamp(.9rem,1.4vw,1.15rem)}
.ambient-active-main .ambient-now-card small{font-size:clamp(.68rem,.9vw,.86rem)}
.ambient-instructions-card{min-height:0;overflow:hidden;padding:clamp(13px,1.7vh,20px) clamp(15px,1.5vw,22px);border:1px solid rgba(111,164,195,.15);border-radius:18px;background:rgba(7,22,31,.62);backdrop-filter:blur(12px)}
.ambient-instructions-card.is-hidden{display:none}
.ambient-instructions-card>span{display:block;color:#75bfe8;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:8px}
.ambient-instructions-card>div{height:100%;overflow:auto;color:#c1d4df;font-size:clamp(.78rem,1.05vw,1rem);line-height:1.45;white-space:pre-line;padding-right:5px;scrollbar-width:thin}
.ambient-active-main .ambient-exercise-video{display:block;position:relative;width:100%;height:100%;min-height:0;border-radius:26px;overflow:hidden}
.ambient-active-main .ambient-exercise-video.is-hidden{display:none}
.ambient-active-main .ambient-video-frame{position:absolute;inset:0}
.ambient-active-main .ambient-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:900px){.ambient-active-main.has-video .ambient-workout-layout{grid-template-columns:minmax(240px,38%) minmax(0,62%)}.ambient-active-main .ambient-now-card>a{display:none}}
@media(max-width:700px){.ambient-has-workout .ambient-shell{height:auto;min-height:100dvh;overflow:auto}.ambient-has-workout .ambient-active-main{padding-bottom:30px}.ambient-active-main.has-video .ambient-workout-layout{grid-template-columns:1fr}.ambient-active-main .ambient-exercise-video{height:min(48vh,440px);min-height:320px}.ambient-workout-console{grid-template-rows:auto auto auto auto}.ambient-instructions-card>div{overflow:visible}.ambient-active-main .ambient-active-hero{text-align:center}.ambient-active-main .ambient-live-label{justify-content:center}}

/* Display readability: larger form cues on the live gym console. */
.ambient-instructions-card>span{
    font-size:clamp(.78rem,.95vw,.95rem);
    margin-bottom:10px;
}
.ambient-instructions-card>div{
    font-size:clamp(1.08rem,1.55vw,1.55rem);
    line-height:1.5;
}

/* Active workout logo: slightly stronger green breathing glow, still restrained. */
.brand-training-active .brand-energy-wrap img{
    animation:pyanthon-active-logo-stronger-glow 3.1s ease-in-out infinite !important;
}
.brand-training-active .brand-energy-wrap::before{
    background:radial-gradient(circle,rgba(57,217,138,.42) 0,rgba(57,217,138,.20) 42%,transparent 74%) !important;
    filter:blur(10px) !important;
    animation:pyanthon-training-stronger-breathe 3.1s ease-in-out infinite !important;
}
@keyframes pyanthon-active-logo-stronger-glow{
    0%,100%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.28)) drop-shadow(0 0 5px rgba(57,217,138,.20))}
    50%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.28)) drop-shadow(0 0 19px rgba(57,217,138,.72))}
}
@keyframes pyanthon-training-stronger-breathe{
    0%,100%{opacity:.40;transform:scale(.99)}
    50%{opacity:.82;transform:scale(1.04)}
}
@media(prefers-reduced-motion:reduce){
    .brand-training-active .brand-energy-wrap img{animation:none !important;filter:drop-shadow(0 4px 12px rgba(0,0,0,.28)) drop-shadow(0 0 10px rgba(57,217,138,.42))}
    .brand-training-active .brand-energy-wrap::before{animation:none !important;opacity:.52 !important}
}


/* Display demo video: crop portrait videos to fill the panel instead of showing pillarbox bars. */
.ambient-active-main.has-video .ambient-exercise-video { overflow: hidden; background: rgba(2,8,12,.72); }
.ambient-active-main.has-video .ambient-video-frame { overflow: hidden; background: transparent; }
.ambient-active-main.has-video .ambient-video-frame iframe {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
}

/* Exercises browser + About */
.topbar nav{flex-wrap:wrap;justify-content:flex-end;row-gap:8px}
.exercise-browser-hero{max-width:850px}
.exercise-browser-hero p{max-width:760px;font-size:1.05rem;line-height:1.6}
.exercise-browser-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:28px}
.exercise-search-wrap{display:block;min-width:280px;flex:0 1 410px}
.exercise-search-wrap>span{display:block;color:#aab9c4;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.exercise-search-wrap input{width:100%;border:1px solid #355064;background:rgba(5,16,24,.82);color:#f4f8fb;border-radius:13px;padding:12px 14px;font:inherit;outline:none}
.exercise-search-wrap input:focus{border-color:#2aa8ff;box-shadow:0 0 0 3px rgba(42,168,255,.08)}
.exercise-browser-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.exercise-filter-chip{border:1px solid #314957;background:rgba(8,22,31,.82);color:#9cadb9;border-radius:999px;padding:8px 11px;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.exercise-filter-chip.is-active{background:#0b3450;color:#b7e4ff;border-color:#2d7da9}
.exercise-browser-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 14px}
.exercise-browser-heading h2{font-size:2rem;margin:4px 0 0}
.exercise-browser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px}
.exercise-browser-card{display:flex;flex-direction:column;min-height:190px;color:inherit;text-decoration:none;padding:20px;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.exercise-browser-card:hover{transform:translateY(-3px);border-color:#39749a;background:linear-gradient(180deg,#192d3c,#10212d)}
.exercise-browser-card[hidden]{display:none}
.exercise-browser-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.exercise-browser-card h3{font-size:1.22rem;margin:0 0 5px}
.exercise-browser-card-top p{margin:0;color:#8fa1ae;font-size:.86rem}
.exercise-video-mark{flex:none;color:#8bd4ff;border:1px solid rgba(40,166,255,.26);background:rgba(40,166,255,.09);border-radius:999px;padding:5px 8px;font-size:.66rem;font-weight:800}
.exercise-browser-excerpt{color:#a9b8c2;line-height:1.5;font-size:.88rem;margin:17px 0 20px}
.exercise-browser-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.065);font-size:.76rem}
.exercise-browser-card-foot span{color:#8195a3}.exercise-browser-card-foot strong{color:#83ccf7}
.exercise-browser-empty{text-align:center;color:#9dafba;margin-top:12px}
.exercise-info-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.exercise-info-title-row h1{margin-bottom:0}.exercise-info-title-row p{margin:10px 0 0}
.exercise-info-actions{display:flex;gap:8px;flex-wrap:wrap}
.exercise-info-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.exercise-info-layout.no-video{grid-template-columns:1fr}
.exercise-info-video-card{padding:16px}.exercise-info-video{margin-top:12px;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:16px;background:#05090c}.exercise-info-video iframe{width:100%;height:100%;border:0}
.exercise-info-content{display:grid;gap:16px}.exercise-info-content h2{margin:5px 0 14px;font-size:1.45rem}.exercise-info-instructions{font-size:1rem;line-height:1.7;color:#c0ccd4}
.exercise-info-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exercise-info-history-head span{color:#8ea2b0;font-size:.78rem;border:1px solid #304454;padding:5px 8px;border-radius:999px}
.about-hero{max-width:900px}.about-hero p{max-width:820px;font-size:1.12rem;line-height:1.65}
.about-intro{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:center;padding:30px}.about-mark{display:flex;align-items:center;justify-content:center}.about-mark img{width:100%;max-width:190px;filter:drop-shadow(0 0 22px rgba(40,166,255,.18))}.about-intro h2{font-size:2rem;margin:5px 0 12px}.about-intro p{color:#b7c4cc;line-height:1.65;margin:10px 0}
.about-section{margin-top:34px}.about-section-heading{margin-bottom:14px}.about-section-heading h2{font-size:2rem;margin:5px 0 0}
.about-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.about-feature-grid article{position:relative;padding:22px 22px 20px;overflow:hidden}.about-feature-grid article>strong{position:absolute;right:16px;top:10px;color:rgba(68,177,255,.14);font-size:3.5rem;line-height:1;font-weight:900}.about-feature-grid h3{position:relative;margin:0 0 9px;font-size:1.25rem}.about-feature-grid p{position:relative;color:#aebcc6;line-height:1.55;margin:0;padding-right:28px}
.about-how{padding:28px}.about-how h2{font-size:2rem;margin:5px 0 22px}.about-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px}.about-steps>div{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start}.about-steps span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(40,166,255,.11);border:1px solid rgba(40,166,255,.28);color:#83d0ff;font-weight:900}.about-steps p{margin:0;color:#aebcc6;line-height:1.55}.about-steps strong{color:#eef7fb}
.about-credit{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;margin-top:18px}.about-credit h2{margin:5px 0 0;font-size:1.8rem}.about-credit p{max-width:620px;margin:0;color:#aebcc6;line-height:1.6}
@media(max-width:860px){.exercise-browser-tools{align-items:stretch;flex-direction:column}.exercise-browser-filters{justify-content:flex-start}.about-intro{grid-template-columns:150px 1fr;gap:24px}.about-feature-grid{grid-template-columns:1fr}}
@media(max-width:620px){.exercise-browser-grid{grid-template-columns:1fr}.exercise-info-title-row{align-items:flex-start;flex-direction:column}.exercise-info-layout{grid-template-columns:1fr}.exercise-info-video{max-width:360px;margin-left:auto;margin-right:auto}.about-intro{grid-template-columns:1fr;text-align:left}.about-mark{justify-content:flex-start}.about-mark img{max-width:135px}.about-steps{grid-template-columns:1fr}.about-credit{align-items:flex-start;flex-direction:column}.exercise-search-wrap{min-width:0}}


/* Visual background-theme selector */
.theme-selector{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:14px;
}
.theme-option{
    position:relative;
    display:block;
    overflow:hidden;
    border:1px solid rgba(128,168,197,.18);
    border-radius:18px;
    background:rgba(3,11,17,.72);
    cursor:pointer;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.theme-option:hover{
    transform:translateY(-2px);
    border-color:rgba(75,174,238,.48);
}
.theme-option.is-selected{
    border-color:rgba(53,183,255,.82);
    background:rgba(10,43,61,.82);
    box-shadow:0 0 0 2px rgba(40,166,255,.14),0 16px 42px rgba(0,0,0,.24);
}
.theme-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.theme-option-image{
    position:relative;
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#071018;
}
.theme-option-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .22s ease,filter .22s ease;
}
.theme-option:hover .theme-option-image img{transform:scale(1.025)}
.theme-option:not(.is-selected) .theme-option-image img{filter:saturate(.82) brightness(.82)}
.theme-option-check{
    position:absolute;
    right:12px;
    top:12px;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#28a6ff;
    color:#fff;
    font-size:.9rem;
    font-weight:950;
    box-shadow:0 5px 18px rgba(0,0,0,.34);
    opacity:0;
    transform:scale(.75);
    transition:opacity .16s ease,transform .16s ease;
}
.theme-option.is-selected .theme-option-check{
    opacity:1;
    transform:scale(1);
}
.theme-option-meta{
    display:block;
    padding:14px 15px 15px;
}
.theme-option-meta strong{
    display:block;
    color:#f3f8fb;
    font-size:1rem;
}
.theme-option-meta small{
    display:block;
    margin-top:5px;
    color:#8297a6;
    font-weight:500;
    line-height:1.35;
}
.theme-selector-note{
    display:block;
    margin-top:12px;
    color:#708797;
}
@media(max-width:560px){
    .theme-selector{grid-template-columns:1fr}
}


/* Caribbean Ambient FX: soft reflected water light + drifting sea-breeze motes */
.display-caribbean-canvas{
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    pointer-events:none;
    z-index:72;
    opacity:.92;
}
.ambient-display-page.ambient-fx-caribbean-breeze:before{
    background:
        linear-gradient(110deg,rgba(2,8,13,var(--background-overlay-bottom,.82)),rgba(4,13,20,var(--background-overlay-top,.70)) 50%,rgba(3,10,15,var(--background-overlay-bottom,.82))),
        radial-gradient(circle at 50% 38%,rgba(47,183,201,.09),transparent 48%);
}
@media(prefers-reduced-motion:reduce){
    .display-caribbean-canvas{display:none!important}
}


/* Background darkness preference */
.background-darkness-control{
    margin-top:22px;
    padding:18px 18px 15px;
    border:1px solid rgba(128,168,197,.14);
    border-radius:16px;
    background:rgba(3,11,17,.48);
}
.background-darkness-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
}
.background-darkness-heading label{
    color:#dce7ef;
    font-weight:800;
}
.background-darkness-heading strong{
    color:#8ed7ff;
    font-variant-numeric:tabular-nums;
}
.background-darkness-control input[type="range"]{
    width:100%;
    accent-color:#28a6ff;
    cursor:pointer;
}
.background-darkness-scale{
    display:flex;
    justify-content:space-between;
    margin-top:6px;
    color:#718796;
    font-size:.68rem;
    font-weight:700;
}


/* Main navigation contrast over user-adjustable photo backgrounds */
.topbar nav{
    padding:9px 12px;
    border:1px solid rgba(126,162,187,.18);
    border-radius:16px;
    background:rgba(5,14,21,.62);
    box-shadow:0 8px 26px rgba(0,0,0,.16);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.topbar nav a{
    color:#c2d1da;
    text-shadow:0 1px 5px rgba(0,0,0,.42);
}
.topbar nav a:hover{
    color:#fff;
}
@media(max-width:620px){
    .topbar nav{
        padding:8px 10px;
        border-radius:14px;
        background:rgba(5,14,21,.72);
    }
}


/* Recommended background-darkness marker: 80% on a 0–90 slider */
.background-darkness-slider-wrap{
    position:relative;
    padding-top:34px;
}
.background-darkness-recommended{
    position:absolute;
    top:0;
    left:88.8889%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    transform:translateX(-50%);
    color:#8ed7ff;
    white-space:nowrap;
    pointer-events:none;
}
.background-darkness-recommended span{
    font-size:1.05rem;
    line-height:.8;
    font-weight:900;
}
.background-darkness-recommended strong{
    margin-top:3px;
    font-size:.65rem;
    line-height:1;
    font-weight:850;
    letter-spacing:.035em;
    text-transform:uppercase;
}

/* Recommended marker: label above slider, arrow points down to 80% */
.background-darkness-recommended span{
    margin-top:3px;
    font-size:1.05rem;
    line-height:.8;
    font-weight:900;
}
.background-darkness-recommended strong{
    margin-top:0;
}


/* Under the Sea Ambient FX */
.display-undersea-canvas{
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    pointer-events:none;
    z-index:72;
    opacity:1;
}
.ambient-display-page.ambient-fx-undersea:before{
    background:
        linear-gradient(
            110deg,
            rgba(2,8,13,var(--background-overlay-bottom,.82)),
            rgba(4,13,20,var(--background-overlay-top,.70)) 50%,
            rgba(3,10,15,var(--background-overlay-bottom,.82))
        ),
        radial-gradient(circle at 53% 28%,rgba(50,180,220,.10),transparent 48%);
}
@media(prefers-reduced-motion:reduce){
    .display-undersea-canvas{display:none!important}
}


/* Solid-color background themes */
body.time-background.solid-theme{
    background:var(--solid-theme-background,#000) !important;
}
@media(max-width:768px){
    body.time-background.solid-theme{
        background:var(--solid-theme-background,#000) !important;
    }
}
.ambient-display-page.solid-theme{
    background:var(--solid-theme-background,#000) !important;
}
.ambient-display-page.solid-theme:before{
    display:none !important;
}

/* Solid theme cards in Settings */
.theme-option-solid{
    background:var(--theme-solid-color,#000);
}
.theme-solid-swatch{
    display:block;
    width:100%;
    height:100%;
    background:var(--theme-solid-color,#000);
}
.theme-option-solid[style*="#ffffff"]{
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
}
.background-darkness-control.is-hidden{
    display:none;
}


/* Login-only background/layout */
body.login-page{
    min-height:100vh;
}
body.login-page .app-shell{
    display:flow-root;
}

/* Dark halo around the login panel for strong separation from the background. */
body.login-page .auth.card{
    box-shadow:
        0 22px 65px rgba(0,0,0,.70),
        0 0 0 1px rgba(0,0,0,.80),
        0 0 20px rgba(0,0,0,.72),
        0 0 46px rgba(0,0,0,.52),
        0 0 85px rgba(0,0,0,.30);
}

/* Admin dashboard + invitation-code management */
.admin-hero{padding-bottom:14px}
.admin-hero p{max-width:680px}
.admin-subnav{display:inline-flex;gap:5px;padding:5px;margin:0 0 20px;border:1px solid rgba(128,168,197,.16);border-radius:14px;background:rgba(5,15,23,.64);backdrop-filter:blur(10px)}
.admin-subnav a{padding:9px 13px;border-radius:10px;color:#8fa5b3;text-decoration:none;font-size:.8rem;font-weight:850}
.admin-subnav a:hover{color:#e6f5fd;background:rgba(40,166,255,.08)}
.admin-subnav a.is-active{color:#dff4ff;background:rgba(40,166,255,.16);box-shadow:inset 0 0 0 1px rgba(40,166,255,.18)}
.admin-page-actions{margin:0 0 16px}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start}
.admin-dashboard-card{padding:24px}
.admin-dashboard-card h2{margin:5px 0 10px;font-size:1.55rem}
.admin-dashboard-card p{line-height:1.55}
.admin-dashboard-card>.button{margin-top:8px}
.admin-invite-card{border-color:rgba(61,160,221,.25);background:linear-gradient(155deg,rgba(15,39,55,.96),rgba(8,20,29,.96))}
.admin-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.admin-card-heading h2{margin-bottom:0}
.admin-status-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.admin-status-pill.is-configured{color:#9de8bf;border:1px solid rgba(57,217,138,.3);background:rgba(57,217,138,.09)}
.admin-status-pill.is-missing{color:#ffb0b7;border:1px solid rgba(255,93,108,.3);background:rgba(255,93,108,.08)}
.admin-setting-meta{margin:9px 0 0;color:#6f8796;font-size:.72rem}
.admin-setting-form{margin-top:20px;padding-top:20px;border-top:1px solid rgba(128,168,197,.13)}
.admin-setting-actions{margin-top:16px}
.admin-notice{max-width:980px}
.admin-success{max-width:980px;padding:12px 14px;border-radius:12px;color:#b8efd1;background:rgba(32,99,72,.6);border:1px solid rgba(57,217,138,.28);margin-bottom:16px}
.auth-field-note{display:block;margin-top:7px;color:#7f929f;font-size:.72rem;line-height:1.35}
@media(max-width:760px){.admin-dashboard-grid{grid-template-columns:1fr}.admin-card-heading{display:block}.admin-status-pill{margin-top:10px}.admin-subnav{display:flex;width:100%}.admin-subnav a{flex:1;text-align:center}}

