:root{--navy:#031a31;--teal:#00a9df;--mint:#65ddff;--bg:#041426;--ink:#eef8ff;--muted:#9eb7ce;--line:#20425d}body{background:radial-gradient(ellipse at 15% 5%,#103a59 0,transparent 45%),#041426;color:var(--ink)}.sidebar{background:linear-gradient(180deg,#051b30,#020f1f);border-left:1px solid #26455e}.logo{font-weight:900;font-style:italic;letter-spacing:2px}.logo small{font-style:normal;color:#5cd8ff}.mark{border-color:#247aa2;color:#4ddcff;background:#0b2b45}.sidefoot{color:#8eaac0}nav button{color:#a9c1d6}nav button.active{color:#65ddff;background:linear-gradient(90deg,#0a253e,#104563);box-shadow:inset -3px 0 #55d4ff}.eyebrow{color:#66d9ff}.chip{background:#0d2b43;border-color:#27506d;color:#c5dff0}h1{color:white}h2{color:#f2f9ff}.panel,.card,.stat{background:linear-gradient(135deg,#102f49e8,#061c30f5);border-color:#244860;box-shadow:0 10px 30px #00000018}.stat{border-top:2px solid #36bfed}.stat strong{color:#65dcff}.stat small{color:#a2bacd}.btn{background:linear-gradient(120deg,#00b5e3,#0875c3);color:white;font-weight:bold}.btn.light{background:linear-gradient(120deg,#6ae2ff,#09a6e0);color:#031a31}.btn.secondary{color:#d7f4ff;background:#0b2941;border-color:#28546f}.avatar{background:#10425a;color:#75e3ff}.tag{color:#70dfff;background:#0e3c54}.listrow{border-color:#234057}.progress{background:#102f48}.progress i{background:linear-gradient(90deg,#0079be,#5bdfff)}.notice{color:#bbd9ec;background:#0a2338;border-color:#38c9f3}input,select,textarea{color:#ecf7ff;background:#09233a;border-color:#34556d;color-scheme:dark}input::placeholder{color:#8da9bc}dialog{background:#08233b;color:white;border:1px solid #316484}dialog h2{color:white}.close{background:#163c55;color:#d0efff}.exercise{background:#10314a}.toast{border:1px solid #3cbfef}.hero{display:grid;grid-template-columns:1fr 48%;padding:0;min-height:430px;border:1px solid #346484;border-radius:18px;background:linear-gradient(130deg,#103b59,#021426);isolation:isolate}.hero:after{display:none}.hero-copy{padding:40px 34px;align-self:center;z-index:3}.hero h2{max-width:100%;font-size:clamp(30px,3.5vw,50px);font-weight:900;line-height:1.45;margin:17px 0}.hero h2 em{font-style:normal;color:#57d8ff;text-shadow:0 3px 20px #009bdd44}.hero p{font-size:14px;line-height:1.9;color:#b9d3e5}.hero-visual{position:relative;overflow:hidden;min-height:430px;grid-column:2;grid-row:1;background:#264d65}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 52%}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(270deg,#08263f 0%,transparent 35%),linear-gradient(0deg,#02172ee8,transparent 45%);pointer-events:none}.hero-caption{position:absolute;bottom:25px;left:25px;right:25px;z-index:2;font-weight:900;letter-spacing:3px;font-size:20px;color:white;text-shadow:0 2px 10px #000}.hero-caption small{display:block;color:#82defb;font-size:10px;letter-spacing:3px;margin-top:8px}.team-stripe{height:3px;width:72px;margin:16px 0;background:linear-gradient(to right,#e72d40 0 33%,#fff 33% 66%,#00824c 66%)}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.identity-card{display:grid;grid-template-columns:155px 1fr;gap:24px;background:#08253f;border:1px solid #2f5d7a;border-radius:14px;overflow:hidden;margin:24px 0}.identity-card img{width:155px;height:210px;object-fit:cover;object-position:left center}.identity-copy{align-self:center;padding:22px 0 22px 24px}.identity-copy h2{font-size:24px;color:#6adaff;margin-bottom:9px}.identity-copy p{font-size:13px;color:#b0cadc;margin:0 0 16px}.photo-dialog{width:min(760px,96vw)}.photo-dialog img{display:block;width:100%;height:auto;margin-top:15px}.badge{color:#77e0ff}.btn:hover{filter:brightness(1.12)}@media(min-width:1500px){.hero{min-height:490px}.hero-visual{min-height:490px}}@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-visual{grid-column:1;grid-row:1;height:300px;min-height:300px}.hero-visual img{object-position:center 53%}.hero-visual:after{background:linear-gradient(0deg,#08263f,transparent 45%)}.hero-copy{grid-row:2;padding:24px}.hero h2{font-size:32px}.hero-caption{bottom:30px}.identity-card{grid-template-columns:110px 1fr;gap:15px}.identity-card img{width:110px;height:210px}.identity-copy{padding:16px 0 16px 15px}.identity-copy h2{font-size:19px}}@media(max-width:650px){.sidebar{border-top:1px solid #305873;background:#04192ef5;backdrop-filter:blur(16px)}.hero{border-radius:14px}.hero-visual{height:290px;min-height:290px}.hero-copy{padding:8px 22px 25px}.hero h2{font-size:32px;margin:12px 0}.hero p{font-size:13px}.hero-caption{font-size:17px}.hero-copy .badge{font-size:10px}.identity-card img{height:230px}.identity-copy h2{font-size:18px}header .chip{max-width:130px;font-size:10px}}

/* Team identity panel */
.coach-role{display:block;font-size:10px;text-align:center;margin-top:5px;color:#86bad6}.chip b{font-size:12px;white-space:nowrap}.hero-visual{background:radial-gradient(ellipse at 50% 40%,#114e70 0%,#06223b 60%,#03172a 100%);display:flex;align-items:center;justify-content:center}.hero-visual:after{background:repeating-radial-gradient(ellipse at 15% 120%,transparent 0 35px,#48b9e014 36px 37px,transparent 38px 65px);pointer-events:none}.team-emblem{position:relative;z-index:2;text-align:center;width:90%;padding-bottom:50px;transform:rotate(-4deg)}.emblem-country{font-size:clamp(22px,3vw,38px);letter-spacing:9px;display:block;color:#e7f7ff;font-weight:900;font-style:italic}.team-emblem strong{display:block;font-size:clamp(54px,6vw,85px);font-weight:900;font-style:italic;line-height:1.1;letter-spacing:1px;color:#65ddff;text-shadow:0 4px 0 #07507b,0 12px 35px #0005}.emblem-team{display:block;letter-spacing:18px;font-size:18px;margin-top:14px;color:white}.team-emblem .team-stripe{margin:18px auto}.team-emblem svg{width:85%;max-width:350px}.hero-caption{font-size:13px;text-align:center;color:#badcf1}.hero-caption small{font-size:9px}.hero-visual{min-height:430px}@media(max-width:850px){.hero-visual{height:300px;min-height:300px}.team-emblem{padding-bottom:35px}.team-emblem strong{font-size:62px}.emblem-country{font-size:24px}.team-emblem svg{max-width:220px;height:55px}.hero-caption{bottom:15px}.emblem-team{font-size:14px;margin-top:8px}.team-emblem .team-stripe{margin:12px auto}}@media(max-width:650px){header{gap:10px;align-items:center}header .chip{max-width:none;padding:8px}.chip b{font-size:10px}h1{font-size:21px}.hero-visual{height:300px;min-height:300px}}
.library-banner{padding:28px;border:1px solid #286081;background:radial-gradient(ellipse at top left,#125575,#061c32 70%);border-radius:16px;margin-bottom:22px}.library-banner h2{font-size:30px;margin:14px 0}.library-banner p{color:#b3d0df}.library-filters input{flex:1;min-width:200px}.library-filters select{min-width:125px}.exercise-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.exercise-card>img{width:100%;height:auto;aspect-ratio:640/340;object-fit:contain;background:#061e33;border-bottom:1px solid #204d68}.exercise-card-body{padding:20px;flex:1;display:flex;flex-direction:column}.exercise-card-body>p{flex:1}.exercise-card-body .tag{margin:0 0 12px}.dose-row{display:flex;justify-content:space-between;gap:8px;margin:10px 0 20px;font-size:13px;color:#6cdeff}.exercise-detail-image{width:100%;height:auto;border-radius:12px;margin:10px 0 20px}.exercise-steps{line-height:2.1;padding-right:24px}.exercise-steps li{padding:5px}.exercise-dose{background:#103b53;padding:18px;border-radius:12px;margin-top:20px}.exercise-dose p{margin:8px 0}.source-note{margin-top:20px}.source-note summary{cursor:pointer}.source-note a{color:#70dfff}.exercise .note{margin:8px 0}.exercise input{width:100px}@media(max-width:650px){nav button{font-size:9px;padding:9px 3px}nav button span{font-size:18px}.library-banner{padding:22px}.library-banner h2{font-size:24px}.library-filters{gap:8px}.library-filters input{flex-basis:100%}.library-filters select{flex:1;min-width:0}}
.image-edit-button{margin-top:10px;background:#123e57;color:#7ee1ff;border:1px dashed #3e93b8;font-size:13px}.upload-preview{display:block;width:100%;height:300px;object-fit:contain;background:#061a2c;border:1px solid #285673;border-radius:12px}.upload-picker{padding:18px;border:1px dashed #4ccbec;border-radius:10px;background:#103650;cursor:pointer}.upload-picker input{padding:10px;width:100%;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.exercise-detail-image{max-height:440px;object-fit:contain;background:#061a2c}#uploadStatus{color:#80e3fc;min-height:28px}@media(max-width:650px){.upload-preview{height:230px}}
