/* VOLT pro layer — same palette, glass and Yekan as the rest of the app.
   Signature: duotone athlete photography, a heartbeat line across every hero, scoreboard numerals. */
/* Sport digits on every device: Bahnschrift (Windows) / DIN Alternate (Apple), otherwise bundled Barlow SemiBold (OFL, digits only). */
@font-face{font-family:SportDigits;src:local('Bahnschrift'),local('DIN Alternate'),url(fonts/volt-digits.woff2) format('woff2');unicode-range:U+0030-0039,U+002C,U+002E,U+0025;font-weight:100 900;font-display:swap}
:root{
  --pro-lime:#c3fa36;--pro-lime2:#dbff86;--pro-ink:#03140c;--pro-ember:#ff7a45;--pro-sky:#62c8ff;--pro-mint:#48dcb1;
  --pro-glass:linear-gradient(145deg,#e8fff312,#9edcbf06 55%,#0a2a1c1f);--pro-edge:#ecfff12e;--pro-edge-top:#f2fff259;
  --pro-shadow:0 18px 50px #00000045,inset 0 1px 0 #ffffff26;--pro-r-xl:32px;--pro-r-lg:24px;--pro-r-md:18px;
  --pro-ease:cubic-bezier(.2,.8,.2,1);--pro-spring:cubic-bezier(.34,1.56,.64,1);
}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pro-num{font-family:SportDigits,Yekan,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.pro-page{display:grid;gap:22px;padding-bottom:12px}
.pro-page h1,.pro-page h2,.pro-page h3{margin:0}
.pro-page p{margin:0}

/* ---------- shared pieces ---------- */
.pro-card,.pro-section{position:relative;border:1px solid var(--pro-edge);border-top-color:var(--pro-edge-top);border-radius:var(--pro-r-lg);background:var(--pro-glass);box-shadow:var(--pro-shadow);backdrop-filter:blur(26px) saturate(140%);-webkit-backdrop-filter:blur(26px) saturate(140%);padding:22px}
.pro-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.pro-head h2{font-size:18px;font-weight:800}
.pro-head p{color:var(--muted);font-size:12px;margin-top:2px}
.pro-head>strong{display:flex;align-items:baseline;gap:6px}
.pro-head>strong .pro-num{font-size:34px;color:var(--pro-lime2);font-weight:700}
.pro-head>strong small{color:var(--muted);font-size:12px}
.pro-link{display:inline-flex;align-items:center;gap:6px;color:var(--pro-lime);font-size:13px;font-weight:700;background:none;border:0;padding:4px 0}
.pro-link .icon{width:16px;height:16px}
.pro-tag{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:#c3fa361f;border:1px solid #c3fa3655;color:var(--pro-lime2);font-size:12px;font-weight:700;backdrop-filter:blur(10px)}
.pro-tag .icon{width:16px;height:16px}
.pro-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1px solid #ffffff1f;background:#ffffff0d;color:var(--text);font-size:13px;font-weight:600;white-space:nowrap;transition:background .25s,border-color .25s,color .25s,transform .25s var(--pro-spring)}
.pro-chip .icon{width:16px;height:16px}
.pro-chip:hover{border-color:#c3fa3666}
.pro-chip.active,.pro-chip.on{background:var(--pro-lime);border-color:var(--pro-lime);color:#132006}
.pro-chips{display:flex;flex-wrap:wrap;gap:8px}
.pro-chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin-inline:-2px;padding-inline:2px}
.pro-chips.scroll::-webkit-scrollbar{display:none}
.pro-pill{position:absolute;top:12px;inset-inline-start:12px;display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;background:#03140ccc;color:var(--text);border:1px solid #ffffff22;backdrop-filter:blur(8px)}
.pro-pill.warn{color:#ffd29a;border-color:#ff7a4566}
.pro-pill.gold{color:#ffe08a;border-color:#ffd56a66}
.pro-pill .icon{width:13px;height:13px}
.pro-empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:26px 16px;color:var(--muted)}
.pro-empty>.icon{width:34px;height:34px;color:var(--pro-lime);padding:12px;box-sizing:content-box;border-radius:50%;background:#c3fa3614;border:1px solid #c3fa3633}
.pro-empty h2{color:var(--text);font-size:20px}
.pro-empty.big{border:1px dashed #c3fa3640;border-radius:var(--pro-r-lg);padding:46px 20px;background:#c3fa3606}
.pro-empty.wide{grid-column:1/-1}
.pro-cta,.btn.pro-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 24px;border-radius:999px;border:0;background:linear-gradient(135deg,var(--pro-lime2),var(--pro-lime) 55%,#9fe21f);color:#122004;font-weight:800;font-size:15px;box-shadow:0 12px 32px #c3fa3640,inset 0 1px 0 #ffffffaa;transition:transform .3s var(--pro-spring),box-shadow .3s}
.pro-cta:hover{transform:translateY(-2px);box-shadow:0 16px 40px #c3fa3659,inset 0 1px 0 #ffffffaa}
.pro-cta .icon{width:18px;height:18px;fill:currentColor}
.pro-ghost,.btn.pro-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 22px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff30;color:var(--text);font-weight:700;font-size:14px;backdrop-filter:blur(12px);transition:background .25s}
.pro-ghost:hover{background:#ffffff1f}
.pro-press{transition:transform .35s var(--pro-spring)}
.pro-press.is-pressed{transform:scale(.965)}
.pro-icon-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff1a;background:#ffffff0a;color:var(--muted)}
.pro-icon-btn:hover{color:var(--text)}
.pro-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pro-titlebar h1{font-size:clamp(26px,3vw,36px);font-weight:900}
.pro-titlebar p{color:var(--muted);margin-top:4px}
.pro-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}

/* avatars */
.pro-avatar{--a1:#c3fa36;--a2:#5ee08f;display:inline-grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;font-weight:900;font-size:17px;color:#0d2207;background:linear-gradient(140deg,var(--a1),var(--a2));box-shadow:0 0 0 3px #03140c,0 0 0 4.5px #c3fa3666}
.pro-avatar.mint{--a1:#7ff3cf;--a2:#2fb98f}.pro-avatar.ember{--a1:#ffc08f;--a2:#ff7a45}.pro-avatar.sky{--a1:#a8e3ff;--a2:#4aa8f0}
.pro-avatar.lg{width:52px;height:52px;font-size:21px}
.pro-avatar.xl{width:76px;height:76px;font-size:30px}
.pro-avatar.xxl{width:108px;height:108px;font-size:44px;box-shadow:0 0 0 5px #03140c,0 0 0 7px var(--pro-lime),0 20px 50px #0008}

/* rings */
.pro-ring{position:relative;display:inline-grid;place-items:center;width:132px;aspect-ratio:1;flex-shrink:0}
.pro-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.pro-ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.pro-ring .trk{stroke:#ffffff14}
.pro-ring .val{stroke:var(--pro-lime);stroke-dasharray:var(--c);stroke-dashoffset:var(--c);filter:drop-shadow(0 0 6px #c3fa3699);transition:stroke-dashoffset 1.4s var(--pro-ease) .15s}
.pro-ring.is-in .val{stroke-dashoffset:calc(var(--c) * (1 - var(--p)))}
.pro-ring-in{position:relative;display:grid;justify-items:center;line-height:1.1;text-align:center}
.pro-ring-in .pro-num{font-size:34px;font-weight:700}
.pro-ring-in small{font-size:11px;color:var(--muted)}
.pro-ring.md{width:96px}.pro-ring.md .pro-num{font-size:26px}
.pro-ring.sm{width:66px}.pro-ring.sm circle{stroke-width:10}.pro-ring.sm .pro-num{font-size:18px}.pro-ring.sm .icon{width:22px;height:22px}
.pro-ring.xs{width:42px}.pro-ring.xs circle{stroke-width:11}.pro-ring.xs .pro-num{font-size:15px}

/* heartbeat line */
.pro-pulse{position:absolute;inset-inline:0;bottom:22%;width:100%;height:90px;pointer-events:none;z-index:1;opacity:.9}
.pro-pulse path{fill:none;stroke:var(--pro-lime);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;filter:drop-shadow(0 0 8px #c3fa36cc);animation:proDraw 1.9s var(--pro-ease) .25s forwards}
.pro-pulse circle{fill:var(--pro-lime2);opacity:0;filter:drop-shadow(0 0 10px #c3fa36);animation:proBeat 1s ease-out 1.25s forwards}
.pro-pulse.soft{opacity:.45}
/* The line lives on the photo side only, never under the copy. */
.pro-hero .pro-pulse{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 46%,transparent 66%);mask-image:linear-gradient(90deg,#000 0,#000 46%,transparent 66%)}
@keyframes proDraw{to{stroke-dashoffset:0}}
@keyframes proBeat{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.8)}100%{opacity:.9;transform:scale(1)}}
.pro-pulse circle{transform-box:fill-box;transform-origin:center}

/* ---------- hero ---------- */
.pro-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-height:340px;padding:30px;border-radius:var(--pro-r-xl);border:1px solid #c3fa3633;background:radial-gradient(ellipse at 80% 0%,#2a5b2b,transparent 60%),#06170f;box-shadow:0 30px 70px #00000066,inset 0 1px 0 #ffffff22}
.pro-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.08);animation:proSettle 1.6s var(--pro-ease) forwards}
.pro-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,#03140cf2 0%,#03140cd9 34%,#03140c66 64%,#03140c1a 100%),linear-gradient(0deg,#03140ce6 0%,transparent 55%)}
@keyframes proSettle{to{transform:scale(1)}}
.pro-hero-body{position:relative;z-index:2;display:grid;gap:14px;max-width:560px;justify-items:start}
.pro-hero h1{font-size:clamp(28px,3.4vw,46px);font-weight:900;line-height:1.35;text-wrap:balance}
.pro-hero p{color:#d6e5dc;font-size:15px;line-height:1.9;max-width:46ch}
.pro-hero-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:#d6e5dc;font-size:13px}
.pro-hero-meta span{display:inline-flex;align-items:center;gap:6px}
.pro-hero-meta .icon{width:17px;height:17px;color:var(--pro-lime)}
.pro-hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.pro-hero-score{position:relative;z-index:2;display:grid;justify-items:center;gap:8px;color:var(--muted);font-size:12px}
.pro-hero-score .pro-ring{width:150px}
.pro-hero-score .pro-ring .pro-num{font-size:42px}
.pro-stack{display:grid;justify-items:center;padding:18px 22px;border-radius:24px;background:#03140c99;border:1px solid #ffffff1f;backdrop-filter:blur(14px)}
.pro-stack .pro-num{font-size:52px;line-height:1;color:var(--pro-lime2)}
.pro-stack small{color:var(--muted);font-size:12px;margin-top:6px}
.pro-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;margin-top:4px}
.pro-kpis>div{display:grid;gap:2px;padding:12px 14px;border-radius:16px;background:#03140c8c;border:1px solid #ffffff17;backdrop-filter:blur(10px)}
.pro-kpis .pro-num{font-size:28px;line-height:1.1;color:var(--text)}
.pro-kpis small{font-size:11px;color:var(--muted)}

/* first paint orchestration: hero, then the rest */
.pro-page>*{animation:proRise .7s var(--pro-ease) both}
.pro-page>*:nth-child(2){animation-delay:.08s}.pro-page>*:nth-child(3){animation-delay:.16s}.pro-page>*:nth-child(4){animation-delay:.24s}
@keyframes proRise{from{opacity:0;transform:translateY(18px)}}

/* ---------- home ---------- */
.pro-greet{display:flex;align-items:center;justify-content:space-between;gap:14px}
.pro-me{display:flex;align-items:center;gap:14px;color:inherit}
.pro-me small{color:var(--muted);font-size:12px}
.pro-me h1{font-size:clamp(22px,2.6vw,30px);font-weight:900}
.pro-greet-actions{display:flex;gap:10px;align-items:center}
.pro-streak{display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 16px;border-radius:999px;background:linear-gradient(135deg,#ff7a4526,#ff7a450d);border:1px solid #ff7a4566;color:#ffd2bd}
.pro-streak .icon{color:var(--pro-ember);fill:#ff7a4555}
.pro-streak .pro-num{font-size:20px;color:#fff}
.pro-bell{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ffffff0d;border:1px solid #ffffff1f;color:var(--text)}
.pro-bell.has::after{content:"";position:absolute;top:10px;inset-inline-end:11px;width:9px;height:9px;border-radius:50%;background:var(--pro-ember);box-shadow:0 0 0 3px #071811}
.pro-home-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:22px;align-items:start}
.pro-col-main,.pro-col-side{display:grid;gap:22px;min-width:0}
.pro-col-main>*,.pro-col-side>*,.pro-two>*,.pro-page>*{min-width:0}
.pro-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:14px;border-radius:var(--pro-r-lg);background:var(--pro-glass);border:1px solid var(--pro-edge);backdrop-filter:blur(20px)}
.pro-day{display:grid;justify-items:center;gap:6px;padding:8px 2px;border-radius:18px;color:var(--muted);font-size:12px;transition:background .25s}
.pro-day:hover{background:#ffffff0a}
.pro-day .pro-ring{width:46px}
.pro-day .pro-ring .pro-num{font-size:16px;color:var(--text)}
.pro-day.future{opacity:.55}
.pro-day.planned>span{color:var(--text)}
.pro-day.planned .pro-ring .trk{stroke:#c3fa3630}
.pro-day.today{background:#c3fa3614;color:var(--pro-lime)}
.pro-day.today .pro-ring .pro-num{color:var(--pro-lime)}
.pro-day.attended .pro-ring .trk{stroke:#c3fa3640}
.pro-stats{display:grid;gap:12px}
.pro-stat{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--pro-r-lg);background:var(--pro-glass);border:1px solid var(--pro-edge);border-top-color:var(--pro-edge-top);backdrop-filter:blur(20px);color:inherit}
.pro-stat>div:last-child{min-width:0;flex:1;display:grid;gap:6px}
.pro-stat h3{font-size:15px;font-weight:800}
.pro-stat p{color:var(--muted);font-size:12px}
.pro-stat-big{display:grid;justify-items:center;min-width:96px;line-height:1}
.pro-stat-big .pro-num{font-size:36px;color:var(--pro-lime2)}
.pro-stat-big small{color:var(--muted);font-size:11px;margin-top:6px}
.pro-stat .pro-ring-in .pro-num{font-size:26px}
.pro-macro{display:flex;height:8px;border-radius:99px;overflow:hidden;background:#ffffff12}
.pro-macro i{width:var(--w);transition:width 1s var(--pro-ease)}
.pro-macro .m-p{background:var(--pro-lime)}.pro-macro .m-c{background:var(--pro-mint)}.pro-macro .m-f{background:var(--pro-ember)}
.pro-spark{display:flex;align-items:flex-end;gap:5px;height:34px}
.pro-spark i{flex:1;height:var(--h);border-radius:5px;background:#48dcb155;transform-origin:bottom;transform:scaleY(0);transition:transform .7s var(--pro-spring) calc(var(--i) * 60ms)}
.pro-spark i.now{background:var(--pro-mint);box-shadow:0 0 12px #48dcb199}
.pro-spark.is-in i{transform:scaleY(1)}
/* disciplines carousel */
.pro-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--pro-lime);font-size:12px;font-weight:700;margin-bottom:4px}
.pro-kicker::before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor}
.pro-head>div:first-child{min-width:0}
.pro-head-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
.pro-more{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 16px;border-radius:999px;border:1px solid #c3fa3659;background:#c3fa3612;color:var(--pro-lime2);font-size:13px;font-weight:800;white-space:nowrap;transition:background .25s,border-color .25s,color .25s,transform .35s var(--pro-spring)}
.pro-more:hover{background:var(--pro-lime);border-color:var(--pro-lime);color:#132006}
.pro-arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.pro-more .pro-arr{transition:transform .35s var(--pro-spring)}
.pro-more:hover .pro-arr{transform:translateX(-3px)}
.pro-arrows{display:flex;gap:6px}
.pro-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff26;background:#ffffff0d;color:var(--text);cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .3s var(--pro-spring)}
.pro-arrow:hover{background:#ffffff1c;border-color:#c3fa3699;color:var(--pro-lime)}
.pro-arrow:active{transform:scale(.9)}
.pro-arrow:focus-visible,.pro-more:focus-visible,.pro-tile:focus-visible{outline:2px solid var(--pro-lime);outline-offset:3px}
.pro-carousel.fits .pro-arrows,.pro-carousel.fits .pro-rail-bar{display:none}
.pro-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px) / 3.4);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scrollbar-width:none;padding:4px;margin:-4px;cursor:grab;user-select:none;-webkit-user-select:none}
.pro-rail::-webkit-scrollbar{display:none}
.pro-rail.dragging{cursor:grabbing;scroll-snap-type:none}
.pro-rail.dragging .pro-tile{pointer-events:none}
.pro-tile{position:relative;overflow:hidden;aspect-ratio:3/4;border-radius:22px;border:1px solid #ffffff1f;padding:0;background:#06170f;scroll-snap-align:start;text-align:start;color:var(--text);cursor:pointer;transition:transform .35s var(--pro-spring),border-color .3s,box-shadow .3s}
.pro-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--pro-ease);-webkit-user-drag:none;pointer-events:none}
.pro-tile:hover{border-color:#c3fa3680;box-shadow:0 18px 40px #0007,0 0 0 1px #c3fa3640}
.pro-tile:hover img{transform:scale(1.08)}
.pro-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#03140cf5 6%,#03140c59 52%,#03140c14 80%)}
.pro-tile::before{content:"";position:absolute;inset-inline:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--pro-lime);z-index:2;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--pro-ease)}
.pro-tile:hover::before{transform:scaleX(1)}
.pro-tile-no{position:absolute;top:12px;inset-inline-start:14px;z-index:1;font-family:SportDigits,Yekan,sans-serif;font-style:normal;font-size:26px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1.2px #ffffffa6;letter-spacing:.02em}
.pro-tile>span{position:absolute;inset-inline:14px;bottom:16px;z-index:1;display:grid;gap:4px;padding-inline-end:34px}
.pro-tile b{font-size:16px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}
.pro-tile small{font-size:11.5px;line-height:1.6;color:#c9dacd}
.pro-tile-go{position:absolute;inset-inline-end:12px;bottom:16px;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pro-lime);color:#132006;transform:scale(.6);opacity:0;transition:transform .35s var(--pro-spring),opacity .25s}
.pro-tile-go .pro-arr{width:16px;height:16px;stroke-width:2.8}
.pro-tile:hover .pro-tile-go,.pro-tile:focus-visible .pro-tile-go{transform:scale(1);opacity:1}
.pro-rail-bar{position:relative;height:4px;margin-top:16px;border-radius:4px;background:#ffffff14;overflow:hidden}
.pro-rail-bar i{position:absolute;inset-block:0;inset-inline-start:calc(var(--x,0) * (100% - var(--w,25%)));width:var(--w,25%);border-radius:inherit;background:linear-gradient(270deg,var(--pro-lime),var(--pro-mint));box-shadow:0 0 12px #c3fa3699;transition:inset-inline-start .2s linear,width .3s}
.pro-list{display:grid;gap:6px}
.pro-row{display:flex;align-items:center;gap:14px;padding:12px;border-radius:18px;background:#ffffff08;border:1px solid #ffffff0f}
.pro-row>div{flex:1;min-width:0;display:grid;gap:4px}
.pro-row b{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pro-row small{color:var(--muted);font-size:12px;line-height:1.7;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.pro-row>strong{display:grid;justify-items:end;line-height:1.05}
.pro-row>strong .pro-num{font-size:24px;overflow:visible;white-space:nowrap;text-overflow:clip}
.pro-row>strong small{font-size:10.5px}
.pro-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;flex-shrink:0;color:#0d2207;background:radial-gradient(circle at 30% 25%,#f1ffc9,var(--pro-lime) 45%,#7ec41a);box-shadow:0 8px 22px #c3fa3640}
.pro-ic.ember{background:radial-gradient(circle at 30% 25%,#ffd7c2,var(--pro-ember) 50%,#d64516);box-shadow:0 8px 22px #ff7a4540;color:#2b0d02}
.pro-ic.mint{background:radial-gradient(circle at 30% 25%,#d5fff1,var(--pro-mint) 50%,#1d9a73);box-shadow:0 8px 22px #48dcb140;color:#03261a}
.pro-ic.sky{background:radial-gradient(circle at 30% 25%,#e2f6ff,var(--pro-sky) 50%,#2a7fc4);box-shadow:0 8px 22px #62c8ff40;color:#04203a}
.pro-ic .icon{width:22px;height:22px}
.pro-bar{display:block;height:6px;border-radius:99px;background:#ffffff14;overflow:hidden}
.pro-bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--pro-lime),var(--pro-mint))}
.pro-promo{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--pro-r-lg);background:linear-gradient(110deg,#c3fa3626,#48dcb112);border:1px solid #c3fa3644;color:inherit}
.pro-promo>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--pro-lime);color:#132006}
.pro-promo>div{flex:1;display:grid;gap:2px}
.pro-promo small{color:var(--muted)}
.pro-promo>.icon{transform:scaleX(-1);color:var(--pro-lime)}

/* ---------- shop ---------- */
.pro-cart{position:relative;display:inline-flex;align-items:center;gap:8px;height:50px;padding:0 18px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff24;color:var(--text)}
.pro-cart .pro-num{font-size:20px}
.pro-cart.has{background:var(--pro-lime);color:#132006;border-color:var(--pro-lime);box-shadow:0 10px 30px #c3fa3640}
.pro-cart.bump{animation:proBump .55s var(--pro-spring)}
@keyframes proBump{30%{transform:scale(1.18) rotate(-4deg)}60%{transform:scale(.94)}}
.pro-shop-hero{min-height:280px;align-items:center;background:radial-gradient(ellipse at 18% 50%,#8be25840,transparent 62%),radial-gradient(ellipse at 90% 120%,#48dcb130,transparent 55%),#082519}
.pro-shop-hero::before{display:none}
.pro-shop-art{position:relative;z-index:2;width:min(36%,340px);transform:rotate(-8deg);animation:proFloat 6s ease-in-out infinite;filter:drop-shadow(0 30px 40px #0009)}
.pro-shop-art svg{width:100%;height:auto}
@keyframes proFloat{50%{transform:rotate(-5deg) translateY(-10px)}}
.pro-toolbar{display:grid;gap:12px}
.pro-search{display:flex;align-items:center;gap:10px;height:54px;padding:0 18px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff1f;color:var(--muted);transition:border-color .25s,background .25s}
.pro-search:focus-within{border-color:#c3fa3699;background:#ffffff14}
.pro-page label.pro-search{display:flex!important;flex-direction:row!important;grid-template-columns:none;align-items:center}
.pro-page label.pro-search>input{margin:0!important;width:auto!important;height:52px!important;min-height:0!important;font-size:15px}
.pro-search input{flex:1;min-width:0;border:0!important;background:none!important;box-shadow:none!important;padding:0!important;height:100%;color:var(--text);font:inherit;outline:none}
.pro-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.pro-product{position:relative;display:grid;grid-template-rows:auto 1fr;border-radius:var(--pro-r-lg);overflow:hidden;background:var(--pro-glass);border:1px solid var(--pro-edge);border-top-color:var(--pro-edge-top);box-shadow:var(--pro-shadow);transition:transform .45s var(--pro-spring),border-color .3s}
.pro-product:hover{transform:translateY(-4px);border-color:#c3fa3666}
.pro-product-art{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:radial-gradient(circle at 50% 60%,#2f6b3a,#0b2a1c 70%)}
.pro-product-art svg{width:78%;transition:transform .6s var(--pro-spring)}
.pro-product:hover .pro-product-art svg{transform:rotate(-6deg) scale(1.06)}
.pro-product-body{display:grid;gap:6px;padding:16px;align-content:start}
.pro-product-body>small{color:var(--pro-mint);font-size:11.5px;font-weight:700}
.pro-product-body h3{font-size:16px;font-weight:800;line-height:1.6}
.pro-product-body p{color:var(--muted);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pro-product-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.pro-price{display:flex;align-items:baseline;gap:5px}
.pro-price .pro-num{font-size:24px;color:var(--pro-lime2)}
.pro-price small{color:var(--muted);font-size:11px}
.pro-add{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:0;background:var(--pro-lime);color:#132006;box-shadow:0 8px 22px #c3fa3650;transition:transform .35s var(--pro-spring)}
.pro-add:hover{transform:rotate(90deg) scale(1.06)}
.pro-add .icon{width:22px;height:22px;stroke-width:2.4}
.pro-add.added{animation:proAdded .9s var(--pro-ease)}
.pro-add.added::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--pro-lime);animation:proRipple .9s ease-out}
@keyframes proAdded{25%{transform:scale(.82)}55%{transform:scale(1.12)}}
@keyframes proRipple{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}
.pro-product.out{opacity:.6}

/* ---------- progress ---------- */
.pro-progress-hero{min-height:360px}
.pro-chart svg{width:100%;height:190px;overflow:visible}
.pro-chart .grid{stroke:#ffffff12;stroke-dasharray:4 6}
.pro-chart .area{fill:url(#proArea);opacity:0;transition:opacity 1s ease .9s}
.pro-chart .line{fill:none;stroke:var(--pro-lime);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 8px #c3fa3699);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--pro-ease)}
.pro-chart circle{fill:#071811;stroke:var(--pro-lime2);stroke-width:2.5;opacity:0;transition:opacity .4s ease calc(1s + var(--i) * 25ms)}
.pro-chart.is-in .line{stroke-dashoffset:0}
.pro-chart.is-in .area,.pro-chart.is-in circle{opacity:1}
.pro-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:6px;direction:ltr}
.pro-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pro-badge{display:grid;justify-items:center;text-align:center;gap:6px;padding:14px 8px;border-radius:20px;background:#ffffff06;border:1px solid #ffffff0f;color:var(--muted)}
.pro-badge b{font-size:12.5px;line-height:1.6;color:var(--text);overflow-wrap:anywhere}
.pro-badge small{font-size:11px}
.pro-badge .pro-ring .icon{color:#ffffff55}
.pro-badge.on{background:linear-gradient(160deg,#c3fa361c,#c3fa3605);border-color:#c3fa3640}
.pro-badge.on .pro-ring .icon{color:var(--pro-lime)}
.pro-badge.on small{color:var(--pro-lime)}
.pro-timeline{list-style:none;margin:0;padding:0;display:grid;gap:4px;position:relative}
.pro-timeline::before{content:"";position:absolute;top:18px;bottom:18px;inset-inline-start:15px;width:2px;background:linear-gradient(#c3fa3666,#c3fa3610)}
.pro-timeline li{position:relative;display:flex;align-items:center;gap:14px;padding:10px 4px}
.pro-timeline .dot{width:12px;height:12px;margin-inline:10px;border-radius:50%;background:var(--pro-lime);box-shadow:0 0 0 4px #071811,0 0 14px #c3fa36aa;flex-shrink:0;z-index:1}
.pro-timeline li.miss .dot{background:#ffffff40;box-shadow:0 0 0 4px #071811}
.pro-timeline li>div{flex:1;display:grid;gap:2px;min-width:0}
.pro-timeline b{font-size:14px}
.pro-timeline small{color:var(--muted);font-size:12px}
.pro-timeline strong{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}

/* ---------- community ---------- */
.pro-community-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.pro-feed{display:grid;gap:14px}
.pro-composer{display:flex;gap:14px;align-items:flex-start}
.pro-composer>div{flex:1;min-width:0}
.pro-composer form{display:grid;gap:10px}
.pro-composer textarea{min-height:96px}
.pro-composer .action-row{justify-content:flex-end}
.pro-post{display:grid;gap:10px;padding:20px;border-radius:var(--pro-r-lg);background:var(--pro-glass);border:1px solid var(--pro-edge);border-top-color:var(--pro-edge-top);box-shadow:var(--pro-shadow)}
.pro-post header{display:flex;align-items:center;gap:12px}
.pro-post header>div{flex:1;display:grid}
.pro-post header small{color:var(--muted);font-size:12px}
.pro-post h3{font-size:17px;font-weight:800}
.pro-post p{white-space:pre-wrap;color:#dbe7df;line-height:2}
.pro-rules{position:sticky;top:110px}
.pro-rules h2{display:flex;align-items:center;gap:8px;font-size:17px;margin-bottom:12px}
.pro-rules h2 .icon{color:var(--pro-ember)}
.pro-rules ul{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:10px}
.pro-rules li{position:relative;padding-inline-start:20px;color:#d6e5dc;font-size:13.5px;line-height:1.9}
.pro-rules li::before{content:"";position:absolute;inset-inline-start:0;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--pro-lime)}

/* ---------- coaches ---------- */
.pro-coach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.pro-coach{position:relative;display:grid;justify-items:center;text-align:center;gap:6px;padding:0 18px 22px;border-radius:var(--pro-r-lg);overflow:hidden;background:var(--pro-glass);border:1px solid var(--pro-edge);border-top-color:var(--pro-edge-top);box-shadow:var(--pro-shadow);cursor:pointer;transition:transform .45s var(--pro-spring),border-color .3s}
.pro-coach:hover{transform:translateY(-4px);border-color:#c3fa3666}
.pro-coach:focus-visible{outline:2px solid var(--pro-lime);outline-offset:3px}
.pro-coach-cover{position:relative;width:calc(100% + 36px);height:150px;margin-bottom:-38px}
.pro-coach-cover img{width:100%;height:100%;object-fit:cover}
.pro-coach-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b2218 0%,transparent 70%)}
.pro-coach .pro-avatar{position:relative;z-index:1}
.pro-coach h3{font-size:18px;font-weight:800;margin-top:8px}
.pro-coach p{color:var(--muted);font-size:13px}
.pro-coach-go{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--pro-lime);font-weight:700;font-size:13px}
.pro-coach-go .icon{width:16px;height:16px;transform:scaleX(-1);transition:transform .3s var(--pro-spring)}
.pro-coach:hover .pro-coach-go .icon{transform:scaleX(-1) translateX(4px)}

/* ---------- links and chips rendered through the shared href() helper (which adds .btn) ---------- */
.pro-page .btn.pro-link{background:none;border:0;box-shadow:none;min-height:0;width:auto;padding:4px 0;color:var(--pro-lime);font-size:13px}
.pro-page .btn.pro-link:hover{transform:none;text-decoration:underline;text-underline-offset:5px}
.pro-page .btn.pro-chip{min-height:0;width:auto;padding:8px 15px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff1f;color:var(--text);font-size:13px;box-shadow:none}
.pro-page .btn.pro-ghost{background:#ffffff12;border:1px solid #ffffff30;color:var(--text);box-shadow:none}
.pro-page .btn.pro-cta,.pro-page .btn.pro-ghost{width:auto;min-height:50px;border-radius:999px;padding:12px 22px;font-size:15px}

/* ---------- profile (wrapped) ---------- */
.pro-profile .two-col>.panel:first-child>.profile-mini:first-child{display:none}
.pro-profile-hero{min-height:300px;align-items:flex-end;flex-wrap:wrap}
.pro-profile-id{position:relative;z-index:2;display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}
.pro-profile-id h1{font-size:clamp(26px,3vw,38px);font-weight:900}
.pro-profile-id p{color:var(--muted);direction:ltr;text-align:end;margin:2px 0 10px}
.pro-profile-hero .pro-kpis{position:relative;z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,420px)}
.pro-profile .two-col>.panel,.pro-profile>.panel,.pro-profile .section-space{border-radius:var(--pro-r-lg)}
.pro-profile .two-col{gap:22px}
.pro-profile .settings-row{padding:12px 0;gap:12px;align-items:center}
.pro-profile .settings-row>span{min-width:0;overflow-wrap:anywhere}
.pro-profile .settings-row .status-badge{flex:0 0 auto;width:auto;align-self:center;border-radius:99px;padding:5px 12px;font-size:11.5px;font-weight:700}
.pro-profile .settings-row .status-badge:not(.pending){background:#c3fa361a;color:var(--pro-lime2);border:1px solid #c3fa3655}

/* ---------- gym (wrapped) ---------- */
.pro-gym .club-banner{position:relative;overflow:hidden;min-height:190px;border-radius:var(--pro-r-xl);background:linear-gradient(270deg,#03140cf2 0%,#03140cbf 45%,#03140c33 100%),var(--img-hero-row,url(media/pro-hero-row.jpg)) center/cover,#06170f;border:1px solid #c3fa3633}
.pro-gym .club-banner h2{font-size:clamp(22px,2.6vw,32px);font-weight:900}
.pro-gym .club-roles button{border-radius:999px;transition:background .25s,border-color .25s,transform .3s var(--pro-spring)}
.pro-gym .club-roles button.selected{background:var(--pro-lime);color:#132006;border-color:var(--pro-lime);box-shadow:0 10px 28px #c3fa3640}
.pro-gym .club-quick-links a{border-radius:18px;transition:transform .35s var(--pro-spring),border-color .25s}
.pro-gym .club-quick-links a:hover{transform:translateY(-3px);border-color:#c3fa3666}
.pro-gym .club-week button{border-radius:18px;transition:background .25s,transform .3s var(--pro-spring)}
.pro-gym .club-week button.active{background:linear-gradient(160deg,var(--pro-lime2),var(--pro-lime));color:#132006;box-shadow:0 10px 26px #c3fa3640}
.pro-gym .club-week button.active b{color:#132006}
.pro-gym .club-completion{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 16px}
.pro-gym .club-completion>.pro-ring{grid-row:1/span 3}
.pro-gym .club-completion>.pro-ring~b{display:none}
.pro-gym .club-completion progress{display:none}
.pro-gym .club-task{border-radius:18px;transition:background .3s,border-color .3s,transform .3s var(--pro-spring)}
.pro-gym .club-task.done{background:linear-gradient(110deg,#c3fa361f,#c3fa3606);border-color:#c3fa3655}
.pro-gym .club-task.done b{text-decoration:line-through;text-decoration-color:#c3fa36aa;text-decoration-thickness:2px}
.pro-gym .club-attendance button.active{background:var(--pro-lime);color:#132006}
.pro-gym .club-bars span{background:linear-gradient(to top,var(--pro-lime) 0,var(--pro-mint) var(--fill),#ffffff0f var(--fill));border-radius:10px}

/* ---------- animated checkbox, everywhere ---------- */
input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;display:inline-grid;place-content:center;flex-shrink:0;width:24px!important;height:24px!important;min-width:24px;margin:0;padding:0!important;border-radius:8px!important;border:1.8px solid #ffffff4d!important;background:#ffffff0a!important;cursor:pointer;vertical-align:middle;transition:background .3s var(--pro-ease),border-color .3s,box-shadow .3s,transform .4s var(--pro-spring)}
input[type=checkbox]::before{content:"";width:13px;height:13px;background:#132006;clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);transform:scale(0) rotate(-12deg);transition:transform .45s var(--pro-spring)}
input[type=checkbox]:hover{border-color:#c3fa36aa!important}
input[type=checkbox]:checked{background:linear-gradient(140deg,var(--pro-lime2),var(--pro-lime))!important;border-color:var(--pro-lime)!important;box-shadow:0 0 0 4px #c3fa3626,0 6px 18px #c3fa3655;animation:proCheck .5s var(--pro-spring)}
input[type=checkbox]:checked::before{transform:scale(1) rotate(0)}
input[type=checkbox]:focus-visible{outline:2px solid var(--pro-lime);outline-offset:3px}
input[type=checkbox]:disabled{opacity:.55;cursor:progress}
input[type=checkbox]:active{transform:scale(.88)}
@keyframes proCheck{0%{transform:scale(.8)}45%{transform:scale(1.18)}100%{transform:scale(1)}}
label:has(>input[type=checkbox]){cursor:pointer}

/* ---------- sign-in and sign-up ---------- */
body.live-guest .topbar,body.live-onboarding .topbar{display:none!important}
body.live-guest main,body.live-onboarding main{max-width:none!important;padding:0!important;min-height:100vh}
body.live-guest .foot,body.live-onboarding .foot{display:none}
.pro-auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,560px);min-height:100vh;min-height:100dvh}
.pro-auth-art{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:56px;background:#04140c}
.pro-auth-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;z-index:-2;transform:scale(1.1);animation:proSettle 2.2s var(--pro-ease) forwards}
.pro-auth-art::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#03140c 2%,#03140cb3 38%,#03140c33 70%,#03140c80),linear-gradient(90deg,#03140c66,transparent 40%)}
.pro-auth-art .pro-pulse{bottom:auto;top:20%;height:120px}
.pro-auth-word{position:absolute;top:28px;inset-inline-start:40px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:30px;letter-spacing:.02em;direction:ltr}
.pro-auth-word i{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--pro-lime);color:#0b1a03;font-style:normal;font-size:26px;box-shadow:0 10px 30px #c3fa3666}
.pro-auth-copy{display:grid;gap:16px;max-width:520px}
.pro-auth-copy h2{font-size:clamp(34px,4.2vw,62px);font-weight:900;line-height:1.3}
.pro-auth-copy h2 span{display:block;color:var(--pro-lime2)}
.pro-auth-copy p{color:#d6e5dc;font-size:16px}
.pro-auth-points{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pro-auth-points li{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:#03140c99;border:1px solid #ffffff1f;font-size:13px;backdrop-filter:blur(10px)}
.pro-auth-points .icon{width:16px;height:16px;color:var(--pro-lime)}
.pro-auth-side{position:relative;display:flex;align-items:center;justify-content:center;padding:40px 44px;background:radial-gradient(ellipse at 0% 0%,#1e4a2e66,transparent 55%),radial-gradient(ellipse at 100% 100%,#c3fa3614,transparent 50%),#061a11;border-inline-start:1px solid #c3fa3626}
.pro-auth-card{width:100%;max-width:440px;display:grid;gap:18px;animation:proRise .8s var(--pro-ease) .15s both}
.pro-auth-card .pro-auth-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--pro-lime);font-size:13px;font-weight:700}
.pro-auth-card .pro-auth-kicker::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--pro-lime)}
.pro-auth-card h1{font-size:clamp(28px,3vw,38px);font-weight:900;line-height:1.4}
.pro-auth-card .pro-auth-sub{color:var(--muted);margin-top:-8px}
.pro-auth-card .auth-form>h2:first-child{display:none}
.pro-auth-card .auth-form>p{color:var(--muted)}
.pro-auth-card form{display:grid;gap:14px}
.pro-auth-card label{display:grid;gap:8px;font-size:13px;color:#d6e5dc}
.pro-auth-card input:not([type=checkbox]):not([type=hidden]),.pro-auth-card select{height:56px;border-radius:16px!important;background:#ffffff0a!important;border:1px solid #ffffff24!important;padding:0 18px!important;font-size:17px!important;color:var(--text);transition:border-color .25s,background .25s,box-shadow .25s}
.pro-auth-card input:focus{border-color:var(--pro-lime)!important;background:#ffffff12!important;box-shadow:0 0 0 4px #c3fa3622!important;outline:none}
.pro-auth-card input[name=phone],.pro-auth-card input[name=code]{letter-spacing:.08em;font-family:SportDigits,Yekan,sans-serif}
.pro-auth-card input[name=code]{text-align:center;font-size:26px!important;letter-spacing:.5em}
.pro-auth-card .btn:not(.secondary):not(.ghost){width:100%;min-height:56px;border-radius:999px;font-size:16px;font-weight:800;background:linear-gradient(135deg,var(--pro-lime2),var(--pro-lime) 55%,#9fe21f);box-shadow:0 14px 36px #c3fa3640,inset 0 1px 0 #ffffffaa;transition:transform .3s var(--pro-spring),box-shadow .3s}
.pro-auth-card .btn:not(.secondary):not(.ghost):hover{transform:translateY(-2px);box-shadow:0 18px 44px #c3fa3659}
.pro-auth-card .btn.secondary{border-radius:999px;min-height:50px}
.pro-auth-card .action-row{display:flex;flex-wrap:wrap;gap:10px}
.pro-auth-card form .action-row .btn{flex:1}
.pro-auth-card details.live-alt{border-top:1px solid #ffffff14;padding-top:14px}
.pro-auth-card details.live-alt summary{cursor:pointer;color:var(--muted);font-size:14px;list-style:none;display:flex;align-items:center;gap:8px}
.pro-auth-card details.live-alt summary::before{content:"";width:8px;height:8px;border-inline-start:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .3s}
.pro-auth-card details.live-alt[open] summary::before{transform:rotate(-135deg)}
.pro-auth-card details.live-alt summary:hover{color:var(--text)}
.pro-auth-card .club-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pro-auth-card .club-roles button{display:grid;justify-items:center;gap:6px;padding:14px 6px;border-radius:18px;font-size:13px;transition:background .25s,border-color .25s,transform .35s var(--pro-spring)}
.pro-auth-card .club-roles button span{display:none}
.pro-auth-card .club-roles button.selected{background:linear-gradient(160deg,#c3fa3633,#c3fa360d);border-color:var(--pro-lime);color:var(--pro-lime2);transform:translateY(-2px)}
.pro-auth-card .club-roles button .icon{width:24px;height:24px}
.pro-auth-legal{color:#7f8f86;font-size:12px;text-align:center}

/* ---------- v6: sharper sport details ---------- */
/* Heartbeat sits in the photo corner, never across copy or scores. */
.pro-hero .pro-pulse{inset-inline:auto 0;width:44%;top:26px;bottom:auto;height:78px;-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent);mask-image:linear-gradient(90deg,#000 62%,transparent)}
.pro-shop-hero .pro-pulse{top:auto;bottom:16px}
.pro-hero-body{max-width:min(560px,58%)}
.pro-hero h1{letter-spacing:-.01em;text-shadow:0 6px 30px #0009}
/* Section titles carry a slanted lime marker. */
.pro-head>h2,.pro-head>div>h2:first-child,.pro-week-head h2{display:flex;align-items:center;gap:10px}
.pro-head>h2::before,.pro-head>div>h2:first-child::before,.pro-week-head h2::before,.pro-rules h2::before{content:"";width:5px;height:18px;border-radius:2px;flex-shrink:0;background:linear-gradient(var(--pro-lime2),var(--pro-lime));transform:skewX(-14deg);box-shadow:0 0 12px #c3fa3680}
.pro-rules h2::before{display:none}
.pro-titlebar h1{position:relative;padding-bottom:10px}
.pro-titlebar h1::after{content:"";position:absolute;bottom:0;inset-inline-start:2px;width:46px;height:4px;border-radius:3px;background:linear-gradient(270deg,var(--pro-lime),var(--pro-mint));transform:skewX(-24deg);box-shadow:0 0 14px #c3fa3680}
/* kinetic word band */
.pro-ticker{position:relative;overflow:hidden;direction:ltr;border-radius:18px;border:1px solid #c3fa3633;background:linear-gradient(100deg,#c3fa3612,#03140c 30%,#03140c 70%,#48dcb10f);padding:11px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pro-ticker-track{display:flex;width:max-content;animation:proTicker 38s linear infinite}
.pro-ticker-track>div{display:flex;align-items:center;flex-shrink:0}
.pro-ticker span{padding:0 16px;font:italic 900 22px/1 Bahnschrift,'DIN Alternate','Arial Black',Arial,sans-serif;letter-spacing:.06em;color:var(--pro-lime);white-space:nowrap}
.pro-ticker span.o{color:transparent;-webkit-text-stroke:1.2px #e9ffd0b3}
.pro-ticker i{font-style:normal;color:var(--pro-mint);font-size:16px}
.pro-ticker:hover .pro-ticker-track{animation-play-state:paused}
@keyframes proTicker{to{transform:translateX(-50%)}}
/* week strip header */
.pro-week-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 6px 8px;border-bottom:1px solid #ffffff10;margin-bottom:4px}
.pro-week-head h2{font-size:15px;font-weight:800}
.pro-week-head>span{display:inline-flex;align-items:baseline;gap:6px;color:var(--muted);font-size:12px}
.pro-week-head .pro-num{font-size:22px;color:var(--pro-lime2)}
.pro-day.today .pro-ring .val{stroke:var(--pro-lime2)}
.pro-day.today{box-shadow:inset 0 0 0 1px #c3fa3640}
/* stat cards: lit top edge and lift */
.pro-stat{position:relative;overflow:hidden;transition:transform .4s var(--pro-spring),border-color .3s}
.pro-stat::before{content:"";position:absolute;top:0;inset-inline:18%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--pro-lime),transparent);opacity:.55}
.pro-stat:hover{transform:translateY(-3px);border-color:#c3fa3655}
.pro-page .pro-section::after,.pro-page .pro-card::after{content:"";position:absolute;top:-1px;inset-inline-start:22px;width:48px;height:3px;border-radius:0 0 3px 3px;background:var(--pro-lime);opacity:.7;box-shadow:0 0 14px #c3fa36aa;pointer-events:none}
/* gym: banner, quick links and metrics in the same language */
.pro-gym .club-banner::before{content:"";position:absolute;inset-inline:auto 0;top:0;bottom:0;width:38%;background:repeating-linear-gradient(115deg,transparent 0 22px,#c3fa360d 22px 24px);pointer-events:none}
.pro-gym .club-banner .eyebrow{letter-spacing:.18em}
.pro-gym .club-quick-links a{min-height:52px;font-weight:700;background:linear-gradient(160deg,#c3fa3612,#ffffff05)}
.pro-gym .club-quick-links a .icon{color:var(--pro-lime)}
.pro-gym .club-stat-grid .metric strong{font-family:SportDigits,Yekan,sans-serif;color:var(--pro-lime2)}
.pro-gym .panel{border-radius:var(--pro-r-lg)}
.pro-gym .club-week b{font-family:SportDigits,Yekan,sans-serif}

/* scroll reveal */
.pro-reveal:not(.is-in){opacity:0}
.pro-reveal.is-in{animation:proRise .7s var(--pro-ease) calc(var(--ri,0) * 70ms) backwards}

/* ---------- admin: site images ---------- */
.img-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:22px;align-items:center}
.img-intro h2{font-size:18px;margin:0 0 6px}
.img-intro p{color:var(--muted);font-size:13px;line-height:2;margin:0}
.img-duo{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:18px;border:1px solid #c3fa3633;background:#c3fa360a;cursor:pointer}
.img-duo span{display:grid;gap:4px}.img-duo b{font-size:13.5px}.img-duo small{color:var(--muted);font-size:12px;line-height:1.8}
.img-count{display:grid;justify-items:center;padding:12px 18px;border-radius:18px;background:#03140c99;border:1px solid #ffffff1a}
.img-count .pro-num{font-size:34px;color:var(--pro-lime2);line-height:1.1}.img-count small{color:var(--muted);font-size:11px;white-space:nowrap}
.img-group{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.img-group small{color:var(--muted);font-size:12px;font-weight:400}
.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.img-slot{display:grid;grid-template-rows:auto 1fr;border-radius:22px;overflow:hidden;background:var(--pro-glass);border:1px solid var(--pro-edge);border-top-color:var(--pro-edge-top);box-shadow:var(--pro-shadow);min-width:0}
.img-slot-pic{position:relative;margin:0;aspect-ratio:16/10;background:#06170f;overflow:hidden}
.img-slot.portrait .img-slot-pic,.img-slot.tile .img-slot-pic{aspect-ratio:4/3}
.img-slot-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--pro-ease)}
.img-slot:hover .img-slot-pic img{transform:scale(1.04)}
.img-slot-state{position:absolute;top:10px;inset-inline-start:10px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:99px;font-size:11px;font-weight:700;background:#03140ccc;border:1px solid #ffffff26;color:#d6e5dc;backdrop-filter:blur(8px)}
.img-slot-state.on{background:var(--pro-lime);color:#132006;border-color:var(--pro-lime)}
.img-slot-state .icon{width:13px;height:13px}
.img-slot-bar{position:absolute;inset-inline:0;bottom:0;height:4px;background:#0006;opacity:0;transition:opacity .2s}
.img-slot-bar i{display:block;height:100%;width:0;background:linear-gradient(270deg,var(--pro-lime),var(--pro-mint));transition:width .2s}
.img-slot.busy .img-slot-bar{opacity:1}
.img-slot.busy .img-slot-actions{pointer-events:none;opacity:.55}
.img-slot-body{display:grid;gap:6px;padding:14px 16px 16px;align-content:start;min-width:0}
.img-slot-body h3{font-size:15px;margin:0;overflow-wrap:anywhere}
.img-slot-body p{color:var(--muted);font-size:12px;line-height:1.8;margin:0}
.img-slot-body small{color:#8fa996;font-size:11px}
.img-slot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.img-slot-actions .btn{min-height:40px;padding:8px 14px;font-size:12.5px;width:auto}
.img-slot-pick{position:relative;display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap}
.img-slot-actions .btn.secondary{white-space:nowrap}
.img-slot-pick .icon{width:16px;height:16px}
.img-slot-pick:focus-within{outline:2px solid var(--pro-lime);outline-offset:3px}
.img-slot-msg{min-height:0;font-size:12px!important;color:var(--pro-lime)!important}
.img-slot-msg.bad{color:#ffb39a!important}
@media(max-width:980px){.img-intro{grid-template-columns:1fr}.img-count{justify-self:start}}
@media(max-width:560px){.img-grid{grid-template-columns:1fr 1fr;gap:10px}.img-slot-body{padding:10px 12px 12px}.img-slot-actions{flex-direction:column}.img-slot-actions .btn,.img-slot-actions .btn.secondary,.img-slot-pick{width:100%!important;justify-content:center;padding-inline:8px;white-space:normal!important;text-align:center;line-height:1.5}}

/* ---------- responsive ---------- */
@media(max-width:1180px){.pro-home-grid{grid-template-columns:1fr}.pro-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pro-stat{flex-direction:column;text-align:center}.pro-stat .pro-macro{width:100%}.pro-community-grid{grid-template-columns:1fr}.pro-rules{position:static}}
@media(max-width:1180px) and (min-width:981px){.pro-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.pro-rail{grid-auto-columns:calc((100% - 24px) / 3.2)}.pro-two{grid-template-columns:1fr}.pro-auth{grid-template-columns:1fr}.pro-auth-art{min-height:40vh;padding:32px 24px}.pro-auth-copy h2{font-size:34px}.pro-auth-points{display:none}.pro-auth-art{min-height:max(40vh,340px)}.pro-auth-art .pro-pulse{top:76px;height:56px}.pro-auth-side{align-items:flex-start;margin-top:-34px;border-radius:30px 30px 0 0;border-inline-start:0;border-top:1px solid #c3fa3633;padding:30px 22px calc(30px + env(safe-area-inset-bottom))}}
@media(max-width:900px){
  .pro-hero{flex-direction:column;align-items:stretch;min-height:0;padding:104px 22px 24px;border-radius:26px}
  .pro-hero::before{background:linear-gradient(0deg,#03140cf5 0%,#03140cd9 48%,#03140c4d 100%)}
  .pro-hero-body{max-width:none}
  .pro-hero-score{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px}
  .pro-hero-score .pro-ring{width:110px}.pro-hero-score .pro-ring .pro-num{font-size:30px}
  .pro-hero .pro-pulse{inset-inline:0;width:100%;top:26px;height:62px;-webkit-mask-image:none;mask-image:none}
  .pro-shop-hero{padding-top:30px}.pro-shop-hero .pro-pulse{display:none}
  .pro-profile-hero .pro-kpis{width:100%}
}
@media(max-width:740px){
  .pro-page{gap:16px}
  .pro-hero{flex-direction:column;align-items:stretch;min-height:0;padding:100px 18px 22px;border-radius:26px}
  .pro-shop-hero{padding-top:28px}
  .pro-hero::before{background:linear-gradient(0deg,#03140cf5 0%,#03140cd9 48%,#03140c4d 100%)}
  .pro-hero h1{font-size:26px}
  .pro-hero p{font-size:14px}
  .pro-hero-score{flex-direction:row;justify-content:flex-start;gap:14px}
  .pro-hero-score .pro-ring{width:96px}.pro-hero-score .pro-ring .pro-num{font-size:28px}
  .pro-hero-cta{width:100%}.pro-hero-cta>*{flex:1}
  .pro-ticker span{font-size:17px;padding:0 12px}
  .pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pro-badges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pro-stats{grid-template-columns:1fr}
  .pro-stat{flex-direction:row;text-align:start}
  .pro-week{padding:10px 6px;gap:2px}.pro-day{padding:6px 0}.pro-day .pro-ring{width:40px}.pro-day .pro-ring .pro-num{font-size:14px}
  .pro-rail{grid-auto-columns:calc((100% - 12px) / 1.75)}
  .pro-carousel .pro-arrows{display:none}
  .pro-tile-go{display:none}
  .pro-tile>span{padding-inline-end:0}
  .pro-more{height:38px;padding:0 12px 0 14px}
  .pro-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pro-product-body{padding:12px}.pro-product-body h3{font-size:14px}.pro-price .pro-num{font-size:19px}.pro-add{width:40px;height:40px}
  .pro-shop-hero .pro-shop-art{position:absolute;inset-inline-end:-30px;top:10px;width:150px;opacity:.55}
  .pro-composer{flex-direction:column}.pro-composer>.pro-avatar{display:none}
  .pro-profile-id{align-items:center}.pro-avatar.xxl{width:84px;height:84px;font-size:34px}
  .pro-profile-hero .pro-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pro-hero-cta .btn,.pro-hero-cta .pro-cta,.pro-hero-cta .pro-ghost{white-space:nowrap;font-size:14px;padding-inline:16px}
  .pro-auth-word{inset-inline-start:22px;top:22px;font-size:24px}.pro-auth-word i{width:38px;height:38px;font-size:22px}
  .pro-greet .pro-avatar.lg{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){
  .pro-page>*,.pro-auth-card,.pro-hero-img,.pro-auth-art>img,.pro-shop-art,.pro-ticker-track{animation:none!important;transform:none!important}
  .pro-pulse path{animation:none;stroke-dashoffset:0}.pro-pulse circle{animation:none;opacity:.9}
  .pro-ring .val,.pro-chart .line,.pro-spark i{transition:none!important}
  input[type=checkbox],input[type=checkbox]::before{transition:none;animation:none!important}
  .pro-reveal{animation:none!important;opacity:1!important}
}
