:root{--bg:#080f10;--panel:#101a1c;--panel2:#142024;--border:#26383b;--muted:#9aacaf;--white:#f4faf8;--green:#78f23f;--green2:#3aca33;--gold:#e9b954;--blue:#32b7f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,'Noto Sans Hebrew',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.shell{display:flex;min-height:100vh;direction:rtl}.sidebar{width:220px;flex-shrink:0;background:linear-gradient(160deg,#0a1315,#070c0e);border-left:1px solid #263639;padding:19px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;direction:rtl}.brand{text-align:center;padding:0 0 18px}.brand img{width:93px;height:93px;object-fit:cover;border-radius:24px;display:block;margin:0 auto 7px}.brand b{display:block;font-size:26px;line-height:.9;letter-spacing:1px;direction:ltr;font-style:italic}.brand em{color:var(--green)}.brand small{font-size:9px;color:var(--muted);letter-spacing:2px;display:block;margin-top:9px}nav{display:grid;gap:5px}nav button{border:0;color:#d4dfdf;background:transparent;border-radius:12px;padding:13px 12px;display:flex;align-items:center;gap:12px;text-align:right;font-size:15px}nav button:hover,nav button.active{background:linear-gradient(90deg,#173d20,#15301c);color:var(--green)}nav button.active{box-shadow:inset 0 0 0 1px #4dc13a}nav .ico{font-size:20px;width:24px;text-align:center}.side-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:18px;font-weight:900;letter-spacing:1px;color:#d5dedc}.side-bottom strong,.side-bottom span:first-child{color:var(--green)}.main{min-width:0;flex:1}.content{max-width:1650px;margin:auto;padding:22px 24px 28px}.mobilebar{display:none}.hero{min-height:290px;display:grid;grid-template-columns:1.7fr 1fr;gap:15px;margin-bottom:15px}.hero-main{position:relative;border:1px solid var(--border);border-radius:21px;overflow:hidden;background:linear-gradient(270deg,rgba(4,11,11,.10),rgba(4,11,11,.75) 52%,#071113 94%),url('assets/hero-athlete.jpg') center 25%/cover}.hero-main:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,12,9,.5),transparent 65%);pointer-events:none}.hero-copy{position:relative;z-index:1;padding:30px 33px;max-width:490px}.hero h1{direction:ltr;text-align:right;font-size:clamp(34px,5vw,68px);font-weight:1000;font-style:italic;line-height:.89;margin:0 0 18px;letter-spacing:-2px}.hero h1 span{color:var(--green)}.hero .tagline{font-size:18px;color:#d2f5c7;font-weight:700}.hero .quote{font-size:15px;color:#d0dad5;margin-top:26px}.profile-panel{display:grid;gap:10px}.profile-card,.stats-grid .stat,.card{border:1px solid var(--border);border-radius:17px;background:linear-gradient(150deg,#121b1e,#0a1214)}.profile-card{padding:16px}.profile-head{display:flex;align-items:center;gap:13px}.avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;border:2px solid #477b3e}.profile-head h2{font-size:23px;margin:0 0 5px}.profile-head p{margin:0;color:var(--muted)}.level-line{display:flex;justify-content:space-between;align-items:center;margin:13px 0 6px;font-size:13px}.gold{color:var(--gold)}.meter{height:11px;background:#253236;border-radius:100px;overflow:hidden}.meter>span{display:block;height:100%;background:linear-gradient(90deg,#37bc32,#87f948);border-radius:100px;transition:width .3s}.meter.blue>span{background:linear-gradient(90deg,#168ae2,#30c2f6)}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.stat{text-align:center;padding:12px 3px}.stat .ico{font-size:21px;color:var(--green)}.stat b{display:block;font-size:23px;margin:4px 0}.stat small{font-size:11px;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:13px}.tile{min-height:210px;position:relative;overflow:hidden;border-radius:17px;border:1px solid #3b4745;background:#101c1c;padding:19px;display:flex;flex-direction:column;justify-content:flex-end}.tile:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061010 0%,rgba(5,12,12,.65) 55%,rgba(5,12,12,.1) 100%)}.tile .tile-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.75}.tile>*:not(.tile-bg){position:relative}.tile h3{margin:0 0 6px;font-size:24px}.tile p{margin:0 0 12px;color:#e0e8e5;font-size:13px;min-height:32px}.btn{border:0;border-radius:11px;background:linear-gradient(180deg,#92fa50,#48d334);color:#092009;padding:11px 17px;font-weight:900;min-height:42px}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:#192528;color:#eef7f4;border:1px solid #3a4b4d}.btn.warn{background:#3b2619;color:#ffdaae;border:1px solid #7b4a2a}.btn.small{font-size:13px;padding:7px 10px;min-height:34px}.btn:disabled{opacity:.45;cursor:not-allowed}.section-grid{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:13px;margin-bottom:13px}.card{padding:17px;min-width:0}.card h3,.section-heading{font-size:17px;margin:0 0 13px}.card h3 .accent{color:var(--green)}.exercise-preview{display:flex;gap:18px;align-items:center}.exercise-preview img{width:31%;max-width:220px;border-radius:11px;object-fit:contain;background:#d5d5d5}.exercise-preview .details{flex:1}.exercise-preview h4{font-size:22px;margin:0 0 10px}.exercise-preview p,.muted{color:var(--muted);line-height:1.6}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.metric-big{font-size:27px;font-weight:900;margin:8px 0}.metric-big small{font-size:14px;font-weight:400;color:var(--muted)}.quick-items{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:15px}.quick{border:1px solid #263638;background:#0b1416;color:#e8f1ee;border-radius:10px;padding:8px 3px;text-align:center;min-width:0}.quick:hover{border-color:var(--green)}.quick .emoji{font-size:24px;display:block;margin-bottom:6px}.quick b{display:block;font-size:14px}.quick small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.bottom-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:13px}.records{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.record{padding:12px;background:#0a1416;border:1px solid #27383b;border-radius:12px}.record b{font-size:22px;display:block;margin:7px 0}.record small{color:var(--muted)}.weekbars{display:flex;gap:12px;align-items:end;height:125px;padding-top:12px}.weekbars>div{flex:1;text-align:center;font-size:12px;color:var(--muted)}.bar{height:95px;display:flex;align-items:end;justify-content:center;margin-bottom:6px;background:#172326;border-radius:7px}.bar span{width:100%;background:linear-gradient(#8df65b,#3eb93e);border-radius:7px 7px 0 0;min-height:0}.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.badge-card{text-align:center;background:#0a1416;border:1px solid #27383b;border-radius:11px;padding:12px 4px}.badge-card .symbol{font-size:32px}.badge-card b{display:block;font-size:12px;margin-top:5px}.badge-card small{color:var(--muted);font-size:11px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.page-title h1{font-size:30px;margin:0 0 5px}.page-title p{margin:0;color:var(--muted)}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:12px 0}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:130px}.field label{font-size:12px;color:var(--muted)}input,select,textarea{border:1px solid #375056;background:#0a1416;color:var(--white);border-radius:9px;padding:11px;max-width:100%;min-width:0}textarea{width:100%;min-height:90px}.list-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #28383b}.list-row:last-child{border-bottom:0}.list-row p{color:var(--muted);font-size:12px;margin:5px 0}.chip{display:inline-block;border:1px solid #385a42;border-radius:20px;padding:4px 9px;color:#a5ef92;font-size:12px}.pill{padding:5px 9px;border-radius:20px;background:#183821;color:#8df86d;font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day{border:1px solid #324447;background:#0d181a;border-radius:12px;padding:11px;min-height:165px}.day.today{border-color:var(--green)}.day h4{margin:0 0 9px;font-size:14px}.day small{color:var(--muted)}.day .event{font-size:12px;margin:6px 0;background:#20352b;padding:6px;border-radius:6px;word-break:break-word}.day .event.match{background:#483a1b}.day .event.gym{background:#203047}.day button{font-size:12px;margin-top:8px}.notice{background:#20301f;border:1px solid #43673e;border-radius:11px;padding:12px 15px;margin:12px 0;color:#c6f4ba}.hint{font-size:12px;color:var(--muted)}.toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%) translateY(20px);background:#2c6330;color:#fff;border-radius:12px;padding:12px 20px;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}footer{text-align:center;color:#60787b;font-size:11px;padding:10px 15px 23px}.empty{color:var(--muted);padding:15px;border:1px dashed #355054;border-radius:11px}.hide{display:none!important}.big-count{font-size:60px;font-weight:900;color:var(--green);text-align:center;padding:16px}.subtle{font-size:13px;color:var(--muted)}@media(max-width:1180px){.hero{grid-template-columns:1.2fr 1fr}.tiles{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr 1fr}.section-grid .exercise-card{grid-column:1/-1}.bottom-grid{grid-template-columns:1fr 1fr}.bottom-grid .last{grid-column:1/-1}.calendar{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;z-index:10;right:0;top:0;height:100vh;transform:translateX(110%);transition:.25s;box-shadow:-10px 0 30px #0009}.sidebar.open{transform:none}.mobilebar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#0a1214;z-index:9}.mobilebar img{height:37px;width:37px;border-radius:10px}.mobilebar b{direction:ltr}.mobilebar span{color:var(--green)}.ghost{margin-right:auto;background:transparent;color:white;border:1px solid var(--border);padding:6px 10px;border-radius:8px}.content{padding:13px}.hero{grid-template-columns:1fr}.hero-main{min-height:260px;background-position:58% center}.hero-copy{padding:25px 18px}.hero h1{font-size:47px}.hero .tagline{font-size:14px}.stats-grid{grid-template-columns:repeat(3,1fr)}.section-grid,.bottom-grid,.two-col{grid-template-columns:1fr}.section-grid .exercise-card,.bottom-grid .last{grid-column:auto}.tiles{grid-template-columns:1fr 1fr;gap:8px}.tile{min-height:185px;padding:12px}.tile h3{font-size:18px}.tile p{font-size:12px}.calendar{grid-template-columns:1fr 1fr}.day{min-height:140px}.page-title h1{font-size:25px}.exercise-preview{align-items:flex-start}.exercise-preview img{width:37%}}@media(max-width:420px){.tiles{grid-template-columns:1fr}.tile{min-height:145px}.calendar{grid-template-columns:1fr}.quick-items{grid-template-columns:repeat(2,1fr)}}
/* Workout v2 */
.active-exercise{background:rgba(91,240,80,.09);border-radius:12px;padding:10px}
.choice-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.exercise-illustration{background:radial-gradient(circle at 50% 30%,#1e332b,#09130f 75%);border:1px solid #315541;border-radius:20px;overflow:hidden;text-align:center;padding:12px}
.exercise-illustration svg{width:100%;height:auto;max-height:290px}
.demo-caption{font-weight:800;color:#80ff60}.demo-note{font-size:12px;color:#a7bdb0}
.motion-svg .moving-body{transform-origin:240px 255px;animation:exercise-squat 2.6s ease-in-out infinite alternate}
.motion-row .moving-body{animation-name:exercise-row}.motion-press .moving-body{animation-name:exercise-press}.motion-calf .moving-body{animation-name:exercise-calf}.motion-core .moving-body{animation-name:exercise-core}
@keyframes exercise-squat{from{transform:translateY(0) scaleY(1)}to{transform:translateY(20px) scaleY(.78)}}
@keyframes exercise-row{from{transform:translateX(-12px) rotate(-7deg)}to{transform:translateX(12px) rotate(7deg)}}
@keyframes exercise-press{from{transform:translateY(8px)}to{transform:translateY(-18px)}}
@keyframes exercise-calf{from{transform:translateY(0)}to{transform:translateY(-22px)}}
@keyframes exercise-core{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.motion-svg.free .equipment{opacity:.2}.motion-svg.machine .equipment{opacity:1}
.set-pills{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.set-pill{padding:8px 12px;border:1px solid #476454;border-radius:10px}.set-pill.done{background:#226c36;color:white}
.rest-screen{padding:15px;background:#123322;border-radius:14px;text-align:center;margin-top:12px}.rest-screen .big-count{font-size:40px;font-weight:900;color:#82ff4c;margin:10px}
.exercise-editor{border-top:1px solid #385c45;margin-top:18px;padding-top:16px}.exercise-editor.hide{display:none}
#profilePhotoInput{max-width:100%}
@media(prefers-reduced-motion:reduce){.motion-svg .moving-body{animation:none}}

/* Static exercise diagrams — animations intentionally disabled */
.motion-svg,.moving-body{animation:none!important}
.exercise-illustration{padding:16px;text-align:right}
.exercise-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.exercise-visual-grid figure{margin:0;min-width:0;border:1px solid #31483f;background:#111d1d;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.exercise-visual-grid img{display:block;width:100%;height:260px;object-fit:contain;background:#13201d}
.exercise-visual-grid .anatomy-panel img{background:#e9edeb}
.exercise-visual-grid figcaption{font-size:12px;text-align:center;color:#a9c7b4;padding:9px}
@media(max-width:580px){.exercise-visual-grid{grid-template-columns:1fr}.exercise-visual-grid img{height:245px}}

/* AMIT TRAINER 2.0 – dedicated exercise page */
.exercise-page{max-width:1440px;margin:auto}.exercise-top{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}.exercise-head{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(130deg,#102b1b,#050b09 70%);border:1px solid #31593a;border-radius:25px;overflow:hidden;min-height:320px;margin-bottom:16px}.exercise-heading{padding:32px;display:flex;flex-direction:column;justify-content:center}.exercise-heading .eyebrow{color:#79f96c;font-size:12px;letter-spacing:2px}.exercise-heading h1{font-size:clamp(38px,5vw,68px);margin:10px 0;color:#fff;line-height:1.15}.exercise-heading p{font-size:15px;line-height:1.9;max-width:650px;color:#c7d8cd}.exercise-main-photo{min-height:300px;background:#19271e}.exercise-main-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.benefits span{border:1px solid #30553a;border-radius:25px;padding:7px 11px;color:#a9e8b0;background:#0b1d13}.exercise-content{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.9fr);gap:16px;align-items:start}.exercise-primary,.exercise-side{display:grid;gap:16px}.exercise-section{padding:20px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.exercise-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.exercise-photo-grid figure{margin:0;border-radius:16px;overflow:hidden;background:#f0f0ed;display:flex;flex-direction:column}.exercise-photo-grid img{width:100%;height:260px;object-fit:contain}.exercise-photo-grid figcaption{color:#eafaea;background:#101d16;padding:12px;text-align:center;font-weight:bold}.technique{display:grid;grid-template-columns:1fr 1fr;gap:20px;line-height:1.8;color:#c4d5ca}.technique b{color:#a2fa85}.exercise-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.exercise-numbers>div{background:#0b1a12;border:1px solid #2a4634;border-radius:13px;text-align:center;padding:15px 6px}.exercise-numbers b{display:block;font-size:32px;color:#7cf56c}.exercise-numbers span{font-size:12px;color:#b4c7b7}.session-box{border-color:#3d7c48}.session-box .set-pills{margin:16px 0}.current-set{font-size:24px;font-weight:800;margin:20px 0;text-align:center}.exercise-countdown{text-align:center;font-size:54px;font-weight:900;color:#85ff65;margin:20px 0}.session-box .wide{width:100%;margin-top:10px;min-height:50px}.next-ex{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #284232}.next-ex>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#173723;color:#8afa7d}.next-ex small{display:block;color:#a4b6aa;margin-top:4px}@media(max-width:1000px){.exercise-content{grid-template-columns:1fr}.exercise-head{grid-template-columns:1fr 1fr}}@media(max-width:650px){.exercise-head{grid-template-columns:1fr}.exercise-main-photo{height:230px;min-height:230px}.exercise-heading{padding:22px}.exercise-photo-grid img{height:185px}.technique{grid-template-columns:1fr}.exercise-section{padding:15px}}

/* Version 2.0: focused training, no page jump, prominent sets, soccer-ball rest clock */
.workout-focus-slot.active{position:sticky;top:10px;z-index:7;margin:0 0 18px;scroll-margin-top:10px}
.workout-focus-slot.active .session-box{background:linear-gradient(125deg,#0a2213,#08100d);border:2px solid #64ed56;box-shadow:0 8px 32px #000b;padding:17px 22px}
.workout-focus-slot.active .session-box h3{font-size:23px;margin:0 0 9px}
.workout-focus-slot.active .set-pills{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.workout-focus-slot.active .set-pill{font-size:20px;font-weight:900;padding:12px 20px;border:2px solid #41694c;border-radius:13px;background:#0c1c12;min-width:90px;text-align:center}
.workout-focus-slot.active .set-pill.current{border-color:#8cff71;background:#234d25;color:white;box-shadow:0 0 18px #64e65277}
.workout-focus-slot.active .set-pill.done{background:#255a2c;border-color:#8cff71;color:#eaffdf}
.workout-focus-slot.active .current-set{font-size:25px;margin:8px 0}
.workout-focus-slot.active .btn.wide{max-width:460px;font-size:19px;min-height:54px}
.ball-timer{position:relative;width:min(240px,55vw);height:min(240px,55vw);margin:10px auto 16px;display:grid;place-items:center}
.ball-timer img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:4px solid #83f76b;box-shadow:0 0 30px #58f34e44}
.ball-time{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;background:#07140ce8;border:2px solid #8aff6a;border-radius:14px;min-width:95px;padding:3px 12px;line-height:1.08;color:white;box-shadow:0 4px 20px #000a}
.ball-time span{font-size:43px;font-weight:950;font-variant-numeric:tabular-nums}
.ball-time small{font-size:13px;color:#b3ff9f}
@media(max-width:650px){.workout-focus-slot.active{top:60px}.workout-focus-slot.active .session-box{padding:12px}.workout-focus-slot.active .set-pill{font-size:17px;padding:8px 12px;min-width:70px}.ball-timer{width:155px;height:155px;margin:4px auto 8px}.ball-time span{font-size:31px}.workout-focus-slot.active .session-box h3{font-size:19px}.workout-focus-slot.active .btn.wide{min-height:43px;font-size:16px}}

/* V2.1: intentional exercise start and 1 football per rest second */
.exercise-launch{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:24px 28px;margin-bottom:20px;border:2px solid #75f35b;border-radius:20px;background:linear-gradient(125deg,#0b2513,#08130d);box-shadow:0 10px 30px #0007}
.exercise-launch h2{font-size:clamp(21px,2.5vw,29px);margin:6px 0}.exercise-launch p{color:#bfd2c3;margin:0}.exercise-launch .eyebrow{color:#8aff6b;font-weight:800}.start-session-btn{min-width:250px;min-height:64px;font-size:21px;font-weight:900;box-shadow:0 0 22px #62fa5260}
.rest-arena{border:1px solid #326b3b;border-radius:20px;padding:20px;background:radial-gradient(ellipse at center,#123d1b,#07120c 72%)}
.grass-clock{position:relative;max-width:420px;margin:0 auto 18px;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;border-radius:22px;border:3px solid #a5ff76;background:repeating-linear-gradient(170deg,#1b852e 0px,#1b852e 18px,#18752a 18px,#18752a 36px);box-shadow:inset 0 7px 22px #06200d99,inset 0 -12px 20px #03210c,0 14px 22px #0009}
.grass-clock:after{content:'';position:absolute;inset:12px;border:2px solid #c2ffa64f;border-radius:15px;pointer-events:none}
.grass-clock-label{position:relative;z-index:1;font-size:16px;font-weight:900;text-shadow:0 2px 5px #002b0b}.grass-clock-time{position:relative;z-index:1;display:flex;align-items:baseline;gap:12px;text-shadow:0 5px 2px #063d13,0 8px 13px #001c06}.grass-clock-time span{font-size:clamp(65px,9vw,110px);font-weight:1000;font-variant-numeric:tabular-nums;line-height:1.15;color:white}.grass-clock-time small{font-size:21px;font-weight:800;color:#edffe5}
.balls-heading{text-align:center;color:#d7ffce;font-weight:800;font-size:16px;margin:12px 0}.rest-balls{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;justify-items:center;max-width:900px;margin:0 auto;padding:16px;border-radius:15px;background:linear-gradient(#091b0e,#103119);border:1px solid #285a32}.rest-ball{width:100%;max-width:56px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid #d7e7cd77;box-shadow:0 3px 5px #0008;transition:opacity .15s,transform .15s}.rest-ball.expired{opacity:0;transform:scale(.1);visibility:hidden}
@media(min-width:1050px){.rest-balls{grid-template-columns:repeat(12,minmax(0,1fr))}}
@media(max-width:650px){.exercise-launch{padding:18px;gap:14px}.start-session-btn{width:100%;min-width:0}.rest-arena{padding:10px}.rest-balls{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:9px}.grass-clock{min-height:150px}.grass-clock-time span{font-size:75px}.workout-focus-slot.active{position:relative;top:auto}.workout-focus-slot.active .session-box{padding:16px}}

/* V2.4 photographic pitch rest arena and official match ball countdown */
.rest-arena{background:linear-gradient(180deg,#071b0ab8,#08240db0),url('assets/real-grass.jpg') center / cover;border:2px solid #71f04e;box-shadow:inset 0 0 45px #000b,0 12px 35px #0007}
.grass-clock{background:linear-gradient(180deg,#05210a77,#062e11bb),url('assets/real-grass.jpg') center / cover;border:3px solid #b2ff8b;box-shadow:inset 0 0 35px #00160699,0 9px 25px #0009;max-width:550px;min-height:235px}
.grass-clock-time span{font-size:clamp(90px,12vw,158px);text-shadow:0 5px 0 #144d1c,0 10px 14px #001900;line-height:1.08}
.grass-clock-label{font-size:20px}.whistle-note{position:relative;z-index:1;font-size:12px;font-weight:700;color:#e3ffd7;margin-top:8px}
.rest-balls{background:linear-gradient(180deg,#0b1d0a66,#102b0d80),url('assets/real-grass.jpg') center / cover;border:1px solid #81db69;max-width:1100px;gap:7px}
.rest-ball{max-width:67px;border-radius:50%;object-fit:cover;object-position:center;border:2px solid #f3ffe6;box-shadow:0 3px 10px #000b,0 0 5px #d2ff9677}
.rest-ball.expired{opacity:0;transform:scale(.25);visibility:hidden}
@media(max-width:650px){.grass-clock{min-height:195px}.grass-clock-time span{font-size:100px}.rest-ball{border-width:1px}.rest-balls{gap:4px}}

/* Clear repetitions in the live workout focus, including rest state */
.reps-focus{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:linear-gradient(125deg,#14341c,#091a10);border:2px solid #79f968;border-radius:18px;padding:15px 20px;margin:12px auto;max-width:580px;text-align:center;color:#fff;font-size:clamp(17px,2vw,24px);font-weight:800;box-shadow:0 0 20px #4eff4a22}.reps-focus strong{font-size:clamp(56px,8vw,90px);line-height:1;color:#83ff5c;font-variant-numeric:tabular-nums;text-shadow:0 0 15px #54fb5b44}.workout-focus-slot.active .reps-focus{max-width:740px}.workout-focus-slot.active .current-set{font-size:clamp(24px,3vw,38px);color:#c6ffc3}.exercise-photo-grid img{object-fit:contain;background:#f0f0ed}

/* Modular exercise builder */
.modular-exercise{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.modular-detail{flex:1;min-width:190px}.modular-actions{display:flex;gap:7px;flex-wrap:wrap}.exercise-select{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:46px;cursor:pointer;flex-shrink:0}.exercise-select input{position:absolute;inset:0;opacity:0;cursor:pointer}.checkmark{display:grid;place-items:center;width:38px;height:38px;border:2px solid #587561;border-radius:12px;color:transparent;font-weight:900;font-size:23px;transition:.2s}.exercise-select input:checked+.checkmark{background:#68ee40;border-color:#a4ff85;color:#0b210e;box-shadow:0 0 15px #56ed5060}.exercise-select input:focus-visible+.checkmark{outline:3px solid white;outline-offset:3px}@media(max-width:720px){.modular-actions{width:100%}.modular-actions .btn{flex:1}}

/* Speed training module */
.speed-grid{display:grid;grid-template-columns:minmax(310px,1fr) minmax(340px,1.2fr);gap:18px;align-items:start}.speed-line{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff18}.speed-line>div{flex:1}.speed-line small{display:block;color:#aeb8af;margin-top:5px}.speed-detail{position:relative}.speed-dose{border:1px solid #79e85d;border-radius:14px;background:#11351d;padding:18px;font-size:23px;font-weight:900;color:#a8ff8e;margin:18px 0}.speed-detail h3{margin:18px 0 7px}.speed-session{border:1px solid #70ef4d;border-radius:18px;padding:20px;margin-top:22px;text-align:center;background:linear-gradient(135deg,#0b2613,#07170c)}.speed-big{font-size:clamp(42px,7vw,74px);font-weight:900;color:#a0ff7c;font-variant-numeric:tabular-nums}.speed-clock{font-size:90px}@media(max-width:850px){.speed-grid{grid-template-columns:1fr}}

.hill-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.hill-visuals>div{background:#101c16;border:1px solid #335b39;border-radius:14px;overflow:hidden;text-align:center}.hill-visuals img{display:block;width:100%;height:220px;object-fit:cover;object-position:center}.hill-visuals b{display:block;padding:10px;font-size:14px}.hill-settings{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.hill-settings label{display:flex;flex-direction:column;gap:6px;font-weight:700}.hill-settings select{background:#11251a;color:white;border:1px solid #6fd858;border-radius:8px;padding:9px}@media(max-width:650px){.hill-visuals{gap:5px}.hill-visuals img{height:145px}.hill-visuals b{font-size:11px;padding:7px 3px}}

/* Sprint GPS module */
.gps-card{margin-bottom:18px}.gps-live{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:14px;background:#0b2417;border:1px solid #356c40;border-radius:14px;margin:12px 0}.gps-live strong{font-size:2rem;color:#8df36b}.gps-live span{font-weight:700}.gps-live small{flex-basis:100%;color:#a6b8ac}.gps-card .list-row{gap:14px;flex-wrap:wrap}

/* GPS connect and workout monitoring */
.gps-live{display:flex;flex-direction:column;align-items:stretch;gap:12px}.gps-indicator{display:flex;gap:12px;align-items:center;font-size:1.1rem}.gps-dot{height:14px;width:14px;border-radius:50%;background:#d44747;box-shadow:0 0 10px #d44747}.gps-dot.on{background:#78f054;box-shadow:0 0 10px #78f054}.gps-quality{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px}.gps-quality>b{font-size:1.5rem;color:#8df36b}.gps-quality small{grid-column:1/-1}.gps-track{height:15px;background:#22352b;border-radius:10px;overflow:hidden}.gps-track span{display:block;height:100%;background:linear-gradient(90deg,#d45d3e,#ebce43,#67e944);transition:width .3s}.gps-measures{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:10px;border:1px solid #346c43;border-radius:12px}.gps-measures strong{font-size:2.1rem;color:#8df36b}.gps-measures span{font-weight:700}

/* Dedicated full-viewport speed workout focus: no scrolling required */
.speed-focus-overlay{position:fixed;inset:0;z-index:2000;background:radial-gradient(ellipse at center,#17482c 0%,#06150d 65%,#020907 100%);overflow-y:auto;display:flex;justify-content:center;align-items:center;padding:18px;color:white;direction:rtl}
.speed-focus-inner{width:min(920px,100%);border:2px solid #66ed53;border-radius:24px;padding:clamp(18px,3vw,34px);background:rgba(0,0,0,.40);box-shadow:0 0 80px #41c54d28}
.speed-focus-top{display:flex;align-items:start;justify-content:space-between;gap:16px}.speed-focus-top h2{font-size:clamp(24px,4vw,42px);margin:8px 0}.speed-focus-top p,.speed-focus-top small{color:#c5d8cb}
.speed-focus-sets{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.speed-focus-pill{border:2px solid #345441;padding:12px 18px;border-radius:12px;font-weight:800;font-size:20px}.speed-focus-pill.current{background:#65e748;color:#09220d;border-color:#b2ff8a;box-shadow:0 0 18px #65e74880}.speed-focus-pill.completed{background:#245e31;border-color:#62d55c}
.speed-focus-stage{text-align:center;border-radius:24px;padding:20px;background:linear-gradient(140deg,#245c22,#0c3017 60%,#143c19);border:1px solid #63bf5c;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center}.speed-focus-caption{font-size:clamp(20px,3vw,28px);font-weight:800}.speed-focus-time{font-size:clamp(100px,22vw,210px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 32px #78f25755}.speed-focus-unit{font-size:25px}.speed-focus-status{margin-top:14px;font-size:clamp(16px,2vw,22px);color:#d6f7ce}.speed-focus-actions{display:flex;justify-content:center;margin:22px 0}.speed-focus-actions .btn{font-size:24px;padding:18px 38px;min-width:270px}.speed-focus-foot{text-align:center;color:#b8c9bc;font-size:13px}
@media(max-width:600px){.speed-focus-overlay{padding:8px}.speed-focus-inner{padding:14px}.speed-focus-top{flex-direction:column}.speed-focus-sets{gap:5px}.speed-focus-pill{font-size:15px;padding:8px 10px}.speed-focus-stage{min-height:220px}.speed-focus-actions .btn{width:100%;min-width:0}}

.lab-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:16px 0}.lab-metrics>div{background:#10291a;border:1px solid #315a38;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:7px}.lab-metrics b{font-size:1.35rem;color:#9af368}.lab-metrics small{color:#c4d5c8}.lab-metrics+label{display:block;margin-top:12px}

/* Keep all navigation options visible on shorter screens. */
.sidebar{overflow-y:auto;scrollbar-width:thin}.sidebar nav{flex-shrink:0}.sidebar .side-bottom{flex-shrink:0}

/* Home dashboard: distinct inspirational photography on each navigation card. */
.tiles .tile{isolation:isolate;min-height:245px;}
.tiles .tile .tile-bg{opacity:1;background-size:cover;background-position:center 42%;z-index:0;transition:transform .35s ease;}
.tiles .tile::before{z-index:1;background:linear-gradient(0deg,rgba(2,12,9,.96) 0%,rgba(2,12,9,.81) 29%,rgba(2,12,9,.30) 72%,rgba(2,12,9,.10) 100%);}
.tiles .tile>*:not(.tile-bg){z-index:2;}
.tiles .tile h3{text-shadow:0 2px 8px #000c;}
.tiles .tile p{text-shadow:0 1px 4px #000f;}
@media(hover:hover){.tiles .tile:hover .tile-bg{transform:scale(1.045);}}
@media(max-width:760px){.tiles .tile{min-height:205px;}}
@media(max-width:420px){.tiles .tile{min-height:185px;}}
