@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#0a2946;--ink:#13324e;--orange:#f45d21;--muted:#64798d;--line:#dde5eb;--bg:#f2f5f7;--green:#19764d;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#e3eaf0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:13px;padding:14px 18px;background:var(--orange);color:#fff;font-weight:700;min-height:48px}button:disabled{opacity:.55;cursor:wait}button.secondary{background:#eaf0f5;color:var(--ink)}button.ghost{background:transparent;color:var(--muted);padding:10px}button.danger{background:#fff0ed;color:#b13225}button:focus-visible,a:focus-visible{outline:3px solid #58b4ee;outline-offset:3px}a{color:#12669b}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.025em}h1{font-size:30px}h2{font-size:24px}h3{font-size:18px;margin-bottom:10px}p{line-height:1.6}small,.muted{color:var(--muted)}small{font-size:13px}strong{font-weight:700}.shell{max-width:1160px;margin:auto;min-height:100dvh;background:var(--bg)}header{background:var(--navy);color:#fff;padding:25px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:3px solid var(--orange)}.brand{display:flex;gap:14px;align-items:center}.brand img{width:52px;height:52px}.brand b{font:800 32px 'Barlow Condensed',sans-serif;letter-spacing:1px}.brand small{display:block;color:#afc5d6;font-size:12px}.identity{text-align:right;max-width:50%}.identity span{display:block;font-size:13px;color:#bed0dd}.identity button{color:#fff;min-height:34px;font-size:12px;padding:5px 0}.layout{display:grid;grid-template-columns:200px 1fr;min-height:calc(100dvh - 107px)}nav{background:#fff;padding:23px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}nav button{text-align:left;background:transparent;color:var(--muted);padding:13px;display:flex;align-items:center;gap:12px;font-size:14px}nav button.active{background:#fff0e8;color:#c5440e}nav .nav-icon{font-size:22px;width:25px;text-align:center}main.content{padding:30px 32px 70px;min-width:0}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:700;text-transform:uppercase}.page-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.page-title h1{margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:0 4px 20px #17334b03}.hero{background:var(--navy);color:white;position:relative;overflow:hidden;border:0;padding:30px;min-height:210px}.hero::after{content:'';position:absolute;width:260px;height:260px;right:-100px;top:-20px;border:1px solid #ffffff19;border-radius:50%;box-shadow:0 0 0 40px #ffffff06,0 0 0 80px #ffffff03;pointer-events:none}.hero .eyebrow{color:#ffab85}.hero h1{font-family:'Barlow Condensed',sans-serif;font-size:44px;line-height:1.06;text-transform:uppercase;max-width:450px;margin:18px 0 12px}.hero p{color:#b8cddd;max-width:460px;margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 28px}.metric{background:white;border:1px solid var(--line);border-radius:17px;padding:20px 14px}.metric b{display:block;font-size:30px;font-family:'Barlow Condensed',sans-serif}.metric span{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stack{display:grid;gap:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.wrap{flex-wrap:wrap}.row.start{align-items:flex-start}.row p{margin-bottom:4px}.badge{font-size:11px;font-weight:700;letter-spacing:.3px;padding:6px 10px;background:#edf2f6;color:var(--muted);border-radius:30px;white-space:nowrap;display:inline-block}.badge.green{background:#e4f3e9;color:var(--green)}.badge.orange{background:#fff0e5;color:#b44716}.empty{text-align:center;padding:35px 18px}.empty .symbol{font-size:38px;color:var(--orange);margin-bottom:16px}.empty p{max-width:380px;margin:10px auto 20px}.section-label{font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin:25px 0 13px}.entry{border-bottom:1px solid var(--line);padding:16px 0}.entry:last-child{border-bottom:0}.entry:first-child{padding-top:0}.entry small{display:block;margin-top:4px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.inline-actions button{padding:10px 14px;font-size:13px;min-height:42px}.alert{padding:14px 17px;border-left:3px solid var(--orange);background:#fff4ed;border-radius:0 12px 12px 0;color:#855336;font-size:14px;line-height:1.5;margin-bottom:18px}.error{background:#fff0ed;color:#a83124;border-radius:12px;padding:13px;font-size:14px}.success{background:#e9f5ed;color:#266241;border-radius:12px;padding:14px;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}form{display:grid;gap:17px}label{display:grid;gap:8px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cdd9e3;border-radius:12px;padding:14px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #4b9bcc;outline-offset:1px}textarea{min-height:110px;resize:vertical}label.check{display:flex;align-items:center;gap:10px;font-weight:500;background:#f4f7f9;padding:12px;border-radius:10px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--orange)}fieldset{border:1px solid var(--line);border-radius:13px;margin:0;padding:14px;display:grid;gap:7px;max-height:240px;overflow:auto}legend{font-size:13px;font-weight:700;padding:0 5px}.loading{padding:60px;text-align:center}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:10;background:var(--navy);color:white;padding:14px 23px;border-radius:13px;max-width:90%;box-shadow:0 8px 30px #0002;display:none}dialog{border:0;border-radius:23px;padding:28px;width:min(540px,calc(100% - 24px));max-height:90dvh;color:var(--ink);box-shadow:0 20px 90px #061e4050}dialog::backdrop{background:#071d32aa;backdrop-filter:blur(3px)}dialog .page-title{margin-bottom:22px}dialog h2{margin:0}dialog .close{border-radius:50%;padding:6px 12px;font-size:21px;min-height:38px}.auth{max-width:1040px;margin:5vh auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;border-radius:27px;overflow:hidden;background:white;box-shadow:0 25px 80px #12334c1a}.auth-story{background:var(--navy);color:white;padding:42px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.auth-story:after{content:'';position:absolute;width:450px;height:450px;border:1px solid #fff2;border-radius:50%;right:-230px;bottom:-130px;box-shadow:0 0 0 55px #fff04,0 0 0 110px #fff03;pointer-events:none}.auth-story h1{font:800 72px/.96 'Barlow Condensed',sans-serif;letter-spacing:-1px;text-transform:uppercase;margin:50px 0 22px}.auth-story h1 em{font-style:normal;color:#ff7c45}.auth-story p{color:#bdd0de;max-width:320px}.auth-story .tag{font-size:11px;letter-spacing:2px;color:#b9cbd9}.auth-panel{padding:50px 38px;display:flex;flex-direction:column;justify-content:center}.auth-panel h2{font-size:27px;margin-bottom:8px}.auth-panel>.muted{font-size:14px;margin-bottom:25px}.auth-panel form button{margin-top:5px}.auth-footer{margin-top:27px;font-size:13px;line-height:1.6;text-align:center}.auth-footer button{font-size:13px;padding:3px 6px;min-height:30px;color:#14658c;background:none}.account-link{overflow-wrap:anywhere;font-size:13px;padding:12px;background:#f1f5f7;border:1px solid var(--line);border-radius:10px;user-select:all}.scoreboard{background:var(--navy);color:white;padding:25px;border-radius:18px;text-align:center;margin-bottom:20px}.scoreboard .score{font:800 60px 'Barlow Condensed',sans-serif;display:flex;justify-content:center;gap:30px}.scoreboard .row{margin-top:15px;justify-content:center;gap:7px}.scoreboard small{color:#b1c9d8}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stat-grid button{background:#173d59;min-height:70px;padding:9px;font-size:13px}.stat-grid button.shot{background:var(--orange)}.selection{display:flex;gap:8px;overflow:auto;padding:5px 0 14px}.selection button{min-width:100px;background:white;color:var(--ink);border:1px solid var(--line);font-size:13px}.selection button.selected{border-color:var(--orange);background:#fff0e7;color:#b94313}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 9px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:11px}time{font-variant-numeric:tabular-nums}.spacer{height:10px}.hidden{display:none!important}.full{width:100%}.checklist{line-height:2;color:var(--muted);font-size:14px}.checklist b{color:var(--ink)}
@media(max-width:760px){.shell{max-width:600px}header{padding:19px 20px}.brand b{font-size:28px}.brand img{width:44px;height:44px}.brand small{font-size:10px}.identity{font-size:13px}.layout{display:block}nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,600px);display:flex;flex-direction:row;overflow-x:auto;padding:7px 5px max(7px,env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;gap:2px}nav button{flex:1;min-width:65px;justify-content:center;flex-direction:column;gap:4px;padding:8px 6px;font-size:10px;border-radius:10px}nav .nav-icon{font-size:21px}main.content{padding:24px 18px 110px}.page-title h1{font-size:26px}.page-title button{padding:11px 13px;font-size:12px}.hero{padding:26px}.hero h1{font-size:38px}.grid{grid-template-columns:1fr}.card{padding:19px;border-radius:17px}.metric{padding:16px 11px}.metrics{gap:8px}.metric b{font-size:27px}.metric span{font-size:11px}.auth{margin:0;min-height:100dvh;border-radius:0;grid-template-columns:1fr;max-width:580px}.auth-story{padding:25px 27px 30px}.auth-story h1{font-size:44px;margin:24px 0 10px;max-width:320px}.auth-story p{font-size:13px;max-width:300px;margin:0}.auth-story .tag{display:none}.auth-panel{padding:30px 27px 38px}.auth-panel h2{font-size:25px}.form-grid{grid-template-columns:1fr}.auth-footer{margin-top:20px}#toast{bottom:90px}dialog{padding:23px}.scoreboard .score{font-size:54px}.row.wrap>*{max-width:100%}}

.text-lines{white-space:pre-line}
.feature-list{display:grid;gap:12px}.feature-item{display:flex;align-items:center;gap:15px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 20px #17334b08}.feature-item:hover{border-color:#f4a27c}.feature-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff0e6;color:var(--orange);font-size:25px}.feature-item span:nth-child(2){display:grid;gap:4px;flex:1}.feature-item small{font-size:13px;font-weight:500}.feature-item>b{font-size:27px;color:#8295a4}.family-card{border-left:4px solid var(--orange)}.linked-children{display:grid;gap:8px;margin:12px 0}.linked-child{display:flex;align-items:center;gap:12px;background:#f4f7f9;padding:11px;border-radius:12px}.linked-child>span{font-size:22px;color:var(--orange)}.linked-child div{display:grid;flex:1}.linked-child small{font-size:12px}.player-card{position:relative}.family-link{background:#f4f7f9;padding:10px 12px;border-radius:10px}.score-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.score-list span{display:flex;justify-content:space-between;padding:9px 11px;background:#fff7f2;border-radius:10px}.score-list b{color:var(--orange);letter-spacing:1px}.photo-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.club-note{margin-top:20px}.vision-card{background:linear-gradient(135deg,#fff,#eef6fc)}
@media(max-width:760px){.feature-item{padding:12px 14px}.feature-item button{padding:10px}.score-list{grid-template-columns:1fr}.linked-child button{font-size:11px;padding:8px}}
.story-banner{position:relative;overflow:hidden;border-radius:20px;min-height:170px;margin:22px 0;background:#0a2946;color:#fff}.story-banner img{width:100%;height:170px;object-fit:cover;opacity:.65;display:block}.story-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#082945dd,#08294535)}.story-banner div{position:absolute;z-index:1;left:24px;bottom:22px;display:grid;gap:7px}.story-banner span{font-size:11px;letter-spacing:2px;font-weight:700}.story-banner strong{font:700 27px/1.08 'Barlow Condensed',sans-serif}@media(max-width:760px){.story-banner{min-height:150px}.story-banner img{height:150px}.story-banner strong{font-size:24px}}

/* Athletic, high-contrast CBMS layer with real progress data. */
:root{--navy:#0b0d0f;--ink:#121417;--orange:#c7ff2f;--muted:#64706a;--line:#e1e5dc;--bg:#f4f6f0;--green:#18764c}body{background:#111416}.shell{max-width:1240px;background:var(--bg)}.shell header{background:#0b0d0f;border-bottom:1px solid #252a27;padding:24px 32px}.brand b{color:#fff;font-style:normal;letter-spacing:-2.5px}.brand b:after{color:var(--orange)}.brand small,.identity span{color:#a9b2ac}.identity button{color:var(--orange)}nav{background:#0b0d0f;border-right:1px solid #252a27;padding:20px 12px}nav button{color:#aeb6b0;border-radius:14px}nav button:hover{background:#171b1a;color:#fff}nav button.active{background:var(--orange);color:#111511;font-weight:800}main.content{background:var(--bg);padding:30px 34px 80px}.card{border:1px solid var(--line);box-shadow:none;border-radius:22px}button{background:var(--orange);color:#111511;border-radius:14px;font-weight:800;box-shadow:inset 0 -2px #8fbe17}button.secondary{background:#fff;color:#171b18;border:1px solid #ccd3c9;box-shadow:inset 0 -2px #d6ddd2}button.ghost{color:#57635c;box-shadow:none}.badge{background:#e8ece6;color:#39423d;font-weight:800}.badge.green{background:#d8f5dd;color:#17633f}.badge.orange{background:#efffc9;color:#3d4f11}.alert{border-left-color:var(--orange);background:#f2ffd5;color:#364719}.training-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,42%);min-height:350px;background:#0b0d0f;border-radius:28px;color:#fff;margin:6px 0 18px}.training-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 16%,#c7ff2f23,transparent 29%),linear-gradient(130deg,#0b0d0f 0%,#101714 55%,#0b0d0f 100%)}.training-copy{position:relative;padding:42px;display:flex;flex-direction:column;justify-content:center}.training-copy:after{content:'';position:absolute;width:390px;height:390px;border:1px solid #c7ff2f38;border-radius:50%;left:-245px;bottom:-285px;box-shadow:0 0 0 46px #c7ff2f0b,0 0 0 92px #c7ff2f08}.training-copy .eyebrow{color:var(--orange)}.training-copy h1{position:relative;font:800 clamp(45px,6vw,74px)/.88 'Barlow Condensed',sans-serif;letter-spacing:-1.5px;margin:17px 0;text-transform:uppercase}.training-copy h1 em{font-style:normal;color:var(--orange)}.training-copy p{position:relative;color:#c4cdc4;font-size:16px;max-width:380px;margin:0}.hero-tags{position:relative;display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}.hero-tags span{border:1px solid #3b433c;border-radius:999px;padding:7px 10px;color:#d8ded8;font-size:10px;letter-spacing:1.3px;font-weight:800}.training-image{position:relative;min-height:300px}.training-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0d0f 0%,transparent 28%),linear-gradient(0deg,#0b0d0f88,transparent 44%)}.training-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.07)}.mission-board{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.95fr);gap:22px;margin:18px 0}.mission-main{position:relative;overflow:hidden;padding:29px 31px;border-radius:24px;background:var(--orange);color:#111511}.mission-main:after{content:'01';position:absolute;right:19px;bottom:-25px;color:#9ac61e77;font:800 145px/.9 'Barlow Condensed',sans-serif;letter-spacing:-8px}.mission-main>*{position:relative;z-index:1}.mission-kicker{font-size:10px;letter-spacing:1.5px;font-weight:900}.mission-main h2{font:800 38px/1 'Barlow Condensed',sans-serif;letter-spacing:-.4px;margin:13px 0 8px;text-transform:uppercase}.mission-main p{max-width:480px;margin:0 0 20px;line-height:1.5}.mission-main button{background:#131714;color:#fff;box-shadow:none;min-height:42px;padding:10px 14px}.mission-main button span{color:var(--orange);font-size:19px;margin-left:7px}.momentum{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);padding:18px 20px;border-radius:24px}.momentum>div:last-child{display:grid;gap:4px}.momentum strong{font-size:18px}.momentum small{font-size:12px;line-height:1.4}.progress-orbit{width:88px;height:88px;flex:0 0 88px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) calc(var(--progress)*1%),#e4e9df 0);position:relative}.progress-orbit:before{content:'';position:absolute;inset:8px;border-radius:50%;background:#fff}.progress-orbit strong{position:relative;display:flex;align-items:baseline;font:800 28px 'Barlow Condensed',sans-serif}.progress-orbit small{font:700 12px 'DM Sans',sans-serif}.quick-command{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 35px}.quick-command button{min-height:110px;display:grid;align-content:center;justify-items:start;gap:5px;background:#fff;color:var(--ink);padding:18px;border:1px solid var(--line);box-shadow:none;text-align:left}.quick-command button:hover{border-color:#9ecb22;transform:translateY(-1px)}.quick-command span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#efffc9;color:#385006;font-size:18px}.quick-command strong{font-size:14px}.quick-command small{font-size:11px;color:var(--muted);font-weight:600}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:22px;align-items:start}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:4px 0 14px}.section-heading h2{font:800 30px/1 'Barlow Condensed',sans-serif;letter-spacing:0;margin:5px 0 0;text-transform:uppercase}.section-heading .eyebrow{font-size:10px;color:#64706a}.section-heading .ghost{min-height:35px;padding:6px 0;font-size:12px}.mission-list{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden}.mission-row{display:grid;grid-template-columns:45px minmax(0,1fr) 42px;align-items:center;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line)}.mission-row:last-child{border-bottom:0}.mission-number{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#efffc9;color:#42610a;font:800 18px 'Barlow Condensed',sans-serif}.mission-row span{font-size:10px;font-weight:900;letter-spacing:.8px;color:#6a756d}.mission-row h3{margin:5px 0 3px;font-size:17px}.mission-row p{margin:0;color:var(--muted);font-size:12px}.row-arrow{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;font-size:20px;box-shadow:none}.impact-panel{border-radius:22px;background:#171b18;color:#fff;padding:24px}.impact-panel>.eyebrow{color:var(--orange)}.impact-panel h2{font:800 28px/1.04 'Barlow Condensed',sans-serif;margin:12px 0 22px;text-transform:uppercase}.impact-stat{display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #303631}.impact-stat b{font:800 34px/1 'Barlow Condensed',sans-serif;color:var(--orange)}.impact-stat span{font-size:12px;line-height:1.35;color:#c5ccc5}.impact-panel button{margin-top:19px;width:100%;background:#fff;color:#141815;box-shadow:none}.club-story{position:relative;overflow:hidden;border-radius:24px;min-height:260px;margin:32px 0;color:#fff;background:#111}.club-story:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090c0beb 0%,#090c0ba8 40%,#090c0b05 100%)}.club-story img{display:block;width:100%;height:260px;object-fit:cover;filter:saturate(.72) contrast(1.1)}.club-story div{position:absolute;z-index:1;left:30px;bottom:29px;max-width:430px}.club-story span{display:block;color:var(--orange);font-size:10px;letter-spacing:1.5px;font-weight:900;margin-bottom:9px}.club-story strong{font:800 38px/1 'Barlow Condensed',sans-serif;text-transform:uppercase}.notice-area{margin-bottom:24px}.notice-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px 20px;margin-bottom:10px}.notice-card h3{font-size:16px;margin-bottom:7px}.notice-card p{font-size:14px;margin:0;color:#536059}.auth{box-shadow:0 25px 80px #0004}.auth-story{background:#0b0d0f}.auth-story h1 em{color:var(--orange)}.auth-story:after{border-color:#c7ff2f33;box-shadow:0 0 0 55px #c7ff2f0a,0 0 0 110px #c7ff2f06}.auth-panel form button{background:var(--orange);color:#101310}.feature-list{border-color:var(--line)}.feature-item:hover{border-left:4px solid var(--orange)}.feature-icon{background:#efffc9;color:#3b5705}.feature-item:nth-child(even) .feature-icon{background:#ecf0ea;color:#5d6b61}.scoreboard,.live-score,.next-session,.club-gateway{background:#101311;border-top-color:var(--orange)}.stat-grid button{background:#272d29}.stat-grid button.shot{background:var(--orange);color:#101310}.selection button.selected{border-color:#9fcb22;background:#efffc9;color:#31430b}.event-metrics article{background:#141815}.event-match{border-left-color:var(--orange)}.story-banner{background:#111}.story-banner:after{background:linear-gradient(90deg,#0b0d0feb,#0b0d0f22)}
@media(max-width:860px){.training-hero{grid-template-columns:1fr;min-height:0}.training-copy{padding:31px}.training-image{height:180px;order:-1}.training-image:after{background:linear-gradient(0deg,#0b0d0f 0%,transparent 65%)}.mission-board,.home-layout{grid-template-columns:1fr}.impact-panel{display:grid;grid-template-columns:1fr repeat(3,minmax(0,1fr));gap:12px;align-items:end}.impact-panel h2{grid-column:span 3;margin:0}.impact-panel>.eyebrow{grid-column:span 3}.impact-stat{grid-template-columns:1fr;border-top:1px solid #303631}.impact-panel button{grid-column:span 3;margin-top:3px}.club-story img{height:250px}}
@media(max-width:760px){.shell header{padding:22px 20px}.brand small{color:#9fa9a1}.layout{display:block}nav{background:#0b0d0f;border:0;box-shadow:0 -5px 20px #0004}nav button{color:#9fa9a1}nav button.active{color:#101310;background:var(--orange)}nav button.active:before{background:#fff}.content,main.content{padding:12px 17px 118px}.training-hero{border-radius:22px}.training-copy{padding:28px 23px}.training-copy h1{font-size:48px}.training-copy p{font-size:14px}.training-image{height:145px}.mission-board{gap:10px}.mission-main{padding:25px 22px;border-radius:20px}.mission-main h2{font-size:33px}.momentum{border-radius:20px;padding:15px}.quick-command{gap:7px;margin-bottom:29px}.quick-command button{min-height:100px;padding:13px 10px;border-radius:16px}.quick-command span{width:28px;height:28px;font-size:15px}.quick-command strong{font-size:11px}.quick-command small{display:none}.home-layout{gap:18px}.section-heading h2{font-size:27px}.mission-row{grid-template-columns:36px minmax(0,1fr) 34px;gap:10px;padding:15px 13px}.mission-number{width:34px;height:34px;border-radius:10px;font-size:16px}.mission-row h3{font-size:14px}.mission-row p{font-size:11px}.row-arrow{width:32px;height:32px;min-height:32px;font-size:17px}.impact-panel{border-radius:20px;padding:20px;gap:8px}.impact-panel h2{font-size:27px}.impact-stat b{font-size:29px}.impact-stat span{font-size:10px}.club-story{min-height:220px;margin:27px 0}.club-story img{height:220px}.club-story div{left:20px;bottom:21px;max-width:290px}.club-story strong{font-size:31px}.notice-card{padding:16px;border-radius:15px}}

/* Original Higgsfield art, bundled with CBMS instead of loaded from a temporary URL. */
:root {
  --navy: #110d1d;
  --ink: #17131f;
  --orange: #a78bfa;
  --muted: #6e6679;
  --line: #e6e1ed;
  --bg: #f7f5fa;
  --green: #5f38b9;
}

body { background: #110d1d; }
.shell { background: var(--bg); }
.shell header, nav, .auth-story { background: #110d1d; border-color: #2c253d; }
.brand img { display: block; width: 64px; height: 72px; object-fit: contain; }
.brand b { display: none; }
.brand small { max-width: 190px; color: #d7d0df; line-height: 1.55; }
.brand b:after, .identity button { color: #c4b5fd; }
nav button { color: #bcb4c8; }
nav button:hover { background: #211a30; color: #fff; }
nav button.active, nav button.active:before { background: linear-gradient(135deg, #d5c8ff, #8b67e8); color: #161020; }
button, .auth-panel form button { background: linear-gradient(135deg, #bca9ff, #8258df); color: #161020; box-shadow: inset 0 -2px #6942c8; }
button.secondary { background: #fff; border-color: #ded5ec; box-shadow: inset 0 -2px #eee9f5; }
button.danger { background: #fff1f2; color: #a62649; box-shadow: none; }
button:focus-visible, a:focus-visible { outline-color: #a78bfa; }
.badge.orange { background: #f0eaff; color: #6338b3; }
.badge.green { background: #eee8ff; color: #5d3ba9; }
.alert { border-left-color: #a78bfa; background: #f2eeff; color: #513b7d; }
input:focus, select:focus, textarea:focus { outline-color: #a78bfa; }

.training-hero { background: #110d1d; }
.training-hero:before { background: radial-gradient(circle at 18% 16%, #a78bfa33, transparent 30%), linear-gradient(130deg, #110d1d 0%, #211933 55%, #110d1d 100%); }
.training-copy:after { border-color: #bca9ff4a; box-shadow: 0 0 0 46px #a78bfa12, 0 0 0 92px #a78bfa09; }
.training-copy .eyebrow, .hero-tags span + span { color: #d8ccff; }
.training-copy h1 em, .impact-panel > .eyebrow { color: #c4b5fd; }
.training-image img { content: url('/assets/cbms-inclusive-hero.png'); object-position: right center; filter: saturate(.94) contrast(1.12); }
.training-image:after { background: linear-gradient(90deg, #110d1d 0%, transparent 35%), linear-gradient(0deg, #110d1daa, transparent 50%); }
.mission-main { background: linear-gradient(135deg, #cfc2ff, #8d65e5); color: #181124; }
.mission-main:after { color: #6545b47a; }
.mission-main button { background: #1b1428; color: #fff; }
.mission-main button span { color: #cfc2ff; }
.progress-orbit { background: conic-gradient(#9c7bea calc(var(--progress) * 1%), #e9e4f0 0); }
.quick-command button:hover { border-color: #a78bfa; }
.quick-command span, .mission-number { background: #eee8ff; color: #6338b3; }
.impact-panel, .scoreboard, .live-score, .next-session, .club-gateway { background: #171124; border-top-color: #a78bfa; }
.impact-stat b { color: #c4b5fd; }
.feature-icon { background: #eee8ff; color: #6338b3; }
.feature-item:hover { border-left-color: #a78bfa; }
.selection button.selected { border-color: #a78bfa; background: #eee8ff; color: #513190; }
.stat-grid button.shot { background: #a78bfa; color: #181124; }

/* A polished editorial treatment for the club and player cards. */
.club-gateway { background: #171124; border-top-color: #a78bfa; }
.club-gateway .eyebrow { color: #c4b5fd; }
.club-intro { position: relative; isolation: isolate; overflow: hidden; border-left-color: #a78bfa; background: #171124; color: #fff; }
.club-intro::before { content: ''; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, #171124 0%, #171124e8 48%, #1711244a 100%), url('/assets/cbms-violet-team-editorial.png') right center / cover no-repeat; }
.club-intro::after { content: ''; position: absolute; z-index: 0; width: 230px; height: 230px; right: -85px; bottom: -130px; border: 1px solid #c4b5fd55; border-radius: 50%; box-shadow: 0 0 0 35px #c4b5fd0d; }
.club-intro > * { position: relative; z-index: 1; }
.club-intro .eyebrow { color: #c4b5fd; }
.club-intro .muted { color: #d6cede; }
.club-path li { background: #eee8ff; color: #5b36ac; }
.athlete-card { border-color: #ddd5e9; background: linear-gradient(180deg, #fff 0%, #fbfaff 100%); }
.athlete-card .jersey { min-height: 220px; display: flex; align-items: end; position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(0deg, #171124e8, #17112425), url('/assets/cbms-violet-team-editorial.png') center / cover no-repeat; border-bottom-color: #a78bfa; color: #fff; text-shadow: 0 2px 14px #000; }
.athlete-card .jersey::after { content: 'CBMS'; position: absolute; z-index: -1; right: 16px; top: 18px; color: #d8ccff; font: 800 13px/1 'DM Sans', sans-serif; letter-spacing: 2px; }
.athlete-card img { border: 1px solid #ded5ec; }
.invite-tip { display: block; max-width: 390px; margin: 5px 0 18px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.group-browser { margin: 22px 0 18px; }
.group-browser .section-heading { margin-bottom: 12px; }
.group-browser .section-heading h2 { font-size: 28px; }
.group-card { border: 1px solid #e2d9ef; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.group-card:hover, .group-card:focus-visible { border-color: #a78bfa; box-shadow: 0 10px 25px #7854bd1a; transform: translateY(-2px); }
.group-card.selected { border: 2px solid #8d65e5; background: linear-gradient(135deg, #f7f3ff, #ece5ff); box-shadow: 0 10px 28px #7854bd19; }
.group-card.selected .initials { background: #a78bfa; color: #171124; }
.group-context { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin: 0 0 15px; padding: 13px 15px; border: 1px solid #ddd1fb; border-radius: 15px; background: #f4f0ff; color: #4c2e8a; }
.group-context .eyebrow { color: #7048c7; }
.group-context strong { font-size: 15px; }
.group-context span:last-child { color: #6e6679; font-size: 12px; }
.group-return { margin-top: -8px; margin-bottom: 18px; }
nav .nav-icon svg, .quick-command svg, .feature-icon svg { stroke-width: 2.15; }

/* The landing area is a live product dashboard, not an editorial photograph. */
.court-console { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 285px; overflow: hidden; position: relative; isolation: isolate; border: 1px solid #32274b; border-radius: 25px; margin: 18px 0 20px; background: radial-gradient(circle at 6% 8%, #a78bfa38, transparent 35%), linear-gradient(140deg, #130d20 0%, #221634 58%, #171124 100%); color: #fff; box-shadow: 0 16px 35px #26154220; }
.court-console::after { content: ''; position: absolute; z-index: -1; right: 18%; top: -60px; width: 280px; height: 410px; border: 1px solid #d8ccff26; border-radius: 50%; transform: rotate(-16deg); }
.console-copy { padding: 34px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.console-copy .eyebrow { color: #d8ccff; }
.console-copy h1 { margin: 13px 0 10px; color: #fff; font-size: clamp(33px, 5vw, 53px); font-weight: 900; line-height: .93; letter-spacing: -.07em; }
.console-copy h1 em { color: #c7b5ff; font-style: normal; }
.console-copy p { color: #c9c1d8; max-width: 330px; margin: 0 0 19px; font-size: 14px; }
.console-state { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #d8ccff2b; border-radius: 999px; padding: 8px 11px; color: #e8e1f9; font-size: 11px; background: #ffffff0b; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: #b3f5c4; box-shadow: 0 0 0 4px #b3f5c420; }
.console-court { min-height: 285px; position: relative; overflow: hidden; border-left: 1px solid #d8ccff1a; background: linear-gradient(135deg, #a78bfa0b, transparent 54%); }
.court-lines { position: absolute; inset: 28px 22px; border: 1px solid #d8ccff3d; border-radius: 15px; }
.court-lines::before, .court-lines::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); border: 1px solid #d8ccff40; border-radius: 50%; }
.court-lines::before { top: 11%; width: 62px; height: 62px; }
.court-lines::after { bottom: -37px; width: 180px; height: 92px; }
.court-chip { position: absolute; z-index: 1; display: grid; gap: 2px; min-width: 86px; padding: 11px 13px; border: 1px solid #e3d9ff3b; border-radius: 13px; background: #161024e8; box-shadow: 0 12px 22px #05020d42; }
.court-chip b { color: #d7caff; font-size: 24px; line-height: 1; }
.court-chip small { color: #c2b8d3; font-size: 10px; text-transform: uppercase; letter-spacing: .7px; }
.chip-one { left: 15%; top: 21%; }.chip-two { right: 11%; top: 42%; }.chip-three { left: 23%; bottom: 15%; }
.court-ball { position: absolute; z-index: 2; right: 33%; top: 18%; width: 35px; height: 35px; border: 2px solid #e8dcff; border-radius: 50%; background: #8d65e5; box-shadow: inset -8px -7px 0 #6743ad, 0 7px 18px #0006; }
.court-ball::before, .court-ball::after { content: ''; position: absolute; background: #e8dcffb0; }.court-ball::before { height: 2px; width: 31px; top: 15px; left: 0; transform: rotate(-25deg); }.court-ball::after { width: 2px; height: 31px; left: 15px; top: 0; transform: rotate(25deg); }
.integrated-hero { display: block; min-height: 355px; background: #110d1d; }
.integrated-hero .console-court { position: absolute; z-index: 0; inset: 0; min-height: auto; border: 0; background: linear-gradient(90deg, #110d1df2 0%, #110d1dc9 37%, #110d1d45 66%, #110d1d16 100%), linear-gradient(0deg, #110d1d62, transparent 58%), url('/assets/cbms-inclusive-hero.png') 72% center / cover no-repeat; }
.integrated-hero .console-court::after { content: ''; position: absolute; inset: 0; background: linear-gradient(130deg, #a78bfa1a, transparent 45%); }
.integrated-hero .court-lines, .integrated-hero .court-chip, .integrated-hero .court-ball { display: none; }
.integrated-hero .console-copy { position: relative; z-index: 1; min-height: 355px; width: min(58%, 515px); padding: 38px; }

/* Inicio usa la cancha como superficie de la pantalla, no como fotografía en una tarjeta. */
.home-shell { max-width: none; }
.home-content { position: relative; padding-top: 0 !important; max-width: none; width: 100%; min-width: 0; }
.home-content .page-sync { position: absolute; z-index: 3; top: 18px; right: 23px; margin: 0 !important; }
.home-content .page-sync button { color: #eee8ff; background: #110d1dbd; border: 1px solid #ffffff24; backdrop-filter: blur(8px); }
.home-content .integrated-hero { min-height: calc(100svh - 150px); margin: 0 -34px 28px; border: 0; border-radius: 0; box-shadow: none; }
.home-content .integrated-hero .console-copy { min-height: calc(100svh - 150px); padding-left: clamp(38px, 7vw, 82px); }
.home-content .integrated-hero::before { content: ''; position: absolute; z-index: 2; inset: auto 0 0; height: 100px; background: linear-gradient(0deg, #110d1d, transparent); pointer-events: none; }

/* Panel vivo de cada equipo. */
.family-search { display: grid; gap: 8px; margin: 20px 0 12px; }
.family-directory { border: 1px solid var(--line); border-radius: 18px; background: #fff; overflow: hidden; }
.family-entry { border-bottom: 1px solid var(--line); }
.family-entry:last-child { border-bottom: 0; }
.family-entry > summary { display: flex; align-items: center; gap: 12px; padding: 16px; cursor: pointer; list-style: none; }
.family-entry > summary::-webkit-details-marker { display: none; }
.family-entry > summary:focus-visible { outline: 3px solid #8b67e8; outline-offset: -3px; }
.family-entry summary .grow { min-width: 0; }
.family-entry summary strong { display: block; font-size: 16px; overflow-wrap: anywhere; }
.family-entry summary small { display: block; font-size: 12px; margin-top: 3px; }
.family-entry .initials { flex: 0 0 38px; width: 38px; height: 38px; font-size: 13px; }
.family-chevron { font-size: 25px; color: #7850be; transition: transform .15s; }
.family-entry[open] .family-chevron { transform: rotate(90deg); }
.family-entry[open] > summary { background: #f3eefb; }
.family-details { padding: 18px; overflow-wrap: anywhere; }
.family-details .linked-child { flex-wrap: wrap; }
.family-pagination { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; gap: 10px; }
.invite-share-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.share-link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 18px; border-radius: 14px; background: #7350b9; color: #fff; text-decoration: none; font-weight: 750; }
.share-link.secondary { color: #513480; background: #eee8f7; }
#invite-message { width: 100%; line-height: 1.5; }
.player-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: 0 0 56px; }
.profile-completion { margin: 14px 0; padding: 12px 14px; border-radius: 13px; font-size: 13px; }
.profile-completion.complete { color: #195638; background: #e3f4e9; }
.profile-completion.incomplete { color: #87363a; background: #fff0ef; }
.profile-completion p { margin: 5px 0 0; color: #765458; font-size: 12px; }
.registration-photo { display: grid; gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; }
.registration-photo img { width: 100px; height: 100px; object-fit: cover; border-radius: 18px; }
.registration-photo img[hidden] { display: none; }
.registration-photo input[type=file] { width: 100%; font-size: 12px; }
.unassigned-players { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line); }
@media(max-width: 520px) {
  .family-entry > summary { gap: 9px; padding: 13px 11px; }
  .family-entry summary .badge { max-width: 98px; font-size: 10px; text-align: center; }
  .family-details { padding: 14px; }
  .family-pagination { font-size: 12px; }
  .family-pagination button { padding: 10px; }
  .roster-card > .row { flex-wrap: wrap; }
}
.group-hero { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 0 0 22px; padding: 28px; border-radius: 24px; color: #fff; background: radial-gradient(circle at 82% 12%, #9f7aea42, transparent 33%), linear-gradient(135deg, #120d1f, #26183a); overflow: hidden; }
.group-hero .eyebrow { color: #c9b9ff; }
.group-hero h2 { margin: 8px 0 5px; font-size: 35px; }
.group-hero p { margin: 0; color: #c8bfd5; }
.group-hero .secondary { background: #ffffff17; color: #fff; border-color: #ffffff2b; box-shadow: none; }
.ring-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.ring-card { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 18px; border: 1px solid #e2daed; border-radius: 20px; background: #fff; }
.metric-ring { --value: 0; width: 68px; height: 68px; flex: 0 0 68px; display: grid; place-items: center; position: relative; border-radius: 50%; background: conic-gradient(#8b5de0 calc(var(--value) * 1%), #e8e1ef 0); }
.metric-ring::before { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: #fff; }
.metric-ring strong { position: relative; font-size: 16px; }
.ring-card > div:last-child { min-width: 0; display: grid; gap: 4px; }
.ring-card b { font-size: 14px; }
.ring-card small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.metric-guide p { line-height: 1.6; }
.group-filter-row { display: flex; gap: 8px; overflow-x: auto; margin: 14px 0 22px; padding: 2px 0 7px; }
.group-filter-row button { flex: 0 0 auto; background: #fff; color: #50465c; border: 1px solid #ddd4e8; box-shadow: none; font-size: 12px; }
.group-filter-row button.selected { background: #21162f; color: #fff; border-color: #21162f; }
.session-tools { margin-top: -13px; }

/* Constructor de sesiones: compacto para reutilizar, suficientemente profundo para metodología real. */
dialog.session-dialog { width: min(940px, calc(100% - 24px)); max-height: 94dvh; }
.session-dialog form { gap: 22px; }
.session-setup { display: grid; gap: 16px; padding: 19px; border: 1px solid #e4dcee; border-radius: 19px; background: #faf8fd; }
.session-total-bar { position: sticky; z-index: 3; top: -28px; display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 0; padding: 16px 20px; color: #fff; border-radius: 16px; background: linear-gradient(135deg, #21142f, #53328b); box-shadow: 0 8px 24px #1e112b22; }
.session-total-bar span { font-size: 12px; text-transform: uppercase; letter-spacing: 1.2px; }
.session-total-bar strong { font-size: 21px; }
.session-builder-title { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.session-builder-title h3 { margin: 5px 0 0; font-size: 25px; }
.library-picker { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; padding: 15px; border-radius: 16px; background: #eee9f8; }
.session-block { display: grid; gap: 15px; margin: 0 0 20px; padding: 20px; border: 1px solid #ddd3e9; border-radius: 21px; background: #fff; box-shadow: 0 9px 25px #311f4b0b; }
.session-block textarea { min-height: 82px; }
.block-head { display: flex; justify-content: space-between; align-items: center; }
.block-number { color: #6c47ba; font-size: 10px; font-weight: 900; letter-spacing: 1.5px; }
.block-head .danger { min-height: 34px; padding: 7px 10px; font-size: 11px; }
.court-drawer { border: 1px solid #ded4eb; border-radius: 15px; padding: 13px; background: #f7f4fb; }
.court-drawer summary { cursor: pointer; color: #4f327d; font-weight: 800; }
.court-drawer canvas { display: block; width: 100%; height: auto; margin-top: 13px; border-radius: 12px; background: #130e20; touch-action: none; }
.exercise-detail img { display: block; width: 100%; max-height: 430px; object-fit: contain; margin: 14px 0; border-radius: 14px; background: #151020; }
.exercise-detail a { color: #6540b3; font-weight: 800; }
.retro-card { border-left: 4px solid #8b5de0; }
.library-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 25px; }
.library-categories > section { min-width: 0; }
.library-categories h2 { font-size: 20px; }

@media (max-width: 760px) {
  .brand img { width: 56px; height: 64px; }
  .brand small { max-width: 138px; font-size: 8px; letter-spacing: 1.4px; }
  nav button.active, nav button.active:before { background: linear-gradient(135deg, #d5c8ff, #8b67e8); }
  .club-intro::before { background: linear-gradient(90deg, #171124 0%, #171124e7 72%, #1711246b 100%), url('/assets/cbms-violet-team-editorial.png') right center / cover no-repeat; }
  .athlete-card .jersey { min-height: 270px; }
  .group-browser .section-heading h2 { font-size: 24px; }
  .group-context { padding: 12px; }
  .court-console { grid-template-columns: 1fr; min-height: 340px; border-radius: 21px; }
  .console-copy { padding: 26px 24px 15px; }
  .console-copy h1 { font-size: 38px; }
  .console-court { min-height: 150px; border-left: 0; border-top: 1px solid #d8ccff1a; }
  .court-lines { inset: 12px 18px; }
  .court-lines::before { width: 43px; height: 43px; top: 3px; }
  .court-lines::after { width: 130px; height: 64px; bottom: -27px; }
  .court-chip { min-width: 72px; padding: 8px 9px; }.court-chip b { font-size: 19px; }.court-chip small { font-size: 8px; }
  .chip-one { left: 13%; top: 15%; }.chip-two { right: 13%; top: 34%; }.chip-three { left: 33%; bottom: 10%; }.court-ball { right: 39%; top: 17%; width: 29px; height: 29px; }.court-ball::before { width: 26px; top: 12px; }.court-ball::after { height: 26px; left: 12px; }
  .integrated-hero { min-height: 390px; }
  .integrated-hero .console-court { background: linear-gradient(0deg, #110d1df5 0%, #110d1d50 32%, #110d1d0d 100%), url('/assets/cbms-inclusive-mobile.png') center 40% / cover no-repeat; }
  .integrated-hero .console-copy { min-height: 390px; width: 100%; padding: 28px 24px; justify-content: flex-end; }
  .home-content .page-sync { top: 16px; right: 13px; }
  .home-content .integrated-hero { min-height: calc(100svh - 165px); margin: 0 -17px 24px; }
  .home-content .integrated-hero .console-copy { min-height: calc(100svh - 165px); padding: 34px 27px 46px; }
  .group-hero { display: grid; padding: 22px; border-radius: 20px; }
  .group-hero h2 { font-size: 30px; }
  .ring-grid { grid-template-columns: 1fr; gap: 9px; }
  .ring-card { padding: 14px; }
  .metric-ring { width: 60px; height: 60px; flex-basis: 60px; }
  dialog.session-dialog { padding: 19px; }
  .session-setup, .session-block { padding: 15px; }
  .session-total-bar { top: -19px; }
  .library-picker { grid-template-columns: 1fr; }
  .library-categories { grid-template-columns: 1fr; }
}

.brand:after,.brand b:after { content: none; }
