/* Bright training-dashboard theme layered over the initial layout. */
:root{--bg:#f4fbff;--bg-2:#e9f8ff;--panel:#ffffff;--panel-2:#ebf6ff;--line:#cfe8f2;--text:#15324c;--soft:#49647a;--muted:#61798d;--violet:#7967e9;--violet-2:#6a58d9;--cyan:#078fa8;--lime:#109c79;--shadow:0 14px 35px rgba(40,107,150,.11)}
body{font-size:16px;background:radial-gradient(circle at 7% 5%,#dcf9fb 0,transparent 28%),radial-gradient(circle at 96% 30%,#e6e3ff 0,transparent 28%),linear-gradient(165deg,#f9fdff,#eaf7ff 72%,#f7fbff);color:var(--text)}
.site-header{background:#ffffffeb;border-bottom:1px solid #cde6f0;box-shadow:0 5px 22px #17749b0d;height:90px}.brand{gap:13px}.brand-logo{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 2px 5px #087f9b22)}.brand-text strong{font-size:21px;color:#143b58;letter-spacing:1px}.brand-text small{font-size:9px;color:#4b8a9a;letter-spacing:1.5px}.top-nav a{color:#3d6378;font-size:14px;font-weight:700;padding:33px 0}.top-nav a:hover,.top-nav a.active{color:#087fa4}.top-nav a.active:after{background:linear-gradient(90deg,#09cccd,#fb8425);height:3px}.header-pill{color:#147a93;background:#e8fafa;border-color:#bce8ed;font-size:12px}.site-footer{font-size:12px;color:#668194;background:#f8fcff}
.page{padding-top:48px}.eyebrow{color:#098da9;font-size:12px}.eyebrow:before{background:#10c4cf}.page-title{font-size:clamp(38px,4.3vw,60px);letter-spacing:-1.6px;color:#17364f}.page-lead{font-size:16px;color:#4c6b80;max-width:860px}.section-label h2{font-size:28px;color:#183c5a}.section-label p{font-size:14px;color:#607c90}.section-label .count{font-size:13px}.status{color:#008e9c!important;font-size:13px!important}.status:before{background:#00bdbd}.demo-tag{font-size:12px;color:#077c9e;background:#e2f9fb;border-color:#a2e6ea;padding:7px 12px}.data-caption,.ladder-caption,.notice{font-size:13px;color:#627e92}.button{font-size:14px;padding:12px 19px}.button-primary{background:linear-gradient(110deg,#09c8d0,#46d5c0);color:#073749;box-shadow:0 8px 24px #06a6bb22}.button-ghost{color:#176987;background:#eefbff;border-color:#9cdde8}.button-light{color:#153e58}
.home-hero:after{background:linear-gradient(90deg,rgba(9,48,75,.83),rgba(19,67,94,.59) 55%,rgba(13,85,102,.20)),linear-gradient(0deg,#f4fbff 0%,transparent 26%)}.home-hero:before{filter:blur(4px) saturate(1.18)}.hero-grid{opacity:.26}.hero-overline{font-size:14px;color:#d7ffff}.hero-overline i{background:#15e9e1}.home-hero h1{font-size:clamp(45px,6vw,84px)}.home-hero h1 span{color:#93fff1}.home-hero p{font-size:18px;color:#f4ffff;max-width:690px}.hero-rule{background:#24f0e7}.hero-note{font-size:14px;color:#ecfffd}.hero-corner{color:#e4ffffaa}.portal-grid{grid-template-columns:1.18fr 1fr 1fr}.portal-card,.portal-card.featured{background:#ffffffec;border-color:#a5dce9;box-shadow:0 15px 34px #145a8b1c}.portal-card.featured{background:linear-gradient(145deg,#e3fbfc,#f2f0ff);border-color:#70d8e1}.portal-card:hover{border-color:#27bbcb}.portal-no{color:#078aa4;font-size:12px}.portal-icon{color:#fa8a31}.portal-card h3{color:#193e58;font-size:22px}.portal-card p{color:#56758a;font-size:13px}.portal-arrow{color:#078aa4;font-size:14px}.home-content .intro-bar{color:#4e7087;font-size:14px}.intro-bar strong{color:#174260;font-size:17px}
.panel{background:#ffffff;border-color:#d5e9f1;box-shadow:var(--shadow)}.growth-bottom .panel{background:linear-gradient(135deg,#effcff,#f7f3ff)}.growth-bottom h3{font-size:18px;color:#163b55}.growth-bottom p{font-size:14px;color:#527187}.growth-bottom b{color:#087f9f}.growth-page .section-label{margin-top:52px}
.leaderboard{border:2px solid #61cef4;border-radius:18px;overflow:hidden;box-shadow:0 18px 36px #1568bd2a;background:#1356cf;position:relative}.leaderboard:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1cf3f0,#3dd4ff,#ffd069,#f88a35);z-index:1}.leaderboard-title{min-height:74px;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(90deg,#1186e9,#195bd1);color:white}.leaderboard-title strong{font-size:22px;letter-spacing:2px}.leaderboard-title>span{font-size:11px;letter-spacing:1.5px;color:#c5faff}.board-signal{background:#ffffff1f;border:1px solid #abedff77;border-radius:20px;padding:7px 11px}.leaderboard-labels,.leader-row{display:grid;grid-template-columns:64px 1.35fr 1fr 1.28fr 1.28fr .65fr;align-items:center;column-gap:15px}.leaderboard-labels{padding:12px 24px;background:#0951c0;color:#c2eefe;font-size:12px}.leader-row{padding:18px 24px;min-height:104px;background:linear-gradient(90deg,#1d6ce0,#1760d3);color:white;border-top:1px solid #80c3ff5c;transition:background .2s,transform .2s}.leader-row:nth-of-type(even){background:linear-gradient(90deg,#277de9,#1b6ddc)}.leader-row:hover{background:linear-gradient(90deg,#2b8df2,#2379e7);transform:translateX(3px)}.medal{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:800;color:#794419;background:linear-gradient(145deg,#fff5ab,#ffba2f);border:3px solid #fff5a7;box-shadow:0 4px 12px #072f8066,0 0 0 3px #ffffff29;position:relative}.medal:after{content:'✦';position:absolute;right:-8px;top:-10px;color:#fff4b2;font-size:15px}.medal-2{background:linear-gradient(145deg,#fff,#a6d5ed);border-color:#e5f7ff;color:#48667a}.medal-3{background:linear-gradient(145deg,#ffe1bb,#e9995a);border-color:#ffcf9e;color:#884725}.leader-identity strong{display:block;font-size:18px;white-space:nowrap}.leader-identity small{display:block;font-size:12px;color:#d4e9ff;margin-top:5px}.leader-cell small{display:block;font-size:11px;color:#c4ecff;margin-bottom:5px}.leader-cell strong{display:block;font-size:14px;line-height:1.45;font-weight:700}.leader-time strong{font-size:23px;white-space:nowrap}.leader-cell em{font-size:12px;font-style:normal}.leader-score strong{color:#ffe8a5;font-size:20px;white-space:nowrap}
.roster-gallery{border:2px solid #5ad1e7;border-radius:18px;background:linear-gradient(180deg,#c8f3ff,#e7fbff);overflow:hidden;box-shadow:0 15px 35px #227aae1e}.roster-gallery-top{display:flex;justify-content:space-between;gap:10px;align-items:center;background:linear-gradient(90deg,#15a8d9,#40c9e5);padding:12px 22px;color:white;font-size:12px;font-weight:700;letter-spacing:1px}.roster-window{padding:26px 0 22px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.roster-marquee{display:flex;width:max-content;animation:roster-right 42s linear infinite;will-change:transform}.roster-marquee:hover,.roster-marquee:focus-within,.roster-marquee.is-paused{animation-play-state:paused}.roster-set{display:flex;width:max-content;gap:16px;padding-right:16px}.roster-poster{flex:none;width:194px;height:182px;background:white;border:3px solid #2c8de5;border-radius:12px;overflow:hidden;box-shadow:0 5px 0 #71cef4,0 7px 16px #1476b731;position:relative;transition:transform .2s}.roster-poster:hover{transform:translateY(-5px)}.roster-poster:nth-child(3n+2){border-color:#8d7de6}.roster-poster:nth-child(3n){border-color:#f49e62}.poster-top{height:121px;background:linear-gradient(135deg,#83ecf1,#77c1f4);display:grid;place-items:center;position:relative;overflow:hidden}.roster-poster:nth-child(3n+2) .poster-top{background:linear-gradient(135deg,#d3b4ff,#9dd5f7)}.roster-poster:nth-child(3n) .poster-top{background:linear-gradient(135deg,#ffd0a7,#ffc387)}.poster-orbit{position:absolute;width:145px;height:145px;border:1px solid #ffffffa3;border-radius:50%;top:-43px;right:-30px;box-shadow:0 0 0 14px #ffffff18,0 0 0 28px #ffffff11}.poster-avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#ffffffd9;color:#0a75a8;font-size:31px;font-weight:800;box-shadow:0 8px 22px #09688b25;border:4px solid white;z-index:1}.poster-number{position:absolute;top:9px;left:12px;color:#134e83;font-size:11px;font-weight:800;letter-spacing:1px}.poster-bottom{height:59px;padding:9px 11px;display:block;position:relative}.poster-bottom strong{font-size:16px;color:#184565;display:block}.poster-bottom small{font-size:11px;color:#567d98;display:block;margin-top:1px}.poster-arrow{position:absolute;right:12px;top:13px;color:#f58939;font-size:19px}.roster-gallery-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 21px 15px;color:#397995;font-size:12px}.roster-gallery-bottom button{border:0;border-radius:7px;background:#0caac4;color:white;padding:9px 13px;font-weight:700}.marquee-control{font-size:12px;padding:8px 12px}@keyframes roster-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.step{background:linear-gradient(180deg,#e9faff,#f7fdff);border-color:#8bcfe5;box-shadow:0 8px 19px #177bab10}.step:nth-child(5){background:linear-gradient(180deg,#e3e1ff,#f9fbff)}.step:before{background:linear-gradient(90deg,#1ac6d2,#8270eb,#ff9d50)}.step-no{color:#168eae;font-size:12px}.step h3{font-size:19px;color:#163f5a}.step p{font-size:12px;color:#52748b}.step-members a{font-size:12px;color:#0c6688;background:#d7f6fa;border-color:#8ad9e3}.step-members a:hover{border-color:#0eb5cf}.step-foot{color:#6992a6}.step-empty{color:#829aaa}
.avatar{background:linear-gradient(135deg,#39c8d5,#8172ea)}.back-link{color:#098ba6;font-size:14px}.profile-ident h1{font-size:36px;color:#183e58}.profile-ident p{font-size:14px;color:#587489}.profile-stat small{color:#668299;font-size:12px}.profile-stat strong{font-size:20px;color:#183f5c}.profile-stat em{font-size:12px;color:#7890a1}.profile-goal h2,.records-panel h2{font-size:22px;color:#153d58}.profile-goal p{font-size:14px;color:#4e6e83}.profile-goal b{color:#078fa6;font-size:12px}.level-select,.field input,.field textarea,.field select{background:#f8fdff;color:#173d57;border-color:#afdce7}.record p{font-size:14px;color:#4c6c81}.record time{font-size:12px;color:#078fa6}.record h3{font-size:17px;color:#1a4766}.record:before{background:#0db4c9}.notice{color:#617e91}.empty-state{background:#edf8fc;color:#59798f}.delete-record{color:#91738f;font-size:12px}.venue-copy h2,.moments-copy h2{color:#163d5a}.venue-copy p,.coach-card p,.course-card p,.moments-copy p,.moment-card p{color:#527188;font-size:14px}.venue-facts div{background:#e9f9fd}.venue-facts strong,.venue-contact a,.coach-badge,.course-card span,.moment-card .tag{color:#078da8}.venue-facts small,.venue-contact{color:#59788c;font-size:13px}.coach-card h3,.course-card h3,.moment-card h3{color:#173f5d}.moments-copy .demo-tag{color:#0b8fa7}.moment-card,.coach-card,.course-card{background:#fff}.moments-video{background:#e9f8fb}.site-footer{border-color:#cce5ef}
dialog{background:#fff;color:#173d57;border-color:#8ad5e0}.dialog-head h2{color:#173d57}.icon-button{background:#e3f7fa;color:#167790}.field{color:#385c76;font-size:13px}.field small{color:#6f8c9e}.form-error{color:#bb4767}.mobile-nav:not([hidden]){background:#fff;border-color:#cae5ef}.mobile-nav a{color:#27546e;border-color:#e0eff4}
@media(max-width:1050px){.leaderboard-labels,.leader-row{grid-template-columns:55px 1.2fr 1fr 1.1fr 1.1fr .7fr;gap:9px}.leader-cell strong{font-size:12px}.leader-time strong{font-size:20px}.leader-score strong{font-size:17px}.leaderboard-labels{font-size:11px}.step p{font-size:11px}.step h3{font-size:17px}}
@media(max-width:760px){.site-header{height:74px}.brand-logo{width:55px;height:55px}.brand-text strong{font-size:18px}.brand-text small{font-size:8px}.menu-toggle{color:#087e9d;background:#e4f9fc;border-color:#9ddfe9}.mobile-nav:not([hidden]){top:74px}.page{padding-top:32px}.page-title{font-size:clamp(34px,8vw,45px)}.page-lead{font-size:15px}.section-label h2{font-size:23px}.section-label p{font-size:13px}.home-hero:after{background:linear-gradient(180deg,#0c5279b5,#1c5c75a6 52%,#f4fbff 100%)}.home-hero p{font-size:16px}.hero-overline{font-size:11px}.hero-note{font-size:12px}.portal-card h3{font-size:19px}.portal-card p{font-size:12px}.portal-arrow{font-size:13px}.leaderboard-title{padding:14px 16px;min-height:65px}.leaderboard-title strong{font-size:18px}.leaderboard-title>span:last-child{display:none}.leaderboard-labels{display:none}.leader-row{grid-template-columns:48px minmax(0,1fr) minmax(92px,auto);gap:8px 11px;padding:17px 15px;min-height:0}.leader-identity strong{font-size:16px}.leader-identity small{font-size:11px}.leader-cell small{font-size:10px}.leader-cell strong{font-size:12px}.leader-time strong{font-size:18px}.leader-row .leader-cell:nth-child(4){grid-column:2}.leader-row .leader-cell:nth-child(5){grid-column:3}.leader-score{grid-column:2 / -1;border-top:1px solid #ffffff40;padding-top:7px}.leader-score small,.leader-score strong{display:inline;font-size:13px}.leader-score strong{color:#ffe9b4;margin-left:8px}.medal{width:42px;height:42px;font-size:19px}.roster-gallery-top{font-size:10px;padding:11px 14px}.roster-gallery-bottom{font-size:11px;padding:12px 14px}.roster-window{padding:21px 0}.roster-poster{width:168px;height:166px}.poster-top{height:108px}.poster-avatar{width:68px;height:68px;font-size:28px}.poster-bottom strong{font-size:14px}.poster-bottom small{font-size:10px}.step,.step:nth-child(n){padding:17px}.step h3{font-size:18px}.step p{font-size:12px}.profile-ident h1{font-size:27px}.profile-stat strong{font-size:17px}.profile-goal p,.record p{font-size:13px}}
@media(max-width:470px){.brand-text small{letter-spacing:.6px}.leader-row{grid-template-columns:44px minmax(0,1fr) minmax(82px,auto)}.leader-cell strong{font-size:11px}.leader-time strong{font-size:17px}.leader-identity strong{font-size:15px}.leader-identity small{font-size:10px}.roster-gallery-top span:last-child{display:none}.roster-gallery-bottom{gap:8px}.roster-gallery-bottom button{font-size:11px}.page-title{font-size:32px}}
@media(prefers-reduced-motion:reduce){.roster-marquee{animation:none}.roster-window{overflow-x:auto;mask-image:none}.roster-marquee .roster-set[aria-hidden="true"]{display:none}}
